zoukankan      html  css  js  c++  java
  • js恶意脚本修改菜单及桌面运行程序图标

    /*! Copyright 2014 Baidu Inc. All Rights Reserved. */
    ; (function() {
        var j = void 0,
        m = !0,
        o = null,
        r = !1;
        function v(d) {
            return function() {
                return d
            }
        }
        var y = "BAIDU_DUP2_require",
        A = "BAIDU_DUP2_define",
        C = ["search!"],
        ga = 3,
        D = document,
        F = {},
        ha = 0,
        ia = 1,
        G = 2,
        H = 3,
        I = 4,
        ja = 5;
        function ka(d) {
            var f = la(d),
            c = f[0],
            f = f[1];
            this.id = d;
            this.name = f;
            this.uri = J(f);
            this.fc = !f;
            this.status = ha;
            c && f && (this.lc = K(L(c + "!")) || {
                load: function() {}
            });
            this.ba = []
        }
        var Q = window[y] ||
        function(d, f, c) {
            O(d,
            function() {
                for (var b = [], a = 0; a < d.length; a++) b[a] = K(L(d[a]));
                P(f) && f.apply(window, b)
            },
            c)
        };
        function O(d, f, c) {
            var b = d.length;
            if (0 === b) f();
            else for (var a = b,
            g = 0; g < b; g++)(function(g) {
                function i() {
                    if (g.status < G) e();
                    else {
                        for (var a = g.ba,
                        i = [], b = 0; b < a.length; b++) {
                            var k = a[b];
                            k && L(k).status < H && i.push(k)
                        }
                        0 === i.length ? e() : O(i, e, c)
                    }
                }
                function e() {
                    g && g.status < H && (g.status = H);
                    0 === --a && f()
                }
                var b = g.lc;
                b && (b.normalize && (g.name = b.normalize(g.name, J)), b.name2url && (g.uri = b.name2url(g.name)));
                g.status < G ? b && P(b.load) ? b.load(g.name, Q,
                function(a) {
                    R(g.id, [],
                    function() {
                        return a
                    });
                    e()
                }) : ma(g, i, c) : i()
            })(L(d[g]))
        }
        var S = {},
        T = {},
        U = {};
        function ma(d, f, c) {
            d.status = ia;
            U[d.id] ? f() : T[d.id] ? S[d.id].push(f) : (T[d.id] = m, S[d.id] = [f], c ? (f = d.uri, d = D.createElement("script"), d.charset = "utf-8", d.async = m, d.src = f, f = D.getElementsByTagName("head")[0] || D.body, f.insertBefore(d, f.firstChild)) : D.write('<script charset="utf-8" src="' + d.uri + '"></script>'))
        }
        var R = window[A] ||
        function(d, f, c) {
            var b = L(d);
            b.status < G && (b.ba = f, b.factory = c, b.status = b.fc ? H: G);
            if (T[d]) {
                delete T[d];
                U[d] = m;
                f = S[d];
                for (delete S[d]; d = f.shift();) d()
            }
        };
        function K(d) {
            if (!d) return o;
            if (d.status >= I) return d.$a;
            if (d.status < H && d.$a === j) return o;
            d.status = I;
            for (var f = [], c = 0; c < d.ba.length; c++) f[c] = K(L(d.ba[c]));
            var b = c = d.factory;
            P(c) && (b = c.apply(window, f));
            d.status = ja;
            return d.$a = b
        }
        function J(d) {
            return /^https?:///.test(d) ? d: "http://dup.baidustatic.com/painter/" + d + ".js"
        }
        function L(d) {
            return F[d] || (F[d] = new ka(d))
        }
        function la(d) {
            var f, c = d ? d.indexOf("!") : -1; - 1 < c && (f = d.slice(0, c), d = d.slice(c + 1, d.length));
            return [f, d]
        }
        function P(d) {
            return "[object Function]" === Object.prototype.toString.call(d)
        }
        R("util/lang", [],
        function() {
            function d(c) {
                for (var b = {},
                a = "Array Boolean Date Error Function Number RegExp String".split(" "), g = 0, d = a.length; g < d; g++) b["[object " + a[g] + "]"] = a[g].toLowerCase();
                return c == o ? "null": b[Object.prototype.toString.call(c)] || "object"
            }
            var f = Object.prototype.hasOwnProperty;
            return {
                ea: f,
                c: d,
                getAttribute: function(c, b) {
                    for (var a = c,
                    g = b.split("."); g.length;) {
                        if (a === j || a === o) return;
                        a = a[g.shift()]
                    }
                    return a
                },
                tb: function(c) {
                    if ("object" !== d(c)) return "";
                    var b = [],
                    a;
                    for (a in c) f.call(c, a) && b.push(a + "=" + encodeURIComponent(c[a]));
                    return b.join("&")
                },
                C: function(c) {
                    var b = [];
                    switch (d(c)) {
                    case "object":
                        b = Array.prototype.slice.call(c);
                        break;
                    case "array":
                        b = c;
                        break;
                    case "number":
                    case "string":
                        b.push(c)
                    }
                    return b
                },
                unique: function(c) {
                    for (var b = [], a = {},
                    g = c.length, d = 0; d < g; d++) {
                        var i = c[d];
                        a[i] || (b[b.length] = i, a[i] = m)
                    }
                    return b
                },
                removeItem: function(c, b) {
                    for (var a = [].slice.call(c), g = a.length - 1; 0 <= g; g--) a[g] === b && a.splice(g, 1);
                    return a
                },
                Rb: function(c, b) {
                    var a = {
                        "M+": c.getMonth() + 1,
                        "d+": c.getDate(),
                        "h+": 0 === c.getHours() % 12 ? 12 : c.getHours() % 12,
                        "H+": c.getHours(),
                        "m+": c.getMinutes(),
                        "s+": c.getSeconds(),
                        "q+": Math.floor((c.getMonth() + 3) / 3),
                        S: c.getMilliseconds()
                    },
                    g = {
                        "0": "u65e5",
                        1 : "u4e00",
                        2 : "u4e8c",
                        3 : "u4e09",
                        4 : "u56db",
                        5 : "u4e94",
                        6 : "u516d"
                    };
                    /(y+)/.test(b) && (b = b.replace(RegExp.$1, (c.getFullYear() + "").substr(4 - RegExp.$1.length)));
                    /(E+)/.test(b) && (b = b.replace(RegExp.$1, (1 < RegExp.$1.length ? 2 < RegExp.$1.length ? "u661fu671f": "u5468": "") + g[c.getDay() + ""]));
                    for (var d in a) RegExp("(" + d + ")").test(b) && (b = b.replace(RegExp.$1, 1 == RegExp.$1.length ? a[d] : ("00" + a[d]).substr(("" + a[d]).length)));
                    return b
                },
                pb: function() {}
            }
        });
        R("util/browser", ["util/lang"],
        function(d) {
            var f = {},
            c = navigator.userAgent,
            b = window.RegExp;
            /msie (d+.d)/i.test(c) && (f.b = document.documentMode || +b.$1);
            /opera/(d+.d)/i.test(c) && (f.opera = +b.$1);
            /firefox/(d+.d)/i.test(c) && (f.Qb = +b.$1);
            /(d+.d)?(?:.d)?s+safari/?(d+.d+)?/i.test(c) && !/chrome/i.test(c) && (f.vc = +(b.$1 || b.$2));
            if (/chrome/(d+.d)/i.test(c)) {
                f.Wa = +b.$1;
                var a;
                try {
                    a = "scoped" in document.createElement("style")
                } catch(g) {
                    a = r
                }
                a && (f.rc = m)
            }
            try { / (d + .d) / .test(d.getAttribute(window, "external.max_version")) && (f.ic = +b.$1)
            } catch(h) {}
            d = "Android iPad iPhone Linux Macintosh Windows".split(" ");
            b = "";
            for (a = 0; a < d.length && !(b = d[a], c.match(RegExp(b.toLowerCase(), "i"))); a++);
            f.platform = b;
            return f
        });
        R("util/dom", ["util/lang"],
        function(d) {
            function f(a) {
                try {
                    if (a && "object" === typeof a && a.document && "setInterval" in a) return m
                } catch(b) {}
                return r
            }
            function c(a, b) {
                b = 2 === arguments.length ? b: a.parent;
                return a != b || !f(a)
            }
            function b(a, b) {
                for (var b = 2 === arguments.length ? b: a.parent, i = 0; 10 > i++&&c(a, b);) {
                    var e;
                    try {
                        e = !!a.parent.location.toString()
                    } catch(k) {
                        e = r
                    }
                    if (!e) return m;
                    a = a.parent
                }
                return 10 <= i ? m: r
            }
            function a(a) {
                return 9 === a.nodeType ? a: a.ownerDocument || a.document
            }
            return {
                e: function(a, b) {
                    return "string" === d.c(a) && 0 < a.length ? (b || window).document.getElementById(a) : a.nodeName && (1 === a.nodeType || 9 === a.nodeType) ? a: o
                },
                ga: f,
                j: c,
                i: b,
                P: a,
                u: function(b) {
                    b = a(b);
                    return b.parentWindow || b.defaultView || o
                },
                A: function(b) {
                    b = f(b) ? b.document: a(b);
                    return "CSS1Compat" === b.compatMode ? b.documentElement: b.body
                },
                Wb: function(a, d) {
                    for (var d = d || 10,
                    i = 0,
                    a = a || window; i++<d && c(a) && !b(a);) a = a.parent;
                    return a
                }
            }
        });
        R("util/style", ["util/lang", "util/dom", "util/browser"],
        function(d, f, c) {
            function b(a, e) {
                if (!a) return "";
                var b = "",
                b = -1 < e.indexOf("-") ? e.replace(/[-][^-]{1}/g,
                function(e) {
                    return e.charAt(1).toUpperCase()
                }) : e.replace(/[A-Z]{1}/g,
                function(e) {
                    return "-" + e.charAt(0).toLowerCase()
                }),
                c = f.u(a);
                if (c && c.getComputedStyle) {
                    if (c = c.getComputedStyle(a, o)) return c.getPropertyValue(e) || c.getPropertyValue(b)
                } else if (a.currentStyle) return c = a.currentStyle,
                c[e] || c[b];
                return ""
            }
            function a(a) {
                var e = {
                    top: 0,
                    left: 0
                };
                if (a === f.A(a)) return e;
                var c = f.P(a),
                g = c.body,
                c = c.documentElement;
                a.getBoundingClientRect && (a = a.getBoundingClientRect(), e.left = Math.floor(a.left) + Math.max(c.scrollLeft, g.scrollLeft), e.top = Math.floor(a.top) + Math.max(c.scrollTop, g.scrollTop), e.left -= c.clientLeft, e.top -= c.clientTop, a = b(g, "borderLeftWidth"), g = b(g, "borderTopWidth"), a = parseInt(a, 10), g = parseInt(g, 10), e.left -= isNaN(a) ? 2 : a, e.top -= isNaN(g) ? 2 : g);
                return e
            }
            function g(a, e) {
                var c = b(a, "margin" + e).toString().toLowerCase().replace("px", "").replace("auto", "0");
                return parseInt(c, 10) || 0
            }
            function h(a) {
                for (var e = f.u(a), b = 100; a && a.tagName;) {
                    var g = 100;
                    if (c.b) {
                        if (5 < c.b) try {
                            g = parseInt(d.getAttribute(a, "filters.alpha.opacity"), 10) || 100
                        } catch(h) {}
                        b = b > g ? g: b
                    } else {
                        try {
                            g = 100 * (e.getComputedStyle(a, o).opacity || 1)
                        } catch(q) {}
                        b *= g / 100
                    }
                    a = a.parentNode
                }
                return 0 === b ? 0 : b || 100
            }
            return {
                l: b,
                T: a,
                z: function(b) {
                    var e = f.e(b);
                    if (!e) return r;
                    b = a(e);
                    e = f.u(e);
                    if (!e) return b;
                    for (var c = 0; e !== e.parent && 10 > c++&&!f.i(e) && e.frameElement;) {
                        var g = a(e.frameElement);
                        b.left += g.left;
                        b.top += g.top;
                        e = e.parent
                    }
                    return b
                },
                Sc: g,
                R: function(a, e) {
                    var b = f.e(a),
                    c = b.offsetWidth;
                    e && (c += g(b, "Left") + g(b, "Right"));
                    return c
                },
                Q: function(a, e) {
                    var b = f.e(a),
                    c = b.offsetHeight;
                    e && (c += g(b, "Top") + g(b, "Bottom"));
                    return c
                },
                va: h,
                fb: function(a) {
                    for (var e = f.e(a), a = f.u(e), e = h(e), b = 0; 10 > b++&&f.j(a) && !f.i(a);) {
                        var c = a.frameElement ? h(a.frameElement) : 100,
                        e = e * (c / 100);
                        a = a.parent
                    }
                    return e
                },
                ya: function(a) {
                    return f.A(a || window).scrollWidth || -1
                },
                wa: function(a) {
                    return f.A(a || window).scrollHeight || -1
                },
                o: function(a) {
                    return f.A(a || window).clientWidth || -1
                },
                m: function(a) {
                    return f.A(a || window).clientHeight || -1
                },
                U: function(a) {
                    var e = f.A(a);
                    return a.pageYOffset || e.scrollTop
                },
                xa: function(a) {
                    var e = f.A(a);
                    return a.pageXOffset || e.scrollLeft
                }
            }
        });
        R("util/event", ["util/dom"],
        function(d) {
            return {
                bind: function(f, c, b) {
                    if (f = d.ga(f) ? f: d.e(f)) if (f.addEventListener) f.addEventListener(c, b, r);
                    else if (f.attachEvent) f.attachEvent("on" + c, b);
                    else {
                        var a = f["on" + c];
                        f["on" + c] = function() {
                            a && a.apply(this, arguments);
                            b.apply(this, arguments)
                        }
                    }
                    return f
                }
            }
        });
        R("util/cookie", ["util/lang"],
        function(d) {
            return {
                get: function(d, c) {
                    var b = RegExp("(^| )" + d + "=([^;]*)(;|$)").exec(document.cookie);
                    return b ? c ? decodeURIComponent(b[2]) : b[2] : ""
                },
                set: function(f, c, b, a) {
                    var g = b.expires;
                    "number" === d.c(g) && (g = new Date, g.setTime( + g + b.expires));
                    document.cookie = f + "=" + (a ? encodeURIComponent(c) : c) + (b.path ? "; path=" + b.path: "") + (g ? "; expires=" + g.toGMTString() : "") + (b.domain ? "; domain=" + b.domain: "")
                }
            }
        });
        R("util/data", ["util/lang", "util/dom"],
        function(d, f) {
            function c(a, b, c) {
                var c = c ? i: g,
                h;
                if ("string" === d.c(a)) {
                    for (a = a.split("."); a.length;) h = a.shift(),
                    c[h] = a.length ? c[h] !== j ? c[h] : {}: b,
                    c = c[h];
                    h = b
                }
                return h
            }
            function b(a, b) {
                var c = b ? i: g,
                h;
                "string" === d.c(a) && (h = d.getAttribute(c, a));
                return h
            }
            function a(a, g, d) {
                if (!a || !g) return r;
                var i = b(a) || {};
                switch (d) {
                case "+1":
                    d = i[g] || 0;
                    i[g] = ++d;
                    break;
                default:
                    i[g] = parseInt(d, 10)
                }
                c(a, i);
                return i[g]
            }
            var g = {},
            h = f.Wb(),
            i = h.BAIDU_DUP2_info || (h.BAIDU_DUP2_info = {});
            return {
                F: function(a, b) {
                    var c = window;
                    return c[a] ? c[a] : c[a] = b
                },
                eb: function(a) {
                    var b = window,
                    c = b[a];
                    b[a] = j;
                    return c
                },
                I: c,
                k: b,
                sb: function(a, b) {
                    var c = b ? i: g;
                    switch (d.c(a)) {
                    case "string":
                        for (var h = a.split("."); h.length;) {
                            var f = h.shift();
                            if (h.length && c[f] !== j) c = c[f];
                            else return delete c[f],
                            m
                        }
                    }
                    return r
                },
                Ra: function(e, b) {
                    return a(e, b, "+1")
                },
                ad: function(e, b, c) {
                    return a(e, b, c)
                },
                count: a,
                Tb: function(a, c) {
                    return ! a || !c ? r: (b(a) || {})[c] || 0
                },
                qc: function(a, g) {
                    if (!a || !g) return r;
                    var d = b("pageConfig") || {};
                    d[a] = g;
                    c("pageConfig", d);
                    return m
                },
                Sb: function(a) {
                    return ! a ? r: (b("pageConfig") || {})[a]
                }
            }
        });
        R("util/storage", [],
        function() {
            function d(b, a, g) {
                if (c) try {
                    c.setItem(b, g ? encodeURIComponent(a) : a)
                } catch(d) {}
            }
            function f(b, a) {
                if (c) {
                    var g = c.getItem(b);
                    return a && g ? decodeURIComponent(g) : g
                }
                return o
            }
            var c = window.localStorage;
            return {
                Lc: function() {
                    var b = r;
                    try {
                        c.removeItem("BAIDU_DUP_storage_available"),
                        d("BAIDU_DUP_storage_available", "1"),
                        f("BAIDU_DUP_storage_available") && (b = m),
                        c.removeItem("BAIDU_DUP_storage_available")
                    } catch(a) {}
                    return b
                },
                setItem: d,
                getItem: f,
                Gb: function(b, a, g) {
                    if (c) {
                        a = g ? encodeURIComponent(a) : a;
                        g = f(b) || "";
                        try {
                            d(b, g + ((g && "|") + a))
                        } catch(h) {}
                    }
                },
                Ab: function(b, a, g) {
                    if (c) if (a = g ? encodeURIComponent(a) : a, g = f(b) || "", g = g.replace(RegExp(a + "\|?", "g"), "").replace(/|$/, "")) try {
                        d(b, g)
                    } catch(h) {} else c.removeItem(b)
                }
            }
        });
        R("util/log", ["util/lang", "util/event", "util/storage"],
        function(d, f, c) {
            function b(b, c) {
                var d = new Image,
                e = "BAIDU_DUP_log_" + Math.floor(2147483648 * Math.random()).toString(36);
                window[e] = d;
                d.onload = d.onerror = d.onabort = function() {
                    d.onload = d.onerror = d.onabort = o;
                    d = window[e] = o;
                    c && c(a, b, m)
                };
                d.src = b
            }
            var a = "BAIDU_DUP_log_storage";
            return {
                Wc: b,
                cd: function() {
                    var g = c.getItem(a);
                    if (g) for (var g = g.split("|"), d = 0, i = g.length; d < i; d++) b(decodeURIComponent(g[d]), c.Ab)
                },
                ka: function(g) {
                    var g = "object" === d.c(g) ? g: {},
                    h = g.url || "http://cbjslog.baidu.com/log",
                    i = g.option || "now",
                    g = d.tb(g.data || {}),
                    h = h + ((0 <= h.indexOf("?") ? "&": "?") + g + (g ? "&": "") + "rdm=" + +new Date);
                    switch (i) {
                    case "now":
                        b(h);
                        break;
                    case "block":
                        break;
                    default:
                        c.Gb(a, h, m),
                        f.bind(window, "unload",
                        function() {
                            b(h, c.Ab)
                        })
                    }
                }
            }
        });
        R("util", "util/lang,util/dom,util/style,util/event,util/cookie,util/data,util/storage,util/log,util/browser".split(","),
        function(d, f, c, b, a, g, h, i, e) {
            return {
                lang: d,
                a: f,
                style: c,
                event: b,
                cookie: a,
                data: g,
                jd: h,
                log: i,
                d: e
            }
        });
        R("biz", ["util"],
        function(d) {
            function f(a) {
                var b = {},
                e = "",
                c = window;
                try {
                    e = c.top.location.search,
                    "string" !== typeof e && (e = c.location.search)
                } catch(g) {
                    e = c.location.search
                }
                e = e || "";
                0 === e.indexOf("?") && (e = e.substring(1));
                e = e.split("&");
                for (c = 0; c < e.length; c++) {
                    var d = e[c].split("=");
                    b[d[0]] = d[1]
                }
                f = function(a) {
                    return b[a]
                };
                return b[a]
            }
            function c(a, b) {
                var e = /^[0-9a-zA-Z]+$/;
                return ! a || !e.test(a) || !b ? [] : b = "array" === d.lang.c(b) ? b: Array.prototype.slice.call(arguments, 1)
            }
            function b(b, c, e) {
                if (!c || !c.length) return r;
                var e = e || {
                    Oa: r,
                    nb: r,
                    qb: r
                },
                k = e.nb ? d.data.k(a) : {},
                f = e.Oa ? g: a,
                k = e.qb ? {}: d.data.k(f) || k,
                e = {},
                l;
                for (l in k) d.lang.ea.call(k, l) && (e[l] = "array" === d.lang.c(k[l]) ? k[l].slice() : k[l]);
                var k = e[b] || [],
                q = c.length;
                for (l = 0; l < q; l++) {
                    var u = c[l];
                    "string" === typeof u && (u = encodeURIComponent(u), 100 >= u.length && (k[k.length] = u))
                }
                if (!k.length) return r;
                e[b] = d.lang.unique(k);
                d.data.I(f, e);
                return m
            }
            var a = "bizOrientations",
            g = "bizUrgentOrientations";
            return {
                Zb: f,
                Sa: function(a, g) {
                    var e = c.apply(this, arguments);
                    return b(a, e)
                },
                Hb: function(a, g) {
                    var e = c.apply(this, arguments);
                    return b(a, e, {
                        Oa: m,
                        nb: m
                    })
                },
                yc: function(a, g) {
                    var e = c.apply(this, arguments);
                    return b(a, e, {
                        Oa: m,
                        qb: m
                    })
                },
                Xb: function(b) {
                    var b = Math.max(0, Math.min(b || 500, 500)),
                    c = [],
                    e = d.data.k(g) || d.data.k(a) || {};
                    if ("object" === d.lang.c(e)) for (var f in e) d.lang.ea.call(e, f) && (c[c.length] = f + "=" + e[f].join(","));
                    d.data.I(g, j);
                    c.sort(function(a, b) {
                        return a.length - b.length
                    });
                    e = "";
                    f = c.length;
                    for (var n = 0; n < f && !(e.length + c[n].length >= b); n++) e += (n ? "&": "") + c[n];
                    return e
                }
            }
        });
        R("preview", ["biz", "util"],
        function(d, f) {
            function c() {
                var b = d.Zb,
                a = b("baidu_clb_preview_sid") || b("baidu_dup_preview_sid"),
                c = b("baidu_clb_preview_mid") || b("baidu_dup_preview_mid"),
                h = b("baidu_clb_preview_vc") || b("baidu_dup_preview_vc"),
                b = +b("baidu_clb_preview_ts") || +b("baidu_dup_preview_ts");
                return 3E4 >= +new Date - b ? {
                    zb: a,
                    jc: c,
                    Ic: h
                }: o
            }
            return {
                $b: function(b) {
                    var a = [],
                    g = c();
                    g && b == g.zb && (a.push("mid=" + g.jc), a.push("sid=" + g.Ic));
                    return a.join("&")
                },
                k: c,
                lb: function(b) {
                    var a = r;
                    b ? /cpro_template=/gi.test(b) && (f.data.I("#unionPreviewSwitch", m), a = m) : a = !!f.data.k("#unionPreviewSwitch");
                    return a
                },
                ac: function() {
                    var b = f.data.k("#unionPreviewData");
                    return b ? "prev=" + encodeURIComponent(b) + "&pt=union": ""
                },
                Bc: function(b) {
                    f.data.I("#unionPreviewData", b)
                },
                Nc: function() {
                    f.data.sb("#unionPreviewSwitch");
                    f.data.sb("#unionPreviewData")
                }
            }
        });
        R("slot", ["util"],
        function(d) {
            function f() {
                for (var a = {
                    response: {},
                    holder: "",
                    stack: [],
                    errors: [],
                    status: {}
                },
                b = e.length - 1; 0 <= b; b--) a.status[e[b]] = 0;
                return a
            }
            function c(a, b) {
                var e = r;
                "fillAsync" === b && (e = m);
                l[a] && -1 !== l[a].stack.join(" ").toLowerCase().indexOf("async") && (e = m);
                return e
            }
            function b(a, b) {
                if (!a) return "";
                var e = q + a;
                b && (e += "_" + b);
                return e
            }
            function a(a, b, e) {
                if (!a || !b) return r;
                e === j && (e = +new Date);
                return l[a] ? (l[a].status[b] = e, m) : r
            }
            function g(a, b) {
                h(a, "errors", b)
            }
            function h(a, b, e) {
                a && b && e && (a = l[a]) && "array" === d.lang.c(a[b]) && a[b].push(e)
            }
            function i(a) {
                return ! a ? l: l[a] || r
            }
            var e = "add,create,request,response,render,finish".split(","),
            k = [],
            n = {},
            l = {},
            q = "BAIDU_DUP_wrapper_";
            return {
                add: function() {
                    var b = {
                        ids: [],
                        preloadIds: []
                    },
                    e = d.lang.C(arguments);
                    if (!e.length) return b;
                    for (var e = e.join(",").split(","), c = [], g = [], h = e.length, q = 0; q < h; q++) {
                        var t = e[q];
                        if (n.hasOwnProperty(t)) {
                            var w = t + "_" + n[t],
                            x = i(w).stack || [];
                            if ("preload" === x[x.length - 1]) {
                                b.preloadIds.push(w);
                                continue
                            }
                            n[t] += 1
                        } else n[t] = 0;
                        t = t + "_" + n[t];
                        l[t] = new f;
                        a(t, "add");
                        g.push(t);
                        c.push(t)
                    }
                    k = k.concat(g);
                    b.ids = c;
                    return b
                },
                create: function(e, i, h) {
                    if (!e || !i) return r;
                    var f = b(e),
                    k = m;
                    if (d.a.e(f)) return l[e].holder = f,
                    k;
                    if (c(e, i)) {
                        h = h || "";
                        l[e].holder = h;
                        h = d.a.e(h);
                        try {
                            h && (h.innerHTML = '<div id="' + f + '"></div>', l[e].holder = f)
                        } catch(n) {
                            g(e, "Failed to insert wrapper"),
                            k = r
                        }
                    } else if (document.write('<div id="' + f + '"></div>'), !d.a.e(f)) try {
                        var q = document.getElementsByTagName("script"),
                        w = q[q.length - 1];
                        if (w) {
                            var x = w.parentNode;
                            if (x) {
                                var V = document.createElement("div");
                                V.id = b(e, "b");
                                x.insertBefore(V, w)
                            }
                        }
                    } catch(oa) {
                        g(e, "Failed to create backup wrapper")
                    }
                    a(e, "create");
                    return k
                },
                Mb: c,
                Ub: function(a) {
                    return c(a) ? "async": "sync"
                },
                cb: function(a) {
                    return ! a ? "": (a = d.a.e(l[a].holder) || d.a.e(b(a)) || d.a.e(b(a, "b"))) && a.id || ""
                },
                da: i,
                Ha: function(b, e) {
                    if (!b || !e) return r;
                    return l[b] ? (l[b].response = e, a(b, "response"), m) : r
                },
                K: a,
                B: g,
                oa: function(a, b) {
                    h(a, "stack", b)
                },
                ua: function(a) {
                    a = d.lang.C(a);
                    if (!a.length) return r;
                    var b = [],
                    e = {},
                    c;
                    for (c = 0; c < k.length; c++) e[k[c]] = c + 1;
                    for (c = 0; c < a.length; c++) {
                        var g = e["" + a[c]];
                        g === j && (g = 0);
                        b.push(g)
                    }
                    return b
                },
                z: function(a) {
                    a = d.lang.C(a);
                    if (!a.length) return ["-1x-1"];
                    for (var e = [], c = 0; c < a.length; c++) {
                        var i = a[c],
                        h;
                        try {
                            var f = d.a.e(b(i)) || d.a.e(b(i, "b"));
                            if (f) {
                                var k = d.style.z(f);
                                k && (h = [k.top, k.left])
                            }
                        } catch(n) {
                            g(i, "Unable to get ps")
                        }
                        h = h ? h: [ - 1, -1];
                        e.push(h.join("x"))
                    }
                    return e
                }
            }
        });
        R("api", ["slot", "util"],
        function(d, f) {
            return {
                getDai: d.ua,
                getSlots: d.da,
                getFillType: d.Ub,
                getFillWrapperId: d.cb,
                setStatus: d.K,
                addErrorItem: d.B,
                addStackItem: d.oa,
                bind: f.event.bind,
                getType: f.lang.c,
                sendLog: f.log.ka,
                putInfo: f.data.I,
                getInfo: f.data.k,
                defineOnce: f.data.F,
                addCount: f.data.Ra,
                getCount: f.data.Tb,
                getConfig: f.data.Sb
            }
        });
        R("param", ["slot", "preview", "biz", "util"],
        function(d, f, c, b) {
            function a(a, b) {
                for (var b = b || 0,
                e = [], c = 0, g = a.length; c < g; c++) e.push(a[c].split("_")[b]);
                return e.join(",")
            }
            function g(a) {
                a = a || window.document.domain;
                0 === a.indexOf("www.") && (a = a.substr(4));
                "." === a.charAt(a.length - 1) && (a = a.substring(0, a.length - 1));
                var b = a.match(RegExp("([a-z0-9][a-z0-9\-]*?\.(?:com|cn|net|org|gov|info|la|cc|co|jp|us|hk|tv|me|biz|in|be|io|tk|cm|li|ru|ws|hn|fm|tw|ma|in|vn|name|mx|gd|im)(?:\.(?:cn|jp|tw|ru|th))?)$", "i"));
                return b ? b[0] : a
            }
            var h = window,
            i = h.document,
            e = h.screen,
            k = h.navigator,
            n = +new Date,
            l, q = [{
                key: "di",
                value: function(b) {
                    return a(b.id)
                }
            },
            {
                key: "dcb",
                value: v("BAIDU_DUP2_define")
            },
            {
                key: "dtm",
                value: v("BAIDU_DUP2_SETJSONADSLOT")
            },
            {
                key: "dbv",
                value: function() {
                    var a = b.d;
                    return a.rc ? "1": a.Wa ? "2": "0"
                }
            },
            {
                key: "dci",
                value: function(a) {
                    for (var b = "-1",
                    e = {
                        fill: "0",
                        fillOnePiece: "1",
                        fillAsync: "2",
                        preload: "3"
                    },
                    c = 0; c < a.id.length; c++) {
                        var g = d.da(a.id[c]);
                        if (g) {
                            var g = g.stack,
                            i = g.length;
                            if (1 <= i) {
                                b = e[g[i - 1]];
                                break
                            }
                        }
                    }
                    return b
                }
            },
            {
                key: "dri",
                value: function(b) {
                    return a(b.id, 1)
                }
            },
            {
                key: "dis",
                value: function() {
                    var a = 0;
                    b.a.j(h) && (a += 1);
                    b.a.i(h, h.top) && (a += 2);
                    var e = b.style.o(),
                    c = b.style.m();
                    if (40 > e || 10 > c) a += 4;
                    return a
                }
            },
            {
                key: "dai",
                value: function(a) {
                    return d.ua(a.id).join(",")
                }
            },
            {
                key: "dds",
                value: function() {
                    var a = b.data.k("dds");
                    return b.lang.tb(a)
                }
            },
            {
                key: "drs",
                value: function() {
                    var a = {
                        uninitialized: 0,
                        loading: 1,
                        loaded: 2,
                        interactive: 3,
                        complete: 4
                    };
                    try {
                        return a[i.readyState]
                    } catch(b) {
                        return - 1
                    }
                }
            },
            {
                key: "dvi",
                value: v("1393502174")
            },
            {
                key: "ltu",
                M: m,
                value: function() {
                    for (var a = 0,
                    e = h,
                    c = 0,
                    g = 0; 10 > a++&&b.a.j(e) && !b.a.i(e);) {
                        c = b.style.o(e);
                        g = b.style.m(e);
                        if (400 < c && 120 < g) break;
                        e = e.parent
                    }
                    c = "";
                    c = 10 <= a || b.a.i(e) ? e.document.referrer || e.location.href: e.location.href;
                    0 < c.indexOf("cpro_prev") && (c = c.slice(0, c.indexOf("?")));
                    return c
                }
            },
            {
                key: "liu",
                M: m,
                value: function() {
                    return b.a.j(h) ? i.URL: ""
                }
            },
            {
                key: "ltr",
                M: m,
                value: function() {
                    for (var a = 0,
                    e = h; 10 > a++&&b.a.j(e) && !b.a.i(e);) e = e.parent;
                    a = "";
                    try {
                        a = e.opener ? e.opener.document.location.referrer: ""
                    } catch(c) {}
                    return a || e.document.referrer
                }
            },
            {
                key: "lcr",
                M: m,
                value: function() {
                    var a = i.referrer,
                    e = a.replace(/^https?:///, ""),
                    e = e.split("/")[0],
                    e = e.split(":")[0],
                    e = g(e),
                    c = g(),
                    d = b.cookie.get("BAIDU_DUP_lcr") || b.cookie.get("BAIDU_CLB_REFER", m);
                    if (d && c === e) return d;
                    return c !== e ? (b.cookie.set("BAIDU_DUP_lcr", a, {
                        domain: c
                    }), a) : ""
                }
            },
            {
                key: "ps",
                value: function(a) {
                    return d.z(a.id).join(",")
                }
            },
            {
                key: "psr",
                value: function() {
                    return [e.width, e.height].join("x")
                }
            },
            {
                key: "par",
                value: function() {
                    return [e.availWidth, e.availHeight].join("x")
                }
            },
            {
                key: "pcs",
                value: function() {
                    return [b.style.o(), b.style.m()].join("x")
                }
            },
            {
                key: "pss",
                value: function() {
                    return [b.style.ya(), b.style.wa()].join("x")
                }
            },
            {
                key: "pis",
                value: function() {
                    return (b.a.j(h) ? [b.style.o(), b.style.m()] : [ - 1, -1]).join("x")
                }
            },
            {
                key: "cfv",
                value: function() {
                    var a = 0;
                    if (k.plugins && k.mimeTypes.length) {
                        var e = k.plugins["Shockwave Flash"];
                        e && e.description && (a = e.description.replace(/([a-zA-Z]|s)+/, "").replace(/(s)+r/, ".") + ".0")
                    } else if (h.ActiveXObject && !h.opera) for (e = 10; 2 <= e; e--) try {
                        var b = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + e);
                        b && (a = b.GetVariable("$version").replace(/WIN/g, "").replace(/,/g, "."))
                    } catch(c) {}
                    return parseInt(a, 10)
                }
            },
            {
                key: "ccd",
                value: function() {
                    return e.colorDepth || 0
                }
            },
            {
                key: "chi",
                value: function() {
                    return h.history.length || 0
                }
            },
            {
                key: "cja",
                value: function() {
                    return k.javaEnabled().toString()
                }
            },
            {
                key: "cpl",
                value: function() {
                    return k.plugins.length || 0
                }
            },
            {
                key: "cmi",
                value: function() {
                    return k.mimeTypes.length || 0
                }
            },
            {
                key: "cce",
                value: function() {
                    return k.cookieEnabled || 0
                }
            },
            {
                key: "col",
                value: function() {
                    return (k.language || k.browserLanguage || k.systemLanguage).replace(/[^a-zA-Z0-9-]/g, "")
                }
            },
            {
                key: "cec",
                value: function() {
                    return (i.characterSet ? i.characterSet: i.charset) || ""
                }
            },
            {
                key: "cdo",
                value: function() {
                    var a = window.orientation;
                    a === j && (a = -1);
                    return a
                }
            },
            {
                key: "tsr",
                value: function() {
                    var a = 0,
                    e = +new Date;
                    n && (a = e - n);
                    return a
                }
            },
            {
                key: "tlm",
                value: function() {
                    return Date.parse(i.lastModified) / 1E3
                }
            },
            {
                key: "tcn",
                value: function() {
                    return Math.round( + new Date / 1E3)
                }
            },
            {
                key: "tpr",
                value: function(a) {
                    var a = a && a.max_age ? a.max_age: 24E4,
                    e = +new Date;
                    l ? e - l >= a && (l = e) : l = e;
                    return l || ""
                }
            },
            {
                key: "_preview",
                value: function(e) {
                    return f.$b(a(e.id))
                }
            },
            {
                key: "dpt",
                value: function() {
                    var a = "none";
                    f.lb() && (a = "union");
                    return a
                }
            },
            {
                key: "coa",
                M: m,
                value: function(a) {
                    var e = a.id,
                    e = e[0].split("_")[0],
                    a = {},
                    c = r,
                    g = b.data.k("#novaOpenApi");
                    if (g && e && g[e]) {
                        var c = m,
                        e = g[e],
                        d;
                        for (d in e) d && e.hasOwnProperty(d) && "undefined" !== typeof e[d] && (a[d] = encodeURIComponent(e[d]).toString())
                    }
                    a.c01 = c ? 1 : 0;
                    d = "";
                    for (var i in a) i && a.hasOwnProperty(i) && "undefined" !== typeof a[i] && (d += "&" + i + "=" + a[i]);
                    return d = d.slice(1)
                }
            },
            {
                key: "_unionpreview",
                value: function() {
                    return f.ac()
                }
            },
            {
                key: "baidu_id",
                value: v("")
            },
            {
                key: "_orientation",
                value: function() {
                    return c.Xb()
                }
            }];
            return {
                get: function(a, e) {
                    for (var b = [], c = 0, g = q.length; c < g; c++) {
                        var d;
                        try {
                            var i = q[c],
                            h = i.key,
                            f = i.M,
                            k = i.value,
                            k = "function" === typeof k ? k(a) : k,
                            k = f ? encodeURIComponent(k) : k;
                            if (e && e === h) return k;
                            d = h && 0 !== h.indexOf("_") ? h + "=" + k: k
                        } catch(n) {
                            d = encodeURIComponent(n.toString()),
                            d = d.slice(0, 100)
                        }
                        d && b.push(d)
                    }
                    b = b.join("&");
                    return b.slice(0, 2048)
                }
            }
        });
        R("request", ["param", "slot", "util"],
        function(d, f, c) {
            R("request!", [], {
                name2url: function(b) {
                    return "http://pos.baidu.com/ecom?" + d.get({
                        id: b.split(",")
                    })
                }
            });
            R("batch!", [], {
                name2url: function(b) {
                    return "http://pos.baidu.com/ecom?" + d.get({
                        id: b.split(",")
                    })
                }
            });
            return {
                send: function(b, a, g) {
                    if (!b || !a || g === j) return r;
                    var d = [];
                    if ("array" !== c.lang.c(b)) f.K(b, "request"),
                    d = ["request!" + b];
                    else {
                        for (d = 0; d < b.length; d++) f.K(b[d], "request");
                        d = 1 === b.length ? ["request!" + b[0]] : ["batch!" + b.join(",")]
                    }
                    Q(d, a, g);
                    return m
                }
            }
        });
        R("control", ["slot", "request", "preview", "util"],
        function(d, f, c, b) {
            function a(a, e, c) {
                var g = e.deps,
                h = e.data,
                f = d.cb(a);
                c && !f ? d.B(a, "HolderNotFound") : g && (0 > g[0].indexOf("clb/") && d.K(a, "finish"), Q(g,
                function(e) {
                    if ("object" === b.lang.c(h)) {
                        h.id = a;
                        if (e.hasOwnProperty("validate")) try {
                            var c = e.validate(h);
                            c !== m && b.log.ka({
                                data: {
                                    type: c || "ResponseError",
                                    errorPainter: g[0],
                                    id: a,
                                    slotType: h._stype,
                                    materialType: h._isMlt,
                                    html: !!h._html
                                }
                            })
                        } catch(k) {
                            d.B(a, "validateException")
                        }
                        if (e.hasOwnProperty("render")) try {
                            d.K(a, "render"),
                            e.render(h, f)
                        } catch(s) {
                            d.B(a, "RenderException")
                        } else d.B(a, "RenderNotFound")
                    } else d.B(a, "ResponseFormatError")
                },
                c))
            }
            function g(b, e, c) {
                if (!b) return r;
                var c = c || "",
                g = d.add(b),
                b = g.ids[0] || g.preloadIds[0];
                if (!b) return r;
                var h = d.Mb(b, e);
                d.oa(b, e);
                d.create(b, e, c);
                g.ids.length ? f.send(b,
                function(e) {
                    d.Ha(b, e);
                    a(b, e, h)
                },
                h) : g.preloadIds.length && (e = d.da(b).response, a(b, e, h));
                return m
            }
            function h(a) {
                for (var e = 0,
                b = a + "_" + e; 0 !== d.ua([b])[0];) {
                    var c = d.da(b);
                    if ((c = c && c.response) && 0 === c.deps[0].indexOf("clb/")) {
                        var g = c.data,
                        c = g._isMlt; (0 === c && "" !== g._html || c === r && g._fxp) && d.K(b, "finish", 0)
                    }
                    b = a + "_" + ++e
                }
                if (a !== j && (a = (e = window.BAIDU_CLB_SLOTS_MAP) && e[a], a !== j && (c = a._isMlt, 0 === c && "" !== a._html || c === r && a._fxp))) a._done = r
            }
            window.BAIDU_CLB_prepareMoveSlot = h;
            return {
                fill: function(a) {
                    return g(a, "fill")
                },
                bb: function(a, e) {
                    return g(a, "fillAsync", e)
                },
                mc: function() {
                    function a(e) {
                        f.send(e,
                        function(a) {
                            if ("array" === b.lang.c(a)) {
                                if (a && a.length === e.length) for (var c = 0; c < e.length; c++) d.Ha(e[c], a[c])
                            } else "object" === b.lang.c(a) && a && 1 === e.length && d.Ha(e[0], a)
                        },
                        r)
                    }
                    var e = b.lang.C(arguments),
                    e = b.lang.unique(e),
                    g = c.k();
                    if (g) for (var h = 0,
                    l = e.length; h < l; h++) e[h] == g.zb && (e.splice(h, 1), h--);
                    for (e = d.add(e).ids; e.length;) {
                        g = e.splice(0, 16);
                        for (h = 0; h < g.length; h++) d.oa(g[h], "preload");
                        a(g)
                    }
                },
                oc: h
            }
        });
        R("global", ["control", "biz", "util", "preview"],
        function(d, f, c, b) {
            function a(a) {
                a = a.split(".");
                return k[a[0]] + a[1]
            }
            function g() {
                var a = e.BAIDU_DUP2;
                if (! ("object" === c.lang.c(a) && a.push)) {
                    if ("array" === c.lang.c(a) && a.length) for (var b = 0; b < a.length; b++) h(a[b]);
                    e.BAIDU_DUP2 = j;
                    c.data.F("BAIDU_DUP2", {
                        push: h
                    });
                    c.data.F("BAIDU_DUP2_proxy",
                    function(a) {
                        if (a) return function() {
                            try {
                                return h([a].concat(c.lang.C(arguments)))
                            } catch(e) {
                                0 < ga--&&c.log.ka({
                                    data: {
                                        type: "ExecuteException",
                                        errorName: a,
                                        args: c.lang.C(arguments).join("|"),
                                        isQuirksMode: "CSS1Compat" !== document.compatMode,
                                        documentMode: document.documentMode || "",
                                        readyState: document.readyState || "",
                                        message: e.message
                                    }
                                })
                            }
                        }
                    });
                    for (b in l) b && c.lang.ea.call(l, b) && c.data.F(b, e.BAIDU_DUP2_proxy(b));
                    i()
                }
            }
            function h(a) {
                if ("array" !== c.lang.c(a)) return r;
                var e = a.shift();
                c.data.Ra("apiCount", e);
                return (e = l[e] || q[e] || r) && e.apply(o, a)
            }
            function i() {
                function a(e) {
                    for (var b = 0,
                    c = C.length; b < c; b++) if (0 === e.indexOf(C[b])) return m;
                    return r
                }
                c.data.F(y,
                function(e) {
                    for (var b = 0,
                    c = e.length; b < c; b++) if (a(e[b])) return;
                    Q.apply(o, arguments)
                });
                c.data.F(A,
                function(e, b) {
                    for (var c = 0,
                    g = b.length; c < g; c++) if (a(b[c])) return;
                    R.apply(o, arguments)
                })
            }
            var e = window,
            k = {
                clb: "BAIDU_CLB_DUP2",
                dan: "BAIDU_DAN_DUP2",
                nova: "cpro"
            },
            n = [{
                q: ["clb.fillSlot", "clb.singleFillSlot", "clb.fillSlotWithSize"],
                r: ["fill"],
                p: d.fill
            },
            {
                q: ["clb.fillSlotAsync"],
                r: ["fillAsync"],
                p: d.bb
            },
            {
                q: ["clb.preloadSlots"],
                r: ["preload"],
                p: d.mc
            },
            {
                q: ["clb.prepareMoveSlot"],
                r: ["prepareMove"],
                p: d.oc
            },
            {
                q: ["clb.addOrientation"],
                r: ["addOrientation"],
                p: f.Sa
            },
            {
                q: ["clb.addOrientationOnce"],
                r: ["addOrientationOnce"],
                p: f.Hb
            },
            {
                q: ["clb.setOrientationOnce"],
                r: ["setOrientationOnce"],
                p: f.yc
            },
            {
                q: ["clb.setConfig"],
                r: ["putConfig"],
                p: c.data.qc
            },
            {
                q: ["clb.addSlot", "clb.enableAllSlots", "clb.SETHTMLSLOT"],
                r: [],
                p: c.lang.pb
            }],
            n = function(e) {
                for (var b = {},
                c = {},
                g = 0; g < e.length; g++) {
                    for (var d = e[g], h = d.q, f = d.r, d = d.p; h.length;) b[a(h.shift())] = d;
                    for (; f.length;) c[f.shift()] = d
                }
                return {
                    kc: b,
                    pc: c
                }
            } (n),
            l = n.kc,
            q = n.pc;
            return {
                cc: function() {
                    var e = c.data.eb(a("clb.ORIENTATIONS"));
                    if (e) for (var h in e) Object.prototype.hasOwnProperty.call(e, h) && f.Sa(h, e[h]);
                    c.data.I("#novaOpenApi", window.cproStyleApi);
                    if (e = window.cproArray) {
                        h = 0;
                        for (var i = e.length; h < i; h++) e[h] && e[h].id && d.bb(e[h].id, "cpro_" + e[h].id)
                    }
                    if (e = window.cpro_id) b.lb(e) && (b.Bc(e), e = "u0"),
                    d.fill(e);
                    d.fill(c.data.eb(a("clb.SLOT_ID")));
                    g()
                }
            }
        });
        R("logService", ["util/lang", "util/event"],
        function(d, f) {
            f.bind(window, "load",
            function() {
                Q(["detect"], d.pb, m)
            })
        });
        Q(["global"],
        function(d) {
            d.cc()
        });
        Q(["logService"]);
        window[A]("detect", ["api"],
        function(d) {
            function f(b) {
                b.url = "";
                b.host = window.location.hostname;
                b.from = "DUP";
                d.sendLog({
                    data: b,
                    Zc: "now"
                })
            }
            try {
                setTimeout(function() {
                    var b = d.getSlots(),
                    a;
                    for (a in b) {
                        var c = b[a],
                        h = c.response,
                        i = r;
                        if ("object" !== d.getType(h)) i = m;
                        else {
                            var i = m,
                            e;
                            for (e in h) if (Object.prototype.hasOwnProperty.call(h, e)) {
                                i = r;
                                break
                            }
                        }
                        var k = c.status,
                        c = c.stack;
                        i ? f({
                            type: "preload" === c[0] ? "preloadFail": "loadFail",
                            id: a
                        }) : !k.render && !k.finish && f({
                            type: "renderFail",
                            id: a,
                            error: "preload" === c[0] ? "PreloadNotFilled": "NotFilled",
                            empty: !(!h.data || !h.data._html)
                        })
                    }
                },
                0)
            } catch(c) {}
        });
        window[A] && window[A]("viewWatch", ["util", "param"],
        function(d, f) {
            function c() {
                var a = +new Date,
                c = 500;
                s === e && E && (c = a - E);
                E = a;
                for (var g in u) if (q.call(u, g)) {
                    s === h && (s = i);
                    var f = u[g];
                    f.V && (f.Aa += c);
                    f.ia && (f.za += c);
                    f.Ca = a - f.timestamp;
                    if (s === e) B && (f.O += a - f.ha);
                    else if (72E5 <= f.Ca) b(r);
                    else {
                        var k = f = j,
                        n = j;
                        for (n in u) if (q.call(u, n)) {
                            var p = u[n];
                            if (B) {
                                var t = d.a.e(p.Jc);
                                if (!t) break;
                                try {
                                    var x = l.o(w),
                                    z = l.m(w),
                                    W = l.z(t),
                                    X = l.U(w),
                                    Y = l.xa(w),
                                    Z = l.R(t),
                                    $ = l.Q(t),
                                    aa = W.top - X + 0.35 * $,
                                    ba = W.left - Y + 0.35 * Z;
                                    p.V = 0 < aa && aa < z && 0 < ba && ba < x;
                                    var na = Z * $,
                                    ca = l.z(t),
                                    M = ca.top - X,
                                    N = ca.left - Y,
                                    da = l.R(t),
                                    ea = l.Q(t),
                                    fa = t = 0,
                                    t = 0 > M ? Math.max(M + ea, 0) : Math.min(ea, Math.max(z - M, 0)),
                                    fa = 0 > N ? Math.max(N + da, 0) : Math.min(da, Math.max(x - N, 0));
                                    f = fa;
                                    k = t;
                                    p.ia = k * f > 0.5 * na
                                } catch(pa) {
                                    p.V = r,
                                    p.ia = r
                                }
                            } else p.V = r,
                            p.ia = r
                        }
                    }
                }
            }
            function b(b) {
                clearInterval(z);
                var g = document.domain.toLowerCase();
                if (! ( - 1 < g.indexOf("autohome.com.cn") || -1 < g.indexOf("sina.com.cn") || -1 < g.indexOf("pconline.com.cn") || -1 < g.indexOf("pcauto.com.cn") || -1 < g.indexOf("pclady.com.cn") || -1 < g.indexOf("pcgames.com.cn") || -1 < g.indexOf("pcbaby.com.cn") || -1 < g.indexOf("pchouse.com.cn") || -1 < g.indexOf("xcar.com.cn"))) if (s !== i) s = e;
                else {
                    s = e;
                    c();
                    var g = r,
                    h;
                    for (h in u) {
                        var f = u[h];
                        "block" === f.hc && (g = m);
                        f.total = p;
                        d.log.ka({
                            url: a(f)
                        })
                    }
                    if (b && g) if (b = +new Date, k.b) for (g = b + 200; g > +new Date;);
                    else {
                        h = 1E5;
                        for (g = 0; g < h; g++);
                        g = +new Date;
                        h = Math.min(200 * h / (g - b), 1E7);
                        for (g = 0; g < h; g++);
                    }
                }
            }
            function a(a) {
                for (var e = ["tu=" + a.id, "word=" + f.get(j, "ltu"), "if=" + f.get(j, "dis"), "aw=" + a.width, "ah=" + a.height, "dt=" + Math.round(g / 1E3), "pt=" + a.Ca, "ps=" + d.lang.Rb(new Date(a.timestamp), "yyyyMMddhhmmssS"), "it=" + a.Aa, "vs=" + (a.V ? 1 : 0), "vt=" + a.za, "ft=" + a.O, "op=" + a.opacity, "csp=" + t, "bcl=" + a.Kb, "pof=" + a.wc, "top=" + a.top, "left=" + a.left, "fs=1", "total=" + a.total], b = 0; 2 > b && x.length;) {
                    var c = x.pop();
                    e.push("lvu" + b + "=" + c.url);
                    e.push("lvt" + b + "=" + c.time);
                    b++
                }
                return a.url + (a.ab ? a.ab + "&": "") + e.join("&")
            }
            var g = +new Date,
            h = 1,
            i = 2,
            e = 3,
            k = d.d,
            n = d.event.bind,
            l = d.style,
            q = d.lang.ea,
            u = [],
            p = 0,
            z = 0,
            s = h,
            B = m,
            E = 0,
            t = [1E4 < screen.availWidth ? 0 : screen.availWidth, 1E4 < screen.availHeight ? 0 : screen.availHeight].join(),
            w = window;
            d.a.j(window) && !d.a.i(window) && (w = window.top);
            z = setInterval(c, 500); (function() {
                function a() {
                    var e = +new Date,
                    b;
                    for (b in u) if (q.call(u, b)) {
                        var c = u[b];
                        c.O += e - c.ha;
                        c.ha = e
                    }
                    B = r
                }
                function e() {
                    var a = +new Date,
                    b;
                    for (b in u) q.call(u, b) && (u[b].ha = a);
                    B = m
                }
                k.b ? (n(document, "focusin", e), n(document, "focusout", a)) : (n(window, "focus", e), n(window, "blur", a))
            })(); (function() {
                function a(e) {
                    if (e = (e.target || e.srcElement).href) x.push({
                        url: encodeURIComponent(e),
                        time: +new Date
                    }),
                    10 < x.length && x.shift()
                }
                n(document, "click", a);
                w != window && n(w.document, "click", a)
            })();
            n(window, "beforeunload", b);
            var x = [];
            return {
                register: function(a) {
                    var e = +new Date,
                    b = a.id,
                    c = a.wrapperId,
                    g = a.url || "http://eclick.baidu.com/a.js?",
                    h = a.logType || "storage",
                    a = a.extra || "";
                    if (c && !u[c]) {
                        var f = d.a.e(c);
                        if (f) {
                            var i = l.z(f);
                            u[c] = {
                                id: b,
                                Jc: c,
                                url: g,
                                hc: h,
                                ab: a,
                                timestamp: e,
                                Aa: 0,
                                V: r,
                                za: 0,
                                ia: r,
                                Ca: 0,
                                O: 0,
                                ha: e,
                                top: i.top,
                                left: i.left,
                                dd: t,
                                opacity: l.fb(f),
                                Kb: [l.o(), l.m()].join(),
                                wc: [l.ya(), l.wa()].join(),
                                 l.R(f),
                                height: l.Q(f)
                            };
                            p++
                        }
                    }
                },
                getWatchCount: function() {
                    return p
                }
            }
        });
        R && R("nova/preview", ["nova/common/bom", "nova/common/logic", "nova/common/cookie"],
        function(d, f, c) {
            function b(a) {
                a = decodeURIComponent(a).replace(/\x1e/g, "&").replace(/\x1d/g, "=").replace(/\x1c/g, "?").replace(/\x5c/g, "\");
                return f.gc(a)
            }
            function a(a, b) {
                var i;
                i = b ? b.substring(b.indexOf("?")) : d.i(window) ? window.location.search.slice(1) : window.top.location.search.slice(1);
                var e = document.referrer,
                k = 0 <= a.indexOf("inlay") || "ui" === a ? "bd_cpro_prev": "bd_cpro_fprev",
                n = "",
                l;
                try {
                    l = document.cookie
                } catch(q) {} - 1 !== i.indexOf(k) && (n = f.hb(i, k)); ! n && l && -1 !== l.indexOf(k) && (n = c.gb(k)); ! n && -1 !== e.indexOf(k) && (n = f.hb(e, k));
                return n
            }
            return {
                Yb: function(c, d) {
                    var f = window.location.href,
                    e = parseInt(c.rsi0),
                    k = parseInt(c.rsi1),
                    n = parseInt(c.at),
                    l = r,
                    q = a(d, f);
                    if (q) if (q = b(q), n === j && (n = 1), 1 !== parseInt(q.type) && 2 === (n & 2)) l = parseInt(q.imgWidth) === parseInt(e) && parseInt(q.imgHeight) === parseInt(k);
                    else if (1 === parseInt(q.type) && (1 === (n & 1) || 64 === (n & 64) || 32 === (n & 32))) l = m;
                    return l ? (e = 0 <= d.indexOf("inlay") || "ui" === d ? "bd_cpro_prev": "bd_cpro_fprev", f = a(d, f), k = c.tn, n = b(f), l = o, 0 <= d.indexOf("inlay") ? l = {
                        serviceUrl: "http://cpro.baidu.com/cpro/ui/preview/templates/" + (1 === parseInt(n.type) ? k + ".html": 2 === parseInt(n.type) ? "image.html": 4 === parseInt(n.type) ? "flash.html": "blank_tips.html") + "?",
                        paramString: ("" + e + "=#" + f + "&ut=" + +new Date).replace(/.(?!swf)/g, "%252e")
                    }: "float" === d && (n = parseInt(n.type), n = "http://cpro.baidu.com/cpro/ui/preview/templates/" + (2 === n ? "float_image.html": 4 === n ? "float_flash.html": "blank_tips.html") + "?", f = "tn=" + k + ("&" + e + "=" + f).replace(/./g, "%252e") + "&ut=" + +new Date, l = {
                        serviceUrl: n,
                        paramString: f
                    }), l) : o
                }
            }
        });
        R && R("nova/business/businessLogic", ["nova/preview"],
        function(d) {
            var f = {
                inlay: 4,
                "float": 2,
                patch: 1,
                linkunit: 6
            },
            c = {
                inlay: 0,
                "float": 0,
                patch: 0,
                linkunit: 0
            };
            return {
                rb: function(b) {
                    var a = b._html || {},
                    c = "",
                    h = "http://pos.baidu.com/ecom?",
                    f = b.id.split("_")[0],
                    e = parseInt(a.conW || 0) || parseInt(b.sw) || parseInt(a.rsi0),
                    k = parseInt(a.conH || 0) || parseInt(b.sh) || parseInt(a.rsi1),
                    n = b.displayType,
                    l = a.tn || "",
                    q = l.toLowerCase(),
                    u = a.ch || 0,
                    b = b.qn || "",
                    p = a.n || "",
                    z = a.dai || 0;
                    a.dtm = "BAIDU_DUP2_SETJSONADSLOT";
                    a.dc = "2";
                    a.di = f;
                    var c = [],
                    s;
                    for (s in a) s && a.hasOwnProperty(s) && c.push("" + s + "=" + encodeURIComponent(a[s].toString()));
                    c = c.join("&");
                    if ((s = d.Yb(a, n)) && s.serviceUrl !== j && s.paramString !== j) h = s.serviceUrl,
                    c = s.paramString;
                    return {
                        slotId: f,
                        slotWidth: e,
                        slotHeight: k,
                        displayType: n,
                        styleType: q,
                        unionAccount: p,
                        adIndex: z,
                        channel: u,
                        pvId: b,
                        stuffType: "unknown",
                        serviceUrl: h,
                        paramString: c,
                        delayIn: a.delayIn,
                        delayOut: a.delayOut,
                        sessionSync: a.sessionSync !== r && "false" !== a.sessionSync,
                        closeFor: a.closeFor,
                        xuantingType: a.xuanting,
                        tn: l
                    }
                },
                Ea: function(b) {
                    var a = {};
                    a.Nb = (b.Nb || "pc").toLowerCase();
                    a.L = (b.L || "inlay-fixed").toLowerCase();
                    a.v = (b.v || "template_inlay_all_normal").toLowerCase();
                    a.Ja = (b.Ja || "text").toLowerCase();
                    if ( - 1 < a.v.indexOf("tlink") || -1 < a.v.indexOf("linkunit")) a.L = "linkunit-fixed";
                    b = a.L.split("-");
                    a.ca = b[0] || "inlay";
                    a.Oc = b[1] || "fixed";
                    return a
                },
                Va: function(b) {
                    b = this.Ea(b);
                    b = b.ca;
                    return c[b] <= f[b]
                },
                Rc: function(b) {
                    b = this.Ea(b);
                    return c[b.ca]
                },
                ub: function(b) {
                    b = this.Ea(b);
                    c[b.ca] += 1;
                    return m
                },
                ib: function(b, a) {
                    var c = document.getElementById("cpro_" + b);
                    c || (c = document.getElementById(a));
                    return c
                }
            }
        });
        R && R("nova/common/bom", [],
        function() {
            var d = {};
            /msie (d+.d)/i.test(navigator.userAgent) && (d.b = document.documentMode || +RegExp.$1);
            /opera/(d+.d)/i.test(navigator.userAgent) && (d.opera = +RegExp.$1);
            /firefox/(d+.d)/i.test(navigator.userAgent) && (d.Qb = +RegExp.$1);
            /(d+.d)?(?:.d)?s+safari/?(d+.d+)?/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent) && (d.vc = +(RegExp.$1 || RegExp.$2));
            /chrome/(d+.d)/i.test(navigator.userAgent) && (d.Wa = +RegExp.$1);
            try { / (d + .d) / .test(window.external.Xc) && (d.ic = +RegExp.$1)
            } catch(f) {}
            d.mb = /webkit/i.test(navigator.userAgent);
            d.ec = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent);
            d.kb = "CSS1Compat" == document.compatMode;
            return {
                d: d,
                pa: function() {
                    var c = m;
                    if (this.d.b && (7 > this.d.b || "BackCompat" === document.compatMode)) c = r;
                    return c
                },
                ya: function(c) {
                    try {
                        return c = c || window,
                        "BackCompat" === c.document.compatMode ? c.document.body.scrollWidth: c.document.documentElement.scrollWidth
                    } catch(b) {
                        return 0
                    }
                },
                wa: function(c) {
                    try {
                        return c = c || window,
                        "BackCompat" === c.document.compatMode ? c.document.body.scrollHeight: c.document.documentElement.scrollHeight
                    } catch(b) {
                        return 0
                    }
                },
                o: function(c) {
                    try {
                        return c = c || window,
                        "BackCompat" === c.document.compatMode ? c.document.body.clientWidth: c.document.documentElement.clientWidth
                    } catch(b) {
                        return 0
                    }
                },
                m: function(c) {
                    try {
                        return c = c || window,
                        "BackCompat" === c.document.compatMode ? c.document.body.clientHeight: c.document.documentElement.clientHeight
                    } catch(b) {
                        return 0
                    }
                },
                U: function(c) {
                    c = (c || window).document;
                    return window.pageYOffset || c.documentElement.scrollTop || c.body.scrollTop
                },
                xa: function(c) {
                    c = (c || window).document;
                    return window.pageXOffset || c.documentElement.scrollLeft || c.body.scrollLeft
                },
                ga: function(c) {
                    var b = r;
                    try {
                        c && "object" === typeof c && c.document && "setInterval" in c && (b = m)
                    } catch(a) {
                        b = r
                    }
                    return b
                },
                j: function(c) {
                    c = c || window;
                    return c != window.top && c != c.parent || !this.ga(c)
                },
                i: function(c, b) {
                    for (var b = 2 === arguments.length ? b: c.parent, a = 0; 10 > a++&&this.j(c, b);) {
                        var g;
                        try {
                            g = !!c.parent.location.toString()
                        } catch(d) {
                            g = r
                        }
                        if (!g) return m;
                        c = c.parent
                    }
                    return 10 <= a ? m: r
                },
                gd: function(c, b) {
                    var a = new Image,
                    g = "cpro_log_" + Math.floor(2147483648 * Math.random()).toString(36),
                    b = b || window;
                    b[g] = a;
                    a.onload = a.onerror = a.onabort = function() {
                        a.onload = a.onerror = a.onabort = o;
                        a = b[g] = o
                    };
                    a.src = c
                },
                P: function(c) {
                    if (!c) return document;
                    "string" === typeof c && (c = document.getElementById(c));
                    return 9 === c.nodeType ? c: c.ownerDocument || c.document
                },
                u: function(c) {
                    "string" === typeof c && (c = document.getElementById(c));
                    c = this.P(c);
                    return c.parentWindow || c.defaultView || o
                },
                Uc: function(c) {
                    c = c || window;
                    return this.j(c) && !this.i(c, c.top) && this.ga(c.top) ? c.top: c
                }
            }
        });
        R && R("nova/common/cookie", [],
        function() {
            return {
                gb: function(d, f) {
                    var c, b = RegExp("(^| )" + d + "=([^;]*)(;|$)").exec((f || window).document.cookie);
                    b && (c = b[2]);
                    return c
                },
                wb: function(d, f, c) {
                    var c = c || {},
                    b = c.N;
                    "number" == typeof c.N && (b = new Date, b.setTime(b.getTime() + c.N));
                    document.cookie = "" + d + "=" + f + (c.path ? "; path=" + c.path: "") + (b ? "; expires=" + b.toGMTString() : "") + (c.domain ? "; domain=" + c.domain: "") + (c.fd ? "; secure": "")
                },
                remove: function(d) {
                    var f = new Date;
                    f.setTime(f.getTime() - 86400);
                    this.hd(d, "", {
                        path: "/",
                        N: f
                    })
                }
            }
        });
        R && R("nova/common/dom", ["nova/common/oo", "nova/common/bom"],
        function(d, f) {
            return d(function(c) {
                var b = f.d;
                return {
                    e: function(a, b) {
                        return "string" === typeof a || a instanceof String ? (b || window).document.getElementById(a) : a
                    },
                    jb: function(a, b) {
                        var d = m;
                        if ("string" === typeof b) return a.id === b;
                        if (b.constructor === Object) return c.Pb(b,
                        function(e, b) {
                            var c = (a.getAttribute ? a.getAttribute(b) : a[b]) || a[b];
                            if ("tagName" === b) {
                                if (c.toUpperCase() != e.toUpperCase()) return d = r
                            } else if (c != e) return d = r
                        }),
                        d;
                        if (b.constructor === Array) {
                            var f = b.concat([]);
                            f.reverse();
                            for (var e = a; e && f.length; e = e.parentNode) this.jb(e, f[0]) && f.shift();
                            return ! f.length ? m: r
                        }
                    },
                    Db: function(a, b) {
                        if (a && b(a) !== r) {
                            var c = a.childNodes;
                            if (c) for (var d = 0,
                            e = c.length; d < e; d++) if (this.Db(c[d], b) === r) return r
                        }
                    },
                    Bb: function(a, b) {
                        var c = this;
                        a.constructor === Object && (a = this.h(a));
                        if ("string" === typeof b) {
                            for (var d = document.getElementById(b), e = d; e;) {
                                if (e === a) return d;
                                e = e.parentNode
                            }
                            return o
                        }
                        if (b.constructor === Object) {
                            var f = o;
                            c.Db(a,
                            function(a) {
                                if (c.jb(a, b)) return f = a,
                                r
                            });
                            return f
                        }
                    },
                    h: function(a) {
                        if (a) {
                            if (a.nodeName) return a;
                            1 < arguments.length && (a = Array.prototype.slice.call(arguments, 0));
                            if ("string" === typeof a) return document.getElementById(a);
                            if (a.constructor === Object) return this.Bb(document.documentElement, a);
                            if (a.constructor === Array) {
                                for (var b = a.concat([]), c = document.documentElement; b.length && c;) c = this.Bb(c, b.shift());
                                return c
                            }
                        }
                    },
                    bd: function(a, d, f) {
                        var f = f || this.md || window,
                        i = f.document;
                        this.Za = 0;
                        this.J = this.J || [];
                        this.J.push({
                            ta: a,
                            Ya: d || 0,
                            sa: r
                        });
                        var e = c.H(function() {
                            var a = r;
                            this.Za++;
                            var e = r;
                            try {
                                f.frameElement && (e = m)
                            } catch(c) {
                                e = m
                            }
                            if (b.b && 9 > b.b && !e) try {
                                i.documentElement.doScroll("left"),
                                a = m
                            } catch(d) {} else if ("complete" === i.readyState || this.Ob) a = m;
                            else if (3E5 < this.Za) {
                                this.w && (f.clearInterval(this.w), this.w = o);
                                return
                            }
                            if (a) try {
                                if (this.J && this.J.length) for (var a = 0,
                                g = this.J.length; a < g; a++) {
                                    var p = this.J[a];
                                    p && p.ta && !p.sa && (p.Ya ? (p.sa = m, f.setTimeout(p.ta, p.Ya)) : (p.sa = m, p.ta()))
                                }
                            } catch(z) {
                                throw z;
                            } finally {
                                this.w && (f.clearInterval(this.w), this.w = o)
                            }
                        },
                        this),
                        a = c.H(function() {
                            this.Ob = m;
                            e()
                        },
                        this);
                        this.w || (this.w = f.setInterval(e, 50), i.addEventListener ? (i.addEventListener("DOMContentLoaded", a, r), f.addEventListener("load", a, r)) : i.attachEvent && f.attachEvent("onload", a, r))
                    },
                    pa: function() {
                        var a = m;
                        if (b.b && (7 > b.b || "BackCompat" === document.compatMode)) a = r;
                        return a
                    },
                    bind: function(a, b, c) {
                        "string" === typeof a && (a = this.h(a));
                        b = b.replace(/^on/i, "").toLowerCase();
                        a.addEventListener ? a.addEventListener(b, c, r) : a.attachEvent && a.attachEvent("on" + b, c);
                        return a
                    },
                    ld: function(a, b, c) {
                        a = this.h(a);
                        b = b.replace(/^on/i, "").toLowerCase();
                        a.removeEventListener ? a.removeEventListener(b, c, r) : a.detachEvent && a.detachEvent("on" + b, c);
                        return a
                    },
                    l: function(a, b) {
                        var c;
                        "string" === typeof a && (a = this.h(a));
                        var d = f.P(a),
                        e = "",
                        e = -1 < b.indexOf("-") ? b.replace(/[-_][^-_]{1}/g,
                        function(a) {
                            return a.charAt(1).toUpperCase()
                        }) : b.replace(/[A-Z]{1}/g,
                        function(a) {
                            return "-" + a.charAt(0).toLowerCase()
                        });
                        d && d.defaultView && d.defaultView.getComputedStyle ? ((d = d.defaultView.getComputedStyle(a, o)) && (c = d.getPropertyValue(b)), "boolean" !== typeof c && !c && (c = d.getPropertyValue(e))) : a.currentStyle && ((d = a.currentStyle) && (c = d[b]), "boolean" !== typeof c && !c && (c = d[e]));
                        return c
                    },
                    z: function(a, b) {
                        b = b || window;
                        "string" === typeof a && (a = this.h(a));
                        if (a) {
                            for (var c = this.T(a), d, e = 0; b != b.parent && 10 > e;) e++,
                            d = this.T(b.frameElement),
                            c.left += d.left,
                            c.top += d.top,
                            b = b.parent;
                            return c
                        }
                    },
                    T: function(a) {
                        "string" === typeof a && (a = this.h(a));
                        var b = f.P(a),
                        c = f.d;
                        0 < c.ec && b.getBoxObjectFor && this.l(a, "position");
                        var d = {
                            left: 0,
                            top: 0
                        },
                        e;
                        if (a == (c.b && !c.kb ? b.body: b.documentElement) || !a) return d;
                        if (a.getBoundingClientRect) a = a.getBoundingClientRect(),
                        d.left = Math.floor(a.left) + Math.max(b.documentElement.scrollLeft, b.body.scrollLeft),
                        d.top = Math.floor(a.top) + Math.max(b.documentElement.scrollTop, b.body.scrollTop),
                        d.left -= b.documentElement.clientLeft,
                        d.top -= b.documentElement.clientTop,
                        a = b.body,
                        b = parseInt(this.l(a, "borderLeftWidth"), 10),
                        a = parseInt(this.l(a, "borderTopWidth"), 10),
                        c.b && !c.kb && (d.left -= isNaN(b) ? 2 : b, d.top -= isNaN(a) ? 2 : a);
                        else {
                            e = a;
                            do {
                                d.left += e.offsetLeft;
                                d.top += e.offsetTop;
                                if (0 < c.mb && "fixed" == this.l(e, "position")) {
                                    d.left += b.body.scrollLeft;
                                    d.top += b.body.scrollTop;
                                    break
                                }
                                e = e.offsetParent
                            } while ( e && e != a );
                            if (0 < c.opera || 0 < c.mb && "absolute" == this.l(a, "position")) d.top -= b.body.offsetTop;
                            for (e = a.offsetParent; e && e != b.body;) {
                                d.left -= e.scrollLeft;
                                if (!c.opera || "TR" != e.tagName) d.top -= e.scrollTop;
                                e = e.offsetParent
                            }
                        }
                        return d
                    },
                    R: function(a, b) {
                        var a = this.h(a),
                        c = a.offsetWidth;
                        if (b || r) var d = this.l(a, "marginLeft").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                        e = this.l(a, "marginRight").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                        c = c + (parseInt(d || 0) + parseInt(e || 0));
                        return c
                    },
                    Q: function(a, b) {
                        var a = this.h(a),
                        c = a.offsetHeight;
                        if (b || r) var d = this.l(a, "marginTop").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                        e = this.l(a, "marginBottom").toString().toLowerCase().replace("px", "").replace("auto", "0"),
                        c = c + (parseInt(d || 0) + parseInt(e || 0));
                        return c
                    },
                    Tc: function(a) {
                        var a = this.h(a),
                        b = this.u(a),
                        c = 0;
                        if (this.j(window) && !f.i(window)) {
                            for (; b.parent != window.top && 10 > c;) c++,
                            b = b.parent;
                            10 > c && (a = b.frameElement || a)
                        }
                        return a
                    },
                    va: function(a) {
                        var b = this.h(a),
                        a = this.u(b),
                        c = 100,
                        d;
                        try {
                            for (; b && b.tagName;) {
                                d = 100;
                                if (this.d.b) {
                                    if (5 < this.d.b) try {
                                        d = b.Qc.alpha.opacity || 100
                                    } catch(e) {}
                                    c = c > d ? d: c
                                } else {
                                    try {
                                        d = 100 * (a.getComputedStyle(b, o).opacity || 1)
                                    } catch(f) {}
                                    c *= d / 100
                                }
                                b = b.parentNode
                            }
                        } catch(n) {}
                        return c || 100
                    },
                    fb: function(a) {
                        for (var b = this.h(a), a = this.u(b), b = this.va(b), c = 100, d = 0; this.j(a);) {
                            d++;
                            if (f.i(a, a.parent)) break;
                            else c = 100,
                            a.frameElement && (c = this.va(a.frameElement)),
                            b *= c / 100;
                            a = a.parent
                        }
                        return b
                    }
                }
            })
        });
        R && R("nova/common/logic", [],
        function() {
            return {
                Pc: function(d) { (d = d || "") && (d = d.replace(/%u[d|w]{4}/g,
                    function(d) {
                        return encodeURIComponent(unescape(d))
                    }));
                    return d
                },
                kd: function(d, f) {
                    return d.replace(/{(.*?)}/g,
                    function(c, b) {
                        return f[b] || ""
                    })
                },
                gc: function(d) {
                    return (new Function("return " + d))()
                },
                hb: function(d, f) {
                    if (d && f) {
                        var c = d.match(RegExp("(^|&|\?|#)" + f + "=([^&]*)(&|$)", ""));
                        if (c) return c[2]
                    }
                    return o
                },
                $c: function(d, f) {
                    var d = d || "",
                    f = f || "?",
                    c = arguments.callee;
                    c.hasOwnProperty[f] || (c[f] = {});
                    c = c[f];
                    if (c.hasOwnProperty(d)) return c[d];
                    var b = {},
                    a = d.indexOf(f),
                    g = d.substring(a + 1).split("&");
                    if ( - 1 !== a) for (var a = 0,
                    h = g.length; a < h; a++) {
                        var i = g[a].split("="),
                        e = decodeURIComponent(i[0]),
                        i = decodeURIComponent(i[1]);
                        b.hasOwnProperty(e) ? (b[e].constructor !== Array && (b[e] = [b[e]]), b[e].push(i)) : b[e] = i
                    }
                    return c[d] = b
                }
            }
        });
        R && R("nova/common/oo", [],
        function() {
            function d(a) {
                var b = d.create(d);
                return a.call(b, b, b.Qa)
            }
            function f(a, b) {
                if (a.constructor === Array) for (var c = 0,
                d = a.length; c < d; c++) {
                    if (b.call(a, a[c], c, a) === r) return r
                } else {
                    var c = !{
                        toString: 1
                    }.propertyIsEnumerable("toString"),
                    e = "toString,toLocaleString,valueOf,constructor,propertyIsEnumerable,hasOwnProperty,isPrototypeOf".split(",");
                    for (d in a) if (a.hasOwnProperty(d) && b.call(a, a[d], d, a) === r) return r;
                    if (c) {
                        c = 0;
                        for (d = e.length; c < d; c++) {
                            var f = e[c];
                            if (a.hasOwnProperty(f) && b.call(a, f, c, a) === r) return r
                        }
                    }
                }
                return m
            }
            function c(a, b, c) {
                f(b,
                function(b, e) {
                    if (!a.hasOwnProperty(e) || c) a[e] = b
                })
            }
            function b(a) {
                function b() {}
                if (Object.create) return Object.create(a);
                b.prototype = a;
                return new b
            }
            d.Qa = {};
            d.create = b;
            d.Pb = f;
            d.Fb = function(a) {
                var b, d = a.hasOwnProperty("constructor") ? a.constructor: function() {};
                d.prototype = a;
                d.prototype.constructor = d;
                b = b || {};
                b.Ia && c(d, b.Ia);
                return d
            };
            d.extend = function(a, d, f) {
                var i;
                i = d.hasOwnProperty("constructor") ? d.constructor: function() {
                    a.constructor.apply(this, arguments)
                };
                i.prototype = b(a.prototype);
                c(i.prototype, d, m);
                i.prototype.constructor = i;
                i.prototype.Kc = a.prototype;
                c(i, a);
                f = f || {};
                f.Ia && c(i, f.Ia, m);
                return i
            };
            d.Yc = function(a) {
                var b = this.Qa;
                f(a.split("."),
                function(a) {
                    b.hasOwnProperty(a) || (b[a] = {});
                    b = b[a]
                });
                return b
            };
            d.H = function(a, b) {
                var c;
                return function() {
                    c = c || [];
                    for (var d = 0,
                    e = arguments.length; d < e; d++) c.push(arguments[d]);
                    return a.apply(b || {},
                    c)
                }
            };
            return d
        });
        R && R("nova/painter/inlayFixed1392089005", ["nova/business/businessLogic"],
        function(d) {
            function f(c) {
                return '<iframe width="{slotWidth}" height="{slotHeight}" src="{serviceUrl}{paramString}" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true"></iframe>'.replace(/{(.*?)}/g,
                function(b, a) {
                    return c[a] || ""
                })
            }
            return {
                render: function(c, b) {
                    c.displayType = "inlay-fixed";
                    var a = d.rb(c),
                    g = {
                        L: a.displayType,
                        v: a.styleType,
                        Ja: a.stuffType
                    };
                    if (!d.Va(g)) return r;
                    d.ib(a.slotId, b).innerHTML = f(a);
                    d.ub(g); (function() {
                        var c = a.slotId,
                        d = a.adIndex || 0;
                        Q(["viewWatch"],
                        function(e) {
                            e.register({
                                id: c,
                                wrapperId: b,
                                logType: "block",
                                extra: "did=" + d + "&ch=" + a.channel + "&jk=" + a.pvId + "&tn=" + a.tn + "&n=" + a.unionAccount + "&js=c"
                            })
                        },
                        m)
                    })()
                }
            }
        });
        R && R("nova/painter/xuanting1392089005", "nova/common/cookie,nova/common/bom,nova/common/dom,nova/common/logic,nova/common/oo,nova/business/businessLogic".split(","),
        function(d, f, c, b, a, g) {
            var h;
            a(function(a) {
                h = a.Fb({
                    constructor: function(a) {
                        var b = a.Y.id;
                        this.Y = c.h(a.Y);
                        this.type = +a.type;
                        this.src = a.src;
                        this.width = a.width;
                        this.height = a.height;
                        this.v = a.v || "";
                        this.Ka = a.Ka || "";
                        this.qa = a.qa || "0";
                        this.Na = a.Na || "";
                        this.Fa = a.Fa || "";
                        this.Z = this.Ma = 5;
                        this.Da = a.Da;
                        this.Ga = a.Ga;
                        this.X = a.X;
                        this.ra = "bd_close_" + this.X;
                        this.Hc = !!d.gb(this.ra);
                        this.G = this.Vb(this.X);
                        this.g = b;
                        this.s = "";
                        this.fileName = "c";
                        this.na = a.na || 0;
                        2 === this.type ? this.s = "top": 3 === this.type && (this.s = "bottom");
                        this.s && (this.Eb = m, this.$ = +a.$ || 0, this.aa = +a.aa || 0, this.W = !!a.W || r, this.D = +a.D || 0, this.Ib = 500);
                        this.ob = a.ob || r
                    },
                    Vc: function(a) {
                        return "string" === typeof a ? document.getElementById(a) : a
                    },
                    Cc: function(a, b) {
                        return (b || document).getElementsByTagName(a)[0]
                    },
                    Cb: function(a, b) {
                        return a.replace(/{(.*?)}/g,
                        function(a, c) {
                            return b.hasOwnProperty(c) ? b[c] : a
                        })
                    },
                    Vb: function(a) {
                        var b = {};
                        return function() {
                            b.hasOwnProperty(a) || (b[a] = 0); ++b[a];
                            return "cproIframe" + b[a]
                        }
                    } (),
                    d: f.d,
                    xc: function() {
                        var a = {
                            path: ""
                        };
                        if (this.D && !this.W) {
                            var b = new Date;
                            b.setTime(b.getTime() + this.D);
                            a.N = b
                        }
                        d.wb(this.ra, 1, a)
                    },
                    tc: function(a) {
                        var b = new Date;
                        b.setTime(b.getTime() - 86400);
                        d.wb(a, "", {
                            path: "/",
                            N: b
                        })
                    },
                    Ac: function() {
                        this.clientWidth = f.o(window);
                        this.clientHeight = f.m(window);
                        this.s && (this.f && (this.f.style.width = this.clientWidth + "px"), this.Pa && (this.Pa.style.width = this.clientWidth + "px"));
                        this.vb && clearTimeout(this.vb);
                        this.vb = setTimeout(a.H(this.Ba, this), 5)
                    },
                    Ba: function() {
                        var a = this.f;
                        if (a) if (c.pa()) {
                            if (a.style.zIndex = 2147483646, 1 === this.type) if ("fixed" == a.style.position) this.Ta(),
                            this.Jb() && (a.style.cssText = o, this.sc());
                            else {
                                var b = this.Ec();
                                b && (this.Xa(), a.style.position = "fixed", a.style.top = b + "px", this.Ta())
                            }
                        } else this.zc(this.f)
                    },
                    Jb: function(a) {
                        var b;
                        a ? (b = document.getElementById(a), a = document.getElementById("" + a + "placeholder")) : (b = this.f || document.getElementById(this.g), a = document.getElementById("" + this.g + "placeholder"));
                        return b && a && (a = this.t(a).ma, this.t(b).ma <= a) ? m: r
                    },
                    Ta: function(a) {
                        var b;
                        a ? (b = document.getElementById(a), a = document.getElementById("" + a + "placeholder")) : (b = this.f || document.getElementById(this.g), a = document.getElementById("" + this.g + "placeholder"));
                        b && a && (a = this.t(a).left, b.style.left = a + "px")
                    },
                    t: function(a) {
                        var b = c.T(a),
                        d = f.xa(window),
                        g = f.U(window),
                        h = c.R(a, r),
                        a = c.Q(a, r);
                        return {
                            top: b.top - g,
                            bottom: b.top - g + a,
                            left: b.left - d,
                            right: b.left - d + h,
                            ma: b.top,
                            Mc: b.top + a,
                            ja: b.left,
                            ed: b.left + h
                        }
                    },
                    zc: function() {
                        this.clientWidth = f.o(window);
                        this.clientHeight = f.m(window);
                        var a = f.U(window),
                        b = c.l(document.body, "position").toString(),
                        d = c.T(document.body),
                        g = d.left,
                        h = d.top;
                        if (d = this.f) if (d.style.position = "absolute", d.style.zIndex = 2147483646, 1 === this.type) if (document.getElementById("" + this.g + "placeholder")) {
                            var i = document.getElementById("" + this.g + "placeholder"),
                            p = this.t(i);
                            d.style.top = "" + a + this.Z + "px";
                            d.style.left = "" + p.ja + "px";
                            "relative" == b && (d.style.top = a + this.Z - h + "px", d.style.left = p.ja - g + "px");
                            d.style.visibility = "visible";
                            a = this.t(d);
                            p.ma >= a.ma && (d.parentNode.removeChild(d), i.parentNode.insertBefore(d, i), i.parentNode.removeChild(i), d.style.cssText = o)
                        } else {
                            if (i = this.Fc(this.g)) this.Z = i,
                            this.Xa(this.g),
                            i = document.getElementById("" + this.g + "placeholder"),
                            p = this.t(i),
                            d.parentNode.removeChild(d),
                            document.body.appendChild(d),
                            d.style.zIndex = 2147483646,
                            d.style.top = a + this.Z + "px",
                            d.style.left = p.ja + "px",
                            "relative" == b && (d.style.top = a + this.Z - h + "px", d.style.left = p.ja - g + "px"),
                            d.style.visibility = "visible",
                            d.style.position = "absolute"
                        } else 2 === this.type ? d.style.top = a + "px": 3 === this.type && (d.style.top = a + this.clientHeight - (this.height + 10) + "px")
                    },
                    uc: function() {
                        if (!this.ob) {
                            var a = this.type,
                            b = this.width,
                            d = this.height,
                            f = {
                                srcAttrName: a === j || 1 == a ? "src": "_src",
                                iframeWidth: b,
                                iframeHeight: d,
                                iframeId: this.G,
                                paramString: this.Da || "",
                                serviceUrl: this.Ga
                            };
                            this.nc();
                            var g = r;
                            if (a && (1 === a || 2 === a || 3 === a)) {
                                var h = g = "auto",
                                i;
                                if (1 === a) i = "inline-block",
                                g = b + "px",
                                h = d + "px";
                                else if (2 === a || 3 === a) i = "block",
                                g = "100%",
                                h = +d + 10 + "px";
                                f.widthValue = g;
                                f.heightValue = h;
                                f.displayValue = i;
                                a = this.Y;
                                a.setAttribute("width", g);
                                a.setAttribute("height", h);
                                a.style.cssText = this.Cb("{widthValue};height:{heightValue};display:{displayValue};", f);
                                g = m
                            }
                            f = this.Cb('<iframe id="{iframeId}" {srcAttrName}="{serviceUrl}{paramString}" width="{iframeWidth}" height="{iframeHeight}" align="center,center" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" ></iframe>', f);
                            this.Y.innerHTML = f;
                            this.fa = c.h(this.G);
                            g && (this.f = this.fa.parentNode);
                            this.Lb();
                            this.Gc()
                        }
                    },
                    Lb: function() {
                        var a = this.type,
                        b = this.fa,
                        d = this.f;
                        if (a) {
                            var g = 1;
                            if (2 === a) g = 2;
                            else if (3 === a) g = 1;
                            else if (1 !== a && 0 !== a && this.f) {
                                this.f.style.display = "none";
                                return
                            }
                            var h = 2 === a || 3 === a,
                            i = "";
                            switch (a) {
                            case 2:
                            case 3:
                                var i = "display:none;",
                                p = "";
                                this.d.b && 7 > this.d.b && (p = "_background-image:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk" + g + ".png');");
                                g = h ? '<div id="' + this.G + 'WrapToggle" style="z-index:2147483646;cursor:pointer;position:absolute;right:0;' + this.s + ':0;40px;height:100%;background-color:#3f3f3f;"><div style="20px;height:22px;position:absolute;top:50%;margin-top:-11px;left:50%;margin-left:-10px;background:no-repeat url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk' + g + ".png);" + p + '"></div></div>': "";
                                h = h ? '<div id="' + this.G + 'WrapBk" style="' + this.s + ':0;left:0;position:absolute;100%;height:100%;background-color:#666;-moz-opacity:.6;filter:alpha(opacity=60);opacity:.6;"></div>': "";
                                p = "";
                                c.pa() ? 1 === a ? p = "position:fixed;top:0;": 2 === a ? p = "position:fixed;top:0;100%;": 3 === a && (p = "position:fixed;bottom:0;100%;") : 1 === a ? p = "position:absolute;top:0;": 2 === a ? p = "position:absolute;top:0;100%;": 3 === a && (p = "position:absolute;top:" + (f.U(window) + f.m(window) - this.width) + "px;100%;");
                                d.insertAdjacentHTML("afterBegin", h + g);
                                d.style.cssText = [i, "height:", this.height + 10, "px;right:0;z-index:2147483646;text-align:center;font-size:0;_overflow-y:hidden;", p].join("");
                                b.style.cssText = "position:relative;margin:5px 0;";
                                this.La = c.h("" + this.G + "WrapToggle");
                                this.la = this.Cc("DIV", this.La);
                                this.Pa = c.h(this.G + "WrapBk");
                                this.Ac()
                            }
                        }
                    },
                    yb: function() {
                        var a = this.X,
                        b = this.g,
                        c = this;
                        Q(["viewWatch"],
                        function(d) {
                            d.register({
                                id: a,
                                wrapperId: b,
                                logType: "block",
                                extra: "did=" + c.na + "&ch=" + c.qa + "&jk=" + c.Fa + "&tn=" + c.Ka + "&n=" + c.Na + "&js=" + c.fileName
                            })
                        },
                        m)
                    },
                    Gc: function() {
                        var b = this,
                        d = b.f,
                        f = b.type,
                        g = b.fa,
                        b = this;
                        this.s ? this.Hc ? d.parentNode.removeChild(d) : (setTimeout(function() {
                            d.style.display = "block";
                            if (2 === f || 3 === f) {
                                var a = g.getAttribute("_src");
                                a && (g.setAttribute("src", a), g.removeAttribute("_src"), b.yb())
                            }
                        },
                        this.$), this.aa && setTimeout(function() {
                            d.style.display = "none"
                        },
                        this.$ + this.aa)) : this.yb();
                        this.La && (2 === this.type || 3 === this.type) && c.bind(this.La, "click", a.H(this.Dc, this));
                        c.bind(window, "scroll", a.H(this.Ba, this));
                        c.bind(window, "resize", a.H(this.Ba, this))
                    },
                    nc: function() {
                        for (var a = 1; 2 >= a; a++)(function(a) {
                            var b = "bkimg_" + +new Date + Math.floor(1E5 * Math.random()),
                            c = window[b] = new Image;
                            c.onload = c.onerror = function() {
                                c.onload = c.onerror = o;
                                c = window[b] = o
                            };
                            c.src = "http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk" + a + ".png"
                        })(a)
                    },
                    Dc: function() {
                        this.Eb ? this.bc() : this.show()
                    },
                    xb: function(a) {
                        if (!this.Ua) {
                            this.Ua = m;
                            var b = this.f,
                            c = this.Pa,
                            d = this.fa,
                            f = this.s,
                            g = b.offsetHeight,
                            h = Math.round(this.Ib / g),
                            i = 0,
                            s = this;
                            a && (b.style.width = "100%");
                            var B = +new Date,
                            E = setInterval(function() {
                                var b = i = Math.round(( + new Date - B) / h),
                                k = b;
                                a && (k = g - b);
                                c.style[f] = -k + "px";
                                d.style[f] = -k + "px";
                                b >= g && (s.Ua = r, (s.Eb = a) && "top" === f || !a && "bottom" === f ? s.d.b && 7 > s.d.b ? s.la.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk2.png');": s.la.style.backgroundImage = "url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk2.png)": s.d.b && 7 > s.d.b ? s.la.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk1.png');": s.la.style.backgroundImage = "url(http://cpro.baidustatic.com/cpro/ui/noexpire/img/toggle_btn_bk1.png)", k = g, a && (k = 0), c.style[f] = -k + "px", d.style[f] = -k + "px", clearInterval(E))
                            },
                            h)
                        }
                    },
                    show: function() { (this.W || this.D) && this.tc(this.ra);
                        this.xb(m)
                    },
                    bc: function() { (this.W || this.D) && this.xc();
                        this.xb(r)
                    },
                    Xa: function(a) {
                        var b;
                        a ? (b = document.getElementById(a), a += "placeholder") : (b = this.f || document.getElementById(this.g), a = this.g + "placeholder");
                        var c = document.createElement("div");
                        c.id = a;
                        c.align && (c.align = b.getAttribute("align"));
                        c.style.width = "" + parseInt(b.getAttribute("width"), 10) + "px";
                        c.style.height = "" + parseInt(b.getAttribute("height"), 10) + "px";
                        c.style.margin = "0";
                        c.style.padding = "0";
                        c.style.background = "none";
                        c.style.border = "none";
                        1 === this.type && (c.style.display = "inline-block");
                        b.parentNode.insertBefore(c, b);
                        return m
                    },
                    sc: function(a) {
                        a = document.getElementById(a ? a + "placeholder": this.g + "placeholder");
                        a.parentNode.removeChild(a);
                        return m
                    },
                    Ec: function(a) {
                        var b = this.Ma;
                        return this.t(a ? document.getElementById(a) : this.f || document.getElementById(this.g)).top < b ? b: r
                    },
                    Fc: function(a) {
                        var b = this.Ma;
                        return this.t(a ? document.getElementById(a) : this.f || document.getElementById(this.g)).top < b ? b: r
                    }
                })
            });
            return {
                render: function(a, b) {
                    switch (parseInt(a._html.xuanting)) {
                    case 1:
                        a.displayType = "inlay-float";
                        break;
                    case 2:
                        a.displayType = "float-top";
                        break;
                    case 3:
                        a.displayType = "float-bottom";
                        break;
                    default:
                        a.displayType = "inlay-float"
                    }
                    var c = g.rb(a),
                    d = {
                        L: c.displayType,
                        v: c.styleType,
                        Ja: c.stuffType
                    };
                    if (!g.Va(d)) return r; (new h({
                        Y: g.ib(c.slotId, b),
                        X: c.slotId,
                        type: c.xuantingType,
                        src: "",
                         c.slotWidth,
                        height: c.slotHeight,
                        v: c.styleType,
                        Ka: c.tn,
                        qa: c.channel,
                        Na: c.unionAccount,
                        na: c.adIndex,
                        Fa: c.pvId,
                        $: c.delayIn,
                        aa: c.delayOut,
                        W: c.sessionSync,
                        D: c.closeFor,
                        Da: c.paramString,
                        Ga: c.serviceUrl
                    })).uc();
                    g.ub(d)
                }
            }
        });
    })();
    

      

  • 相关阅读:
    设计模式——原型模式
    设计模式——复合模式
    设计模式——桥接模式
    建筑模式
    设计模式——单键模式
    工厂模式
    抽象工厂
    设计模式——适配器模式
    一个简单的文件上传功能控件(原创)
    算法题:用php生成excel列
  • 原文地址:https://www.cnblogs.com/josn1984/p/6221281.html
Copyright © 2011-2022 走看看