/*!
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */
(function(a, b) {
  function p(a) {
    return r.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1
  }
  function o(a) {
    if (!bD[a]) {
      var b = r("<" + a + ">").appendTo("body"),
          c = b.css("display");
      b.remove();
      if (c === "none" || c === "") c = "block";
      bD[a] = c
    }
    return bD[a]
  }
  function n(a, b) {
    var c = {};
    r.each(bH.concat.apply([], bH.slice(0, b)), function() {
      c[this] = a
    });
    return c
  }
  function m(a, b, c, d) {
    r.isArray(b) && b.length ? r.each(b, function(b, e) {
      c || bv.test(a) ? d(a, e) : m(a + "[" + (typeof e == "object" || r.isArray(e) ? b : "") + "]", e, c, d)
    }) : !c && b != null && typeof b == "object" ? r.isEmptyObject(b) ? d(a, "") : r.each(b, function(b, e) {
      m(a + "[" + b + "]", e, c, d)
    }) : d(a, b)
  }
  function l(a, b, c) {
    var d = b === "width" ? a.offsetWidth : a.offsetHeight;
    if (c === "border") return d;
    r.each(b === "width" ? bk : bl, function() {
      c || (d -= parseFloat(r.css(a, "padding" + this)) || 0), c === "margin" ? d += parseFloat(r.css(a, "margin" + this)) || 0 : d -= parseFloat(r.css(a, "border" + this + "Width")) || 0
    });
    return d
  }
  function k(a, b) {
    b.src ? r.ajax({
      url: b.src,
      async: !1,
      dataType: "script"
    }) : r.globalEval(b.text || b.textContent || b.innerHTML || ""), b.parentNode && b.parentNode.removeChild(b)
  }
  function j(a, b) {
    var c = 0;
    b.each(function() {
      if (this.nodeName === (a[c] && a[c].nodeName)) {
        var b = r.data(a[c++]),
            d = r.data(this, b);
        if (b = b && b.events) {
          delete d.handle, d.events = {};
          for (var e in b) for (var f in b[e]) r.event.add(this, e, b[e][f], b[e][f].data)
        }
      }
    })
  }
  function i(a, b, c) {
    if (r.isFunction(b)) return r.grep(a, function(a, d) {
      return !!b.call(a, d, a) === c
    });
    if (b.nodeType) return r.grep(a, function(a) {
      return a === b === c
    });
    if (typeof b == "string") {
      var d = r.grep(a, function(a) {
        return a.nodeType === 1
      });
      if (S.test(b)) return r.filter(b, d, !c);
      b = r.filter(b, d)
    }
    return r.grep(a, function(a) {
      return r.inArray(a, b) >= 0 === c
    })
  }
  function h(a, b) {
    return (a && a !== "*" ? a + "." : "") + b.replace(E, "`").replace(F, "&")
  }
  function g(a) {
    var b, c, d, e, f, g, h, i, j, k, l, m = [];
    e = [], f = r.data(this, this.nodeType ? "events" : "__events__"), typeof f == "function" && (f = f.events);
    if (!(a.liveFired === this || !f || !f.live || a.button && a.type === "click")) {
      a.namespace && (l = RegExp("(^|\\.)" + a.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)")), a.liveFired = this;
      var n = f.live.slice(0);
      for (h = 0; h < n.length; h++) f = n[h], f.origType.replace(C, "") === a.type ? e.push(f.selector) : n.splice(h--, 1);
      e = r(a.target).closest(e, a.currentTarget), i = 0;
      for (j = e.length; i < j; i++) {
        k = e[i];
        for (h = 0; h < n.length; h++) {
          f = n[h];
          if (k.selector === f.selector && (!l || l.test(f.namespace))) {
            g = k.elem, d = null;
            if (f.preType === "mouseenter" || f.preType === "mouseleave") a.type = f.preType, d = r(a.relatedTarget).closest(f.selector)[0];
            (!d || d !== g) && m.push({
              elem: g,
              handleObj: f,
              level: k.level
            })
          }
        }
      }
      i = 0;
      for (j = m.length; i < j; i++) {
        e = m[i];
        if (c && e.level > c) break;
        a.currentTarget = e.elem, a.data = e.handleObj.data, a.handleObj = e.handleObj, l = e.handleObj.origHandler.apply(e.elem, arguments);
        if (l === !1 || a.isPropagationStopped()) {
          c = e.level, l === !1 && (b = !1);
          if (a.isImmediatePropagationStopped()) break
        }
      }
      return b
    }
  }
  function f(a, b, c) {
    c[0].type = a;
    return r.event.handle.apply(b, c)
  }
  function e() {
    return !0
  }
  function d() {
    return !1
  }
  function c(a, c, d) {
    if (d === b && a.nodeType === 1) {
      d = a.getAttribute("data-" + c);
      if (typeof d == "string") {
        try {
          d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : r.isNaN(d) ? t.test(d) ? r.parseJSON(d) : d : parseFloat(d)
        } catch (e) {}
        r.data(a, c, d)
      } else d = b
    }
    return d
  }
  var q = a.document,
      r = function() {
      function c() {
        if (!d.isReady) {
          try {
            q.documentElement.doScroll("left")
          } catch (a) {
            setTimeout(c, 1);
            return
          }
          d.ready()
        }
      }
      var d = function(a, b) {
        return new d.fn.init(a, b)
      },
          e = a.jQuery,
          f = a.$,
          g, h = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
          i = /\S/,
          j = /^\s+/,
          k = /\s+$/,
          l = /\W/,
          m = /\d/,
          n = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
          o = /^[\],:{}\s]*$/,
          p = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
          r = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
          s = /(?:^|:|,)(?:\s*\[)+/g,
          t = /(webkit)[ \/]([\w.]+)/,
          u = /(opera)(?:.*version)?[ \/]([\w.]+)/,
          v = /(msie) ([\w.]+)/,
          w = /(mozilla)(?:.*? rv:([\w.]+))?/,
          x = navigator.userAgent,
          y = !1,
          z = [],
          A, B = Object.prototype.toString,
          C = Object.prototype.hasOwnProperty,
          D = Array.prototype.push,
          E = Array.prototype.slice,
          F = String.prototype.trim,
          G = Array.prototype.indexOf,
          H = {};
      d.fn = d.prototype = {
        init: function(a, c) {
          var e, f, i;
          if (!a) return this;
          if (a.nodeType) {
            this.context = this[0] = a, this.length = 1;
            return this
          }
          if (a === "body" && !c && q.body) {
            this.context = q, this[0] = q.body, this.selector = "body", this.length = 1;
            return this
          }
          if (typeof a == "string") {
            if ((e = h.exec(a)) && (e[1] || !c)) {
              if (e[1]) {
                i = c ? c.ownerDocument || c : q, (f = n.exec(a)) ? d.isPlainObject(c) ? (a = [q.createElement(f[1])], d.fn.attr.call(a, c, !0)) : a = [i.createElement(f[1])] : (f = d.buildFragment([e[1]], [i]), a = (f.cacheable ? f.fragment.cloneNode(!0) : f.fragment).childNodes);
                return d.merge(this, a)
              }
              if ((f = q.getElementById(e[2])) && f.parentNode) {
                if (f.id !== e[2]) return g.find(a);
                this.length = 1, this[0] = f
              }
              this.context = q, this.selector = a;
              return this
            }
            if (!c && !l.test(a)) {
              this.selector = a, this.context = q, a = q.getElementsByTagName(a);
              return d.merge(this, a)
            }
            return !c || c.jquery ? (c || g).find(a) : d(c).find(a)
          }
          if (d.isFunction(a)) return g.ready(a);
          a.selector !== b && (this.selector = a.selector, this.context = a.context);
          return d.makeArray(a, this)
        },
        selector: "",
        jquery: "1.4.4",
        length: 0,
        size: function() {
          return this.length
        },
        toArray: function() {
          return E.call(this, 0)
        },
        get: function(a) {
          return a == null ? this.toArray() : a < 0 ? this.slice(a)[0] : this[a]
        },
        pushStack: function(a, b, c) {
          var e = d();
          d.isArray(a) ? D.apply(e, a) : d.merge(e, a), e.prevObject = this, e.context = this.context, b === "find" ? e.selector = this.selector + (this.selector ? " " : "") + c : b && (e.selector = this.selector + "." + b + "(" + c + ")");
          return e
        },
        each: function(a, b) {
          return d.each(this, a, b)
        },
        ready: function(a) {
          d.bindReady(), d.isReady ? a.call(q, d) : z && z.push(a);
          return this
        },
        eq: function(a) {
          return a === -1 ? this.slice(a) : this.slice(a, +a + 1)
        },
        first: function() {
          return this.eq(0)
        },
        last: function() {
          return this.eq(-1)
        },
        slice: function() {
          return this.pushStack(E.apply(this, arguments), "slice", E.call(arguments).join(","))
        },
        map: function(a) {
          return this.pushStack(d.map(this, function(b, c) {
            return a.call(b, c, b)
          }))
        },
        end: function() {
          return this.prevObject || d(null)
        },
        push: D,
        sort: [].sort,
        splice: [].splice
      }, d.fn.init.prototype = d.fn, d.extend = d.fn.extend = function() {
        var a, c, e, f, g, h = arguments[0] || {},
            i = 1,
            j = arguments.length,
            k = !1;
        typeof h == "boolean" && (k = h, h = arguments[1] || {}, i = 2), typeof h != "object" && !d.isFunction(h) && (h = {}), j === i && (h = this, --i);
        for (; i < j; i++) if ((a = arguments[i]) != null) for (c in a) e = h[c], f = a[c], h !== f && (k && f && (d.isPlainObject(f) || (g = d.isArray(f))) ? (g ? (g = !1, e = e && d.isArray(e) ? e : []) : e = e && d.isPlainObject(e) ? e : {}, h[c] = d.extend(k, e, f)) : f !== b && (h[c] = f));
        return h
      }, d.extend({
        noConflict: function(b) {
          a.$ = f, b && (a.jQuery = e);
          return d
        },
        isReady: !1,
        readyWait: 1,
        ready: function(a) {
          a === !0 && d.readyWait--;
          if (!d.readyWait || a !== !0 && !d.isReady) {
            if (!q.body) return setTimeout(d.ready, 1);
            d.isReady = !0;
            if (!(a !== !0 && --d.readyWait > 0) && z) {
              var b = 0,
                  c = z;
              for (z = null; a = c[b++];) a.call(q, d);
              d.fn.trigger && d(q).trigger("ready").unbind("ready")
            }
          }
        },
        bindReady: function() {
          if (!y) {
            y = !0;
            if (q.readyState === "complete") return setTimeout(d.ready, 1);
            if (q.addEventListener) q.addEventListener("DOMContentLoaded", A, !1), a.addEventListener("load", d.ready, !1);
            else if (q.attachEvent) {
              q.attachEvent("onreadystatechange", A), a.attachEvent("onload", d.ready);
              var b = !1;
              try {
                b = a.frameElement == null
              } catch (e) {}
              q.documentElement.doScroll && b && c()
            }
          }
        },
        isFunction: function(a) {
          return d.type(a) === "function"
        },
        isArray: Array.isArray ||
        function(a) {
          return d.type(a) === "array"
        },
        isWindow: function(a) {
          return a && typeof a == "object" && "setInterval" in a
        },
        isNaN: function(a) {
          return a == null || !m.test(a) || isNaN(a)
        },
        type: function(a) {
          return a == null ? String(a) : H[B.call(a)] || "object"
        },
        isPlainObject: function(a) {
          if (!a || d.type(a) !== "object" || a.nodeType || d.isWindow(a)) return !1;
          if (a.constructor && !C.call(a, "constructor") && !C.call(a.constructor.prototype, "isPrototypeOf")) return !1;
          for (var c in a);
          return c === b || C.call(a, c)
        },
        isEmptyObject: function(a) {
          for (var b in a) return !1;
          return !0
        },
        error: function(a) {
          throw a
        },
        parseJSON: function(b) {
          if (typeof b != "string" || !b) return null;
          b = d.trim(b);
          if (o.test(b.replace(p, "@").replace(r, "]").replace(s, ""))) return a.JSON && a.JSON.parse ? a.JSON.parse(b) : (new Function("return " + b))();
          d.error("Invalid JSON: " + b)
        },
        noop: function() {},
        globalEval: function(a) {
          if (a && i.test(a)) {
            var b = q.getElementsByTagName("head")[0] || q.documentElement,
                c = q.createElement("script");
            c.type = "text/javascript", d.support.scriptEval ? c.appendChild(q.createTextNode(a)) : c.text = a, b.insertBefore(c, b.firstChild), b.removeChild(c)
          }
        },
        nodeName: function(a, b) {
          return a.nodeName && a.nodeName.toUpperCase() === b.toUpperCase()
        },
        each: function(a, c, e) {
          var f, g = 0,
              h = a.length,
              i = h === b || d.isFunction(a);
          if (e) {
            if (i) {
              for (f in a) if (c.apply(a[f], e) === !1) break
            } else
            for (; g < h;) if (c.apply(a[g++], e) === !1) break
          } else if (i) {
            for (f in a) if (c.call(a[f], f, a[f]) === !1) break
          } else
          for (e = a[0]; g < h && c.call(e, g, e) !== !1; e = a[++g]);
          return a
        },
        trim: F ?
        function(a) {
          return a == null ? "" : F.call(a)
        } : function(a) {
          return a == null ? "" : a.toString().replace(j, "").replace(k, "")
        },
        makeArray: function(a, b) {
          var c = b || [];
          if (a != null) {
            var e = d.type(a);
            a.length == null || e === "string" || e === "function" || e === "regexp" || d.isWindow(a) ? D.call(c, a) : d.merge(c, a)
          }
          return c
        },
        inArray: function(a, b) {
          if (b.indexOf) return b.indexOf(a);
          for (var c = 0, d = b.length; c < d; c++) if (b[c] === a) return c;
          return -1
        },
        merge: function(a, c) {
          var d = a.length,
              e = 0;
          if (typeof c.length == "number") for (var f = c.length; e < f; e++) a[d++] = c[e];
          else
          for (; c[e] !== b;) a[d++] = c[e++];
          a.length = d;
          return a
        },
        grep: function(a, b, c) {
          var d = [],
              e;
          c = !! c;
          for (var f = 0, g = a.length; f < g; f++) e = !! b(a[f], f), c !== e && d.push(a[f]);
          return d
        },
        map: function(a, b, c) {
          for (var d = [], e, f = 0, g = a.length; f < g; f++) e = b(a[f], f, c), e != null && (d[d.length] = e);
          return d.concat.apply([], d)
        },
        guid: 1,
        proxy: function(a, c, e) {
          arguments.length === 2 && (typeof c == "string" ? (e = a, a = e[c], c = b) : c && !d.isFunction(c) && (e = c, c = b)), !c && a && (c = function() {
            return a.apply(e || this, arguments)
          }), a && (c.guid = a.guid = a.guid || c.guid || d.guid++);
          return c
        },
        access: function(a, c, e, f, g, h) {
          var i = a.length;
          if (typeof c == "object") {
            for (var j in c) d.access(a, j, c[j], f, g, e);
            return a
          }
          if (e !== b) {
            f = !h && f && d.isFunction(e);
            for (j = 0; j < i; j++) g(a[j], c, f ? e.call(a[j], j, g(a[j], c)) : e, h);
            return a
          }
          return i ? g(a[0], c) : b
        },
        now: function() {
          return (new Date).getTime()
        },
        uaMatch: function(a) {
          a = a.toLowerCase(), a = t.exec(a) || u.exec(a) || v.exec(a) || a.indexOf("compatible") < 0 && w.exec(a) || [];
          return {
            browser: a[1] || "",
            version: a[2] || "0"
          }
        },
        browser: {}
      }), d.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) {
        H["[object " + b + "]"] = b.toLowerCase()
      }), x = d.uaMatch(x), x.browser && (d.browser[x.browser] = !0, d.browser.version = x.version), d.browser.webkit && (d.browser.safari = !0), G && (d.inArray = function(a, b) {
        return G.call(b, a)
      }), /\s/.test("Â ") || (j = /^[\s\xA0]+/, k = /[\s\xA0]+$/), g = d(q), q.addEventListener ? A = function() {
        q.removeEventListener("DOMContentLoaded", A, !1), d.ready()
      } : q.attachEvent && (A = function() {
        q.readyState === "complete" && (q.detachEvent("onreadystatechange", A), d.ready())
      });
      return a.jQuery = a.$ = d
      }();
  (function() {
    r.support = {};
    var b = q.documentElement,
        c = q.createElement("script"),
        d = q.createElement("div"),
        e = "script" + r.now();
    d.style.display = "none", d.innerHTML = "   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
    var f = d.getElementsByTagName("*"),
        g = d.getElementsByTagName("a")[0],
        h = q.createElement("select"),
        i = h.appendChild(q.createElement("option"));
    if (!(!f || !f.length || !g)) {
      r.support = {
        leadingWhitespace: d.firstChild.nodeType === 3,
        tbody: !d.getElementsByTagName("tbody").length,
        htmlSerialize: !! d.getElementsByTagName("link").length,
        style: /red/.test(g.getAttribute("style")),
        hrefNormalized: g.getAttribute("href") === "/a",
        opacity: /^0.55$/.test(g.style.opacity),
        cssFloat: !! g.style.cssFloat,
        checkOn: d.getElementsByTagName("input")[0].value === "on",
        optSelected: i.selected,
        deleteExpando: !0,
        optDisabled: !1,
        checkClone: !1,
        scriptEval: !1,
        noCloneEvent: !0,
        boxModel: null,
        inlineBlockNeedsLayout: !1,
        shrinkWrapBlocks: !1,
        reliableHiddenOffsets: !0
      }, h.disabled = !0, r.support.optDisabled = !i.disabled, c.type = "text/javascript";
      try {
        c.appendChild(q.createTextNode("window." + e + "=1;"))
      } catch (j) {}
      b.insertBefore(c, b.firstChild), a[e] && (r.support.scriptEval = !0, delete a[e]);
      try {
        delete c.test
      } catch (k) {
        r.support.deleteExpando = !1
      }
      b.removeChild(c), d.attachEvent && d.fireEvent && (d.attachEvent("onclick", function l() {
        r.support.noCloneEvent = !1, d.detachEvent("onclick", l)
      }), d.cloneNode(!0).fireEvent("onclick")), d = q.createElement("div"), d.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>", b = q.createDocumentFragment(), b.appendChild(d.firstChild), r.support.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, r(function() {
        var a = q.createElement("div");
        a.style.width = a.style.paddingLeft = "1px", q.body.appendChild(a), r.boxModel = r.support.boxModel = a.offsetWidth === 2, "zoom" in a.style && (a.style.display = "inline", a.style.zoom = 1, r.support.inlineBlockNeedsLayout = a.offsetWidth === 2, a.style.display = "", a.innerHTML = "<div style='width:4px;'></div>", r.support.shrinkWrapBlocks = a.offsetWidth !== 2), a.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";
        var b = a.getElementsByTagName("td");
        r.support.reliableHiddenOffsets = b[0].offsetHeight === 0, b[0].style.display = "", b[1].style.display = "none", r.support.reliableHiddenOffsets = r.support.reliableHiddenOffsets && b[0].offsetHeight === 0, a.innerHTML = "", q.body.removeChild(a).style.display = "none"
      }), b = function(a) {
        var b = q.createElement("div");
        a = "on" + a;
        var c = a in b;
        c || (b.setAttribute(a, "return;"), c = typeof b[a] == "function");
        return c
      }, r.support.submitBubbles = b("submit"), r.support.changeBubbles = b("change"), b = c = d = f = g = null
    }
  })();
  var s = {},
      t = /^(?:\{.*\}|\[.*\])$/;
  r.extend({
    cache: {},
    uuid: 0,
    expando: "jQuery" + r.now(),
    noData: {
      embed: !0,
      object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
      applet: !0
    },
    data: function(c, d, e) {
      if (r.acceptData(c)) {
        c = c == a ? s : c;
        var f = c.nodeType,
            g = f ? c[r.expando] : null,
            h = r.cache;
        if (!f || !! g || typeof d != "string" || e !== b) {
          f ? g || (c[r.expando] = g = ++r.uuid) : h = c, typeof d == "object" ? f ? h[g] = r.extend(h[g], d) : r.extend(h, d) : f && !h[g] && (h[g] = {}), c = f ? h[g] : h, e !== b && (c[d] = e);
          return typeof d == "string" ? c[d] : c
        }
      }
    },
    removeData: function(b, c) {
      if (r.acceptData(b)) {
        b = b == a ? s : b;
        var d = b.nodeType,
            e = d ? b[r.expando] : b,
            f = r.cache,
            g = d ? f[e] : e;
        if (c) g && (delete g[c], d && r.isEmptyObject(g) && r.removeData(b));
        else if (d && r.support.deleteExpando) delete b[r.expando];
        else if (b.removeAttribute) b.removeAttribute(r.expando);
        else if (d) delete f[e];
        else
        for (var h in b) delete b[h]
      }
    },
    acceptData: function(a) {
      if (a.nodeName) {
        var b = r.noData[a.nodeName.toLowerCase()];
        if (b) return b !== !0 && a.getAttribute("classid") === b
      }
      return !0
    }
  }), r.fn.extend({
    data: function(a, d) {
      var e = null;
      if (typeof a == "undefined") {
        if (this.length) {
          var f = this[0].attributes,
              g;
          e = r.data(this[0]);
          for (var h = 0, i = f.length; h < i; h++) g = f[h].name, g.indexOf("data-") === 0 && (g = g.substr(5), c(this[0], g, e[g]))
        }
        return e
      }
      if (typeof a == "object") return this.each(function() {
        r.data(this, a)
      });
      var j = a.split(".");
      j[1] = j[1] ? "." + j[1] : "";
      if (d === b) {
        e = this.triggerHandler("getData" + j[1] + "!", [j[0]]), e === b && this.length && (e = r.data(this[0], a), e = c(this[0], a, e));
        return e === b && j[1] ? this.data(j[0]) : e
      }
      return this.each(function() {
        var b = r(this),
            c = [j[0], d];
        b.triggerHandler("setData" + j[1] + "!", c), r.data(this, a, d), b.triggerHandler("changeData" + j[1] + "!", c)
      })
    },
    removeData: function(a) {
      return this.each(function() {
        r.removeData(this, a)
      })
    }
  }), r.extend({
    queue: function(a, b, c) {
      if (a) {
        b = (b || "fx") + "queue";
        var d = r.data(a, b);
        if (!c) return d || [];
        !d || r.isArray(c) ? d = r.data(a, b, r.makeArray(c)) : d.push(c);
        return d
      }
    },
    dequeue: function(a, b) {
      b = b || "fx";
      var c = r.queue(a, b),
          d = c.shift();
      d === "inprogress" && (d = c.shift()), d && (b === "fx" && c.unshift("inprogress"), d.call(a, function() {
        r.dequeue(a, b)
      }))
    }
  }), r.fn.extend({
    queue: function(a, c) {
      typeof a != "string" && (c = a, a = "fx");
      return c === b ? r.queue(this[0], a) : this.each(function() {
        var b = r.queue(this, a, c);
        a === "fx" && b[0] !== "inprogress" && r.dequeue(this, a)
      })
    },
    dequeue: function(a) {
      return this.each(function() {
        r.dequeue(this, a)
      })
    },
    delay: function(a, b) {
      a = r.fx ? r.fx.speeds[a] || a : a, b = b || "fx";
      return this.queue(b, function() {
        var c = this;
        setTimeout(function() {
          r.dequeue(c, b)
        }, a)
      })
    },
    clearQueue: function(a) {
      return this.queue(a || "fx", [])
    }
  });
  var u = /[\n\t]/g,
      v = /\s+/,
      w = /\r/g,
      x = /^(?:href|src|style)$/,
      y = /^(?:button|input)$/i,
      z = /^(?:button|input|object|select|textarea)$/i,
      A = /^a(?:rea)?$/i,
      B = /^(?:radio|checkbox)$/i;
  r.props = {
    "for": "htmlFor",
    "class": "className",
    readonly: "readOnly",
    maxlength: "maxLength",
    cellspacing: "cellSpacing",
    rowspan: "rowSpan",
    colspan: "colSpan",
    tabindex: "tabIndex",
    usemap: "useMap",
    frameborder: "frameBorder"
  }, r.fn.extend({
    attr: function(a, b) {
      return r.access(this, a, b, !0, r.attr)
    },
    removeAttr: function(a) {
      return this.each(function() {
        r.attr(this, a, ""), this.nodeType === 1 && this.removeAttribute(a)
      })
    },
    addClass: function(a) {
      if (r.isFunction(a)) return this.each(function(b) {
        var c = r(this);
        c.addClass(a.call(this, b, c.attr("class")))
      });
      if (a && typeof a == "string") for (var b = (a || "").split(v), c = 0, d = this.length; c < d; c++) {
        var e = this[c];
        if (e.nodeType === 1) if (e.className) {
          for (var f = " " + e.className + " ", g = e.className, h = 0, i = b.length; h < i; h++) f.indexOf(" " + b[h] + " ") < 0 && (g += " " + b[h]);
          e.className = r.trim(g)
        } else e.className = a
      }
      return this
    },
    removeClass: function(a) {
      if (r.isFunction(a)) return this.each(function(b) {
        var c = r(this);
        c.removeClass(a.call(this, b, c.attr("class")))
      });
      if (a && typeof a == "string" || a === b) for (var c = (a || "").split(v), d = 0, e = this.length; d < e; d++) {
        var f = this[d];
        if (f.nodeType === 1 && f.className) if (a) {
          for (var g = (" " + f.className + " ").replace(u, " "), h = 0, i = c.length; h < i; h++) g = g.replace(" " + c[h] + " ", " ");
          f.className = r.trim(g)
        } else f.className = ""
      }
      return this
    },
    toggleClass: function(a, b) {
      var c = typeof a,
          d = typeof b == "boolean";
      return r.isFunction(a) ? this.each(function(c) {
        var d = r(this);
        d.toggleClass(a.call(this, c, d.attr("class"), b), b)
      }) : this.each(function() {
        if (c === "string") for (var e, f = 0, g = r(this), h = b, i = a.split(v); e = i[f++];) h = d ? h : !g.hasClass(e), g[h ? "addClass" : "removeClass"](e);
        else if (c === "undefined" || c === "boolean") this.className && r.data(this, "__className__", this.className), this.className = this.className || a === !1 ? "" : r.data(this, "__className__") || ""
      })
    },
    hasClass: function(a) {
      a = " " + a + " ";
      for (var b = 0, c = this.length; b < c; b++) if ((" " + this[b].className + " ").replace(u, " ").indexOf(a) > -1) return !0;
      return !1
    },
    val: function(a) {
      if (!arguments.length) {
        var c = this[0];
        if (c) {
          if (r.nodeName(c, "option")) {
            var d = c.attributes.value;
            return !d || d.specified ? c.value : c.text
          }
          if (r.nodeName(c, "select")) {
            var e = c.selectedIndex;
            d = [];
            var f = c.options;
            c = c.type === "select-one";
            if (e < 0) return null;
            var g = c ? e : 0;
            for (e = c ? e + 1 : f.length; g < e; g++) {
              var h = f[g];
              if (h.selected && (r.support.optDisabled ? !h.disabled : h.getAttribute("disabled") === null) && (!h.parentNode.disabled || !r.nodeName(h.parentNode, "optgroup"))) {
                a = r(h).val();
                if (c) return a;
                d.push(a)
              }
            }
            return d
          }
          return B.test(c.type) && !r.support.checkOn ? c.getAttribute("value") === null ? "on" : c.value : (c.value || "").replace(w, "")
        }
        return b
      }
      var i = r.isFunction(a);
      return this.each(function(b) {
        var c = r(this),
            d = a;
        if (this.nodeType === 1) {
          i && (d = a.call(this, b, c.val())), d == null ? d = "" : typeof d == "number" ? d += "" : r.isArray(d) && (d = r.map(d, function(a) {
            return a == null ? "" : a + ""
          }));
          if (r.isArray(d) && B.test(this.type)) this.checked = r.inArray(c.val(), d) >= 0;
          else if (r.nodeName(this, "select")) {
            var e = r.makeArray(d);
            r("option", this).each(function() {
              this.selected = r.inArray(r(this).val(), e) >= 0
            }), e.length || (this.selectedIndex = -1)
          } else this.value = d
        }
      })
    }
  }), r.extend({
    attrFn: {
      val: !0,
      css: !0,
      html: !0,
      text: !0,
      data: !0,
      width: !0,
      height: !0,
      offset: !0
    },
    attr: function(a, c, d, e) {
      if (!a || a.nodeType === 3 || a.nodeType === 8) return b;
      if (e && c in r.attrFn) return r(a)[c](d);
      e = a.nodeType !== 1 || !r.isXMLDoc(a);
      var f = d !== b;
      c = e && r.props[c] || c;
      var g = x.test(c);
      if ((c in a || a[c] !== b) && e && !g) {
        f && (c === "type" && y.test(a.nodeName) && a.parentNode && r.error("type property can't be changed"), d === null ? a.nodeType === 1 && a.removeAttribute(c) : a[c] = d);
        return r.nodeName(a, "form") && a.getAttributeNode(c) ? a.getAttributeNode(c).nodeValue : c === "tabIndex" ? (c = a.getAttributeNode("tabIndex")) && c.specified ? c.value : z.test(a.nodeName) || A.test(a.nodeName) && a.href ? 0 : b : a[c]
      }
      if (!r.support.style && e && c === "style") {
        f && (a.style.cssText = "" + d);
        return a.style.cssText
      }
      f && a.setAttribute(c, "" + d);
      if (!a.attributes[c] && a.hasAttribute && !a.hasAttribute(c)) return b;
      a = !r.support.hrefNormalized && e && g ? a.getAttribute(c, 2) : a.getAttribute(c);
      return a === null ? b : a
    }
  });
  var C = /\.(.*)$/,
      D = /^(?:textarea|input|select)$/i,
      E = /\./g,
      F = / /g,
      G = /[^\w\s.|`]/g,
      H = function(a) {
      return a.replace(G, "\\$&")
      },
      I = {
      focusin: 0,
      focusout: 0
      };
  r.event = {
    add: function(c, e, f, g) {
      if (c.nodeType !== 3 && c.nodeType !== 8) {
        r.isWindow(c) && c !== a && !c.frameElement && (c = a);
        if (f === !1) f = d;
        else if (!f) return;
        var h, i;
        f.handler && (h = f, f = h.handler), f.guid || (f.guid = r.guid++);
        if (i = r.data(c)) {
          var j = c.nodeType ? "events" : "__events__",
              k = i[j],
              l = i.handle;
          typeof k == "function" ? (l = k.handle, k = k.events) : k || (c.nodeType || (i[j] = i = function() {}), i.events = k = {}), l || (i.handle = l = function() {
            return typeof r != "undefined" && !r.event.triggered ? r.event.handle.apply(l.elem, arguments) : b
          }), l.elem = c, e = e.split(" ");
          for (var m = 0, n; j = e[m++];) {
            i = h ? r.extend({}, h) : {
              handler: f,
              data: g
            }, j.indexOf(".") > -1 ? (n = j.split("."), j = n.shift(), i.namespace = n.slice(0).sort().join(".")) : (n = [], i.namespace = ""), i.type = j, i.guid || (i.guid = f.guid);
            var o = k[j],
                p = r.event.special[j] || {};
            if (!o) {
              o = k[j] = [];
              if (!p.setup || p.setup.call(c, g, n, l) === !1) c.addEventListener ? c.addEventListener(j, l, !1) : c.attachEvent && c.attachEvent("on" + j, l)
            }
            p.add && (p.add.call(c, i), i.handler.guid || (i.handler.guid = f.guid)), o.push(i), r.event.global[j] = !0
          }
          c = null
        }
      }
    },
    global: {},
    remove: function(a, b, c, e) {
      if (a.nodeType !== 3 && a.nodeType !== 8) {
        c === !1 && (c = d);
        var f, g, h = 0,
            i, j, k, l, m, n, o = a.nodeType ? "events" : "__events__",
            p = r.data(a),
            q = p && p[o];
        if (p && q) {
          typeof q == "function" && (p = q, q = q.events), b && b.type && (c = b.handler, b = b.type);
          if (!b || typeof b == "string" && b.charAt(0) === ".") {
            b = b || "";
            for (f in q) r.event.remove(a, f + b)
          } else {
            for (b = b.split(" "); f = b[h++];) {
              l = f, i = f.indexOf(".") < 0, j = [], i || (j = f.split("."), f = j.shift(), k = RegExp("(^|\\.)" + r.map(j.slice(0).sort(), H).join("\\.(?:.*\\.)?") + "(\\.|$)"));
              if (m = q[f]) if (c) {
                l = r.event.special[f] || {};
                for (g = e || 0; g < m.length; g++) {
                  n = m[g];
                  if (c.guid === n.guid) {
                    if (i || k.test(n.namespace)) e == null && m.splice(g--, 1), l.remove && l.remove.call(a, n);
                    if (e != null) break
                  }
                }
                if (m.length === 0 || e != null && m.length === 1)(!l.teardown || l.teardown.call(a, j) === !1) && r.removeEvent(a, f, p.handle), delete q[f]
              } else
              for (g = 0; g < m.length; g++) {
                n = m[g];
                if (i || k.test(n.namespace)) r.event.remove(a, l, n.handler, g), m.splice(g--, 1)
              }
            }
            if (r.isEmptyObject(q)) {
              if (b = p.handle) b.elem = null;
              delete p.events, delete p.handle, typeof p == "function" ? r.removeData(a, o) : r.isEmptyObject(p) && r.removeData(a)
            }
          }
        }
      }
    },
    trigger: function(a, c, d, e) {
      var f = a.type || a;
      if (!e) {
        a = typeof a == "object" ? a[r.expando] ? a : r.extend(r.Event(f), a) : r.Event(f), f.indexOf("!") >= 0 && (a.type = f = f.slice(0, -1), a.exclusive = !0), d || (a.stopPropagation(), r.event.global[f] && r.each(r.cache, function() {
          this.events && this.events[f] && r.event.trigger(a, c, this.handle.elem)
        }));
        if (!d || d.nodeType === 3 || d.nodeType === 8) return b;
        a.result = b, a.target = d, c = r.makeArray(c), c.unshift(a)
      }
      a.currentTarget = d, (e = d.nodeType ? r.data(d, "handle") : (r.data(d, "__events__") || {}).handle) && e.apply(d, c), e = d.parentNode || d.ownerDocument;
      try {
        d && d.nodeName && r.noData[d.nodeName.toLowerCase()] || d["on" + f] && d["on" + f].apply(d, c) === !1 && (a.result = !1, a.preventDefault())
      } catch (g) {}
      if (!a.isPropagationStopped() && e) r.event.trigger(a, c, e, !0);
      else if (!a.isDefaultPrevented()) {
        var h;
        e = a.target;
        var i = f.replace(C, ""),
            j = r.nodeName(e, "a") && i === "click",
            k = r.event.special[i] || {};
        if ((!k._default || k._default.call(d, a) === !1) && !j && !(e && e.nodeName && r.noData[e.nodeName.toLowerCase()])) {
          try {
            if (e[i]) {
              if (h = e["on" + i]) e["on" + i] = null;
              r.event.triggered = !0, e[i]()
            }
          } catch (l) {}
          h && (e["on" + i] = h), r.event.triggered = !1
        }
      }
    },
    handle: function(c) {
      var d, e, f, g;
      e = [];
      var h = r.makeArray(arguments);
      c = h[0] = r.event.fix(c || a.event), c.currentTarget = this, d = c.type.indexOf(".") < 0 && !c.exclusive, d || (f = c.type.split("."), c.type = f.shift(), e = f.slice(0).sort(), f = RegExp("(^|\\.)" + e.join("\\.(?:.*\\.)?") + "(\\.|$)")), c.namespace = c.namespace || e.join("."), g = r.data(this, this.nodeType ? "events" : "__events__"), typeof g == "function" && (g = g.events), e = (g || {})[c.type];
      if (g && e) {
        e = e.slice(0), g = 0;
        for (var i = e.length; g < i; g++) {
          var j = e[g];
          if (d || f.test(j.namespace)) {
            c.handler = j.handler, c.data = j.data, c.handleObj = j, j = j.handler.apply(this, h), j !== b && (c.result = j, j === !1 && (c.preventDefault(), c.stopPropagation()));
            if (c.isImmediatePropagationStopped()) break
          }
        }
      }
      return c.result
    },
    props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
    fix: function(a) {
      if (a[r.expando]) return a;
      var c = a;
      a = r.Event(c);
      for (var d = this.props.length, e; d;) e = this.props[--d], a[e] = c[e];
      a.target || (a.target = a.srcElement || q), a.target.nodeType === 3 && (a.target = a.target.parentNode), !a.relatedTarget && a.fromElement && (a.relatedTarget = a.fromElement === a.target ? a.toElement : a.fromElement), a.pageX == null && a.clientX != null && (c = q.documentElement, d = q.body, a.pageX = a.clientX + (c && c.scrollLeft || d && d.scrollLeft || 0) - (c && c.clientLeft || d && d.clientLeft || 0), a.pageY = a.clientY + (c && c.scrollTop || d && d.scrollTop || 0) - (c && c.clientTop || d && d.clientTop || 0)), a.which == null && (a.charCode != null || a.keyCode != null) && (a.which = a.charCode != null ? a.charCode : a.keyCode), !a.metaKey && a.ctrlKey && (a.metaKey = a.ctrlKey), !a.which && a.button !== b && (a.which = a.button & 1 ? 1 : a.button & 2 ? 3 : a.button & 4 ? 2 : 0);
      return a
    },
    guid: 1e8,
    proxy: r.proxy,
    special: {
      ready: {
        setup: r.bindReady,
        teardown: r.noop
      },
      live: {
        add: function(a) {
          r.event.add(this, h(a.origType, a.selector), r.extend({}, a, {
            handler: g,
            guid: a.handler.guid
          }))
        },
        remove: function(a) {
          r.event.remove(this, h(a.origType, a.selector), a)
        }
      },
      beforeunload: {
        setup: function(a, b, c) {
          r.isWindow(this) && (this.onbeforeunload = c)
        },
        teardown: function(a, b) {
          this.onbeforeunload === b && (this.onbeforeunload = null)
        }
      }
    }
  }, r.removeEvent = q.removeEventListener ?
  function(a, b, c) {
    a.removeEventListener && a.removeEventListener(b, c, !1)
  } : function(a, b, c) {
    a.detachEvent && a.detachEvent("on" + b, c)
  }, r.Event = function(a) {
    if (!this.preventDefault) return new r.Event(a);
    a && a.type ? (this.originalEvent = a, this.type = a.type) : this.type = a, this.timeStamp = r.now(), this[r.expando] = !0
  }, r.Event.prototype = {
    preventDefault: function() {
      this.isDefaultPrevented = e;
      var a = this.originalEvent;
      a && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
    },
    stopPropagation: function() {
      this.isPropagationStopped = e;
      var a = this.originalEvent;
      a && (a.stopPropagation && a.stopPropagation(), a.cancelBubble = !0)
    },
    stopImmediatePropagation: function() {
      this.isImmediatePropagationStopped = e, this.stopPropagation()
    },
    isDefaultPrevented: d,
    isPropagationStopped: d,
    isImmediatePropagationStopped: d
  };
  var J = function(a) {
    var b = a.relatedTarget;
    try {
      for (; b && b !== this;) b = b.parentNode;
      b !== this && (a.type = a.data, r.event.handle.apply(this, arguments))
    } catch (c) {}
  },
      K = function(a) {
      a.type = a.data, r.event.handle.apply(this, arguments)
      };
  r.each({
    mouseenter: "mouseover",
    mouseleave: "mouseout"
  }, function(a, b) {
    r.event.special[a] = {
      setup: function(c) {
        r.event.add(this, b, c && c.selector ? K : J, a)
      },
      teardown: function(a) {
        r.event.remove(this, b, a && a.selector ? K : J)
      }
    }
  }), r.support.submitBubbles || (r.event.special.submit = {
    setup: function() {
      if (this.nodeName.toLowerCase() !== "form") r.event.add(this, "click.specialSubmit", function(a) {
        var c = a.target,
            d = c.type;
        if ((d === "submit" || d === "image") && r(c).closest("form").length) {
          a.liveFired = b;
          return f("submit", this, arguments)
        }
      }), r.event.add(this, "keypress.specialSubmit", function(a) {
        var c = a.target,
            d = c.type;
        if ((d === "text" || d === "password") && r(c).closest("form").length && a.keyCode === 13) {
          a.liveFired = b;
          return f("submit", this, arguments)
        }
      });
      else
      return !1
    },
    teardown: function() {
      r.event.remove(this, ".specialSubmit")
    }
  });
  if (!r.support.changeBubbles) {
    var L, M = function(a) {
      var b = a.type,
          c = a.value;
      b === "radio" || b === "checkbox" ? c = a.checked : b === "select-multiple" ? c = a.selectedIndex > -1 ? r.map(a.options, function(a) {
        return a.selected
      }).join("-") : "" : a.nodeName.toLowerCase() === "select" && (c = a.selectedIndex);
      return c
    },
        N = function(a, c) {
        var d = a.target,
            e, f;
        if ( !! D.test(d.nodeName) && !d.readOnly) {
          e = r.data(d, "_change_data"), f = M(d), (a.type !== "focusout" || d.type !== "radio") && r.data(d, "_change_data", f);
          if (e !== b && f !== e) if (e != null || f) {
            a.type = "change", a.liveFired = b;
            return r.event.trigger(a, c, d)
          }
        }
        };
    r.event.special.change = {
      filters: {
        focusout: N,
        beforedeactivate: N,
        click: function(a) {
          var b = a.target,
              c = b.type;
          if (c === "radio" || c === "checkbox" || b.nodeName.toLowerCase() === "select") return N.call(this, a)
        },
        keydown: function(a) {
          var b = a.target,
              c = b.type;
          if (a.keyCode === 13 && b.nodeName.toLowerCase() !== "textarea" || a.keyCode === 32 && (c === "checkbox" || c === "radio") || c === "select-multiple") return N.call(this, a)
        },
        beforeactivate: function(a) {
          a = a.target, r.data(a, "_change_data", M(a))
        }
      },
      setup: function() {
        if (this.type === "file") return !1;
        for (var a in L) r.event.add(this, a + ".specialChange", L[a]);
        return D.test(this.nodeName)
      },
      teardown: function() {
        r.event.remove(this, ".specialChange");
        return D.test(this.nodeName)
      }
    }, L = r.event.special.change.filters, L.focus = L.beforeactivate
  }
  q.addEventListener && r.each({
    focus: "focusin",
    blur: "focusout"
  }, function(a, b) {
    function c(a) {
      a = r.event.fix(a), a.type = b;
      return r.event.trigger(a, null, a.target)
    }
    r.event.special[b] = {
      setup: function() {
        I[b]++ === 0 && q.addEventListener(a, c, !0)
      },
      teardown: function() {
        --I[b] === 0 && q.removeEventListener(a, c, !0)
      }
    }
  }), r.each(["bind", "one"], function(a, c) {
    r.fn[c] = function(a, d, e) {
      if (typeof a == "object") {
        for (var f in a) this[c](f, d, a[f], e);
        return this
      }
      if (r.isFunction(d) || d === !1) e = d, d = b;
      var g = c === "one" ? r.proxy(e, function(a) {
        r(this).unbind(a, g);
        return e.apply(this, arguments)
      }) : e;
      if (a === "unload" && c !== "one") this.one(a, d, e);
      else {
        f = 0;
        for (var h = this.length; f < h; f++) r.event.add(this[f], a, g, d)
      }
      return this
    }
  }), r.fn.extend({
    unbind: function(a, b) {
      if (typeof a == "object" && !a.preventDefault) for (var c in a) this.unbind(c, a[c]);
      else {
        c = 0;
        for (var d = this.length; c < d; c++) r.event.remove(this[c], a, b)
      }
      return this
    },
    delegate: function(a, b, c, d) {
      return this.live(b, c, d, a)
    },
    undelegate: function(a, b, c) {
      return arguments.length === 0 ? this.unbind("live") : this.die(b, null, c, a)
    },
    trigger: function(a, b) {
      return this.each(function() {
        r.event.trigger(a, b, this)
      })
    },
    triggerHandler: function(a, b) {
      if (this[0]) {
        var c = r.Event(a);
        c.preventDefault(), c.stopPropagation(), r.event.trigger(c, b, this[0]);
        return c.result
      }
    },
    toggle: function(a) {
      for (var b = arguments, c = 1; c < b.length;) r.proxy(a, b[c++]);
      return this.click(r.proxy(a, function(d) {
        var e = (r.data(this, "lastToggle" + a.guid) || 0) % c;
        r.data(this, "lastToggle" + a.guid, e + 1), d.preventDefault();
        return b[e].apply(this, arguments) || !1
      }))
    },
    hover: function(a, b) {
      return this.mouseenter(a).mouseleave(b || a)
    }
  });
  var O = {
    focus: "focusin",
    blur: "focusout",
    mouseenter: "mouseover",
    mouseleave: "mouseout"
  };
  r.each(["live", "die"], function(a, c) {
    r.fn[c] = function(a, d, e, f) {
      var g, i = 0,
          j, k, l = f || this.selector;
      f = f ? this : r(this.context);
      if (typeof a == "object" && !a.preventDefault) {
        for (g in a) f[c](g, d, a[g], l);
        return this
      }
      r.isFunction(d) && (e = d, d = b);
      for (a = (a || "").split(" ");
      (g = a[i++]) != null;) {
        j = C.exec(g), k = "", j && (k = j[0], g = g.replace(C, ""));
        if (g === "hover") a.push("mouseenter" + k, "mouseleave" + k);
        else {
          j = g, g === "focus" || g === "blur" ? (a.push(O[g] + k), g += k) : g = (O[g] || g) + k;
          if (c === "live") {
            k = 0;
            for (var m = f.length; k < m; k++) r.event.add(f[k], "live." + h(g, l), {
              data: d,
              selector: l,
              handler: e,
              origType: g,
              origHandler: e,
              preType: j
            })
          } else f.unbind("live." + h(g, l), e)
        }
      }
      return this
    }
  }), r.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), function(a, b) {
    r.fn[b] = function(a, c) {
      c == null && (c = a, a = null);
      return arguments.length > 0 ? this.bind(b, a, c) : this.trigger(b)
    }, r.attrFn && (r.attrFn[b] = !0)
  }), a.attachEvent && !a.addEventListener && r(a).bind("unload", function() {
    for (var a in r.cache) if (r.cache[a].handle) try {
      r.event.remove(r.cache[a].handle.elem)
    } catch (b) {}
  }), function() {
    function c(a, b, c, d, e, f) {
      e = 0;
      for (var g = d.length; e < g; e++) {
        var h = d[e];
        if (h) {
          var j = !1;
          for (h = h[a]; h;) {
            if (h.sizcache === c) {
              j = d[h.sizset];
              break
            }
            if (h.nodeType === 1) {
              f || (h.sizcache = c, h.sizset = e);
              if (typeof b != "string") {
                if (h === b) {
                  j = !0;
                  break
                }
              } else if (i.filter(b, [h]).length > 0) {
                j = h;
                break
              }
            }
            h = h[a]
          }
          d[e] = j
        }
      }
    }
    function a(a, b, c, d, e, f) {
      e = 0;
      for (var g = d.length; e < g; e++) {
        var h = d[e];
        if (h) {
          var i = !1;
          for (h = h[a]; h;) {
            if (h.sizcache === c) {
              i = d[h.sizset];
              break
            }
            h.nodeType === 1 && !f && (h.sizcache = c, h.sizset = e);
            if (h.nodeName.toLowerCase() === b) {
              i = h;
              break
            }
            h = h[a]
          }
          d[e] = i
        }
      }
    }
    var d = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
        e = 0,
        f = Object.prototype.toString,
        g = !1,
        h = !0;
    [0, 0].sort(function() {
      h = !1;
      return 0
    });
    var i = function(a, b, c, e) {
      c = c || [];
      var g = b = b || q;
      if (b.nodeType !== 1 && b.nodeType !== 9) return [];
      if (!a || typeof a != "string") return c;
      var h, l, m, o, p, r = !0,
          s = i.isXML(b),
          u = [],
          v = a;
      do {
        d.exec("");
        if (h = d.exec(v)) {
          v = h[3], u.push(h[1]);
          if (h[2]) {
            o = h[3];
            break
          }
        }
      } while (h);
      if (u.length > 1 && k.exec(a)) if (u.length === 2 && j.relative[u[0]]) l = t(u[0] + u[1], b);
      else
      for (l = j.relative[u[0]] ? [b] : i(u.shift(), b); u.length;) a = u.shift(), j.relative[a] && (a += u.shift()), l = t(a, l);
      else {
        !e && u.length > 1 && b.nodeType === 9 && !s && j.match.ID.test(u[0]) && !j.match.ID.test(u[u.length - 1]) && (h = i.find(u.shift(), b, s), b = h.expr ? i.filter(h.expr, h.set)[0] : h.set[0]);
        if (b) {
          h = e ? {
            expr: u.pop(),
            set: n(e)
          } : i.find(u.pop(), u.length === 1 && (u[0] === "~" || u[0] === "+") && b.parentNode ? b.parentNode : b, s), l = h.expr ? i.filter(h.expr, h.set) : h.set, u.length > 0 ? m = n(l) : r = !1;
          for (; u.length;) h = p = u.pop(), j.relative[p] ? h = u.pop() : p = "", h == null && (h = b), j.relative[p](m, h, s)
        } else m = []
      }
      m || (m = l), m || i.error(p || a);
      if (f.call(m) === "[object Array]") if (r) if (b && b.nodeType === 1) for (a = 0; m[a] != null; a++) m[a] && (m[a] === !0 || m[a].nodeType === 1 && i.contains(b, m[a])) && c.push(l[a]);
      else
      for (a = 0; m[a] != null; a++) m[a] && m[a].nodeType === 1 && c.push(l[a]);
      else c.push.apply(c, m);
      else n(m, c);
      o && (i(o, g, c, e), i.uniqueSort(c));
      return c
    };
    i.uniqueSort = function(a) {
      if (p) {
        g = h, a.sort(p);
        if (g) for (var b = 1; b < a.length; b++) a[b] === a[b - 1] && a.splice(b--, 1)
      }
      return a
    }, i.matches = function(a, b) {
      return i(a, null, null, b)
    }, i.matchesSelector = function(a, b) {
      return i(b, null, null, [a]).length > 0
    }, i.find = function(a, b, c) {
      var d;
      if (!a) return [];
      for (var e = 0, f = j.order.length; e < f; e++) {
        var g, h = j.order[e];
        if (g = j.leftMatch[h].exec(a)) {
          var i = g[1];
          g.splice(1, 1);
          if (i.substr(i.length - 1) !== "\\") {
            g[1] = (g[1] || "").replace(/\\/g, ""), d = j.find[h](g, b, c);
            if (d != null) {
              a = a.replace(j.match[h], "");
              break
            }
          }
        }
      }
      d || (d = b.getElementsByTagName("*"));
      return {
        set: d,
        expr: a
      }
    }, i.filter = function(a, c, d, e) {
      for (var f, g, h = a, k = [], l = c, m = c && c[0] && i.isXML(c[0]); a && c.length;) {
        for (var n in j.filter) if ((f = j.leftMatch[n].exec(a)) != null && f[2]) {
          var o, p, q = j.filter[n];
          p = f[1], g = !1, f.splice(1, 1);
          if (p.substr(p.length - 1) !== "\\") {
            l === k && (k = []);
            if (j.preFilter[n]) if (f = j.preFilter[n](f, l, d, k, e, m)) {
              if (f === !0) continue
            } else g = o = !0;
            if (f) for (var r = 0;
            (p = l[r]) != null; r++) if (p) {
              o = q(p, f, r, l);
              var s = e ^ !! o;
              d && o != null ? s ? g = !0 : l[r] = !1 : s && (k.push(p), g = !0)
            }
            if (o !== b) {
              d || (l = k), a = a.replace(j.match[n], "");
              if (!g) return [];
              break
            }
          }
        }
        if (a === h) if (g == null) i.error(a);
        else
        break;
        h = a
      }
      return l
    }, i.error = function(a) {
      throw "Syntax error, unrecognized expression: " + a
    };
    var j = i.selectors = {
      order: ["ID", "NAME", "TAG"],
      match: {
        ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
        CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
        NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
        ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,
        TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
        CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
        POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
        PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
      },
      leftMatch: {},
      attrMap: {
        "class": "className",
        "for": "htmlFor"
      },
      attrHandle: {
        href: function(a) {
          return a.getAttribute("href")
        }
      },
      relative: {
        "+": function(a, b) {
          var c = typeof b == "string",
              d = c && !/\W/.test(b);
          c = c && !d, d && (b = b.toLowerCase()), d = 0;
          for (var e = a.length, f; d < e; d++) if (f = a[d]) {
            for (;
            (f = f.previousSibling) && f.nodeType !== 1;);
            a[d] = c || f && f.nodeName.toLowerCase() === b ? f || !1 : f === b
          }
          c && i.filter(b, a, !0)
        },
        ">": function(a, b) {
          var c, d = typeof b == "string",
              e = 0,
              f = a.length;
          if (d && !/\W/.test(b)) {
            for (b = b.toLowerCase(); e < f; e++) if (c = a[e]) c = c.parentNode, a[e] = c.nodeName.toLowerCase() === b ? c : !1
          } else {
            for (; e < f; e++) if (c = a[e]) a[e] = d ? c.parentNode : c.parentNode === b;
            d && i.filter(b, a, !0)
          }
        },
        "": function(b, d, f) {
          var g, h = e++,
              i = c;
          typeof d == "string" && !/\W/.test(d) && (g = d = d.toLowerCase(), i = a), i("parentNode", d, h, b, g, f)
        },
        "~": function(b, d, f) {
          var g, h = e++,
              i = c;
          typeof d == "string" && !/\W/.test(d) && (g = d = d.toLowerCase(), i = a), i("previousSibling", d, h, b, g, f)
        }
      },
      find: {
        ID: function(a, b, c) {
          if (typeof b.getElementById != "undefined" && !c) return (a = b.getElementById(a[1])) && a.parentNode ? [a] : []
        },
        NAME: function(a, b) {
          if (typeof b.getElementsByName != "undefined") {
            for (var c = [], d = b.getElementsByName(a[1]), e = 0, f = d.length; e < f; e++) d[e].getAttribute("name") === a[1] && c.push(d[e]);
            return c.length === 0 ? null : c
          }
        },
        TAG: function(a, b) {
          return b.getElementsByTagName(a[1])
        }
      },
      preFilter: {
        CLASS: function(a, b, c, d, e, f) {
          a = " " + a[1].replace(/\\/g, "") + " ";
          if (f) return a;
          f = 0;
          for (var g;
          (g = b[f]) != null; f++) g && (e ^ (g.className && (" " + g.className + " ").replace(/[\t\n]/g, " ").indexOf(a) >= 0) ? c || d.push(g) : c && (b[f] = !1));
          return !1
        },
        ID: function(a) {
          return a[1].replace(/\\/g, "")
        },
        TAG: function(a) {
          return a[1].toLowerCase()
        },
        CHILD: function(a) {
          if (a[1] === "nth") {
            var b = /(-?)(\d*)n((?:\+|-)?\d*)/.exec(a[2] === "even" && "2n" || a[2] === "odd" && "2n+1" || !/\D/.test(a[2]) && "0n+" + a[2] || a[2]);
            a[2] = b[1] + (b[2] || 1) - 0, a[3] = b[3] - 0
          }
          a[0] = e++;
          return a
        },
        ATTR: function(a, b, c, d, e, f) {
          b = a[1].replace(/\\/g, ""), !f && j.attrMap[b] && (a[1] = j.attrMap[b]), a[2] === "~=" && (a[4] = " " + a[4] + " ");
          return a
        },
        PSEUDO: function(a, b, c, e, f) {
          if (a[1] === "not") if ((d.exec(a[3]) || "").length > 1 || /^\w/.test(a[3])) a[3] = i(a[3], null, null, b);
          else {
            a = i.filter(a[3], b, c, !0 ^ f), c || e.push.apply(e, a);
            return !1
          } else if (j.match.POS.test(a[0]) || j.match.CHILD.test(a[0])) return !0;
          return a
        },
        POS: function(a) {
          a.unshift(!0);
          return a
        }
      },
      filters: {
        enabled: function(a) {
          return a.disabled === !1 && a.type !== "hidden"
        },
        disabled: function(a) {
          return a.disabled === !0
        },
        checked: function(a) {
          return a.checked === !0
        },
        selected: function(a) {
          return a.selected === !0
        },
        parent: function(a) {
          return !!a.firstChild
        },
        empty: function(a) {
          return !a.firstChild
        },
        has: function(a, b, c) {
          return !!i(c[3], a).length
        },
        header: function(a) {
          return /h\d/i.test(a.nodeName)
        },
        text: function(a) {
          return "text" === a.type
        },
        radio: function(a) {
          return "radio" === a.type
        },
        checkbox: function(a) {
          return "checkbox" === a.type
        },
        file: function(a) {
          return "file" === a.type
        },
        password: function(a) {
          return "password" === a.type
        },
        submit: function(a) {
          return "submit" === a.type
        },
        image: function(a) {
          return "image" === a.type
        },
        reset: function(a) {
          return "reset" === a.type
        },
        button: function(a) {
          return "button" === a.type || a.nodeName.toLowerCase() === "button"
        },
        input: function(a) {
          return /input|select|textarea|button/i.test(a.nodeName)
        }
      },
      setFilters: {
        first: function(a, b) {
          return b === 0
        },
        last: function(a, b, c, d) {
          return b === d.length - 1
        },
        even: function(a, b) {
          return b % 2 === 0
        },
        odd: function(a, b) {
          return b % 2 === 1
        },
        lt: function(a, b, c) {
          return b < c[3] - 0
        },
        gt: function(a, b, c) {
          return b > c[3] - 0
        },
        nth: function(a, b, c) {
          return c[3] - 0 === b
        },
        eq: function(a, b, c) {
          return c[3] - 0 === b
        }
      },
      filter: {
        PSEUDO: function(a, b, c, d) {
          var e = b[1],
              f = j.filters[e];
          if (f) return f(a, c, b, d);
          if (e === "contains") return (a.textContent || a.innerText || i.getText([a]) || "").indexOf(b[3]) >= 0;
          if (e === "not") {
            b = b[3], c = 0;
            for (d = b.length; c < d; c++) if (b[c] === a) return !1;
            return !0
          }
          i.error("Syntax error, unrecognized expression: " + e)
        },
        CHILD: function(a, b) {
          var c = b[1],
              d = a;
          switch (c) {
          case "only":
          case "first":
            for (; d = d.previousSibling;) if (d.nodeType === 1) return !1;
            if (c === "first") return !0;
            d = a;
          case "last":
            for (; d = d.nextSibling;) if (d.nodeType === 1) return !1;
            return !0;
          case "nth":
            c = b[2];
            var e = b[3];
            if (c === 1 && e === 0) return !0;
            var f = b[0],
                g = a.parentNode;
            if (g && (g.sizcache !== f || !a.nodeIndex)) {
              var h = 0;
              for (d = g.firstChild; d; d = d.nextSibling) d.nodeType === 1 && (d.nodeIndex = ++h);
              g.sizcache = f
            }
            d = a.nodeIndex - e;
            return c === 0 ? d === 0 : d % c === 0 && d / c >= 0
          }
        },
        ID: function(a, b) {
          return a.nodeType === 1 && a.getAttribute("id") === b
        },
        TAG: function(a, b) {
          return b === "*" && a.nodeType === 1 || a.nodeName.toLowerCase() === b
        },
        CLASS: function(a, b) {
          return (" " + (a.className || a.getAttribute("class")) + " ").indexOf(b) > -1
        },
        ATTR: function(a, b) {
          var c = b[1];
          c = j.attrHandle[c] ? j.attrHandle[c](a) : a[c] != null ? a[c] : a.getAttribute(c);
          var d = c + "",
              e = b[2],
              f = b[4];
          return c == null ? e === "!=" : e === "=" ? d === f : e === "*=" ? d.indexOf(f) >= 0 : e === "~=" ? (" " + d + " ").indexOf(f) >= 0 : f ? e === "!=" ? d !== f : e === "^=" ? d.indexOf(f) === 0 : e === "$=" ? d.substr(d.length - f.length) === f : e === "|=" ? d === f || d.substr(0, f.length + 1) === f + "-" : !1 : d && c !== !1
        },
        POS: function(a, b, c, d) {
          var e = j.setFilters[b[2]];
          if (e) return e(a, c, b, d)
        }
      }
    },
        k = j.match.POS,
        l = function(a, b) {
        return "\\" + (b - 0 + 1)
        },
        m;
    for (m in j.match) j.match[m] = RegExp(j.match[m].source + /(?![^\[]*\])(?![^\(]*\))/.source), j.leftMatch[m] = RegExp(/(^(?:.|\r|\n)*?)/.source + j.match[m].source.replace(/\\(\d+)/g, l));
    var n = function(a, b) {
      a = Array.prototype.slice.call(a, 0);
      if (b) {
        b.push.apply(b, a);
        return b
      }
      return a
    };
    try {
      Array.prototype.slice.call(q.documentElement.childNodes, 0)
    } catch (o) {
      n = function(a, b) {
        var c = 0,
            d = b || [];
        if (f.call(a) === "[object Array]") Array.prototype.push.apply(d, a);
        else if (typeof a.length == "number") for (var e = a.length; c < e; c++) d.push(a[c]);
        else
        for (; a[c]; c++) d.push(a[c]);
        return d
      }
    }
    var p, s;
    q.documentElement.compareDocumentPosition ? p = function(a, b) {
      if (a === b) {
        g = !0;
        return 0
      }
      return !a.compareDocumentPosition || !b.compareDocumentPosition ? a.compareDocumentPosition ? -1 : 1 : a.compareDocumentPosition(b) & 4 ? -1 : 1
    } : (p = function(a, b) {
      var c, d, e = [],
          f = [];
      c = a.parentNode, d = b.parentNode;
      var h = c;
      if (a === b) {
        g = !0;
        return 0
      }
      if (c === d) return s(a, b);
      if (!c) return -1;
      if (!d) return 1;
      for (; h;) e.unshift(h), h = h.parentNode;
      for (h = d; h;) f.unshift(h), h = h.parentNode;
      c = e.length, d = f.length;
      for (h = 0; h < c && h < d; h++) if (e[h] !== f[h]) return s(e[h], f[h]);
      return h === c ? s(a, f[h], -1) : s(e[h], b, 1)
    }, s = function(a, b, c) {
      if (a === b) return c;
      for (a = a.nextSibling; a;) {
        if (a === b) return -1;
        a = a.nextSibling
      }
      return 1
    }), i.getText = function(a) {
      for (var b = "", c, d = 0; a[d]; d++) c = a[d], c.nodeType === 3 || c.nodeType === 4 ? b += c.nodeValue : c.nodeType !== 8 && (b += i.getText(c.childNodes));
      return b
    }, function() {
      var a = q.createElement("div"),
          c = "script" + (new Date).getTime(),
          d = q.documentElement;
      a.innerHTML = "<a name='" + c + "'/>", d.insertBefore(a, d.firstChild), q.getElementById(c) && (j.find.ID = function(a, c, d) {
        if (typeof c.getElementById != "undefined" && !d) return (c = c.getElementById(a[1])) ? c.id === a[1] || typeof c.getAttributeNode != "undefined" && c.getAttributeNode("id").nodeValue === a[1] ? [c] : b : []
      }, j.filter.ID = function(a, b) {
        var c = typeof a.getAttributeNode != "undefined" && a.getAttributeNode("id");
        return a.nodeType === 1 && c && c.nodeValue === b
      }), d.removeChild(a), d = a = null
    }(), function() {
      var a = q.createElement("div");
      a.appendChild(q.createComment("")), a.getElementsByTagName("*").length > 0 && (j.find.TAG = function(a, b) {
        var c = b.getElementsByTagName(a[1]);
        if (a[1] === "*") {
          for (var d = [], e = 0; c[e]; e++) c[e].nodeType === 1 && d.push(c[e]);
          c = d
        }
        return c
      }), a.innerHTML = "<a href='#'></a>", a.firstChild && typeof a.firstChild.getAttribute != "undefined" && a.firstChild.getAttribute("href") !== "#" && (j.attrHandle.href = function(a) {
        return a.getAttribute("href", 2)
      }), a = null
    }(), q.querySelectorAll &&
    function() {
      var a = i,
          b = q.createElement("div");
      b.innerHTML = "<p class='TEST'></p>";
      if (!b.querySelectorAll || b.querySelectorAll(".TEST").length !== 0) {
        i = function(b, c, d, e) {
          c = c || q, b = b.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
          if (!e && !i.isXML(c)) if (c.nodeType === 9) try {
            return n(c.querySelectorAll(b), d)
          } catch (f) {} else if (c.nodeType === 1 && c.nodeName.toLowerCase() !== "object") {
            var g = c.getAttribute("id"),
                h = g || "__sizzle__";
            g || c.setAttribute("id", h);
            try {
              return n(c.querySelectorAll("#" + h + " " + b), d)
            } catch (j) {} finally {
              g || c.removeAttribute("id")
            }
          }
          return a(b, c, d, e)
        };
        for (var c in a) i[c] = a[c];
        b = null
      }
    }(), function() {
      var a = q.documentElement,
          b = a.matchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || a.msMatchesSelector,
          c = !1;
      try {
        b.call(q.documentElement, "[test!='']:sizzle")
      } catch (d) {
        c = !0
      }
      b && (i.matchesSelector = function(a, d) {
        d = d.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
        if (!i.isXML(a)) try {
          if (c || !j.match.PSEUDO.test(d) && !/!=/.test(d)) return b.call(a, d)
        } catch (e) {}
        return i(d, null, null, [a]).length > 0
      })
    }(), function() {
      var a = q.createElement("div");
      a.innerHTML = "<div class='test e'></div><div class='test'></div>", !! a.getElementsByClassName && a.getElementsByClassName("e").length !== 0 && (a.lastChild.className = "e", a.getElementsByClassName("e").length !== 1 && (j.order.splice(1, 0, "CLASS"), j.find.CLASS = function(a, b, c) {
        if (typeof b.getElementsByClassName != "undefined" && !c) return b.getElementsByClassName(a[1])
      }, a = null))
    }(), i.contains = q.documentElement.contains ?
    function(a, b) {
      return a !== b && (a.contains ? a.contains(b) : !0)
    } : q.documentElement.compareDocumentPosition ?
    function(a, b) {
      return !!(a.compareDocumentPosition(b) & 16)
    } : function() {
      return !1
    }, i.isXML = function(a) {
      return (a = (a ? a.ownerDocument || a : 0).documentElement) ? a.nodeName !== "HTML" : !1
    };
    var t = function(a, b) {
      for (var c, d = [], e = "", f = b.nodeType ? [b] : b; c = j.match.PSEUDO.exec(a);) e += c[0], a = a.replace(j.match.PSEUDO, "");
      a = j.relative[a] ? a + "*" : a, c = 0;
      for (var g = f.length; c < g; c++) i(a, f[c], d);
      return i.filter(e, d)
    };
    r.find = i, r.expr = i.selectors, r.expr[":"] = r.expr.filters, r.unique = i.uniqueSort, r.text = i.getText, r.isXMLDoc = i.isXML, r.contains = i.contains
  }();
  var P = /Until$/,
      Q = /^(?:parents|prevUntil|prevAll)/,
      R = /,/,
      S = /^.[^:#\[\.,]*$/,
      T = Array.prototype.slice,
      U = r.expr.match.POS;
  r.fn.extend({
    find: function(a) {
      for (var b = this.pushStack("", "find", a), c = 0, d = 0, e = this.length; d < e; d++) {
        c = b.length, r.find(a, this[d], b);
        if (d > 0) for (var f = c; f < b.length; f++) for (var g = 0; g < c; g++) if (b[g] === b[f]) {
          b.splice(f--, 1);
          break
        }
      }
      return b
    },
    has: function(a) {
      var b = r(a);
      return this.filter(function() {
        for (var a = 0, c = b.length; a < c; a++) if (r.contains(this, b[a])) return !0
      })
    },
    not: function(a) {
      return this.pushStack(i(this, a, !1), "not", a)
    },
    filter: function(a) {
      return this.pushStack(i(this, a, !0), "filter", a)
    },
    is: function(a) {
      return !!a && r.filter(a, this).length > 0
    },
    closest: function(a, b) {
      var c = [],
          d, e, f = this[0];
      if (r.isArray(a)) {
        var g, h = {},
            i = 1;
        if (f && a.length) {
          d = 0;
          for (e = a.length; d < e; d++) g = a[d], h[g] || (h[g] = r.expr.match.POS.test(g) ? r(g, b || this.context) : g);
          for (; f && f.ownerDocument && f !== b;) {
            for (g in h) d = h[g], (d.jquery ? d.index(f) > -1 : r(f).is(d)) && c.push({
              selector: g,
              elem: f,
              level: i
            });
            f = f.parentNode, i++
          }
        }
        return c
      }
      g = U.test(a) ? r(a, b || this.context) : null, d = 0;
      for (e = this.length; d < e; d++) for (f = this[d]; f;) {
        if (g ? g.index(f) > -1 : r.find.matchesSelector(f, a)) {
          c.push(f);
          break
        }
        f = f.parentNode;
        if (!f || !f.ownerDocument || f === b) break
      }
      c = c.length > 1 ? r.unique(c) : c;
      return this.pushStack(c, "closest", a)
    },
    index: function(a) {
      return !a || typeof a == "string" ? r.inArray(this[0], a ? r(a) : this.parent().children()) : r.inArray(a.jquery ? a[0] : a, this)
    },
    add: function(a, b) {
      var c = typeof a == "string" ? r(a, b || this.context) : r.makeArray(a),
          d = r.merge(this.get(), c);
      return this.pushStack(!c[0] || !c[0].parentNode || c[0].parentNode.nodeType === 11 || !d[0] || !d[0].parentNode || d[0].parentNode.nodeType === 11 ? d : r.unique(d))
    },
    andSelf: function() {
      return this.add(this.prevObject)
    }
  }), r.each({
    parent: function(a) {
      return (a = a.parentNode) && a.nodeType !== 11 ? a : null
    },
    parents: function(a) {
      return r.dir(a, "parentNode")
    },
    parentsUntil: function(a, b, c) {
      return r.dir(a, "parentNode", c)
    },
    next: function(a) {
      return r.nth(a, 2, "nextSibling")
    },
    prev: function(a) {
      return r.nth(a, 2, "previousSibling")
    },
    nextAll: function(a) {
      return r.dir(a, "nextSibling")
    },
    prevAll: function(a) {
      return r.dir(a, "previousSibling")
    },
    nextUntil: function(a, b, c) {
      return r.dir(a, "nextSibling", c)
    },
    prevUntil: function(a, b, c) {
      return r.dir(a, "previousSibling", c)
    },
    siblings: function(a) {
      return r.sibling(a.parentNode.firstChild, a)
    },
    children: function(a) {
      return r.sibling(a.firstChild)
    },
    contents: function(a) {
      return r.nodeName(a, "iframe") ? a.contentDocument || a.contentWindow.document : r.makeArray(a.childNodes)
    }
  }, function(a, b) {
    r.fn[a] = function(c, d) {
      var e = r.map(this, b, c);
      P.test(a) || (d = c), d && typeof d == "string" && (e = r.filter(d, e)), e = this.length > 1 ? r.unique(e) : e, (this.length > 1 || R.test(d)) && Q.test(a) && (e = e.reverse());
      return this.pushStack(e, a, T.call(arguments).join(","))
    }
  }), r.extend({
    filter: function(a, b, c) {
      c && (a = ":not(" + a + ")");
      return b.length === 1 ? r.find.matchesSelector(b[0], a) ? [b[0]] : [] : r.find.matches(a, b)
    },
    dir: function(a, c, d) {
      var e = [];
      for (a = a[c]; a && a.nodeType !== 9 && (d === b || a.nodeType !== 1 || !r(a).is(d));) a.nodeType === 1 && e.push(a), a = a[c];
      return e
    },
    nth: function(a, b, c) {
      b = b || 1;
      for (var d = 0; a; a = a[c]) if (a.nodeType === 1 && ++d === b) break;
      return a
    },
    sibling: function(a, b) {
      for (var c = []; a; a = a.nextSibling) a.nodeType === 1 && a !== b && c.push(a);
      return c
    }
  });
  var V = / jQuery\d+="(?:\d+|null)"/g,
      W = /^\s+/,
      X = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,
      Y = /<([\w:]+)/,
      Z = /<tbody/i,
      $ = /<|&#?\w+;/,
      _ = /<(?:script|object|embed|option|style)/i,
      ba = /checked\s*(?:[^=]|=\s*.checked.)/i,
      bb = /\=([^="'>\s]+\/)>/g,
      bc = {
      option: [1, "<select multiple='multiple'>", "</select>"],
      legend: [1, "<fieldset>", "</fieldset>"],
      thead: [1, "<table>", "</table>"],
      tr: [2, "<table><tbody>", "</tbody></table>"],
      td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
      col: [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"],
      area: [1, "<map>", "</map>"],
      _default: [0, "", ""]
      };
  bc.optgroup = bc.option, bc.tbody = bc.tfoot = bc.colgroup = bc.caption = bc.thead, bc.th = bc.td, r.support.htmlSerialize || (bc._default = [1, "div<div>", "</div>"]), r.fn.extend({
    text: function(a) {
      return r.isFunction(a) ? this.each(function(b) {
        var c = r(this);
        c.text(a.call(this, b, c.text()))
      }) : typeof a != "object" && a !== b ? this.empty().append((this[0] && this[0].ownerDocument || q).createTextNode(a)) : r.text(this)
    },
    wrapAll: function(a) {
      if (r.isFunction(a)) return this.each(function(b) {
        r(this).wrapAll(a.call(this, b))
      });
      if (this[0]) {
        var b = r(a, this[0].ownerDocument).eq(0).clone(!0);
        this[0].parentNode && b.insertBefore(this[0]), b.map(function() {
          for (var a = this; a.firstChild && a.firstChild.nodeType === 1;) a = a.firstChild;
          return a
        }).append(this)
      }
      return this
    },
    wrapInner: function(a) {
      return r.isFunction(a) ? this.each(function(b) {
        r(this).wrapInner(a.call(this, b))
      }) : this.each(function() {
        var b = r(this),
            c = b.contents();
        c.length ? c.wrapAll(a) : b.append(a)
      })
    },
    wrap: function(a) {
      return this.each(function() {
        r(this).wrapAll(a)
      })
    },
    unwrap: function() {
      return this.parent().each(function() {
        r.nodeName(this, "body") || r(this).replaceWith(this.childNodes)
      }).end()
    },
    append: function() {
      return this.domManip(arguments, !0, function(a) {
        this.nodeType === 1 && this.appendChild(a)
      })
    },
    prepend: function() {
      return this.domManip(arguments, !0, function(a) {
        this.nodeType === 1 && this.insertBefore(a, this.firstChild)
      })
    },
    before: function() {
      if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {
        this.parentNode.insertBefore(a, this)
      });
      if (arguments.length) {
        var a = r(arguments[0]);
        a.push.apply(a, this.toArray());
        return this.pushStack(a, "before", arguments)
      }
    },
    after: function() {
      if (this[0] && this[0].parentNode) return this.domManip(arguments, !1, function(a) {
        this.parentNode.insertBefore(a, this.nextSibling)
      });
      if (arguments.length) {
        var a = this.pushStack(this, "after", arguments);
        a.push.apply(a, r(arguments[0]).toArray());
        return a
      }
    },
    remove: function(a, b) {
      for (var c = 0, d;
      (d = this[c]) != null; c++) if (!a || r.filter(a, [d]).length)!b && d.nodeType === 1 && (r.cleanData(d.getElementsByTagName("*")), r.cleanData([d])), d.parentNode && d.parentNode.removeChild(d);
      return this
    },
    empty: function() {
      for (var a = 0, b;
      (b = this[a]) != null; a++) for (b.nodeType === 1 && r.cleanData(b.getElementsByTagName("*")); b.firstChild;) b.removeChild(b.firstChild);
      return this
    },
    clone: function(a) {
      var b = this.map(function() {
        if (!r.support.noCloneEvent && !r.isXMLDoc(this)) {
          var a = this.outerHTML,
              b = this.ownerDocument;
          a || (a = b.createElement("div"), a.appendChild(this.cloneNode(!0)), a = a.innerHTML);
          return r.clean([a.replace(V, "").replace(bb, '="$1">').replace(W, "")], b)[0]
        }
        return this.cloneNode(!0)
      });
      a === !0 && (j(this, b), j(this.find("*"), b.find("*")));
      return b
    },
    html: function(a) {
      if (a === b) return this[0] && this[0].nodeType === 1 ? this[0].innerHTML.replace(V, "") : null;
      if (typeof a == "string" && !_.test(a) && (r.support.leadingWhitespace || !W.test(a)) && !bc[(Y.exec(a) || ["", ""])[1].toLowerCase()]) {
        a = a.replace(X, "<$1></$2>");
        try {
          for (var c = 0, d = this.length; c < d; c++) this[c].nodeType === 1 && (r.cleanData(this[c].getElementsByTagName("*")), this[c].innerHTML = a)
        } catch (e) {
          this.empty().append(a)
        }
      } else r.isFunction(a) ? this.each(function(b) {
        var c = r(this);
        c.html(a.call(this, b, c.html()))
      }) : this.empty().append(a);
      return this
    },
    replaceWith: function(a) {
      if (this[0] && this[0].parentNode) {
        if (r.isFunction(a)) return this.each(function(b) {
          var c = r(this),
              d = c.html();
          c.replaceWith(a.call(this, b, d))
        });
        typeof a != "string" && (a = r(a).detach());
        return this.each(function() {
          var b = this.nextSibling,
              c = this.parentNode;
          r(this).remove(), b ? r(b).before(a) : r(c).append(a)
        })
      }
      return this.pushStack(r(r.isFunction(a) ? a() : a), "replaceWith", a)
    },
    detach: function(a) {
      return this.remove(a, !0)
    },
    domManip: function(a, c, d) {
      var e, f, g, h = a[0],
          i = [];
      if (!r.support.checkClone && arguments.length === 3 && typeof h == "string" && ba.test(h)) return this.each(function() {
        r(this).domManip(a, c, d, !0)
      });
      if (r.isFunction(h)) return this.each(function(e) {
        var f = r(this);
        a[0] = h.call(this, e, c ? f.html() : b), f.domManip(a, c, d)
      });
      if (this[0]) {
        e = h && h.parentNode, e = r.support.parentNode && e && e.nodeType === 11 && e.childNodes.length === this.length ? {
          fragment: e
        } : r.buildFragment(a, this, i), g = e.fragment;
        if (f = g.childNodes.length === 1 ? g = g.firstChild : g.firstChild) {
          c = c && r.nodeName(f, "tr"), f = 0;
          for (var j = this.length; f < j; f++) d.call(c ? r.nodeName(this[f], "table") ? this[f].getElementsByTagName("tbody")[0] || this[f].appendChild(this[f].ownerDocument.createElement("tbody")) : this[f] : this[f], f > 0 || e.cacheable || this.length > 1 ? g.cloneNode(!0) : g)
        }
        i.length && r.each(i, k)
      }
      return this
    }
  }), r.buildFragment = function(a, b, c) {
    var d, e, f;
    b = b && b[0] ? b[0].ownerDocument || b[0] : q, a.length === 1 && typeof a[0] == "string" && a[0].length < 512 && b === q && !_.test(a[0]) && (r.support.checkClone || !ba.test(a[0])) && (e = !0, (f = r.fragments[a[0]]) && f !== 1 && (d = f)), d || (d = b.createDocumentFragment(), r.clean(a, b, d, c)), e && (r.fragments[a[0]] = f ? d : 1);
    return {
      fragment: d,
      cacheable: e
    }
  }, r.fragments = {}, r.each({
    appendTo: "append",
    prependTo: "prepend",
    insertBefore: "before",
    insertAfter: "after",
    replaceAll: "replaceWith"
  }, function(a, b) {
    r.fn[a] = function(c) {
      var d = [];
      c = r(c);
      var e = this.length === 1 && this[0].parentNode;
      if (e && e.nodeType === 11 && e.childNodes.length === 1 && c.length === 1) {
        c[b](this[0]);
        return this
      }
      e = 0;
      for (var f = c.length; e < f; e++) {
        var g = (e > 0 ? this.clone(!0) : this).get();
        r(c[e])[b](g), d = d.concat(g)
      }
      return this.pushStack(d, a, c.selector)
    }
  }), r.extend({
    clean: function(a, b, c, d) {
      b = b || q, typeof b.createElement == "undefined" && (b = b.ownerDocument || b[0] && b[0].ownerDocument || q);
      for (var e = [], f = 0, g;
      (g = a[f]) != null; f++) {
        typeof g == "number" && (g += "");
        if (g) {
          if (typeof g == "string" && !$.test(g)) g = b.createTextNode(g);
          else if (typeof g == "string") {
            g = g.replace(X, "<$1></$2>");
            var h = (Y.exec(g) || ["", ""])[1].toLowerCase(),
                i = bc[h] || bc._default,
                j = i[0],
                k = b.createElement("div");
            for (k.innerHTML = i[1] + g + i[2]; j--;) k = k.lastChild;
            if (!r.support.tbody) {
              j = Z.test(g), h = h === "table" && !j ? k.firstChild && k.firstChild.childNodes : i[1] === "<table>" && !j ? k.childNodes : [];
              for (i = h.length - 1; i >= 0; --i) r.nodeName(h[i], "tbody") && !h[i].childNodes.length && h[i].parentNode.removeChild(h[i])
            }!r.support.leadingWhitespace && W.test(g) && k.insertBefore(b.createTextNode(W.exec(g)[0]), k.firstChild), g = k.childNodes
          }
          g.nodeType ? e.push(g) : e = r.merge(e, g)
        }
      }
      if (c) for (f = 0; e[f]; f++) d && r.nodeName(e[f], "script") && (!e[f].type || e[f].type.toLowerCase() === "text/javascript") ? d.push(e[f].parentNode ? e[f].parentNode.removeChild(e[f]) : e[f]) : (e[f].nodeType === 1 && e.splice.apply(e, [f + 1, 0].concat(r.makeArray(e[f].getElementsByTagName("script")))), c.appendChild(e[f]));
      return e
    },
    cleanData: function(a) {
      for (var b, c, d = r.cache, e = r.event.special, f = r.support.deleteExpando, g = 0, h;
      (h = a[g]) != null; g++) if (!h.nodeName || !r.noData[h.nodeName.toLowerCase()]) if (c = h[r.expando]) {
        if ((b = d[c]) && b.events) for (var i in b.events) e[i] ? r.event.remove(h, i) : r.removeEvent(h, i, b.handle);
        f ? delete h[r.expando] : h.removeAttribute && h.removeAttribute(r.expando), delete d[c]
      }
    }
  });
  var bd = /alpha\([^)]*\)/i,
      be = /opacity=([^)]*)/,
      bf = /-([a-z])/ig,
      bg = /([A-Z])/g,
      bh = /^-?\d+(?:px)?$/i,
      bi = /^-?\d/,
      bj = {
      position: "absolute",
      visibility: "hidden",
      display: "block"
      },
      bk = ["Left", "Right"],
      bl = ["Top", "Bottom"],
      bm, bn, bo, bp = function(a, b) {
      return b.toUpperCase()
      };
  r.fn.css = function(a, c) {
    return arguments.length === 2 && c === b ? this : r.access(this, a, c, !0, function(a, c, d) {
      return d !== b ? r.style(a, c, d) : r.css(a, c)
    })
  }, r.extend({
    cssHooks: {
      opacity: {
        get: function(a, b) {
          if (b) {
            var c = bm(a, "opacity", "opacity");
            return c === "" ? "1" : c
          }
          return a.style.opacity
        }
      }
    },
    cssNumber: {
      zIndex: !0,
      fontWeight: !0,
      opacity: !0,
      zoom: !0,
      lineHeight: !0
    },
    cssProps: {
      "float": r.support.cssFloat ? "cssFloat" : "styleFloat"
    },
    style: function(a, c, d, e) {
      if ( !! a && a.nodeType !== 3 && a.nodeType !== 8 && !! a.style) {
        var f, g = r.camelCase(c),
            h = a.style,
            i = r.cssHooks[g];
        c = r.cssProps[g] || g;
        if (d === b) return i && "get" in i && (f = i.get(a, !1, e)) !== b ? f : h[c];
        if (!(typeof d == "number" && isNaN(d) || d == null)) {
          typeof d == "number" && !r.cssNumber[g] && (d += "px");
          if (!i || !("set" in i) || (d = i.set(a, d)) !== b) try {
            h[c] = d
          } catch (j) {}
        }
      }
    },
    css: function(a, c, d) {
      var e, f = r.camelCase(c),
          g = r.cssHooks[f];
      c = r.cssProps[f] || f;
      if (g && "get" in g && (e = g.get(a, !0, d)) !== b) return e;
      if (bm) return bm(a, c, f)
    },
    swap: function(a, b, c) {
      var d = {},
          e;
      for (e in b) d[e] = a.style[e], a.style[e] = b[e];
      c.call(a);
      for (e in b) a.style[e] = d[e]
    },
    camelCase: function(a) {
      return a.replace(bf, bp)
    }
  }), r.curCSS = r.css, r.each(["height", "width"], function(a, b) {
    r.cssHooks[b] = {
      get: function(a, c, d) {
        var e;
        if (c) {
          a.offsetWidth !== 0 ? e = l(a, b, d) : r.swap(a, bj, function() {
            e = l(a, b, d)
          });
          if (e <= 0) {
            e = bm(a, b, b), e === "0px" && bo && (e = bo(a, b, b));
            if (e != null) return e === "" || e === "auto" ? "0px" : e
          }
          if (e < 0 || e == null) {
            e = a.style[b];
            return e === "" || e === "auto" ? "0px" : e
          }
          return typeof e == "string" ? e : e + "px"
        }
      },
      set: function(a, b) {
        if (!bh.test(b)) return b;
        b = parseFloat(b);
        if (b >= 0) return b + "px"
      }
    }
  }), r.support.opacity || (r.cssHooks.opacity = {
    get: function(a, b) {
      return be.test((b && a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 + "" : b ? "1" : ""
    },
    set: function(a, b) {
      var c = a.style;
      c.zoom = 1;
      var d = r.isNaN(b) ? "" : "alpha(opacity=" + b * 100 + ")",
          e = c.filter || "";
      c.filter = bd.test(e) ? e.replace(bd, d) : c.filter + " " + d
    }
  }), q.defaultView && q.defaultView.getComputedStyle && (bn = function(a, c, d) {
    var e;
    d = d.replace(bg, "-$1").toLowerCase();
    if (!(c = a.ownerDocument.defaultView)) return b;
    if (c = c.getComputedStyle(a, null)) e = c.getPropertyValue(d), e === "" && !r.contains(a.ownerDocument.documentElement, a) && (e = r.style(a, d));
    return e
  }), q.documentElement.currentStyle && (bo = function(a, b) {
    var c, d, e = a.currentStyle && a.currentStyle[b],
        f = a.style;
    !bh.test(e) && bi.test(e) && (c = f.left, d = a.runtimeStyle.left, a.runtimeStyle.left = a.currentStyle.left, f.left = b === "fontSize" ? "1em" : e || 0, e = f.pixelLeft + "px", f.left = c, a.runtimeStyle.left = d);
    return e === "" ? "auto" : e
  }), bm = bn || bo, r.expr && r.expr.filters && (r.expr.filters.hidden = function(a) {
    var b = a.offsetHeight;
    return a.offsetWidth === 0 && b === 0 || !r.support.reliableHiddenOffsets && (a.style.display || r.css(a, "display")) === "none"
  }, r.expr.filters.visible = function(a) {
    return !r.expr.filters.hidden(a)
  });
  var bq = r.now(),
      br = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
      bs = /^(?:select|textarea)/i,
      bt = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
      bu = /^(?:GET|HEAD)$/,
      bv = /\[\]$/,
      bw = /\=\?(&|$)/,
      bx = /\?/,
      by = /([?&])_=[^&]*/,
      bz = /^(\w+:)?\/\/([^\/?#]+)/,
      bA = /%20/g,
      bB = /#.*$/,
      bC = r.fn.load;
  r.fn.extend({
    load: function(a, b, c) {
      if (typeof a != "string" && bC) return bC.apply(this, arguments);
      if (!this.length) return this;
      var d = a.indexOf(" ");
      if (d >= 0) {
        var e = a.slice(d, a.length);
        a = a.slice(0, d)
      }
      d = "GET", b && (r.isFunction(b) ? (c = b, b = null) : typeof b == "object" && (b = r.param(b, r.ajaxSettings.traditional), d = "POST"));
      var f = this;
      r.ajax({
        url: a,
        type: d,
        dataType: "html",
        data: b,
        complete: function(a, b) {
          (b === "success" || b === "notmodified") && f.html(e ? r("<div>").append(a.responseText.replace(br, "")).find(e) : a.responseText), c && f.each(c, [a.responseText, b, a])
        }
      });
      return this
    },
    serialize: function() {
      return r.param(this.serializeArray())
    },
    serializeArray: function() {
      return this.map(function() {
        return this.elements ? r.makeArray(this.elements) : this
      }).filter(function() {
        return this.name && !this.disabled && (this.checked || bs.test(this.nodeName) || bt.test(this.type))
      }).map(function(a, b) {
        var c = r(this).val();
        return c == null ? null : r.isArray(c) ? r.map(c, function(a) {
          return {
            name: b.name,
            value: a
          }
        }) : {
          name: b.name,
          value: c
        }
      }).get()
    }
  }), r.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function(a, b) {
    r.fn[b] = function(a) {
      return this.bind(b, a)
    }
  }), r.extend({
    get: function(a, b, c, d) {
      r.isFunction(b) && (d = d || c, c = b, b = null);
      return r.ajax({
        type: "GET",
        url: a,
        data: b,
        success: c,
        dataType: d
      })
    },
    getScript: function(a, b) {
      return r.get(a, null, b, "script")
    },
    getJSON: function(a, b, c) {
      return r.get(a, b, c, "json")
    },
    post: function(a, b, c, d) {
      r.isFunction(b) && (d = d || c, c = b, b = {});
      return r.ajax({
        type: "POST",
        url: a,
        data: b,
        success: c,
        dataType: d
      })
    },
    ajaxSetup: function(a) {
      r.extend(r.ajaxSettings, a)
    },
    ajaxSettings: {
      url: location.href,
      global: !0,
      type: "GET",
      contentType: "application/x-www-form-urlencoded",
      processData: !0,
      async: !0,
      xhr: function() {
        return new a.XMLHttpRequest
      },
      accepts: {
        xml: "application/xml, text/xml",
        html: "text/html",
        script: "text/javascript, application/javascript",
        json: "application/json, text/javascript",
        text: "text/plain",
        _default: "*/*"
      }
    },
    ajax: function(c) {
      var d = r.extend(!0, {}, r.ajaxSettings, c),
          e, f, g, h = d.type.toUpperCase(),
          i = bu.test(h);
      d.url = d.url.replace(bB, ""), d.context = c && c.context != null ? c.context : d, d.data && d.processData && typeof d.data != "string" && (d.data = r.param(d.data, d.traditional));
      if (d.dataType === "jsonp") {
        if (h === "GET") bw.test(d.url) || (d.url += (bx.test(d.url) ? "&" : "?") + (d.jsonp || "callback") + "=?");
        else if (!d.data || !bw.test(d.data)) d.data = (d.data ? d.data + "&" : "") + (d.jsonp || "callback") + "=?";
        d.dataType = "json"
      }
      if (d.dataType === "json" && (d.data && bw.test(d.data) || bw.test(d.url))) {
        e = d.jsonpCallback || "jsonp" + bq++, d.data && (d.data = (d.data + "").replace(bw, "=" + e + "$1")), d.url = d.url.replace(bw, "=" + e + "$1"), d.dataType = "script";
        var j = a[e];
        a[e] = function(c) {
          if (r.isFunction(j)) j(c);
          else {
            a[e] = b;
            try {
              delete a[e]
            } catch (h) {}
          }
          g = c, r.handleSuccess(d, s, f, g), r.handleComplete(d, s, f, g), m && m.removeChild(n)
        }
      }
      d.dataType === "script" && d.cache === null && (d.cache = !1);
      if (d.cache === !1 && i) {
        var k = r.now(),
            l = d.url.replace(by, "$1_=" + k);
        d.url = l + (l === d.url ? (bx.test(d.url) ? "&" : "?") + "_=" + k : "")
      }
      d.data && i && (d.url += (bx.test(d.url) ? "&" : "?") + d.data), d.global && r.active++ === 0 && r.event.trigger("ajaxStart"), k = (k = bz.exec(d.url)) && (k[1] && k[1].toLowerCase() !== location.protocol || k[2].toLowerCase() !== location.host);
      if (d.dataType === "script" && h === "GET" && k) {
        var m = q.getElementsByTagName("head")[0] || q.documentElement,
            n = q.createElement("script");
        d.scriptCharset && (n.charset = d.scriptCharset), n.src = d.url;
        if (!e) {
          var o = !1;
          n.onload = n.onreadystatechange = function() {
            !o && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") && (o = !0, r.handleSuccess(d, s, f, g), r.handleComplete(d, s, f, g), n.onload = n.onreadystatechange = null, m && n.parentNode && m.removeChild(n))
          }
        }
        m.insertBefore(n, m.firstChild);
        return b
      }
      var p = !1,
          s = d.xhr();
      if (s) {
        d.username ? s.open(h, d.url, d.async, d.username, d.password) : s.open(h, d.url, d.async);
        try {
          (d.data != null && !i || c && c.contentType) && s.setRequestHeader("Content-Type", d.contentType), d.ifModified && (r.lastModified[d.url] && s.setRequestHeader("If-Modified-Since", r.lastModified[d.url]), r.etag[d.url] && s.setRequestHeader("If-None-Match", r.etag[d.url])), k || s.setRequestHeader("X-Requested-With", "XMLHttpRequest"), s.setRequestHeader("Accept", d.dataType && d.accepts[d.dataType] ? d.accepts[d.dataType] + ", */*; q=0.01" : d.accepts._default)
        } catch (t) {}
        if (d.beforeSend && d.beforeSend.call(d.context, s, d) === !1) {
          d.global && r.active-- === 1 && r.event.trigger("ajaxStop"), s.abort();
          return !1
        }
        d.global && r.triggerGlobal(d, "ajaxSend", [s, d]);
        var u = s.onreadystatechange = function(a) {
          if (!s || s.readyState === 0 || a === "abort") p || r.handleComplete(d, s, f, g), p = !0, s && (s.onreadystatechange = r.noop);
          else if (!p && s && (s.readyState === 4 || a === "timeout")) {
            p = !0, s.onreadystatechange = r.noop, f = a === "timeout" ? "timeout" : r.httpSuccess(s) ? d.ifModified && r.httpNotModified(s, d.url) ? "notmodified" : "success" : "error";
            var b;
            if (f === "success") try {
              g = r.httpData(s, d.dataType, d)
            } catch (c) {
              f = "parsererror", b = c
            }
            f === "success" || f === "notmodified" ? e || r.handleSuccess(d, s, f, g) : r.handleError(d, s, f, b), e || r.handleComplete(d, s, f, g), a === "timeout" && s.abort(), d.async && (s = null)
          }
        };
        try {
          var v = s.abort;
          s.abort = function() {
            s && Function.prototype.call.call(v, s), u("abort")
          }
        } catch (w) {}
        d.async && d.timeout > 0 && setTimeout(function() {
          s && !p && u("timeout")
        }, d.timeout);
        try {
          s.send(i || d.data == null ? null : d.data)
        } catch (x) {
          r.handleError(d, s, null, x), r.handleComplete(d, s, f, g)
        }
        d.async || u();
        return s
      }
    },
    param: function(a, c) {
      var d = [],
          e = function(a, b) {
          b = r.isFunction(b) ? b() : b, d[d.length] = encodeURIComponent(a) + "=" + encodeURIComponent(b)
          };
      c === b && (c = r.ajaxSettings.traditional);
      if (r.isArray(a) || a.jquery) r.each(a, function() {
        e(this.name, this.value)
      });
      else
      for (var f in a) m(f, a[f], c, e);
      return d.join("&").replace(bA, "+")
    }
  }), r.extend({
    active: 0,
    lastModified: {},
    etag: {},
    handleError: function(a, b, c, d) {
      a.error && a.error.call(a.context, b, c, d), a.global && r.triggerGlobal(a, "ajaxError", [b, a, d])
    },
    handleSuccess: function(a, b, c, d) {
      a.success && a.success.call(a.context, d, c, b), a.global && r.triggerGlobal(a, "ajaxSuccess", [b, a])
    },
    handleComplete: function(a, b, c) {
      a.complete && a.complete.call(a.context, b, c), a.global && r.triggerGlobal(a, "ajaxComplete", [b, a]), a.global && r.active-- === 1 && r.event.trigger("ajaxStop")
    },
    triggerGlobal: function(a, b, c) {
      (a.context && a.context.url == null ? r(a.context) : r.event).trigger(b, c)
    },
    httpSuccess: function(a) {
      try {
        return !a.status && location.protocol === "file:" || a.status >= 200 && a.status < 300 || a.status === 304 || a.status === 1223
      } catch (b) {}
      return !1
    },
    httpNotModified: function(a, b) {
      var c = a.getResponseHeader("Last-Modified"),
          d = a.getResponseHeader("Etag");
      c && (r.lastModified[b] = c), d && (r.etag[b] = d);
      return a.status === 304
    },
    httpData: function(a, b, c) {
      var d = a.getResponseHeader("content-type") || "",
          e = b === "xml" || !b && d.indexOf("xml") >= 0;
      a = e ? a.responseXML : a.responseText, e && a.documentElement.nodeName === "parsererror" && r.error("parsererror"), c && c.dataFilter && (a = c.dataFilter(a, b)), typeof a == "string" && (b === "json" || !b && d.indexOf("json") >= 0 ? a = r.parseJSON(a) : (b === "script" || !b && d.indexOf("javascript") >= 0) && r.globalEval(a));
      return a
    }
  }), a.ActiveXObject && (r.ajaxSettings.xhr = function() {
    if (a.location.protocol !== "file:") try {
      return new a.XMLHttpRequest
    } catch (b) {}
    try {
      return new a.ActiveXObject("Microsoft.XMLHTTP")
    } catch (c) {}
  }), r.support.ajax = !! r.ajaxSettings.xhr();
  var bD = {},
      bE = /^(?:toggle|show|hide)$/,
      bF = /^([+\-]=)?([\d+.\-]+)(.*)$/,
      bG, bH = [
      ["height", "marginTop", "marginBottom", "paddingTop", "paddingBottom"],
      ["width", "marginLeft", "marginRight", "paddingLeft", "paddingRight"],
      ["opacity"]
      ];
  r.fn.extend({
    show: function(a, b, c) {
      if (a || a === 0) return this.animate(n("show", 3), a, b, c);
      c = 0;
      for (var d = this.length; c < d; c++) a = this[c], b = a.style.display, !r.data(a, "olddisplay") && b === "none" && (b = a.style.display = ""), b === "" && r.css(a, "display") === "none" && r.data(a, "olddisplay", o(a.nodeName));
      for (c = 0; c < d; c++) {
        a = this[c], b = a.style.display;
        if (b === "" || b === "none") a.style.display = r.data(a, "olddisplay") || ""
      }
      return this
    },
    hide: function(a, b, c) {
      if (a || a === 0) return this.animate(n("hide", 3), a, b, c);
      a = 0;
      for (b = this.length; a < b; a++) c = r.css(this[a], "display"), c !== "none" && r.data(this[a], "olddisplay", c);
      for (a = 0; a < b; a++) this[a].style.display = "none";
      return this
    },
    _toggle: r.fn.toggle,
    toggle: function(a, b, c) {
      var d = typeof a == "boolean";
      r.isFunction(a) && r.isFunction(b) ? this._toggle.apply(this, arguments) : a == null || d ? this.each(function() {
        var b = d ? a : r(this).is(":hidden");
        r(this)[b ? "show" : "hide"]()
      }) : this.animate(n("toggle", 3), a, b, c);
      return this
    },
    fadeTo: function(a, b, c, d) {
      return this.filter(":hidden").css("opacity", 0).show().end().animate({
        opacity: b
      }, a, c, d)
    },
    animate: function(a, b, c, d) {
      var e = r.speed(b, c, d);
      return r.isEmptyObject(a) ? this.each(e.complete) : this[e.queue === !1 ? "each" : "queue"](function() {
        var b = r.extend({}, e),
            c, d = this.nodeType === 1,
            f = d && r(this).is(":hidden"),
            g = this;
        for (c in a) {
          var h = r.camelCase(c);
          c !== h && (a[h] = a[c], delete a[c], c = h);
          if (a[c] === "hide" && f || a[c] === "show" && !f) return b.complete.call(this);
          d && (c === "height" || c === "width") && (b.overflow = [this.style.overflow, this.style.overflowX, this.style.overflowY], r.css(this, "display") === "inline" && r.css(this, "float") === "none" && (r.support.inlineBlockNeedsLayout ? o(this.nodeName) === "inline" ? this.style.display = "inline-block" : (this.style.display = "inline", this.style.zoom = 1) : this.style.display = "inline-block")), r.isArray(a[c]) && ((b.specialEasing = b.specialEasing || {})[c] = a[c][1], a[c] = a[c][0])
        }
        b.overflow != null && (this.style.overflow = "hidden"), b.curAnim = r.extend({}, a), r.each(a, function(c, d) {
          var e = new r.fx(g, b, c);
          if (bE.test(d)) e[d === "toggle" ? f ? "show" : "hide" : d](a);
          else {
            var h = bF.exec(d),
                i = e.cur() || 0;
            if (h) {
              var j = parseFloat(h[2]),
                  k = h[3] || "px";
              k !== "px" && (r.style(g, c, (j || 1) + k), i = (j || 1) / e.cur() * i, r.style(g, c, i + k)), h[1] && (j = (h[1] === "-=" ? -1 : 1) * j + i), e.custom(i, j, k)
            } else e.custom(i, d, "")
          }
        });
        return !0
      })
    },
    stop: function(a, b) {
      var c = r.timers;
      a && this.queue([]), this.each(function() {
        for (var a = c.length - 1; a >= 0; a--) c[a].elem === this && (b && c[a](!0), c.splice(a, 1))
      }), b || this.dequeue();
      return this
    }
  }), r.each({
    slideDown: n("show", 1),
    slideUp: n("hide", 1),
    slideToggle: n("toggle", 1),
    fadeIn: {
      opacity: "show"
    },
    fadeOut: {
      opacity: "hide"
    },
    fadeToggle: {
      opacity: "toggle"
    }
  }, function(a, b) {
    r.fn[a] = function(a, c, d) {
      return this.animate(b, a, c, d)
    }
  }), r.extend({
    speed: function(a, b, c) {
      var d = a && typeof a == "object" ? r.extend({}, a) : {
        complete: c || !c && b || r.isFunction(a) && a,
        duration: a,
        easing: c && b || b && !r.isFunction(b) && b
      };
      d.duration = r.fx.off ? 0 : typeof d.duration == "number" ? d.duration : d.duration in r.fx.speeds ? r.fx.speeds[d.duration] : r.fx.speeds._default, d.old = d.complete, d.complete = function() {
        d.queue !== !1 && r(this).dequeue(), r.isFunction(d.old) && d.old.call(this)
      };
      return d
    },
    easing: {
      linear: function(a, b, c, d) {
        return c + d * a
      },
      swing: function(a, b, c, d) {
        return (-Math.cos(a * Math.PI) / 2 + .5) * d + c
      }
    },
    timers: [],
    fx: function(a, b, c) {
      this.options = b, this.elem = a, this.prop = c, b.orig || (b.orig = {})
    }
  }), r.fx.prototype = {
    update: function() {
      this.options.step && this.options.step.call(this.elem, this.now, this), (r.fx.step[this.prop] || r.fx.step._default)(this)
    },
    cur: function() {
      if (this.elem[this.prop] == null || !! this.elem.style && this.elem.style[this.prop] != null) {
        var a = parseFloat(r.css(this.elem, this.prop));
        return a && a > -1e4 ? a : 0
      }
      return this.elem[this.prop]
    },
    custom: function(a, b, c) {
      function d(a) {
        return e.step(a)
      }
      var e = this,
          f = r.fx;
      this.startTime = r.now(), this.start = a, this.end = b, this.unit = c || this.unit || "px", this.now = this.start, this.pos = this.state = 0, d.elem = this.elem, d() && r.timers.push(d) && !bG && (bG = setInterval(f.tick, f.interval))
    },
    show: function() {
      this.options.orig[this.prop] = r.style(this.elem, this.prop), this.options.show = !0, this.custom(this.prop === "width" || this.prop === "height" ? 1 : 0, this.cur()), r(this.elem).show()
    },
    hide: function() {
      this.options.orig[this.prop] = r.style(this.elem, this.prop), this.options.hide = !0, this.custom(this.cur(), 0)
    },
    step: function(a) {
      var b = r.now(),
          c = !0;
      if (a || b >= this.options.duration + this.startTime) {
        this.now = this.end, this.pos = this.state = 1, this.update(), this.options.curAnim[this.prop] = !0;
        for (var d in this.options.curAnim) this.options.curAnim[d] !== !0 && (c = !1);
        if (c) {
          if (this.options.overflow != null && !r.support.shrinkWrapBlocks) {
            var e = this.elem,
                f = this.options;
            r.each(["", "X", "Y"], function(a, b) {
              e.style["overflow" + b] = f.overflow[a]
            })
          }
          this.options.hide && r(this.elem).hide();
          if (this.options.hide || this.options.show) for (var g in this.options.curAnim) r.style(this.elem, g, this.options.orig[g]);
          this.options.complete.call(this.elem)
        }
        return !1
      }
      a = b - this.startTime, this.state = a / this.options.duration, b = this.options.easing || (r.easing.swing ? "swing" : "linear"), this.pos = r.easing[this.options.specialEasing && this.options.specialEasing[this.prop] || b](this.state, a, 0, 1, this.options.duration), this.now = this.start + (this.end - this.start) * this.pos, this.update();
      return !0
    }
  }, r.extend(r.fx, {
    tick: function() {
      for (var a = r.timers, b = 0; b < a.length; b++) a[b]() || a.splice(b--, 1);
      a.length || r.fx.stop()
    },
    interval: 13,
    stop: function() {
      clearInterval(bG), bG = null
    },
    speeds: {
      slow: 600,
      fast: 200,
      _default: 400
    },
    step: {
      opacity: function(a) {
        r.style(a.elem, "opacity", a.now)
      },
      _default: function(a) {
        a.elem.style && a.elem.style[a.prop] != null ? a.elem.style[a.prop] = (a.prop === "width" || a.prop === "height" ? Math.max(0, a.now) : a.now) + a.unit : a.elem[a.prop] = a.now
      }
    }
  }), r.expr && r.expr.filters && (r.expr.filters.animated = function(a) {
    return r.grep(r.timers, function(b) {
      return a === b.elem
    }).length
  });
  var bI = /^t(?:able|d|h)$/i,
      bJ = /^(?:body|html)$/i;
  r.fn.offset = "getBoundingClientRect" in q.documentElement ?
  function(a) {
    var b = this[0],
        c;
    if (a) return this.each(function(b) {
      r.offset.setOffset(this, a, b)
    });
    if (!b || !b.ownerDocument) return null;
    if (b === b.ownerDocument.body) return r.offset.bodyOffset(b);
    try {
      c = b.getBoundingClientRect()
    } catch (d) {}
    var e = b.ownerDocument,
        f = e.documentElement;
    if (!c || !r.contains(f, b)) return c || {
      top: 0,
      left: 0
    };
    b = e.body, e = p(e);
    return {
      top: c.top + (e.pageYOffset || r.support.boxModel && f.scrollTop || b.scrollTop) - (f.clientTop || b.clientTop || 0),
      left: c.left + (e.pageXOffset || r.support.boxModel && f.scrollLeft || b.scrollLeft) - (f.clientLeft || b.clientLeft || 0)
    }
  } : function(a) {
    var b = this[0];
    if (a) return this.each(function(b) {
      r.offset.setOffset(this, a, b)
    });
    if (!b || !b.ownerDocument) return null;
    if (b === b.ownerDocument.body) return r.offset.bodyOffset(b);
    r.offset.initialize();
    var c, d = b.offsetParent,
        e = b.ownerDocument,
        f = e.documentElement,
        g = e.body;
    c = (e = e.defaultView) ? e.getComputedStyle(b, null) : b.currentStyle;
    for (var h = b.offsetTop, i = b.offsetLeft;
    (b = b.parentNode) && b !== g && b !== f;) {
      if (r.offset.supportsFixedPosition && c.position === "fixed") break;
      c = e ? e.getComputedStyle(b, null) : b.currentStyle, h -= b.scrollTop, i -= b.scrollLeft, b === d && (h += b.offsetTop, i += b.offsetLeft, r.offset.doesNotAddBorder && (!r.offset.doesAddBorderForTableAndCells || !bI.test(b.nodeName)) && (h += parseFloat(c.borderTopWidth) || 0, i += parseFloat(c.borderLeftWidth) || 0), d = b.offsetParent), r.offset.subtractsBorderForOverflowNotVisible && c.overflow !== "visible" && (h += parseFloat(c.borderTopWidth) || 0, i += parseFloat(c.borderLeftWidth) || 0), c = c
    }
    if (c.position === "relative" || c.position === "static") h += g.offsetTop, i += g.offsetLeft;
    r.offset.supportsFixedPosition && c.position === "fixed" && (h += Math.max(f.scrollTop, g.scrollTop), i += Math.max(f.scrollLeft, g.scrollLeft));
    return {
      top: h,
      left: i
    }
  }, r.offset = {
    initialize: function() {
      var a = q.body,
          b = q.createElement("div"),
          c, d, e, f = parseFloat(r.css(a, "marginTop")) || 0;
      r.extend(b.style, {
        position: "absolute",
        top: 0,
        left: 0,
        margin: 0,
        border: 0,
        width: "1px",
        height: "1px",
        visibility: "hidden"
      }), b.innerHTML = "<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>", a.insertBefore(b, a.firstChild), c = b.firstChild, d = c.firstChild, e = c.nextSibling.firstChild.firstChild, this.doesNotAddBorder = d.offsetTop !== 5, this.doesAddBorderForTableAndCells = e.offsetTop === 5, d.style.position = "fixed", d.style.top = "20px", this.supportsFixedPosition = d.offsetTop === 20 || d.offsetTop === 15, d.style.position = d.style.top = "", c.style.overflow = "hidden", c.style.position = "relative", this.subtractsBorderForOverflowNotVisible = d.offsetTop === -5, this.doesNotIncludeMarginInBodyOffset = a.offsetTop !== f, a.removeChild(b), r.offset.initialize = r.noop
    },
    bodyOffset: function(a) {
      var b = a.offsetTop,
          c = a.offsetLeft;
      r.offset.initialize(), r.offset.doesNotIncludeMarginInBodyOffset && (b += parseFloat(r.css(a, "marginTop")) || 0, c += parseFloat(r.css(a, "marginLeft")) || 0);
      return {
        top: b,
        left: c
      }
    },
    setOffset: function(a, b, c) {
      var d = r.css(a, "position");
      d === "static" && (a.style.position = "relative");
      var e = r(a),
          f = e.offset(),
          g = r.css(a, "top"),
          h = r.css(a, "left"),
          i = d === "absolute" && r.inArray("auto", [g, h]) > -1;
      d = {};
      var j = {};
      i && (j = e.position()), g = i ? j.top : parseInt(g, 10) || 0, h = i ? j.left : parseInt(h, 10) || 0, r.isFunction(b) && (b = b.call(a, c, f)), b.top != null && (d.top = b.top - f.top + g), b.left != null && (d.left = b.left - f.left + h), "using" in b ? b.using.call(a, d) : e.css(d)
    }
  }, r.fn.extend({
    position: function() {
      if (!this[0]) return null;
      var a = this[0],
          b = this.offsetParent(),
          c = this.offset(),
          d = bJ.test(b[0].nodeName) ? {
          top: 0,
          left: 0
          } : b.offset();
      c.top -= parseFloat(r.css(a, "marginTop")) || 0, c.left -= parseFloat(r.css(a, "marginLeft")) || 0, d.top += parseFloat(r.css(b[0], "borderTopWidth")) || 0, d.left += parseFloat(r.css(b[0], "borderLeftWidth")) || 0;
      return {
        top: c.top - d.top,
        left: c.left - d.left
      }
    },
    offsetParent: function() {
      return this.map(function() {
        for (var a = this.offsetParent || q.body; a && !bJ.test(a.nodeName) && r.css(a, "position") === "static";) a = a.offsetParent;
        return a
      })
    }
  }), r.each(["Left", "Top"], function(a, c) {
    var d = "scroll" + c;
    r.fn[d] = function(c) {
      var e = this[0],
          f;
      return e ? c !== b ? this.each(function() {
        (f = p(this)) ? f.scrollTo(a ? r(f).scrollLeft() : c, a ? c : r(f).scrollTop()) : this[d] = c
      }) : (f = p(e)) ? "pageXOffset" in f ? f[a ? "pageYOffset" : "pageXOffset"] : r.support.boxModel && f.document.documentElement[d] || f.document.body[d] : e[d] : null
    }
  }), r.each(["Height", "Width"], function(a, c) {
    var d = c.toLowerCase();
    r.fn["inner" + c] = function() {
      return this[0] ? parseFloat(r.css(this[0], d, "padding")) : null
    }, r.fn["outer" + c] = function(a) {
      return this[0] ? parseFloat(r.css(this[0], d, a ? "margin" : "border")) : null
    }, r.fn[d] = function(a) {
      var e = this[0];
      if (!e) return a == null ? null : this;
      if (r.isFunction(a)) return this.each(function(b) {
        var c = r(this);
        c[d](a.call(this, b, c[d]()))
      });
      if (r.isWindow(e)) return e.document.compatMode === "CSS1Compat" && e.document.documentElement["client" + c] || e.document.body["client" + c];
      if (e.nodeType === 9) return Math.max(e.documentElement["client" + c], e.body["scroll" + c], e.documentElement["scroll" + c], e.body["offset" + c], e.documentElement["offset" + c]);
      if (a === b) {
        e = r.css(e, d);
        var f = parseFloat(e);
        return r.isNaN(f) ? e : f
      }
      return this.css(d, typeof a == "string" ? a : a + "px")
    }
  })
})(window), function(a) {
  function d(a, b, d) {
    var e = a[0].parentNode,
        f = e.cycleTimeout;
    f && (clearTimeout(f), e.cycleTimeout = 0), b.nextSlide = b.currSlide + d, b.nextSlide < 0 ? b.nextSlide = a.length - 1 : b.nextSlide >= a.length && (b.nextSlide = 0), c(a, b, 1, d >= 0);
    return !1
  }
  function c(b, d, e, f) {
    if (!d.busy) {
      var g = b[0].parentNode,
          h = b[d.currSlide],
          i = b[d.nextSlide];
      if (g.cycleTimeout === 0 && !e) return;
      if (e || !g.cyclePause) {
        d.before.length && a.each(d.before, function(a, b) {
          b.apply(i, [h, i, d, f])
        });
        var j = function() {
          a.browser.msie && this.style.removeAttribute("filter"), a.each(d.after, function(a, b) {
            b.apply(i, [h, i, d, f])
          })
        };
        d.nextSlide != d.currSlide && (d.busy = 1, a.fn.cycle.custom(h, i, d, j));
        var k = d.nextSlide + 1 == b.length;
        d.nextSlide = k ? 0 : d.nextSlide + 1, d.currSlide = k ? b.length - 1 : d.nextSlide - 1
      }
      d.timeout && (g.cycleTimeout = setTimeout(function() {
        c(b, d, 0, !d.rev)
      }, d.timeout))
    }
  }
  var b = "Lite-1.3";
  a.fn.cycle = function(b) {
    return this.each(function() {
      b = b || {}, this.cycleTimeout && clearTimeout(this.cycleTimeout), this.cycleTimeout = 0, this.cyclePause = 0;
      var e = a(this),
          f = b.slideExpr ? a(b.slideExpr, this) : e.children(),
          g = f.get();
      if (g.length < 2) window.console && console.log("terminating; too few slides: " + g.length);
      else {
        var h = a.extend({}, a.fn.cycle.defaults, b || {}, a.metadata ? e.metadata() : a.meta ? e.data() : {}),
            i = a.isFunction(e.data) ? e.data(h.metaAttr) : null;
        i && (h = a.extend(h, i)), h.before = h.before ? [h.before] : [], h.after = h.after ? [h.after] : [], h.after.unshift(function() {
          h.busy = 0
        });
        var j = this.className;
        h.width = parseInt((j.match(/w:(\d+)/) || [])[1]) || h.width, h.height = parseInt((j.match(/h:(\d+)/) || [])[1]) || h.height, h.timeout = parseInt((j.match(/t:(\d+)/) || [])[1]) || h.timeout, e.css("position") == "static" && e.css("position", "relative"), h.width && e.width(h.width), h.height && h.height != "auto" && e.height(h.height);
        var k = 0;
        f.css({
          position: "absolute",
          top: 0,
          left: 0
        }).each(function(b) {
          a(this).css("z-index", g.length - b)
        }), a(g[k]).css("opacity", 1).show(), a.browser.msie && g[k].style.removeAttribute("filter"), h.fit && h.width && f.width(h.width), h.fit && h.height && h.height != "auto" && f.height(h.height), h.pause && e.hover(function() {
          this.cyclePause = 1
        }, function() {
          this.cyclePause = 0
        });
        var l = a.fn.cycle.transitions[h.fx];
        l && l(e, f, h), f.each(function() {
          var b = a(this);
          this.cycleH = h.fit && h.height ? h.height : b.height(), this.cycleW = h.fit && h.width ? h.width : b.width()
        }), h.cssFirst && a(f[k]).css(h.cssFirst);
        if (h.timeout) {
          h.speed.constructor == String && (h.speed = {
            slow: 600,
            fast: 200
          }[h.speed] || 400), h.sync || (h.speed = h.speed / 2);
          while (h.timeout - h.speed < 250) h.timeout += h.speed
        }
        h.speedIn = h.speed, h.speedOut = h.speed, h.slideCount = g.length, h.currSlide = k, h.nextSlide = 1;
        var m = f[k];
        h.before.length && h.before[0].apply(m, [m, m, h, !0]), h.after.length > 1 && h.after[1].apply(m, [m, m, h, !0]), h.click && !h.next && (h.next = h.click), h.next && a(h.next).bind("click", function() {
          return d(g, h, h.rev ? -1 : 1)
        }), h.prev && a(h.prev).bind("click", function() {
          return d(g, h, h.rev ? 1 : -1)
        }), h.timeout && (this.cycleTimeout = setTimeout(function() {
          c(g, h, 0, !h.rev)
        }, h.timeout + (h.delay || 0)))
      }
    })
  }, a.fn.cycle.custom = function(b, c, d, e) {
    var f = a(b),
        g = a(c);
    g.css(d.cssBefore);
    var h = function() {
      g.animate(d.animIn, d.speedIn, d.easeIn, e)
    };
    f.animate(d.animOut, d.speedOut, d.easeOut, function() {
      f.css(d.cssAfter), d.sync || h()
    }), d.sync && h()
  }, a.fn.cycle.transitions = {
    fade: function(a, b, c) {
      b.not(":eq(0)").hide(), c.cssBefore = {
        opacity: 0,
        display: "block"
      }, c.cssAfter = {
        display: "none"
      }, c.animOut = {
        opacity: 0
      }, c.animIn = {
        opacity: 1
      }
    },
    fadeout: function(b, c, d) {
      d.before.push(function(b, c, d, e) {
        a(b).css("zIndex", d.slideCount + (e === !0 ? 1 : 0)), a(c).css("zIndex", d.slideCount + (e === !0 ? 0 : 1))
      }), c.not(":eq(0)").hide(), d.cssBefore = {
        opacity: 1,
        display: "block",
        zIndex: 1
      }, d.cssAfter = {
        display: "none",
        zIndex: 0
      }, d.animOut = {
        opacity: 0
      }
    }
  }, a.fn.cycle.ver = function() {
    return b
  }, a.fn.cycle.defaults = {
    animIn: {},
    animOut: {},
    fx: "fade",
    after: null,
    before: null,
    cssBefore: {},
    cssAfter: {},
    delay: 0,
    fit: 0,
    height: "auto",
    metaAttr: "cycle",
    next: null,
    pause: 0,
    prev: null,
    speed: 1e3,
    slideExpr: null,
    sync: 1,
    timeout: 4e3
  }
}(jQuery), function(a) {
  var b = [];
  a.preLoadImages = function(a) {
    var c = a.length;
    for (var d = c; d--;) {
      var e = document.createElement("img");
      e.src = a[d], b.push(e)
    }
  }
}(jQuery);
var imgs = [];
$(document).ready(function() {
  $(".slideshow").cycle(), $(".gallery img").each(function() {
    imgs.push($(this).attr("ref"));
  }).mouseover(function(a) {
    $("#content").css({
      height: "406px"
    }), a.preventDefault(), a.stopPropagation(), src = $(this).attr("ref"), $("#content").html("<center><img src='" + src + "'/></center>"), $(".gallery img.active").removeClass("active"), $(this).addClass("active")
  }), setTimeout(function() {
    jQuery.preLoadImages(imgs)
  }, 2)
})
