var check_lib = true;
var Errors = {getHTTPObject:function() {
  var http = null;
  if (typeof ActiveXObject != "undefined") {
    try {
      http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        http = false;
      }
    }
  } else {
    if (window.XMLHttpRequest) {
      try {
        http = new XMLHttpRequest;
      } catch (e) {
        http = null;
      }
    }
  }
  return http;
}, load:function(srcUrl, callback, method) {
  var http = this.getHTTPObject();
  if (!http || !srcUrl) {
    return;
  }
  var url = srcUrl;
  url += url.indexOf("?") + 1 ? "&" : "?";
  url += "uid=" + (new Date).getTime();
  var parameters = null;
  if (method == "POST") {
    var parts = url.split("?");
    url = parts[0];
    parameters = parts[1];
  }
  http.open(method, url, true);
  if (method == "POST") {
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");
  }
  http.onreadystatechange = function() {
    if (http.readyState == 4) {
      if (http.status == 200) {
        var result = "";
        if (http.responseText) {
          result = http.responseText;
        }
        if (callback) {
          callback(result);
        }
      }
    }
  };
  http.send(parameters);
}, handler:function(msg, url, line) {
  var error = '<b style="color:#ff0066">JavaScript Error</b>\n<br/>\n' + "Message: " + msg + "\n<br>\n" + "Url: " + url + "\n<br>\n" + "Line: " + line + "\n<br>\n";
  var error_alert = "JavaScript Error\n" + "Message: " + msg + "\n\n" + "Url: " + url + "\n\n" + "Line: " + line + "\n\n";
  if (navigator && navigator.userAgent) {
    error = error + "userAgent: " + navigator.userAgent;
  }
  var dialog = document.createElement("div");
  dialog.className = "errordialog";
  dialog.innerHTML = error;
  if (document && (document.body && document.body.appendChild)) {
    document.body.appendChild(dialog);
  } else {
    alert(error_alert);
  }
  Errors.post_error({msg:msg, url:url, line:line, userAgent:navigator.userAgent});
  return true;
}, post_error:function(params) {
  var url = "handlers/clientError.axd?";
  for (var i in params) {
    if (params.hasOwnProperty(i)) {
      url += i + "=" + encodeURI(params[i]) + "&";
    }
  }
  this.load(url, null, "POST");
}};
(function() {
  this.MooTools = {version:"1.4.5", build:"ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0"};
  var typeOf = this.typeOf = function(item) {
    if (item == null) {
      return "null";
    }
    if (item.$family != null) {
      return item.$family();
    }
    if (item.nodeName) {
      if (item.nodeType == 1) {
        return "element";
      }
      if (item.nodeType == 3) {
        return/\S/.test(item.nodeValue) ? "textnode" : "whitespace";
      }
    } else {
      if (typeof item.length == "number") {
        if (item.callee) {
          return "arguments";
        }
        if ("item" in item) {
          return "collection";
        }
      }
    }
    return typeof item;
  };
  var instanceOf = this.instanceOf = function(item, object) {
    if (item == null) {
      return false;
    }
    var constructor = item.$constructor || item.constructor;
    while (constructor) {
      if (constructor === object) {
        return true;
      }
      constructor = constructor.parent;
    }
    if (!item.hasOwnProperty) {
      return false;
    }
    return item instanceof object;
  };
  var Function = this.Function;
  var enumerables = true;
  for (var i in{toString:1}) {
    enumerables = null;
  }
  if (enumerables) {
    enumerables = ["hasOwnProperty", "valueOf", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "constructor"];
  }
  Function.prototype.overloadSetter = function(usePlural) {
    var self = this;
    return function(a, b) {
      if (a == null) {
        return this;
      }
      if (usePlural || typeof a != "string") {
        for (var k in a) {
          self.call(this, k, a[k]);
        }
        if (enumerables) {
          for (var i = enumerables.length;i--;) {
            k = enumerables[i];
            if (a.hasOwnProperty(k)) {
              self.call(this, k, a[k]);
            }
          }
        }
      } else {
        self.call(this, a, b);
      }
      return this;
    };
  };
  Function.prototype.overloadGetter = function(usePlural) {
    var self = this;
    return function(a) {
      var args, result;
      if (typeof a != "string") {
        args = a;
      } else {
        if (arguments.length > 1) {
          args = arguments;
        } else {
          if (usePlural) {
            args = [a];
          }
        }
      }
      if (args) {
        result = {};
        for (var i = 0;i < args.length;i++) {
          result[args[i]] = self.call(this, args[i]);
        }
      } else {
        result = self.call(this, a);
      }
      return result;
    };
  };
  Function.prototype.extend = function(key, value) {
    this[key] = value;
  }.overloadSetter();
  Function.prototype.implement = function(key, value) {
    this.prototype[key] = value;
  }.overloadSetter();
  var slice = Array.prototype.slice;
  Function.from = function(item) {
    return typeOf(item) == "function" ? item : function() {
      return item;
    };
  };
  Array.from = function(item) {
    if (item == null) {
      return[];
    }
    return mooType.isEnumerable(item) && typeof item != "string" ? typeOf(item) == "array" ? item : slice.call(item) : [item];
  };
  Number.from = function(item) {
    var number = parseFloat(item);
    return isFinite(number) ? number : null;
  };
  String.from = function(item) {
    return item + "";
  };
  Function.implement({mHide:function() {
    this.$hidden = true;
    return this;
  }, protect:function() {
    this.$protected = true;
    return this;
  }});
  var mooType = this.mooType = this.mooType = function(name, object) {
    if (name) {
      var lower = name.toLowerCase();
      var typeCheck = function(item) {
        return typeOf(item) == lower;
      };
      mooType["is" + name] = typeCheck;
      if (object != null) {
        object.prototype.$family = function() {
          return lower;
        }.mHide();
      }
    }
    if (object == null) {
      return null;
    }
    object.extend(this);
    object.$constructor = mooType;
    object.prototype.$constructor = object;
    return object;
  };
  var toString = Object.prototype.toString;
  mooType.isEnumerable = function(item) {
    return item != null && (typeof item.length == "number" && toString.call(item) != "[object Function]");
  };
  var hooks = {};
  var hooksOf = function(object) {
    var type = typeOf(object.prototype);
    return hooks[type] || (hooks[type] = []);
  };
  var implement = function(name, method) {
    if (method && method.$hidden) {
      return;
    }
    var hooks = hooksOf(this);
    for (var i = 0;i < hooks.length;i++) {
      var hook = hooks[i];
      if (typeOf(hook) == "type") {
        implement.call(hook, name, method);
      } else {
        hook.call(this, name, method);
      }
    }
    var previous = this.prototype[name];
    if (previous == null || !previous.$protected) {
      this.prototype[name] = method;
    }
    if (this[name] == null && typeOf(method) == "function") {
      extend.call(this, name, function(item) {
        return method.apply(item, slice.call(arguments, 1));
      });
    }
  };
  var extend = function(name, method) {
    if (method && method.$hidden) {
      return;
    }
    var previous = this[name];
    if (previous == null || !previous.$protected) {
      this[name] = method;
    }
  };
  mooType.implement({implement:implement.overloadSetter(), extend:extend.overloadSetter(), alias:function(name, existing) {
    implement.call(this, name, this.prototype[existing]);
  }.overloadSetter(), mirror:function(hook) {
    hooksOf(this).push(hook);
    return this;
  }});
  new mooType("mooType", mooType);
  var force = function(name, object, methods) {
    var isType = object != Object, prototype = object.prototype;
    if (isType) {
      object = new mooType(name, object);
    }
    for (var i = 0, l = methods.length;i < l;i++) {
      var key = methods[i], generic = object[key], proto = prototype[key];
      if (generic) {
        generic.protect();
      }
      if (isType && proto) {
        object.implement(key, proto.protect());
      }
    }
    if (isType) {
      var methodsEnumerable = prototype.propertyIsEnumerable(methods[0]);
      object.forEachMethod = function(fn) {
        if (!methodsEnumerable) {
          for (var i = 0, l = methods.length;i < l;i++) {
            fn.call(prototype, prototype[methods[i]], methods[i]);
          }
        }
        for (var key in prototype) {
          fn.call(prototype, prototype[key], key);
        }
      };
    }
    return force;
  };
  force("String", String, ["charAt", "charCodeAt", "concat", "indexOf", "lastIndexOf", "match", "quote", "replace", "search", "slice", "split", "substr", "substring", "trim", "toLowerCase", "toUpperCase"])("Array", Array, ["pop", "push", "reverse", "shift", "sort", "splice", "unshift", "concat", "join", "slice", "indexOf", "lastIndexOf", "filter", "forEach", "every", "map", "some", "reduce", "reduceRight"])("Number", Number, ["toExponential", "toFixed", "toLocaleString", "toPrecision"])("Function", 
  Function, ["apply", "call", "bind"])("RegExp", RegExp, ["exec", "test"])("Object", Object, ["create", "defineProperty", "defineProperties", "keys", "getPrototypeOf", "getOwnPropertyDescriptor", "getOwnPropertyNames", "preventExtensions", "isExtensible", "seal", "isSealed", "freeze", "isFrozen"])("Date", Date, ["now"]);
  Object.extend = extend.overloadSetter();
  Date.extend("now", function() {
    return+new Date;
  });
  new mooType("Boolean", Boolean);
  Number.prototype.$family = function() {
    return isFinite(this) ? "number" : "null";
  }.mHide();
  Number.extend("random", function(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  });
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  Object.extend("forEach", function(object, fn, bind) {
    for (var key in object) {
      if (hasOwnProperty.call(object, key)) {
        fn.call(bind, object[key], key, object);
      }
    }
  });
  Object.each = Object.forEach;
  Array.implement({forEach:function(fn, bind) {
    for (var i = 0, l = this.length;i < l;i++) {
      if (i in this) {
        fn.call(bind, this[i], i, this);
      }
    }
  }, each:function(fn, bind) {
    Array.forEach(this, fn, bind);
    return this;
  }});
  var cloneOf = function(item) {
    switch(typeOf(item)) {
      case "array":
        return item.clone();
      case "object":
        return Object.clone(item);
      default:
        return item;
    }
  };
  Array.implement("clone", function() {
    var i = this.length, clone = new Array(i);
    while (i--) {
      clone[i] = cloneOf(this[i]);
    }
    return clone;
  });
  var mergeOne = function(source, key, current) {
    switch(typeOf(current)) {
      case "object":
        if (typeOf(source[key]) == "object") {
          Object.merge(source[key], current);
        } else {
          source[key] = Object.clone(current);
        }
        break;
      case "array":
        source[key] = current.clone();
        break;
      default:
        source[key] = current;
    }
    return source;
  };
  Object.extend({merge:function(source, k, v) {
    if (typeOf(k) == "string") {
      return mergeOne(source, k, v);
    }
    for (var i = 1, l = arguments.length;i < l;i++) {
      var object = arguments[i];
      for (var key in object) {
        mergeOne(source, key, object[key]);
      }
    }
    return source;
  }, clone:function(object) {
    var clone = {};
    for (var key in object) {
      clone[key] = cloneOf(object[key]);
    }
    return clone;
  }, append:function(original) {
    for (var i = 1, l = arguments.length;i < l;i++) {
      var extended = arguments[i] || {};
      for (var key in extended) {
        original[key] = extended[key];
      }
    }
    return original;
  }});
  ["Object", "WhiteSpace", "TextNode", "Collection", "Arguments"].each(function(name) {
    new mooType(name);
  });
  var UID = Date.now();
  String.extend("uniqueID", function() {
    return(UID++).toString(36);
  });
})();
Array.implement({every:function(fn, bind) {
  for (var i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this && !fn.call(bind, this[i], i, this)) {
      return false;
    }
  }
  return true;
}, filter:function(fn, bind) {
  var results = [];
  for (var value, i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this) {
      value = this[i];
      if (fn.call(bind, value, i, this)) {
        results.push(value);
      }
    }
  }
  return results;
}, indexOf:function(item, from) {
  var length = this.length >>> 0;
  for (var i = from < 0 ? Math.max(0, length + from) : from || 0;i < length;i++) {
    if (this[i] === item) {
      return i;
    }
  }
  return-1;
}, map:function(fn, bind) {
  var length = this.length >>> 0, results = Array(length);
  for (var i = 0;i < length;i++) {
    if (i in this) {
      results[i] = fn.call(bind, this[i], i, this);
    }
  }
  return results;
}, some:function(fn, bind) {
  for (var i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this && fn.call(bind, this[i], i, this)) {
      return true;
    }
  }
  return false;
}, clean:function() {
  return this.filter(function(item) {
    return item != null;
  });
}, invoke:function(methodName) {
  var args = Array.slice(arguments, 1);
  return this.map(function(item) {
    return item[methodName].apply(item, args);
  });
}, associate:function(keys) {
  var obj = {}, length = Math.min(this.length, keys.length);
  for (var i = 0;i < length;i++) {
    obj[keys[i]] = this[i];
  }
  return obj;
}, link:function(object) {
  var result = {};
  for (var i = 0, l = this.length;i < l;i++) {
    for (var key in object) {
      if (object[key](this[i])) {
        result[key] = this[i];
        delete object[key];
        break;
      }
    }
  }
  return result;
}, contains:function(item, from) {
  return this.indexOf(item, from) != -1;
}, append:function(array) {
  this.push.apply(this, array);
  return this;
}, getLast:function() {
  return this.length ? this[this.length - 1] : null;
}, getRandom:function() {
  return this.length ? this[Number.random(0, this.length - 1)] : null;
}, include:function(item) {
  if (!this.contains(item)) {
    this.push(item);
  }
  return this;
}, combine:function(array) {
  for (var i = 0, l = array.length;i < l;i++) {
    this.include(array[i]);
  }
  return this;
}, erase:function(item) {
  for (var i = this.length;i--;) {
    if (this[i] === item) {
      this.splice(i, 1);
    }
  }
  return this;
}, empty:function() {
  this.length = 0;
  return this;
}, flatten:function() {
  var array = [];
  for (var i = 0, l = this.length;i < l;i++) {
    var type = typeOf(this[i]);
    if (type == "null") {
      continue;
    }
    array = array.concat(type == "array" || (type == "collection" || (type == "arguments" || instanceOf(this[i], Array))) ? Array.flatten(this[i]) : this[i]);
  }
  return array;
}, pick:function() {
  for (var i = 0, l = this.length;i < l;i++) {
    if (this[i] != null) {
      return this[i];
    }
  }
  return null;
}, hexToRgb:function(array) {
  if (this.length != 3) {
    return null;
  }
  var rgb = this.map(function(value) {
    if (value.length == 1) {
      value += value;
    }
    return value.toInt(16);
  });
  return array ? rgb : "rgb(" + rgb + ")";
}, rgbToHex:function(array) {
  if (this.length < 3) {
    return null;
  }
  if (this.length == 4 && (this[3] == 0 && !array)) {
    return "transparent";
  }
  var hex = [];
  for (var i = 0;i < 3;i++) {
    var bit = (this[i] - 0).toString(16);
    hex.push(bit.length == 1 ? "0" + bit : bit);
  }
  return array ? hex : "#" + hex.join("");
}});
String.implement({test:function(regex, params) {
  return(typeOf(regex) == "regexp" ? regex : new RegExp("" + regex, params)).test(this);
}, contains:function(string, separator) {
  return separator ? (separator + this + separator).indexOf(separator + string + separator) > -1 : String(this).indexOf(string) > -1;
}, trim:function() {
  return String(this).replace(/^\s+|\s+$/g, "");
}, clean:function() {
  return String(this).replace(/\s+/g, " ").trim();
}, camelCase:function() {
  return String(this).replace(/-\D/g, function(match) {
    return match.charAt(1).toUpperCase();
  });
}, hyphenate:function() {
  return String(this).replace(/[A-Z]/g, function(match) {
    return "-" + match.charAt(0).toLowerCase();
  });
}, capitalize:function() {
  return String(this).replace(/\b[a-z]/g, function(match) {
    return match.toUpperCase();
  });
}, escapeRegExp:function() {
  return String(this).replace(/([-.*+?^${}()|[\]\/\\])/g, "\\$1");
}, toInt:function(base) {
  return parseInt(this, base || 10);
}, toFloat:function() {
  return parseFloat(this);
}, hexToRgb:function(array) {
  var hex = String(this).match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
  return hex ? hex.slice(1).hexToRgb(array) : null;
}, rgbToHex:function(array) {
  var rgb = String(this).match(/\d{1,3}/g);
  return rgb ? rgb.rgbToHex(array) : null;
}, substitute:function(object, regexp) {
  return String(this).replace(regexp || /\\?\{([^{}]+)\}/g, function(match, name) {
    if (match.charAt(0) == "\\") {
      return match.slice(1);
    }
    return object[name] != null ? object[name] : "";
  });
}});
Function.extend({attempt:function() {
  for (var i = 0, l = arguments.length;i < l;i++) {
    try {
      return arguments[i]();
    } catch (e) {
    }
  }
  return null;
}});
Function.implement({attempt:function(args, bind) {
  try {
    return this.apply(bind, Array.from(args));
  } catch (e) {
  }
  return null;
}, bind:function(that) {
  var self = this, args = arguments.length > 1 ? Array.slice(arguments, 1) : null, F = function() {
  };
  var bound = function() {
    var context = that, length = arguments.length;
    if (this instanceof bound) {
      F.prototype = self.prototype;
      context = new F;
    }
    var result = !args && !length ? self.call(context) : self.apply(context, args && length ? args.concat(Array.slice(arguments)) : args || arguments);
    return context == that ? result : context;
  };
  return bound;
}, pass:function(args, bind) {
  var self = this;
  if (args != null) {
    args = Array.from(args);
  }
  return function() {
    return self.apply(bind, args || arguments);
  };
}, delay:function(delay, bind, args) {
  return setTimeout(this.pass(args == null ? [] : args, bind), delay);
}, periodical:function(periodical, bind, args) {
  return setInterval(this.pass(args == null ? [] : args, bind), periodical);
}});
Number.implement({limit:function(min, max) {
  return Math.min(max, Math.max(min, this));
}, round:function(precision) {
  precision = Math.pow(10, precision || 0).toFixed(precision < 0 ? -precision : 0);
  return Math.round(this * precision) / precision;
}, times:function(fn, bind) {
  for (var i = 0;i < this;i++) {
    fn.call(bind, i, this);
  }
}, toFloat:function() {
  return parseFloat(this);
}, toInt:function(base) {
  return parseInt(this, base || 10);
}});
Number.alias("each", "times");
(function(math) {
  var methods = {};
  math.each(function(name) {
    if (!Number[name]) {
      methods[name] = function() {
        return Math[name].apply(null, [this].concat(Array.from(arguments)));
      };
    }
  });
  Number.implement(methods);
})(["abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", "floor", "log", "max", "min", "pow", "sin", "sqrt", "tan"]);
(function() {
  var Class = this.Class = new mooType("Class", function(params) {
    if (instanceOf(params, Function)) {
      params = {initialize:params};
    }
    var newClass = function() {
      reset(this);
      if (newClass.$prototyping) {
        return this;
      }
      this.$caller = null;
      var value = this.initialize ? this.initialize.apply(this, arguments) : this;
      this.$caller = this.caller = null;
      return value;
    }.extend(this).implement(params);
    newClass.$constructor = Class;
    newClass.prototype.$constructor = newClass;
    newClass.prototype.parent = parent;
    return newClass;
  });
  var parent = function() {
    if (!this.$caller) {
      throw new Error('The method "parent" cannot be called.');
    }
    var name = this.$caller.$name, parent = this.$caller.$owner.parent, previous = parent ? parent.prototype[name] : null;
    if (!previous) {
      throw new Error('The method "' + name + '" has no parent.');
    }
    return previous.apply(this, arguments);
  };
  var reset = function(object) {
    for (var key in object) {
      var value = object[key];
      switch(typeOf(value)) {
        case "object":
          var F = function() {
          };
          F.prototype = value;
          object[key] = reset(new F);
          break;
        case "array":
          object[key] = value.clone();
          break;
      }
    }
    return object;
  };
  var wrap = function(self, key, method) {
    if (method.$origin) {
      method = method.$origin;
    }
    var wrapper = function() {
      if (method.$protected && this.$caller == null) {
        throw new Error('The method "' + key + '" cannot be called.');
      }
      var caller = this.caller, current = this.$caller;
      this.caller = current;
      this.$caller = wrapper;
      var result = method.apply(this, arguments);
      this.$caller = current;
      this.caller = caller;
      return result;
    }.extend({$owner:self, $origin:method, $name:key});
    return wrapper;
  };
  var implement = function(key, value, retain) {
    if (Class.Mutators.hasOwnProperty(key)) {
      value = Class.Mutators[key].call(this, value);
      if (value == null) {
        return this;
      }
    }
    if (typeOf(value) == "function") {
      if (value.$hidden) {
        return this;
      }
      this.prototype[key] = retain ? value : wrap(this, key, value);
    } else {
      Object.merge(this.prototype, key, value);
    }
    return this;
  };
  var getInstance = function(klass) {
    klass.$prototyping = true;
    var proto = new klass;
    delete klass.$prototyping;
    return proto;
  };
  Class.implement("implement", implement.overloadSetter());
  Class.Mutators = {Extends:function(parent) {
    this.parent = parent;
    this.prototype = getInstance(parent);
  }, Implements:function(items) {
    Array.from(items).each(function(item) {
      var instance = new item;
      for (var key in instance) {
        implement.call(this, key, instance[key], true);
      }
    }, this);
  }};
})();
(function($) {
  $.support.touch = "ontouchend" in document;
  if (!$.support.touch) {
    return;
  }
  var mouseProto = $.ui.mouse.prototype;
  var _mouseInit = mouseProto._mouseInit;
  var touchHandled;
  function simulateMouseEvent(event, simulatedType) {
    if (event.originalEvent.touches.length > 1) {
      return;
    }
    event.preventDefault();
    var t = event.originalEvent.changedTouches[0];
    var simulatedEvent = document.createEvent("MouseEvents");
    simulatedEvent.initMouseEvent(simulatedType, true, true, window, 1, t.screenX, t.screenY, t.clientX, t.clientY, false, false, false, false, 0, null);
    event.target.dispatchEvent(simulatedEvent);
  }
  mouseProto._touchStart = function(event) {
    var me = this;
    if (touchHandled || !me._mouseCapture(event.originalEvent.changedTouches[0])) {
      return;
    }
    touchHandled = true;
    me._touchMoved = false;
    simulateMouseEvent(event, "mouseover");
    simulateMouseEvent(event, "mousemove");
    simulateMouseEvent(event, "mousedown");
  };
  mouseProto._touchMove = function(event) {
    if (!touchHandled) {
      return;
    }
    this._touchMoved = true;
    simulateMouseEvent(event, "mousemove");
  };
  mouseProto._touchEnd = function(event) {
    if (!touchHandled) {
      return;
    }
    simulateMouseEvent(event, "mouseup");
    simulateMouseEvent(event, "mouseout");
    if (!this._touchMoved) {
      simulateMouseEvent(event, "click");
    }
    touchHandled = false;
  };
  mouseProto._mouseInit = function() {
    var me = this;
    me.element.bind("touchstart", $.proxy(me, "_touchStart")).bind("touchmove", $.proxy(me, "_touchMove")).bind("touchend", $.proxy(me, "_touchEnd"));
    _mouseInit.call(me);
  };
})(jQuery);
var _global_timer_ = null;
(function($) {
  $.fn.longClickContextMenu = function() {
    $(this).longclick(function(e) {
      var t = e.currentTarget;
      var o = $(e.currentTarget).offset();
      if (e.pageX - o.left > t.clientWidth) {
        return;
      }
      var element = $(e.target);
      element.contextMenu({x:e.clientX, y:e.clientY});
    });
  };
  var $_fn_click = $.fn.click;
  $.fn.click = function click(duration, handler) {
    if (!handler) {
      return $_fn_click.apply(this, arguments);
    }
    return $(this).bind(type, handler);
  };
  $.fn.longclick = function longclick() {
    var args = [].splice.call(arguments, 0), handler = args.pop(), duration = args.pop(), $this = $(this);
    return handler ? $this.click(duration, handler) : $this.trigger(type);
  };
  $.longclick = {duration:1E3};
  $.event.special.longclick = {setup:function(data, namespaces) {
    if (!/iphone|ipad|ipod/i.test(navigator.userAgent)) {
      $(this).bind(_mousedown_, schedule).bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(" "), annul).bind(_click_, click);
    } else {
      touch_enabled(this).bind(_touchstart_, schedule).bind([_touchend_, _touchmove_, _touchcancel_].join(" "), annul).bind(_click_, click).css({WebkitUserSelect:"none"});
    }
  }, teardown:function(namespaces) {
    $(this).unbind(namespace);
  }};
  function touch_enabled(element) {
    $.each("touchstart touchmove touchend touchcancel".split(/ /), function bind(ix, it) {
      element.addEventListener(it, function trigger_jquery_event(event) {
        $(element).trigger(it);
      }, false);
    });
    return $(element);
  }
  function schedule(event) {
    if (_global_timer_) {
      return;
    }
    var element = this;
    var args = arguments;
    $(this).data(_fired_, false);
    _global_timer_ = setTimeout(scheduled, $.longclick.duration);
    function scheduled() {
      $(element).data(_fired_, true);
      event.type = type;
      jQuery.event.dispatch.apply(element, args);
    }
  }
  function annul(event) {
    if (_global_timer_) {
      clearTimeout(_global_timer_);
      _global_timer_ = null;
    }
  }
  function click(event) {
    if ($(this).data(_fired_)) {
      return event.stopImmediatePropagation() || false;
    }
  }
  var type = "longclick";
  var namespace = "." + type;
  var _mousedown_ = "mousedown" + namespace;
  var _click_ = "click" + namespace;
  var _mousemove_ = "mousemove" + namespace;
  var _mouseup_ = "mouseup" + namespace;
  var _mouseout_ = "mouseout" + namespace;
  var _contextmenu_ = "contextmenu" + namespace;
  var _touchstart_ = "touchstart" + namespace;
  var _touchend_ = "touchend" + namespace;
  var _touchmove_ = "touchmove" + namespace;
  var _touchcancel_ = "touchcancel" + namespace;
  var _duration_ = "duration" + namespace;
  var _timer_ = "timer" + namespace;
  var _fired_ = "fired" + namespace;
})(jQuery);
(function($) {
  $.fn.paginate = function(options) {
    var opts = $.extend({}, $.fn.paginate.defaults, options);
    return this.each(function() {
      $this = $(this);
      var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
      var selectedpage = o.start;
      $.fn.draw(o, $this, selectedpage);
    });
  };
  var outsidewidth_tmp = 0;
  var insidewidth = 0;
  var bName = navigator.appName;
  var bVer = navigator.appVersion;
  if (bVer.indexOf("MSIE 7.0") > 0) {
    var ver = "ie7"
  }
  $.fn.paginate.defaults = {count:5, start:12, display:5, border:true, border_color:"#fff", text_color:"#8cc59d", background_color:"black", border_hover_color:"#fff", text_hover_color:"#fff", background_hover_color:"#fff", rotate:true, images:true, mouse:"slide", onChange:function() {
    return false;
  }};
  $.fn.draw = function(o, obj, selectedpage) {
    if (o.display > o.count) {
      o.display = o.count;
    }
    $this.empty();
    if (o.images) {
      var spreviousclass = "jPag-sprevious-img";
      var previousclass = "jPag-previous-img";
      var snextclass = "jPag-snext-img";
      var nextclass = "jPag-next-img";
    } else {
      var spreviousclass = "jPag-sprevious";
      var previousclass = "jPag-previous";
      var snextclass = "jPag-snext";
      var nextclass = "jPag-next";
    }
    if (o.rotate) {
      var _rotleft = $("<div>&lt;</div>").button({icons:{primary:"ui-icon-carat-1-w"}, text:false})
    }
    $this.html('<div id="wrapper1">' + '<div id="wrapper2">' + '<div id="maincol">' + '<div id="leftcol"></div>' + '<div id="rightcol"></div>' + '<div id="centercol"></div>' + "</div>" + "</div>" + "</div>");
    var _divwrapleft = $("#leftcol").addClass("jPag-control-back");
    _divwrapleft.append(_rotleft);
    var _ulwrapdiv = $('<table cellpadding="0" cellspacing="0">').css("overflow", "hidden");
    var _ul = $("<tr>").addClass("jPag-pages");
    var c = (o.display - 1) / 2;
    var first = selectedpage - c;
    var selobj;
    for (var i = 0;i < o.count;i++) {
      var val = i + 1;
      if (val == selectedpage) {
        var _obj = $('<td class="li">').html('<span class="jPag-current">' + val + "</span>");
        selobj = _obj;
        _ul.append(_obj);
      } else {
        var _obj = $('<td class="li">').html("<a>" + val + "</a>");
        _ul.append(_obj);
      }
    }
    _ulwrapdiv.append(_ul);
    if (o.rotate) {
      var _rotright = $("<div>&gt;</div>").button({icons:{primary:"ui-icon-carat-1-e"}, text:false})
    }
    var _divwrapright = $("#rightcol").addClass("jPag-control-front");
    _divwrapright.append(_rotright);
    $("#centercol").append(_ulwrapdiv);
    var _outer = $("#centercol");
    var test_interval = null;
    function hideArrow() {
      $("#leftcol").hide();
      $("#rightcol").hide();
    }
    function showArrow() {
      $("#leftcol").show();
      $("#rightcol").show();
    }
    function testWidth() {
      if (_outer.width() == 0) {
        return;
      }
      clearInterval(test_interval);
      if (_ulwrapdiv.width() <= _outer.width()) {
        hideArrow();
      } else {
        showArrow();
      }
    }
    if (_outer.width() == 0) {
      test_interval = setInterval(testWidth, 500);
    } else {
      testWidth();
    }
    $this.addClass("jPaginate");
    if (!o.border) {
      if (o.background_color == "none") {
        var a_css = {"color":o.text_color}
      } else {
        var a_css = {"color":o.text_color, "background-color":o.background_color}
      }
      if (o.background_hover_color == "none") {
        var hover_css = {"color":o.text_hover_color}
      } else {
        var hover_css = {"color":o.text_hover_color, "background-color":o.background_hover_color}
      }
    } else {
      if (o.background_color == "none") {
        var a_css = {"color":o.text_color, "border":"1px solid " + o.border_color}
      } else {
        var a_css = {"color":o.text_color, "background-color":o.background_color, "border":"1px solid " + o.border_color}
      }
      if (o.background_hover_color == "none") {
        var hover_css = {"color":o.text_hover_color, "border":"1px solid " + o.border_hover_color}
      } else {
        var hover_css = {"color":o.text_hover_color, "background-color":o.background_hover_color, "border":"1px solid " + o.border_hover_color}
      }
    }
    $.fn.applystyle(o, $this, a_css, hover_css, _ul, _ulwrapdiv, _divwrapright);
    var outsidewidth = outsidewidth_tmp - 1;
    if (ver == "ie7") {
    } else {
    }
    if (o.mouse == "press") {
      _rotright.mousedown(function() {
        thumbs_mouse_interval = setInterval(function() {
          var left = _ulwrapdiv.parent().scrollLeft() + 5;
          _ulwrapdiv.parent().scrollLeft(left);
        }, 20);
      }).mouseup(function() {
        clearInterval(thumbs_mouse_interval);
      });
      _rotleft.mousedown(function() {
        thumbs_mouse_interval = setInterval(function() {
          var left = _ulwrapdiv.parent().scrollLeft() - 5;
          _ulwrapdiv.parent().scrollLeft(left);
        }, 20);
      }).mouseup(function() {
        clearInterval(thumbs_mouse_interval);
      });
    }
    _ulwrapdiv.find(".li").click(function(e) {
      selobj.html("<a>" + selobj.find(".jPag-current").html() + "</a>");
      var currval = $(this).find("a").html();
      $(this).html('<span class="jPag-current">' + currval + "</span>");
      selobj = $(this);
      $.fn.applystyle(o, $(this).parent().parent().parent(), a_css, hover_css, _ul, _ulwrapdiv, _divwrapright);
      var left = this.offsetLeft / 2;
      var left2 = _ulwrapdiv.scrollLeft() + left;
      var tmp = left - outsidewidth / 2;
      if (ver == "ie7") {
        _ulwrapdiv.animate({scrollLeft:left + tmp + 52 + "px"});
      } else {
        _ulwrapdiv.animate({scrollLeft:left + tmp + "px"});
      }
      o.onChange(currval);
    });
    var last = _ulwrapdiv.find(".li").eq(o.start - 1);
    last.attr("id", "tmp");
    var left = document.getElementById("tmp").offsetLeft / 2;
    last.removeAttr("id");
    var tmp = left - outsidewidth / 2;
    if (ver == "ie7") {
      _ulwrapdiv.animate({scrollLeft:left + tmp + 52 + "px"});
    } else {
      _ulwrapdiv.animate({scrollLeft:left + tmp + "px"});
    }
  };
  $.fn.applystyle = function(o, obj, a_css, hover_css, _ul, _ulwrapdiv, _divwrapright) {
    obj.find("a").css(a_css);
    obj.find("span.jPag-current").css(hover_css);
    obj.find("a").hover(function() {
      $(this).css(hover_css);
    }, function() {
      $(this).css(a_css);
    });
    insidewidth = 0;
    obj.find(".li").each(function(i, n) {
      if (i == o.display - 1) {
        outsidewidth_tmp = this.offsetLeft + this.offsetWidth;
      }
      insidewidth += this.offsetWidth;
    });
    insidewidth += 3;
  };
})(jQuery);
(function($) {
  $.extend({debounce:function(fn, timeout, ctx, invokeAsap) {
    var timer;
    return function() {
      var args = arguments;
      ctx = ctx || this;
      invokeAsap && (!timer && fn.apply(ctx, args));
      clearTimeout(timer);
      timer = setTimeout(function() {
        !invokeAsap && fn.apply(ctx, args);
        timer = null;
      }, timeout);
    };
  }, throttle:function(fn, timeout, ctx) {
    var timer, args, needInvoke;
    return function() {
      args = arguments;
      needInvoke = true;
      ctx = ctx || this;
      if (!timer) {
        (function() {
          if (needInvoke) {
            fn.apply(ctx, args);
            needInvoke = false;
            timer = setTimeout(arguments.callee, timeout);
          } else {
            timer = null;
          }
        })();
      }
    };
  }});
})(jQuery);
(function($) {
  var strings = {strConversion:{__repr:function(i) {
    switch(this.__getType(i)) {
      case "array":
      ;
      case "date":
      ;
      case "number":
        return i.toString();
      case "object":
        var o = [];
        for (x = 0;x < i.length;i++) {
          o.push(i + ": " + this.__repr(i[x]));
        }
        return o.join(", ");
      case "string":
        return i;
      default:
        return i;
    }
  }, __getType:function(i) {
    if (!i || !i.constructor) {
      return typeof i;
    }
    var match = i.constructor.toString().match(/Array|Number|String|Object|Date/);
    return match && match[0].toLowerCase() || typeof i;
  }, __pad:function(str, l, s, t) {
    var p = s || " ";
    var o = str;
    if (l - str.length > 0) {
      o = (new Array(Math.ceil(l / p.length))).join(p).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2)) + str + p.substr(0, l - t);
    }
    return o;
  }, __getInput:function(arg, args) {
    var key = arg.getKey();
    switch(this.__getType(args)) {
      case "object":
        var keys = key.split(".");
        var obj = args;
        for (var subkey = 0;subkey < keys.length;subkey++) {
          obj = obj[keys[subkey]];
        }
        if (typeof obj != "undefined") {
          if (strings.strConversion.__getType(obj) == "array") {
            return arg.getFormat().match(/\.\*/) && obj[1] || obj;
          }
          return obj;
        } else {
        }
        break;
      case "array":
        key = parseInt(key, 10);
        if (arg.getFormat().match(/\.\*/) && typeof args[key + 1] != "undefined") {
          return args[key + 1];
        } else {
          if (typeof args[key] != "undefined") {
            return args[key];
          } else {
            return key;
          }
        }
        break;
    }
    return "{" + key + "}";
  }, __formatToken:function(token, args) {
    var arg = new Argument(token, args);
    return strings.strConversion[arg.getFormat().slice(-1)](this.__getInput(arg, args), arg);
  }, d:function(input, arg) {
    var o = parseInt(input, 10);
    var p = arg.getPaddingLength();
    if (p) {
      return this.__pad(o.toString(), p, arg.getPaddingString(), 0);
    } else {
      return o;
    }
  }, i:function(input, args) {
    return this.d(input, args);
  }, o:function(input, arg) {
    var o = input.toString(8);
    if (arg.isAlternate()) {
      o = this.__pad(o, o.length + 1, "0", 0);
    }
    return this.__pad(o, arg.getPaddingLength(), arg.getPaddingString(), 0);
  }, u:function(input, args) {
    return Math.abs(this.d(input, args));
  }, x:function(input, arg) {
    var o = parseInt(input, 10).toString(16);
    o = this.__pad(o, arg.getPaddingLength(), arg.getPaddingString(), 0);
    return arg.isAlternate() ? "0x" + o : o;
  }, X:function(input, arg) {
    return this.x(input, arg).toUpperCase();
  }, e:function(input, arg) {
    return parseFloat(input, 10).toExponential(arg.getPrecision());
  }, E:function(input, arg) {
    return this.e(input, arg).toUpperCase();
  }, f:function(input, arg) {
    return this.__pad(parseFloat(input, 10).toFixed(arg.getPrecision()), arg.getPaddingLength(), arg.getPaddingString(), 0);
  }, F:function(input, args) {
    return this.f(input, args);
  }, g:function(input, arg) {
    var o = parseFloat(input, 10);
    return o.toString().length > 6 ? Math.round(o.toExponential(arg.getPrecision())) : o;
  }, G:function(input, args) {
    return this.g(input, args);
  }, c:function(input, args) {
    var match = input.match(/\w|\d/);
    return match && match[0] || "";
  }, r:function(input, args) {
    return this.__repr(input);
  }, s:function(input, args) {
    return input.toString && input.toString() || "" + input;
  }}, format:function(str, args) {
    var end = 0;
    var start = 0;
    var match = false;
    var buffer = [];
    var token = "";
    var tmp = (str || "").split("");
    for (start = 0;start < tmp.length;start++) {
      if (tmp[start] == "{" && tmp[start + 1] != "{") {
        end = str.indexOf("}", start);
        token = tmp.slice(start + 1, end).join("");
        buffer.push(strings.strConversion.__formatToken(token, typeof arguments[1] != "object" ? arguments2Array(arguments, 2) : args || []));
      } else {
        if (start > end || buffer.length < 1) {
          buffer.push(tmp[start]);
        }
      }
    }
    return buffer.length > 1 ? buffer.join("") : buffer[0];
  }, calc:function(str, args) {
    return eval(format(str, args));
  }, repeat:function(s, n) {
    return(new Array(n + 1)).join(s);
  }, UTF8encode:function(s) {
    return unescape(encodeURIComponent(s));
  }, UTF8decode:function(s) {
    return decodeURIComponent(escape(s));
  }, tpl:function() {
    var out = "", render = true;
    if (arguments.length == 2 && $.isArray(arguments[1])) {
      this[arguments[0]] = arguments[1].join("");
      return jQuery;
    }
    if (arguments.length == 2 && $.isString(arguments[1])) {
      this[arguments[0]] = arguments[1];
      return jQuery;
    }
    if (arguments.length == 1) {
      return $(this[arguments[0]]);
    }
    if (arguments.length == 2 && arguments[1] == false) {
      return this[arguments[0]];
    }
    if (arguments.length == 2 && $.isObject(arguments[1])) {
      return $($.format(this[arguments[0]], arguments[1]));
    }
    if (arguments.length == 3 && $.isObject(arguments[1])) {
      return arguments[2] == true ? $.format(this[arguments[0]], arguments[1]) : $($.format(this[arguments[0]], arguments[1]));
    }
  }};
  var Argument = function(arg, args) {
    this.__arg = arg;
    this.__args = args;
    this.__max_precision = parseFloat("1." + (new Array(32)).join("1"), 10).toString().length - 3;
    this.__def_precision = 6;
    this.getString = function() {
      return this.__arg;
    };
    this.getKey = function() {
      return this.__arg.split(":")[0];
    };
    this.getFormat = function() {
      var match = this.getString().split(":");
      return match && match[1] ? match[1] : "s";
    };
    this.getPrecision = function() {
      var match = this.getFormat().match(/\.(\d+|\*)/g);
      if (!match) {
        return this.__def_precision;
      } else {
        match = match[0].slice(1);
        if (match != "*") {
          return parseInt(match, 10);
        } else {
          if (strings.strConversion.__getType(this.__args) == "array") {
            return this.__args[1] && this.__args[0] || this.__def_precision;
          } else {
            if (strings.strConversion.__getType(this.__args) == "object") {
              return this.__args[this.getKey()] && this.__args[this.getKey()][0] || this.__def_precision;
            } else {
              return this.__def_precision;
            }
          }
        }
      }
    };
    this.getPaddingLength = function() {
      var match = false;
      if (this.isAlternate()) {
        match = this.getString().match(/0?#0?(\d+)/);
        if (match && match[1]) {
          return parseInt(match[1], 10);
        }
      }
      match = this.getString().match(/(0|\.)(\d+|\*)/g);
      return match && parseInt(match[0].slice(1), 10) || 0;
    };
    this.getPaddingString = function() {
      var o = "";
      if (this.isAlternate()) {
        o = " ";
      }
      if (this.getFormat().match(/#0|0#|^0|\.\d+/)) {
        o = "0";
      }
      return o;
    };
    this.getFlags = function() {
      var match = this.getString().matc(/^(0|\#|\-|\+|\s)+/);
      return match && match[0].split("") || [];
    };
    this.isAlternate = function() {
      return!!this.getFormat().match(/^0?#/);
    };
  };
  var arguments2Array = function(args, shift) {
    var o = [];
    for (l = args.length, x = (shift || 0) - 1;x < l;x++) {
      o.push(args[x]);
    }
    return o;
  };
  $.extend(strings);
})(jQuery);
(function($) {
  $.toJSON = function(o) {
    if (typeof JSON == "object" && JSON.stringify) {
      return JSON.stringify(o);
    }
    var type = typeof o;
    if (o === null) {
      return "null";
    }
    if (type == "undefined") {
      return undefined;
    }
    if (type == "number" || type == "boolean") {
      return o + "";
    }
    if (type == "string") {
      return $.quoteString(o);
    }
    if (type == "object") {
      if (typeof o.toJSON == "function") {
        return $.toJSON(o.toJSON());
      }
      if (o.constructor === Date) {
        var month = o.getUTCMonth() + 1;
        if (month < 10) {
          month = "0" + month;
        }
        var day = o.getUTCDate();
        if (day < 10) {
          day = "0" + day;
        }
        var year = o.getUTCFullYear();
        var hours = o.getUTCHours();
        if (hours < 10) {
          hours = "0" + hours;
        }
        var minutes = o.getUTCMinutes();
        if (minutes < 10) {
          minutes = "0" + minutes;
        }
        var seconds = o.getUTCSeconds();
        if (seconds < 10) {
          seconds = "0" + seconds;
        }
        var milli = o.getUTCMilliseconds();
        if (milli < 100) {
          milli = "0" + milli;
        }
        if (milli < 10) {
          milli = "0" + milli;
        }
        return'"' + year + "-" + month + "-" + day + "T" + hours + ":" + minutes + ":" + seconds + "." + milli + 'Z"';
      }
      if (o.constructor === Array) {
        var ret = [];
        for (var i = 0;i < o.length;i++) {
          ret.push($.toJSON(o[i]) || "null");
        }
        return "[" + ret.join(",") + "]";
      }
      var pairs = [];
      for (var k in o) {
        var name;
        var type = typeof k;
        if (type == "number") {
          name = '"' + k + '"';
        } else {
          if (type == "string") {
            name = $.quoteString(k);
          } else {
            continue;
          }
        }
        if (typeof o[k] == "function") {
          continue;
        }
        var val = $.toJSON(o[k]);
        pairs.push(name + ":" + val);
      }
      return "{" + pairs.join(", ") + "}";
    }
  };
  $.evalJSON = function(src) {
    if (typeof JSON == "object" && JSON.parse) {
      return JSON.parse(src);
    }
    return eval("(" + src + ")");
  };
  $.secureEvalJSON = function(src) {
    if (typeof JSON == "object" && JSON.parse) {
      return JSON.parse(src);
    }
    var filtered = src;
    filtered = filtered.replace(/\\["\\\/bfnrtu]/g, "@");
    filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]");
    filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, "");
    if (/^[\],:{}\s]*$/.test(filtered)) {
      return eval("(" + src + ")");
    } else {
      throw new SyntaxError("Error parsing JSON, source is not valid.");
    }
  };
  $.quoteString = function(string) {
    if (string.match(_escapeable)) {
      return'"' + string.replace(_escapeable, function(a) {
        var c = _meta[a];
        if (typeof c === "string") {
          return c;
        }
        c = a.charCodeAt();
        return "\\u00" + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
      }) + '"';
    }
    return'"' + string + '"';
  };
  var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
  var _meta = {"\b":"\\b", "\t":"\\t", "\n":"\\n", "\f":"\\f", "\r":"\\r", '"':'\\"', "\\":"\\\\"};
})(jQuery);
(function($) {
  $.fn.addOption = function() {
    var add = function(el, v, t, sO) {
      var option = document.createElement("option");
      option.value = v, option.text = t;
      var o = el.options;
      var oL = o.length;
      if (!el.cache) {
        el.cache = {};
        for (var i = 0;i < oL;i++) {
          el.cache[o[i].value] = i;
        }
      }
      if (typeof el.cache[v] == "undefined") {
        el.cache[v] = oL;
      }
      el.options[el.cache[v]] = option;
      if (sO) {
        option.selected = true;
      }
    };
    var a = arguments;
    if (a.length == 0) {
      return this;
    }
    var sO = true;
    var m = false;
    var items, v, t;
    if (typeof a[0] == "object") {
      m = true;
      items = a[0];
    }
    if (a.length >= 2) {
      if (typeof a[1] == "boolean") {
        sO = a[1];
      } else {
        if (typeof a[2] == "boolean") {
          sO = a[2];
        }
      }
      if (!m) {
        v = a[0];
        t = a[1];
      }
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      if (m) {
        for (var item in items) {
          add(this, item, items[item], sO);
        }
      } else {
        add(this, v, t, sO);
      }
    });
    return this;
  };
  $.fn.ajaxAddOption = function(url, params, select, fn, args) {
    if (typeof url != "string") {
      return this;
    }
    if (typeof params != "object") {
      params = {};
    }
    if (typeof select != "boolean") {
      select = true;
    }
    this.each(function() {
      var el = this;
      $.getJSON(url, params, function(r) {
        $(el).addOption(r, select);
        if (typeof fn == "function") {
          if (typeof args == "object") {
            fn.apply(el, args);
          } else {
            fn.call(el);
          }
        }
      });
    });
    return this;
  };
  $.fn.removeOption = function() {
    var a = arguments;
    if (a.length == 0) {
      return this;
    }
    var ta = typeof a[0];
    var v, index;
    if (ta == "string" || (ta == "object" || ta == "function")) {
      v = a[0];
      if (v.constructor == Array) {
        var l = v.length;
        for (var i = 0;i < l;i++) {
          this.removeOption(v[i], a[1]);
        }
        return this;
      }
    } else {
      if (ta == "number") {
        index = a[0];
      } else {
        return this;
      }
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      if (this.cache) {
        this.cache = null;
      }
      var remove = false;
      var o = this.options;
      if (!!v) {
        var oL = o.length;
        for (var i = oL - 1;i >= 0;i--) {
          if (v.constructor == RegExp) {
            if (o[i].value.match(v)) {
              remove = true;
            }
          } else {
            if (o[i].value == v) {
              remove = true;
            }
          }
          if (remove && a[1] === true) {
            remove = o[i].selected;
          }
          if (remove) {
            o[i] = null;
          }
          remove = false;
        }
      } else {
        if (a[1] === true) {
          remove = o[index].selected;
        } else {
          remove = true;
        }
        if (remove) {
          this.remove(index);
        }
      }
    });
    return this;
  };
  $.fn.sortOptions = function(ascending) {
    var sel = $(this).selectedValues();
    var a = typeof ascending == "undefined" ? true : !!ascending;
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      var o = this.options;
      var oL = o.length;
      var sA = [];
      for (var i = 0;i < oL;i++) {
        sA[i] = {v:o[i].value, t:o[i].text};
      }
      sA.sort(function(o1, o2) {
        o1t = o1.t.toLowerCase(), o2t = o2.t.toLowerCase();
        if (o1t == o2t) {
          return 0;
        }
        if (a) {
          return o1t < o2t ? -1 : 1;
        } else {
          return o1t > o2t ? -1 : 1;
        }
      });
      for (var i = 0;i < oL;i++) {
        o[i].text = sA[i].t;
        o[i].value = sA[i].v;
      }
    }).selectOptions(sel, true);
    return this;
  };
  $.fn.selectOptions = function(value, clear) {
    var v = value;
    var vT = typeof value;
    if (vT == "object" && v.constructor == Array) {
      var $this = this;
      $.each(v, function() {
        $this.selectOptions(this, clear);
      });
    }
    var c = clear || false;
    if (vT != "string" && (vT != "function" && vT != "object")) {
      return this;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (v.constructor == RegExp) {
          if (o[i].value.match(v)) {
            o[i].selected = true;
          } else {
            if (c) {
              o[i].selected = false;
            }
          }
        } else {
          if (o[i].value == v) {
            o[i].selected = true;
          } else {
            if (c) {
              o[i].selected = false;
            }
          }
        }
      }
    });
    return this;
  };
  $.fn.copyOptions = function(to, which) {
    var w = which || "selected";
    if ($(to).size() == 0) {
      return this;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (w == "all" || w == "selected" && o[i].selected) {
          $(to).addOption(o[i].value, o[i].text);
        }
      }
    });
    return this;
  };
  $.fn.containsOption = function(value, fn) {
    var found = false;
    var v = value;
    var vT = typeof v;
    var fT = typeof fn;
    if (vT != "string" && (vT != "function" && vT != "object")) {
      return fT == "function" ? this : found;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      if (found && fT != "function") {
        return false;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (v.constructor == RegExp) {
          if (o[i].value.match(v)) {
            found = true;
            if (fT == "function") {
              fn.call(o[i], i);
            }
          }
        } else {
          if (o[i].value == v) {
            found = true;
            if (fT == "function") {
              fn.call(o[i], i);
            }
          }
        }
      }
    });
    return fT == "function" ? this : found;
  };
  $.fn.selectedValues = function() {
    var v = [];
    this.selectedOptions().each(function() {
      v[v.length] = this.value;
    });
    return v;
  };
  $.fn.selectedTexts = function() {
    var t = [];
    this.selectedOptions().each(function() {
      t[t.length] = this.text;
    });
    return t;
  };
  $.fn.selectedOptions = function() {
    return this.find("option:selected");
  };
})(jQuery);
(function($) {
  $.extend($.fn, {swapClass:function(c1, c2) {
    var c1Elements = this.filter("." + c1);
    this.filter("." + c2).removeClass(c2).addClass(c1);
    c1Elements.removeClass(c1).addClass(c2);
    return this;
  }, replaceClass:function(c1, c2) {
    return this.filter("." + c1).removeClass(c1).addClass(c2).end();
  }, hoverClass:function(className) {
    className = className || "hover";
    return this.hover(function() {
      $(this).addClass(className);
    }, function() {
      $(this).removeClass(className);
    });
  }, heightToggle:function(animated, callback) {
    animated ? this.animate({height:"toggle"}, animated, callback) : this.each(function() {
      jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]();
      if (callback) {
        callback.apply(this, arguments);
      }
    });
  }, heightHide:function(animated, callback) {
    if (animated) {
      this.animate({height:"hide"}, animated, callback);
    } else {
      this.hide();
      if (callback) {
        this.each(callback);
      }
    }
  }, prepareBranches:function(settings) {
    if (!settings.prerendered) {
      this.filter(":last-child:not(ul)").addClass(CLASSES.last);
      this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
    }
    return this.filter(":has(>ul)");
  }, applyClasses:function(settings, toggler) {
    if (!settings.prerendered) {
      this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable);
      this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable);
      this.prepend('<div class="' + CLASSES.hitarea + '"/>').find("div." + CLASSES.hitarea).each(function() {
        var classes = "";
        $.each($(this).parent().attr("class").split(" "), function() {
          classes += this + "-hitarea ";
        });
        $(this).addClass(classes);
      });
    }
    this.find("div." + CLASSES.hitarea).click(toggler);
  }, treeview:function(settings) {
    settings = $.extend({cookieId:"treeview"}, settings);
    if (settings.add) {
      return this.trigger("add", [settings.add]);
    }
    if (settings.toggle) {
      var callback = settings.toggle;
      settings.toggle = function() {
        return callback.apply($(this).parent()[0], arguments);
      };
    }
    function treeController(tree, control) {
      function handler(filter) {
        return function() {
          toggler.apply($("div." + CLASSES.hitarea, tree).filter(function() {
            return filter ? $(this).parent("." + filter).length : true;
          }));
          return false;
        };
      }
      $("a:eq(0)", control).click(handler(CLASSES.collapsable));
      $("a:eq(1)", control).click(handler(CLASSES.expandable));
      $("a:eq(2)", control).click(handler());
    }
    function toggler() {
      $(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable, CLASSES.expandable).swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated, settings.toggle);
      if (settings.unique) {
        $(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable, CLASSES.expandable).replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightHide(settings.animated, settings.toggle);
      }
    }
    function serialize() {
      function binary(arg) {
        return arg ? 1 : 0;
      }
      var data = [];
      branches.each(function(i, e) {
        data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
      });
      $.cookie(settings.cookieId, data.join(""));
    }
    function deserialize() {
      var stored = $.cookie(settings.cookieId);
      if (stored) {
        var data = stored.split("");
        branches.each(function(i, e) {
          $(e).find(">ul")[parseInt(data[i]) ? "show" : "hide"]();
        });
      }
    }
    this.addClass("treeview");
    var branches = this.find("li").prepareBranches(settings);
    switch(settings.persist) {
      case "cookie":
        var toggleCallback = settings.toggle;
        settings.toggle = function() {
          serialize();
          if (toggleCallback) {
            toggleCallback.apply(this, arguments);
          }
        };
        deserialize();
        break;
      case "location":
        var current = this.find("a").filter(function() {
          return this.href.toLowerCase() == location.href.toLowerCase();
        });
        if (current.length) {
          current.addClass("selected").parents("ul, li").add(current.next()).show();
        }
        break;
    }
    branches.applyClasses(settings, toggler);
    if (settings.control) {
      treeController(this, settings.control);
      $(settings.control).show();
    }
    return this.bind("add", function(event, branches) {
      $(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);
      $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
    });
  }});
  var CLASSES = $.fn.treeview.classes = {open:"open", closed:"closed", expandable:"expandable", expandableHitarea:"expandable-hitarea", lastExpandableHitarea:"lastExpandable-hitarea", collapsable:"collapsable", collapsableHitarea:"collapsable-hitarea", lastCollapsableHitarea:"lastCollapsable-hitarea", lastCollapsable:"lastCollapsable", lastExpandable:"lastExpandable", last:"last", hitarea:"hitarea"};
  $.fn.Treeview = $.fn.treeview;
})(jQuery);
(function($, undefined) {
  $.support.htmlMenuitem = "HTMLMenuItemElement" in window;
  $.support.htmlCommand = "HTMLCommandElement" in window;
  $.support.eventSelectstart = "onselectstart" in document.documentElement;
  var $currentTrigger = null, initialized = false, $win = $(window), counter = 0, namespaces = {}, menus = {}, types = {}, defaults = {selector:null, appendTo:null, trigger:"right", autoHide:false, delay:200, determinePosition:function($menu) {
    if ($.ui && $.ui.position) {
      $menu.css("display", "block").position({my:"center top", at:"center bottom", of:this, offset:"0 5", collision:"fit"}).css("display", "none");
    } else {
      var offset = this.offset();
      offset.top += this.outerHeight();
      offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;
      $menu.css(offset);
    }
  }, position:function(opt, x, y) {
    var $this = this, offset;
    if (!x && !y) {
      opt.determinePosition.call(this, opt.$menu);
      return;
    } else {
      if (x === "maintain" && y === "maintain") {
        offset = opt.$menu.position();
      } else {
        var triggerIsFixed = opt.$trigger.parents().andSelf().filter(function() {
          return $(this).css("position") == "fixed";
        }).length;
        if (triggerIsFixed) {
          y -= $win.scrollTop();
          x -= $win.scrollLeft();
        }
        offset = {top:y, left:x};
      }
    }
    var bottom = $win.scrollTop() + $win.height(), right = $win.scrollLeft() + $win.width(), height = opt.$menu.height(), width = opt.$menu.width();
    if (offset.top + height > bottom) {
      offset.top -= height;
    }
    if (offset.left + width > right) {
      offset.left -= width;
    }
    opt.$menu.css(offset);
  }, positionSubmenu:function($menu) {
    if ($.ui && $.ui.position) {
      $menu.css("display", "block").position({my:"left top", at:"right top", of:this, collision:"fit"}).css("display", "");
    } else {
      var offset = {top:0, left:this.outerWidth()};
      $menu.css(offset);
    }
  }, zIndex:6001, animation:{duration:0, show:"slideDown", hide:"slideUp"}, events:{show:$.noop, hide:$.noop}, callback:null, items:{}}, hoveract = {timer:null, pageX:null, pageY:null}, zindex = function($t) {
    var zin = 0, $tt = $t, z = 0;
    for (var i = 0;i < 999;i++) {
      z = parseInt($tt.css("z-index"), 10);
      if (isNaN(z)) {
        z = 0;
      }
      zin = Math.max(zin, z);
      $tt = $tt.parent();
      if (!$tt || (!$tt.length || "html body".indexOf($tt.prop("nodeName").toLowerCase()) > -1)) {
        break;
      }
    }
    return zin;
  }, handle = {abortevent:function(e) {
    e.preventDefault();
    e.stopImmediatePropagation();
  }, contextmenu:function(e) {
    var $this = $(this);
    e.preventDefault();
    e.stopImmediatePropagation();
    if (e.data.trigger != "right" && e.originalEvent) {
      return;
    }
    if (!$this.hasClass("context-menu-disabled")) {
      $currentTrigger = $this;
      if (e.data.build) {
        var built = e.data.build($currentTrigger, e);
        if (built === false) {
          return;
        }
        e.data = $.extend(true, {}, defaults, e.data, built || {});
        if (!e.data.items || $.isEmptyObject(e.data.items)) {
          if (window.console) {
            (console.error || console.log)("No items specified to show in contextMenu");
          }
          throw new Error("No Items sepcified");
        }
        e.data.$trigger = $currentTrigger;
        op.create(e.data);
      }
      op.show.call($this, e.data, e.pageX, e.pageY);
    }
  }, click:function(e) {
    e.preventDefault();
    e.stopImmediatePropagation();
    $(this).trigger($.Event("contextmenu", {data:e.data, pageX:e.pageX, pageY:e.pageY}));
  }, mousedown:function(e) {
    var $this = $(this);
    if ($currentTrigger && ($currentTrigger.length && !$currentTrigger.is($this))) {
      $currentTrigger.data("contextMenu").$menu.trigger("contextmenu:hide");
    }
    if (e.button == 2) {
      $currentTrigger = $this.data("contextMenuActive", true);
    }
  }, mouseup:function(e) {
    var $this = $(this);
    if ($this.data("contextMenuActive") && ($currentTrigger && ($currentTrigger.length && ($currentTrigger.is($this) && !$this.hasClass("context-menu-disabled"))))) {
      e.preventDefault();
      e.stopImmediatePropagation();
      $currentTrigger = $this;
      $this.trigger($.Event("contextmenu", {data:e.data, pageX:e.pageX, pageY:e.pageY}));
    }
    $this.removeData("contextMenuActive");
  }, mouseenter:function(e) {
    var $this = $(this), $related = $(e.relatedTarget), $document = $(document);
    if ($related.is(".context-menu-list") || $related.closest(".context-menu-list").length) {
      return;
    }
    if ($currentTrigger && $currentTrigger.length) {
      return;
    }
    hoveract.pageX = e.pageX;
    hoveract.pageY = e.pageY;
    hoveract.data = e.data;
    $document.on("mousemove.contextMenuShow", handle.mousemove);
    hoveract.timer = setTimeout(function() {
      hoveract.timer = null;
      $document.off("mousemove.contextMenuShow");
      $currentTrigger = $this;
      $this.trigger($.Event("contextmenu", {data:hoveract.data, pageX:hoveract.pageX, pageY:hoveract.pageY}));
    }, e.data.delay);
  }, mousemove:function(e) {
    hoveract.pageX = e.pageX;
    hoveract.pageY = e.pageY;
  }, mouseleave:function(e) {
    var $related = $(e.relatedTarget);
    if ($related.is(".context-menu-list") || $related.closest(".context-menu-list").length) {
      return;
    }
    try {
      clearTimeout(hoveract.timer);
    } catch (e) {
    }
    hoveract.timer = null;
  }, layerClick:function(e) {
    var $this = $(this), root = $this.data("contextMenuRoot"), mouseup = false, button = e.button, x = e.pageX, y = e.pageY, target, offset, selectors;
    e.preventDefault();
    e.stopImmediatePropagation();
    $this.on("mouseup", function() {
      mouseup = true;
    });
    setTimeout(function() {
      var $window, hideshow;
      if (root.trigger == "left" && button == 0 || root.trigger == "right" && button == 2) {
        if (document.elementFromPoint) {
          root.$layer.hide();
          target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());
          root.$layer.show();
          selectors = [];
          for (var s in namespaces) {
            selectors.push(s);
          }
          target = $(target).closest(selectors.join(", "));
          if (target.length) {
            if (target.is(root.$trigger[0])) {
              root.position.call(root.$trigger, root, x, y);
              return;
            }
          }
        } else {
          offset = root.$trigger.offset();
          $window = $(window);
          offset.top += $window.scrollTop();
          if (offset.top <= e.pageY) {
            offset.left += $window.scrollLeft();
            if (offset.left <= e.pageX) {
              offset.bottom = offset.top + root.$trigger.outerHeight();
              if (offset.bottom >= e.pageY) {
                offset.right = offset.left + root.$trigger.outerWidth();
                if (offset.right >= e.pageX) {
                  root.position.call(root.$trigger, root, x, y);
                  return;
                }
              }
            }
          }
        }
      }
      hideshow = function(e) {
        if (e) {
          e.preventDefault();
          e.stopImmediatePropagation();
        }
        root.$menu.trigger("contextmenu:hide");
        if (target && target.length) {
          setTimeout(function() {
            target.contextMenu({x:x, y:y});
          }, 50);
        }
      };
      if (mouseup) {
        hideshow();
      } else {
        $this.on("mouseup", hideshow);
      }
    }, 50);
  }, keyStop:function(e, opt) {
    if (!opt.isInput) {
      e.preventDefault();
    }
    e.stopPropagation();
  }, key:function(e) {
    var opt = $currentTrigger.data("contextMenu") || {}, $children = opt.$menu.children(), $round;
    switch(e.keyCode) {
      case 9:
      ;
      case 38:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (e.keyCode == 9 && e.shiftKey) {
            e.preventDefault();
            opt.$selected && opt.$selected.find("input, textarea, select").blur();
            opt.$menu.trigger("prevcommand");
            return;
          } else {
            if (e.keyCode == 38 && opt.$selected.find("input, textarea, select").prop("type") == "checkbox") {
              e.preventDefault();
              return;
            }
          }
        } else {
          if (e.keyCode != 9 || e.shiftKey) {
            opt.$menu.trigger("prevcommand");
            return;
          }
        }
      ;
      case 40:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (e.keyCode == 9) {
            e.preventDefault();
            opt.$selected && opt.$selected.find("input, textarea, select").blur();
            opt.$menu.trigger("nextcommand");
            return;
          } else {
            if (e.keyCode == 40 && opt.$selected.find("input, textarea, select").prop("type") == "checkbox") {
              e.preventDefault();
              return;
            }
          }
        } else {
          opt.$menu.trigger("nextcommand");
          return;
        }
        break;
      case 37:
        handle.keyStop(e, opt);
        if (opt.isInput || (!opt.$selected || !opt.$selected.length)) {
          break;
        }
        if (!opt.$selected.parent().hasClass("context-menu-root")) {
          var $parent = opt.$selected.parent().parent();
          opt.$selected.trigger("contextmenu:blur");
          opt.$selected = $parent;
          return;
        }
        break;
      case 39:
        handle.keyStop(e, opt);
        if (opt.isInput || (!opt.$selected || !opt.$selected.length)) {
          break;
        }
        var itemdata = opt.$selected.data("contextMenu") || {};
        if (itemdata.$menu && opt.$selected.hasClass("context-menu-submenu")) {
          opt.$selected = null;
          itemdata.$selected = null;
          itemdata.$menu.trigger("nextcommand");
          return;
        }
        break;
      case 35:
      ;
      case 36:
        if (opt.$selected && opt.$selected.find("input, textarea, select").length) {
          return;
        } else {
          (opt.$selected && opt.$selected.parent() || opt.$menu).children(":not(.disabled, .not-selectable)")[e.keyCode == 36 ? "first" : "last"]().trigger("contextmenu:focus");
          e.preventDefault();
          return;
        }
        break;
      case 13:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (opt.$selected && !opt.$selected.is("textarea, select")) {
            e.preventDefault();
            return;
          }
          break;
        }
        opt.$selected && opt.$selected.trigger("mouseup");
        return;
      case 32:
      ;
      case 33:
      ;
      case 34:
        handle.keyStop(e, opt);
        return;
      case 27:
        handle.keyStop(e, opt);
        opt.$menu.trigger("contextmenu:hide");
        return;
      default:
        var k = String.fromCharCode(e.keyCode).toUpperCase();
        if (opt.accesskeys[k]) {
          opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? "contextmenu:focus" : "mouseup");
          return;
        }
        break;
    }
    e.stopPropagation();
    opt.$selected && opt.$selected.trigger(e);
  }, prevItem:function(e) {
    e.stopPropagation();
    var opt = $(this).data("contextMenu") || {};
    if (opt.$selected) {
      var $s = opt.$selected;
      opt = opt.$selected.parent().data("contextMenu") || {};
      opt.$selected = $s;
    }
    var $children = opt.$menu.children(), $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(), $round = $prev;
    while ($prev.hasClass("disabled") || $prev.hasClass("not-selectable")) {
      if ($prev.prev().length) {
        $prev = $prev.prev();
      } else {
        $prev = $children.last();
      }
      if ($prev.is($round)) {
        return;
      }
    }
    if (opt.$selected) {
      handle.itemMouseleave.call(opt.$selected.get(0), e);
    }
    handle.itemMouseenter.call($prev.get(0), e);
    var $input = $prev.find("input, textarea, select");
    if ($input.length) {
      $input.focus();
    }
  }, nextItem:function(e) {
    e.stopPropagation();
    var opt = $(this).data("contextMenu") || {};
    if (opt.$selected) {
      var $s = opt.$selected;
      opt = opt.$selected.parent().data("contextMenu") || {};
      opt.$selected = $s;
    }
    var $children = opt.$menu.children(), $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(), $round = $next;
    while ($next.hasClass("disabled") || $next.hasClass("not-selectable")) {
      if ($next.next().length) {
        $next = $next.next();
      } else {
        $next = $children.first();
      }
      if ($next.is($round)) {
        return;
      }
    }
    if (opt.$selected) {
      handle.itemMouseleave.call(opt.$selected.get(0), e);
    }
    handle.itemMouseenter.call($next.get(0), e);
    var $input = $next.find("input, textarea, select");
    if ($input.length) {
      $input.focus();
    }
  }, focusInput:function(e) {
    var $this = $(this).closest(".context-menu-item"), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.$selected = opt.$selected = $this;
    root.isInput = opt.isInput = true;
  }, blurInput:function(e) {
    var $this = $(this).closest(".context-menu-item"), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.isInput = opt.isInput = false;
  }, menuMouseenter:function(e) {
    var root = $(this).data().contextMenuRoot;
    root.hovering = true;
  }, menuMouseleave:function(e) {
    var root = $(this).data().contextMenuRoot;
    if (root.$layer && root.$layer.is(e.relatedTarget)) {
      root.hovering = false;
    }
  }, itemMouseenter:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.hovering = true;
    if (e && (root.$layer && root.$layer.is(e.relatedTarget))) {
      e.preventDefault();
      e.stopImmediatePropagation();
    }
    (opt.$menu ? opt : root).$menu.children(".hover").trigger("contextmenu:blur");
    if ($this.hasClass("disabled") || $this.hasClass("not-selectable")) {
      opt.$selected = null;
      return;
    }
    $this.trigger("contextmenu:focus");
  }, itemMouseleave:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    if (root !== opt && (root.$layer && root.$layer.is(e.relatedTarget))) {
      root.$selected && root.$selected.trigger("contextmenu:blur");
      e.preventDefault();
      e.stopImmediatePropagation();
      root.$selected = opt.$selected = opt.$node;
      return;
    }
    $this.trigger("contextmenu:blur");
  }, itemClick:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot, key = data.contextMenuKey, callback;
    if (!opt.items[key] || ($this.hasClass("disabled") || $this.hasClass("context-menu-submenu"))) {
      return;
    }
    e.preventDefault();
    e.stopImmediatePropagation();
    if ($.isFunction(root.callbacks[key])) {
      callback = root.callbacks[key];
    } else {
      if ($.isFunction(root.callback)) {
        callback = root.callback;
      } else {
        return;
      }
    }
    if (callback.call(root.$trigger, key, root) !== false) {
      root.$menu.trigger("contextmenu:hide");
    } else {
      if (root.$menu.parent().length) {
        op.update.call(root.$trigger, root);
      }
    }
  }, inputClick:function(e) {
    e.stopImmediatePropagation();
  }, hideMenu:function(e, data) {
    var root = $(this).data("contextMenuRoot");
    op.hide.call(root.$trigger, root, data && data.force);
  }, focusItem:function(e) {
    e.stopPropagation();
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    $this.addClass("hover").siblings(".hover").trigger("contextmenu:blur");
    opt.$selected = root.$selected = $this;
    if (opt.$node) {
      root.positionSubmenu.call(opt.$node, opt.$menu);
    }
  }, blurItem:function(e) {
    e.stopPropagation();
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    $this.removeClass("hover");
    opt.$selected = null;
  }}, op = {show:function(opt, x, y) {
    if (typeof globalMenu != "undefined" && globalMenu) {
      return;
    }
    globalMenu = true;
    var $this = $(this), offset, css = {};
    $("#context-menu-layer").trigger("mousedown");
    opt.$trigger = $this;
    if (opt.events.show.call($this, opt) === false) {
      $currentTrigger = null;
      return;
    }
    op.update.call($this, opt);
    opt.position.call($this, opt, x, y);
    if (opt.zIndex) {
      css.zIndex = zindex($this) + opt.zIndex;
    }
    op.layer.call(opt.$menu, opt, css.zIndex);
    opt.$menu.find("ul").css("zIndex", css.zIndex + 1);
    opt.$menu.css(css)[opt.animation.show](opt.animation.duration);
    $this.data("contextMenu", opt);
    $(document).off("keydown.contextMenu").on("keydown.contextMenu", handle.key);
    if (opt.autoHide) {
      var pos = $this.position();
      pos.right = pos.left + $this.outerWidth();
      pos.bottom = pos.top + this.outerHeight();
      $(document).on("mousemove.contextMenuAutoHide", function(e) {
        if (opt.$layer && (!opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom)))) {
          opt.$menu.trigger("contextmenu:hide");
        }
      });
    }
  }, hide:function(opt, force) {
    var $this = $(this);
    if (!opt) {
      opt = $this.data("contextMenu") || {};
    }
    if (!force && (opt.events && opt.events.hide.call($this, opt) === false)) {
      return;
    }
    if (opt.$layer) {
      setTimeout(function($layer) {
        return function() {
          $layer.remove();
        };
      }(opt.$layer), 10);
      try {
        delete opt.$layer;
      } catch (e) {
        opt.$layer = null;
      }
    }
    $currentTrigger = null;
    opt.$menu.find(".hover").trigger("contextmenu:blur");
    opt.$selected = null;
    $(document).off(".contextMenuAutoHide").off("keydown.contextMenu");
    opt.$menu && opt.$menu[opt.animation.hide](opt.animation.duration, function() {
      if (opt.build) {
        opt.$menu.remove();
        $.each(opt, function(key, value) {
          switch(key) {
            case "ns":
            ;
            case "selector":
            ;
            case "build":
            ;
            case "trigger":
              return true;
            default:
              opt[key] = undefined;
              try {
                delete opt[key];
              } catch (e) {
              }
              return true;
          }
        });
      }
    });
    globalMenu = false;
  }, create:function(opt, root) {
    if (root === undefined) {
      root = opt;
    }
    opt.$menu = $('<ul class="context-menu-list ' + (opt.className || "") + '"></ul>').data({"contextMenu":opt, "contextMenuRoot":root});
    $.each(["callbacks", "commands", "inputs"], function(i, k) {
      opt[k] = {};
      if (!root[k]) {
        root[k] = {};
      }
    });
    root.accesskeys || (root.accesskeys = {});
    $.each(opt.items, function(key, item) {
      var $t = $('<li class="context-menu-item ' + (item.className || "") + '"></li>'), $label = null, $input = null;
      item.$node = $t.data({"contextMenu":opt, "contextMenuRoot":root, "contextMenuKey":key});
      if (item.accesskey) {
        var aks = splitAccesskey(item.accesskey);
        for (var i = 0, ak;ak = aks[i];i++) {
          if (!root.accesskeys[ak]) {
            root.accesskeys[ak] = item;
            item._name = item.name.replace(new RegExp("(" + ak + ")", "i"), '<span class="context-menu-accesskey">$1</span>');
            break;
          }
        }
      }
      if (typeof item == "string") {
        $t.addClass("context-menu-separator not-selectable");
      } else {
        if (item.type && types[item.type]) {
          types[item.type].call($t, item, opt, root);
          $.each([opt, root], function(i, k) {
            k.commands[key] = item;
            if ($.isFunction(item.callback)) {
              k.callbacks[key] = item.callback;
            }
          });
        } else {
          if (item.type == "html") {
            $t.addClass("context-menu-html not-selectable");
          } else {
            if (item.type) {
              $label = $("<label></label>").appendTo($t);
              $("<span></span>").html(item._name || item.name).appendTo($label);
              $t.addClass("context-menu-input");
              opt.hasTypes = true;
              $.each([opt, root], function(i, k) {
                k.commands[key] = item;
                k.inputs[key] = item;
              });
            } else {
              if (item.items) {
                item.type = "sub";
              }
            }
          }
          switch(item.type) {
            case "text":
              $input = $('<input type="text" value="1" name="context-menu-input-' + key + '" value="">').val(item.value || "").appendTo($label);
              break;
            case "textarea":
              $input = $('<textarea name="context-menu-input-' + key + '"></textarea>').val(item.value || "").appendTo($label);
              if (item.height) {
                $input.height(item.height);
              }
              break;
            case "checkbox":
              $input = $('<input type="checkbox" value="1" name="context-menu-input-' + key + '" value="">').val(item.value || "").prop("checked", !!item.selected).prependTo($label);
              break;
            case "radio":
              $input = $('<input type="radio" value="1" name="context-menu-input-' + item.radio + '" value="">').val(item.value || "").prop("checked", !!item.selected).prependTo($label);
              break;
            case "select":
              $input = $('<select name="context-menu-input-' + key + '">').appendTo($label);
              if (item.options) {
                $.each(item.options, function(value, text) {
                  $("<option></option>").val(value).text(text).appendTo($input);
                });
                $input.val(item.selected);
              }
              break;
            case "sub":
              $("<span></span>").html(item._name || item.name).appendTo($t);
              item.appendTo = item.$node;
              op.create(item, root);
              $t.data("contextMenu", item).addClass("context-menu-submenu");
              item.callback = null;
              break;
            case "html":
              $(item.html).appendTo($t);
              break;
            default:
              $.each([opt, root], function(i, k) {
                k.commands[key] = item;
                if ($.isFunction(item.callback)) {
                  k.callbacks[key] = item.callback;
                }
              });
              $("<span></span>").html(item._name || (item.name || "")).appendTo($t);
              break;
          }
          if (item.type && (item.type != "sub" && item.type != "html")) {
            $input.on("focus", handle.focusInput).on("blur", handle.blurInput);
            if (item.events) {
              $input.on(item.events, opt);
            }
          }
          if (item.icon) {
            $t.addClass("icon icon-" + item.icon);
          }
        }
      }
      item.$input = $input;
      item.$label = $label;
      $t.appendTo(opt.$menu);
      if (!opt.hasTypes && $.support.eventSelectstart) {
        $t.on("selectstart.disableTextSelect", handle.abortevent);
      }
    });
    if (!opt.$node) {
      opt.$menu.css("display", "none").addClass("context-menu-root");
    }
    opt.$menu.appendTo(opt.appendTo || document.body);
  }, update:function(opt, root) {
    var $this = this;
    if (root === undefined) {
      root = opt;
      opt.$menu.find("ul").andSelf().css({position:"static", display:"block"}).each(function() {
        var $this = $(this);
        $this.width($this.css("position", "absolute").width()).css("position", "static");
      }).css({position:"", display:""});
    }
    opt.$menu.children().each(function() {
      var $item = $(this), key = $item.data("contextMenuKey"), item = opt.items[key], disabled = $.isFunction(item.disabled) && item.disabled.call($this, key, root) || item.disabled === true;
      $item[disabled ? "addClass" : "removeClass"]("disabled");
      if (item.type) {
        $item.find("input, select, textarea").prop("disabled", disabled);
        switch(item.type) {
          case "text":
          ;
          case "textarea":
            item.$input.val(item.value || "");
            break;
          case "checkbox":
          ;
          case "radio":
            item.$input.val(item.value || "").prop("checked", !!item.selected);
            break;
          case "select":
            item.$input.val(item.selected || "");
            break;
        }
      }
      if (item.$menu) {
        op.update.call($this, item, root);
      }
    });
  }, layer:function(opt, zIndex) {
    $l = $("#context-menu-layer");
    if ($l) {
      $l.remove();
    }
    var $layer = opt.$layer = $('<div id="context-menu-layer" style="position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>').css({height:$win.height(), width:$win.width(), display:"block"}).data("contextMenuRoot", opt).insertBefore(this).on("contextmenu", handle.abortevent).on("mousedown", handle.layerClick);
    if (!$.support.fixedPosition) {
      $layer.css({"position":"absolute", "height":$(document).height()});
    }
    return $layer;
  }};
  function splitAccesskey(val) {
    var t = val.split(/\s+/), keys = [];
    for (var i = 0, k;k = t[i];i++) {
      k = k[0].toUpperCase();
      keys.push(k);
    }
    return keys;
  }
  $.fn.contextMenu = function(operation) {
    if (operation === undefined) {
      this.first().trigger("contextmenu");
    } else {
      if (operation.x && operation.y) {
        this.first().trigger($.Event("contextmenu", {pageX:operation.x, pageY:operation.y}));
      } else {
        if (operation === "hide") {
          var $menu = this.data("contextMenu").$menu;
          $menu && $menu.trigger("contextmenu:hide");
        } else {
          if (operation === "element") {
            if (this.data("contextMenu") != null) {
              return this.data("contextMenu").$menu;
            }
            return[];
          } else {
            if (operation) {
              this.removeClass("context-menu-disabled");
            } else {
              if (!operation) {
                this.addClass("context-menu-disabled");
              }
            }
          }
        }
      }
    }
    return this;
  };
  $.contextMenu = function(operation, options) {
    if (typeof operation != "string") {
      options = operation;
      operation = "create";
    }
    if (typeof options == "string") {
      options = {selector:options};
    } else {
      if (options === undefined) {
        options = {};
      }
    }
    var o = $.extend(true, {}, defaults, options || {}), $document = $(document);
    switch(operation) {
      case "create":
        if (!o.selector) {
          throw new Error("No selector specified");
        }
        if (o.selector.match(/.context-menu-(list|item|input)($|\s)/)) {
          throw new Error('Cannot bind to selector "' + o.selector + '" as it contains a reserved className');
        }
        if (!o.build && (!o.items || $.isEmptyObject(o.items))) {
          throw new Error("No Items sepcified");
        }
        counter++;
        o.ns = ".contextMenu" + counter;
        namespaces[o.selector] = o.ns;
        menus[o.ns] = o;
        if (!o.trigger) {
          o.trigger = "right";
        }
        if (!initialized) {
          $document.on({"contextmenu:hide.contextMenu":handle.hideMenu, "prevcommand.contextMenu":handle.prevItem, "nextcommand.contextMenu":handle.nextItem, "contextmenu.contextMenu":handle.abortevent, "mouseenter.contextMenu":handle.menuMouseenter, "mouseleave.contextMenu":handle.menuMouseleave}, ".context-menu-list").on("mouseup.contextMenu", ".context-menu-input", handle.inputClick).on({"mouseup.contextMenu":handle.itemClick, "contextmenu:focus.contextMenu":handle.focusItem, "contextmenu:blur.contextMenu":handle.blurItem, 
          "contextmenu.contextMenu":handle.abortevent, "mouseenter.contextMenu":handle.itemMouseenter, "mouseleave.contextMenu":handle.itemMouseleave}, ".context-menu-item");
          initialized = true;
        }
        $document.on("contextmenu" + o.ns, o.selector, o, handle.contextmenu);
        switch(o.trigger) {
          case "hover":
            $document.on("mouseenter" + o.ns, o.selector, o, handle.mouseenter).on("mouseleave" + o.ns, o.selector, o, handle.mouseleave);
            break;
          case "left":
            $document.on("click" + o.ns, o.selector, o, handle.click);
            break;
        }
        if (!o.build) {
          op.create(o);
        }
        break;
      case "destroy":
        if (!o.selector) {
          $document.off(".contextMenu .contextMenuAutoHide");
          $.each(namespaces, function(key, value) {
            $document.off(value);
          });
          namespaces = {};
          menus = {};
          counter = 0;
          initialized = false;
          $("#context-menu-layer, .context-menu-list").remove();
        } else {
          if (namespaces[o.selector]) {
            var $visibleMenu = $(".context-menu-list").filter(":visible");
            if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {
              $visibleMenu.trigger("contextmenu:hide", {force:true});
            }
            try {
              if (menus[namespaces[o.selector]].$menu) {
                menus[namespaces[o.selector]].$menu.remove();
              }
              delete menus[namespaces[o.selector]];
            } catch (e) {
              menus[namespaces[o.selector]] = null;
            }
            $document.off(namespaces[o.selector]);
          }
        }
        break;
      case "html5":
        if (!$.support.htmlCommand && !$.support.htmlMenuitem || typeof options == "boolean" && options) {
          $('menu[type="context"]').each(function() {
            if (this.id) {
              $.contextMenu({selector:"[contextmenu=" + this.id + "]", items:$.contextMenu.fromMenu(this)});
            }
          }).css("display", "none");
        }
        break;
      default:
        throw new Error('Unknown operation "' + operation + '"');;
    }
    return this;
  };
  $.contextMenu.setInputValues = function(opt, data) {
    if (data === undefined) {
      data = {};
    }
    $.each(opt.inputs, function(key, item) {
      switch(item.type) {
        case "text":
        ;
        case "textarea":
          item.value = data[key] || "";
          break;
        case "checkbox":
          item.selected = data[key] ? true : false;
          break;
        case "radio":
          item.selected = (data[item.radio] || "") == item.value ? true : false;
          break;
        case "select":
          item.selected = data[key] || "";
          break;
      }
    });
  };
  $.contextMenu.getInputValues = function(opt, data) {
    if (data === undefined) {
      data = {};
    }
    $.each(opt.inputs, function(key, item) {
      switch(item.type) {
        case "text":
        ;
        case "textarea":
        ;
        case "select":
          data[key] = item.$input.val();
          break;
        case "checkbox":
          data[key] = item.$input.prop("checked");
          break;
        case "radio":
          if (item.$input.prop("checked")) {
            data[item.radio] = item.value;
          }
          break;
      }
    });
    return data;
  };
  function inputLabel(node) {
    return node.id && $('label[for="' + node.id + '"]').val() || node.name;
  }
  function menuChildren(items, $children, counter) {
    if (!counter) {
      counter = 0;
    }
    $children.each(function() {
      var $node = $(this), node = this, nodeName = this.nodeName.toLowerCase(), label, item;
      if (nodeName == "label" && $node.find("input, textarea, select").length) {
        label = $node.text();
        $node = $node.children().first();
        node = $node.get(0);
        nodeName = node.nodeName.toLowerCase();
      }
      switch(nodeName) {
        case "menu":
          item = {name:$node.attr("label"), items:{}};
          counter = menuChildren(item.items, $node.children(), counter);
          break;
        case "a":
        ;
        case "button":
          item = {name:$node.text(), disabled:!!$node.attr("disabled"), callback:function() {
            return function() {
              $node.click();
            };
          }()};
          break;
        case "menuitem":
        ;
        case "command":
          switch($node.attr("type")) {
            case undefined:
            ;
            case "command":
            ;
            case "menuitem":
              item = {name:$node.attr("label"), disabled:!!$node.attr("disabled"), callback:function() {
                return function() {
                  $node.click();
                };
              }()};
              break;
            case "checkbox":
              item = {type:"checkbox", disabled:!!$node.attr("disabled"), name:$node.attr("label"), selected:!!$node.attr("checked")};
              break;
            case "radio":
              item = {type:"radio", disabled:!!$node.attr("disabled"), name:$node.attr("label"), radio:$node.attr("radiogroup"), value:$node.attr("id"), selected:!!$node.attr("checked")};
              break;
            default:
              item = undefined;
          }
          break;
        case "hr":
          item = "-------";
          break;
        case "input":
          switch($node.attr("type")) {
            case "text":
              item = {type:"text", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), value:$node.val()};
              break;
            case "checkbox":
              item = {type:"checkbox", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), selected:!!$node.attr("checked")};
              break;
            case "radio":
              item = {type:"radio", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), radio:!!$node.attr("name"), value:$node.val(), selected:!!$node.attr("checked")};
              break;
            default:
              item = undefined;
              break;
          }
          break;
        case "select":
          item = {type:"select", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), selected:$node.val(), options:{}};
          $node.children().each(function() {
            item.options[this.value] = $(this).text();
          });
          break;
        case "textarea":
          item = {type:"textarea", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), value:$node.val()};
          break;
        case "label":
          break;
        default:
          item = {type:"html", html:$node.clone(true)};
          break;
      }
      if (item) {
        counter++;
        items["key" + counter] = item;
      }
    });
    return counter;
  }
  $.contextMenu.fromMenu = function(element) {
    var $this = $(element), items = {};
    menuChildren(items, $this.children());
    return items;
  };
  $.contextMenu.defaults = defaults;
  $.contextMenu.types = types;
})(jQuery);
var EditableSelectWrapper = function(id) {
  this.id = id;
  this.element = null;
  this.values = new Array;
  this.list_height = 0;
  this.list_item_height = 20;
  this.UpdateValues = function(values) {
    delete this.values;
    this.values = new Array;
    var li = new Array;
    for (var i = 0;i < values.length;i++) {
      var value = values[i];
      li.push('<li value="' + i + '" class="' + value.cssClass + '">' + value.text + "</li>");
      this.values.push(value.value);
    }
    this.element.html("<ul>" + li.join("\n") + "</ul>");
    var me = this;
    this.element.bindEx("mouseup", function(e) {
      var li = e.target;
      if (li.tagName.toUpperCase() != "LI") {
        return;
      }
      var $li = $(e.target);
      e.stopPropagation();
      this.currentContext.pickListItem($li.text(), me.currentContext.getListValue(li.value));
    }, this).bindEx("mousedown", function(e) {
      e.stopPropagation();
    }, this);
    this.adjustHeight();
    this.checkScroll(10);
  };
  this.adjustHeight = function() {
    this.element.css("visibility", "hidden");
    this.element.show();
    var elements = this.element.find("li");
    if (elements.length > 0) {
      this.list_item_height = elements[0].offsetHeight;
    }
    this.element.css("visibility", "visible");
    this.element.hide();
  };
  this.checkScroll = function(items_then_scroll) {
    if (this.element.find("li").length > items_then_scroll) {
      this.list_height = this.list_item_height * items_then_scroll;
      this.element.css("height", this.list_height + "px");
      this.element.css("overflow", "auto");
    } else {
      this.element.css("height", "auto");
      this.element.css("overflow", "visible");
    }
  };
  this.getListValue = function(index) {
    return this.values[index];
  };
  this.clearHighlightMatches = function() {
    this.element.find("li").removeClass("match");
  };
  this.highlightSelected = function(text) {
    var current_value = toLower(text);
    this.clearHighlightMatches();
    var matches = this.getMatchItems(current_value);
    $(matches).addClass("match");
    if (matches.length > 0) {
      this.selectListItem($(matches[0]));
    } else {
      this.selectFirstListItem();
    }
  };
  this.getMatchItemNext = function(text) {
    var current_value = toLower(text);
    var matches = this.getMatchItems(current_value);
    var current = this.getSelectedListItem();
    if (current.length > 0 && matches.length > 1) {
      var index = matches.indexOf(current[0]);
      if (index < matches.length - 1) {
        return $(matches[index + 1]);
      } else {
        return $(matches[0]);
      }
    }
    return null;
  };
  this.getMatchItemPrev = function(text) {
    var current_value = toLower(text);
    var matches = this.getMatchItems(current_value);
    var current = this.getSelectedListItem();
    if (current.length > 0 && matches.length > 1) {
      var index = matches.indexOf(current[0]);
      if (index > 0) {
        return $(matches[index - 1]);
      } else {
        return $(matches[matches.length - 1]);
      }
    }
    return null;
  };
  this.getMatchItems = function(text) {
    var result = [];
    if (isEmpty(text)) {
      return result;
    }
    var pattern = text.replace(/([$-/:-?{-~!"^_`\[\]\\])/g, "\\$1");
    var elements = this.element.find("li");
    for (var i = 0;i < elements.length;i++) {
      var li = elements[i];
      var li_text = toLower(!isEmpty(li.textContent) ? li.textContent : li.innerText);
      var li_value = toLower(this.getListValue(li.value));
      if (QB.Web.Grid.QuickFilterInExpressionMatchFromBeginning) {
        pattern = "(^" + text + ")|([.]" + text + ")";
      }
      if (text == li_text || text == li_value) {
        result.push(li);
      } else {
        if (li_text.test(pattern) || li_value.test(pattern)) {
          result.push(li);
        }
      }
    }
    return result;
  };
  this.clearSelectedListItem = function() {
    this.element.find("li.selected").removeClass("selected");
  };
  this.selectNewListItem = function(text, direction, userEdit) {
    var li = this.getSelectedListItem();
    if (!li.length) {
      li = this.selectFirstListItem();
    }
    var sib = null;
    if (direction == "down") {
      if (userEdit) {
        sib = this.getMatchItemNext(text);
      }
      if (sib == null) {
        sib = li.next();
      }
    } else {
      if (direction == "up") {
        if (userEdit) {
          sib = this.getMatchItemPrev(text);
        }
        if (sib == null) {
          sib = li.prev();
        }
      }
    }
    if (sib != null) {
      this.selectListItem(sib);
      this.unselectListItem(li);
    }
  };
  this.selectListItem = function(li) {
    this.clearSelectedListItem();
    li.addClass("selected");
    this.scrollToListItem(li);
  };
  this.selectFirstListItem = function() {
    var first = this.element.find("li:first");
    this.selectListItem(first);
    return first;
  };
  this.unselectListItem = function(list_item) {
    list_item.removeClass("selected");
  };
  this.getSelectedListItem = function() {
    return this.element.find("li.selected");
  };
  this.scrollToListItem = function(list_item) {
    if (this.list_height && (list_item != null && list_item.length > 0)) {
      this.element.scrollTop(list_item[0].offsetTop - this.list_height / 2);
    }
  };
  this.init = function() {
    this.element = $('<div class="editable-select-options"></div>').appendTo($(document.body));
  };
  this.init();
};
var EditableSelectStatic = {wrappers:{}, instances:[], handlers:{}, inited:false, context:null, init:function() {
  this.initEvents();
  this.inited = true;
}, initEvents:function() {
}, GetWrapper:function(wrapperId) {
  if (isEmpty(wrapperId) || isEmpty(this.wrappers[wrapperId])) {
    this.wrappers[wrapperId] = new EditableSelectWrapper(wrapperId);
  }
  return this.wrappers[wrapperId];
}, UpdateWrapper:function(id, values) {
  this.GetWrapper(id).UpdateValues(values);
}};
(function($) {
  $.fn.editableSelect = function(options) {
    if (!EditableSelectStatic.inited) {
      EditableSelectStatic.init();
    }
    var me = this;
    var defaults = {bg_iframe:false, onSelect:true, items_then_scroll:10, case_sensitive:false};
    var settings = $.extend(defaults, options);
    var instance = false;
    $(this).each(function(i, domElement) {
      var element = $(domElement);
      if (element.data("editable-selecter") == undefined) {
        EditableSelectStatic.instances.push(new EditableSelect(domElement, settings));
        element.data("editable-selecter", EditableSelectStatic.instances.length - 1);
      }
    });
    return $(this);
  };
  $.fn.editableSelectInstances = function() {
    var ret = [];
    $(this).each(function() {
      if ($(this).data("editable-selecter") !== undefined) {
        ret[ret.length] = EditableSelectStatic.instances[$(this).data("editable-selecter")];
      }
    });
    return ret;
  };
  var EditableSelect = function(select, settings) {
    this.init(select, settings);
  };
  EditableSelect.prototype = {isActive:false, settings:false, textControl:false, select:false, wrapper:false, wrapperId:null, list_is_visible:false, hide_on_blur_timeout:false, bg_iframe:false, padding_right:13, current_value:"", options_value:[], userEdit:false, autoShow:false, init:function(select, settings) {
    this.settings = settings;
    this.wrapperId = this.settings.wrapperId;
    this.wrapper = EditableSelectStatic.GetWrapper(this.wrapperId);
    this.handler = this.settings.onSelect;
    if (!isEmpty(this.wrapperId)) {
      EditableSelectStatic.handlers[this.wrapperId] = this.settings.onSelect;
    }
    this.options = [];
    if (!isEmpty(this.settings.options)) {
      this.options = this.settings.options;
    }
    this.select = $(select);
    this.textControl = $('<input type="text">');
    this.textControl.attr("aria-label", this.select.attr("aria-label"));
    this.textControl.val(this.settings.value);
    this.textControl.attr("name", this.select.attr("name"));
    this.textControl.data("editable-selecter", this.select.data("editable-selecter"));
    this.select.attr("disabled", "disabled");
    var id = this.select.attr("id");
    if (!id) {
      id = "editable-select" + EditableSelectStatic.instances.length;
    }
    this.id = id;
    this.textControl.attr("id", id);
    this.textControl.attr("autocomplete", "off");
    this.textControl.addClass("editable-select");
    this.select.attr("id", id + "_hidden_select");
    this.initInputEvents(this.textControl, this);
    this.duplicateOptions();
    this.positionElements();
    this.setWidths();
    if (this.settings.bg_iframe) {
      var bg_iframe = $('<iframe frameborder="0" class="editable-select-iframe" src="about:blank;"></iframe>');
      $(document.body).append(bg_iframe);
      bg_iframe.width(this.select.width() + 2);
      bg_iframe.height(this.wrapper.element.height());
      bg_iframe.css({top:this.wrapper.element.css("top"), left:this.wrapper.element.css("left")});
      this.bg_iframe = bg_iframe;
    }
  }, duplicateOptions:function() {
    var me = this;
    var wrapperCleared = false;
    var values = new Array;
    this.select.find("option").each(function(index, option) {
      var $option = $(option);
      var text = $option.text();
      var val = $option.attr("value");
      var selected = false;
      if ($option.attr("selected") || option.selected) {
        me.textControl.val(text);
        me.current_value = text;
        me.current_options_value = val;
        selected = true;
      }
      var cssClass = $option.attr("class");
      values.push({selected:selected, text:text, value:val, cssClass:cssClass});
    });
    if (values.length > 0) {
      this.wrapper.UpdateValues(values);
      this.wrapper.element.addClass("disable-selection");
      this.wrapper.checkScroll(this.settings.items_then_scroll);
    }
  }, getControl:function() {
    return this.textControl;
  }, onSelect:function(e) {
    var context = this.wrapper.currentContext;
    if (typeof context.handler == "function") {
      context.handler.call(context, context.textControl, e);
    }
  }, editStart:function() {
    if (this.isActive) {
      return;
    }
    this.isActive = true;
    this.current_value = this.textControl.val();
    this.userEdit = false;
    this.adjustWrapper(this);
    if (this.autoShow) {
      this.showList();
    }
  }, editEnd:function(e) {
    if (!this.isActive) {
      return;
    }
    this.wrapper.clearSelectedListItem();
    this.hideList();
    this.onSelect(e);
    this.isActive = false;
  }, onTextboxChanged:function(reset_options_value) {
    if (this.textControl.val() != this.current_value) {
      this.userEdit = true;
      this.current_value = this.textControl.val();
      this.wrapper.highlightSelected(this.textControl.val());
    }
  }, initInputEvents:function(textControl, me2) {
    var me = this;
    var timer = false;
    textControl.focus(function(e) {
      me.editStart();
    }).blur(function(e) {
      if (!me.list_is_visible) {
        me.editEnd(e);
      }
    }).click(function(e) {
      e.stopPropagation();
      me.editStart();
      if (e.pageX - $(this).offset().left > $(this).width() - 16) {
        if (me.list_is_visible) {
          me.hideList();
        } else {
          me.showList();
        }
      }
    }).keydown(function(e) {
      me.isActive = true;
      switch(e.keyCode) {
        case 40:
          if (!me.listIsVisible()) {
            me.showList();
          } else {
            e.preventDefault();
            me.wrapper.selectNewListItem(me.textControl.val(), "down", me.userEdit);
          }
          break;
        case 38:
          if (!me.listIsVisible()) {
            me.showList();
          } else {
            e.preventDefault();
            me.wrapper.selectNewListItem(me.textControl.val(), "up", me.userEdit);
          }
          break;
        case 9:
          var $li = me.wrapper.getSelectedListItem();
          if ($li.length) {
            me.pickListItem($li.text(), me.getListValue($li[0].value));
          }
          break;
        case 27:
          e.preventDefault();
          me.editEnd();
          return false;
          break;
        case 13:
          e.preventDefault();
          if (!me.list_is_visible) {
            me.editEnd();
          } else {
            var $li = me.wrapper.getSelectedListItem();
            if ($li.length) {
              me.pickListItem($li.text(), me.getListValue($li[0].value));
            }
          }
          return false;
          break;
      }
    }).keyup($.debounce(me.onTextboxChanged, 100, me)).keypress(function(e) {
      if (e.keyCode == 13) {
        e.preventDefault();
        return false;
      }
    });
  }, pickListItem:function(text, val) {
    this.current_value = text;
    this.current_options_value = val;
    this.textControl.val(val);
    this.editEnd();
  }, listIsVisible:function() {
    return this.list_is_visible;
  }, adjustWrapper:function(context) {
    this.adjustWrapperPosition();
    this.adjustWrapperSize();
    EditableSelectStatic.context = context;
    this.wrapper.currentContext = context;
  }, adjustWrapperPosition:function() {
    var offset = this.textControl.offset();
    offset.top += this.textControl[0].offsetHeight;
    this.wrapper.element.css({top:offset.top + "px", left:offset.left + "px"});
  }, adjustWrapperSize:function() {
    var width = this.textControl[0].clientWidth;
    this.wrapper.element.width(width);
    this.textControl.width(width);
  }, showList:function() {
    this.hideOtherLists();
    this.overlay = new $.ui.editableSelectOverlay.overlay(this);
    this.wrapper.element.show();
    this.adjustWrapper(this);
    this.list_is_visible = true;
    if (this.settings.bg_iframe) {
      this.bg_iframe.show();
    }
    this.wrapper.checkScroll(10);
    this.wrapper.highlightSelected(this.textControl.val());
  }, getListValue:function(index) {
    return this.wrapper.values[index];
  }, hideList:function() {
    if (this.overlay != null) {
      this.overlay.destroy();
    }
    this.wrapper.element.hide();
    this.list_is_visible = false;
    if (this.settings.bg_iframe) {
      this.bg_iframe.hide();
    }
  }, hideOtherLists:function() {
    for (var i = 0;i < EditableSelectStatic.instances.length;i++) {
      if (i != this.select.data("editable-selecter")) {
        EditableSelectStatic.instances[i].hideList();
      }
    }
  }, positionElements:function() {
    this.select.after(this.textControl);
    this.select.hide();
    $(document.body).append(this.wrapper.element);
  }, setWidths:function() {
    var width = this.select.width() + 2 * 0;
    if (this.bg_iframe) {
      this.bg_iframe.width(width + 4);
    }
  }};
  $.ui.editableSelectOverlay = {overlay:function(dialog) {
    this.$el = $.ui.editableSelectOverlay.overlay.create(dialog);
  }};
  $.extend($.ui.editableSelectOverlay.overlay, {self:this, instances:[], oldInstances:[], maxZ:4E3, events:$.map("focus,mousedown,keydown,keypress".split(","), function(event) {
    return event + ".dialog-overlay";
  }).join(" "), create:function(dialog) {
    if (this.instances.length === 0) {
      $(window).bind("resize.dialog-overlay", $.ui.editableSelectOverlay.overlay.resize);
    }
    var $el = $('<div class="editable-select-options-overlay"></div>').appendTo(dialog.textControl.parent()).css({width:this.width(), height:this.height()});
    $el.bind("mousedown.dialog-overlay", function(event) {
      dialog.editEnd();
      var element = document.elementFromPoint(event.clientX, event.clientY);
      if (element != null) {
        try {
          var eventName = "click";
          if (element.dispatchEvent) {
            var e = document.createEvent("MouseEvent");
            e.initMouseEvent(eventName, true, true, window, 0, event.screenX, event.screenY, event.clientX, event.clientY, false, false, false, false, 0, null);
            element.dispatchEvent(e);
          } else {
            if (element.fireEvent) {
              element.fireEvent("on" + eventName);
            }
          }
        } catch (err) {
        }
      }
    });
    if ($.fn.bgiframe) {
      $el.bgiframe();
    }
    this.instances.push($el);
    return $el;
  }, destroy:function($el) {
    if ($el != null) {
      $el.remove();
    }
    if (this.instances.length === 0) {
      $([document, window]).unbind(".dialog-overlay");
    }
  }, height:function() {
    var scrollHeight, offsetHeight;
    return $(document).height() + "px";
  }, width:function() {
    var scrollWidth, offsetWidth;
    return $(document).width() + "px";
  }, resize:function() {
    var $overlays = $([]);
    $.each($.ui.editableSelectOverlay.overlay.instances, function() {
      $overlays = $overlays.add(this);
    });
    $overlays.css({width:0, height:0}).css({width:$.ui.editableSelectOverlay.overlay.width(), height:$.ui.editableSelectOverlay.overlay.height()});
  }});
  $.extend($.ui.editableSelectOverlay.overlay.prototype, {destroy:function() {
    $.ui.editableSelectOverlay.overlay.destroy(this.$el);
  }});
})(jQuery);
(function($) {
  var R = $.refresh = $.fn.refresh = function(a, b, c) {
    return R.setup(opts.apply(this, arguments));
  };
  function opts(a, b, c) {
    var r = $.extend({}, R);
    if (typeof a == "string") {
      r.url = a;
      if (b && !$.isFunction(b)) {
        r.time = b;
      } else {
        c = b;
      }
      if (c) {
        r.success = c;
      }
    } else {
      $.extend(r, a);
    }
    if (!r.method) {
      r.method = $.rest ? "Read" : "ajax";
    }
    if (!r.target) {
      r.target = this ? this : $;
    }
    if (!r.type && !$.rest) {
      r.type = "GET";
    }
    return r;
  }
  $.extend(R, {version:"0.5", url:null, time:178, success:null, method:null, setup:function(r) {
    if (r.cancel) {
      r.cancel();
    }
    r.id = setInterval(function() {
      r.refresh(r);
    }, r.time * 1E3);
    r.cancel = function() {
      clearInterval(r.id);
      return r;
    };
    return r;
  }, refresh:function(r) {
    if (r.lastReturn) {
      delete r.lastReturn;
    }
    r.lastReturn = r.target[r.method](r);
  }});
})(jQuery);
jQuery.tableDnD = {currentTable:null, dragObject:null, mouseOffset:null, oldY:0, build:function(options) {
  this.each(function() {
    this.tableDnDConfig = jQuery.extend({onDragStyle:null, onDropStyle:null, onDragClass:"tDnD_whileDrag", onDrop:null, onDragStart:null, scrollAmount:5, serializeRegexp:/[^\-]*$/, serializeParamName:null, dragHandle:null}, options || {});
    jQuery.tableDnD.makeDraggable(this);
  });
  jQuery(document).bind("mousemove", jQuery.tableDnD.mousemove).bind("mouseup", jQuery.tableDnD.mouseup);
  return this;
}, makeDraggable:function(table) {
  var config = table.tableDnDConfig;
  if (table.tableDnDConfig.dragHandle) {
    $(document).on("mousedown", "#qb-ui-grid td." + table.tableDnDConfig.dragHandle, function(ev) {
      jQuery.tableDnD.dragObject = this.parentNode;
      jQuery.tableDnD.currentTable = table;
      jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
      if (config.onDragStart) {
        config.onDragStart(table, this);
      }
      return false;
    });
  } else {
    var rows = jQuery("tr", table);
    $(document).on("mousedown", "#qb-ui-grid table td." + table.tableDnDConfig.dragHandle, function(ev) {
      if (ev.target.tagName == "TD") {
        jQuery.tableDnD.dragObject = this;
        jQuery.tableDnD.currentTable = table;
        jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
        if (config.onDragStart) {
          config.onDragStart(table, this);
        }
        return false;
      }
    });
  }
}, updateTables:function() {
  this.each(function() {
    if (this.tableDnDConfig) {
      jQuery.tableDnD.makeDraggable(this);
    }
  });
}, mouseCoords:function(ev) {
  if (ev.pageX || ev.pageY) {
    return{x:ev.pageX, y:ev.pageY};
  }
  return{x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop};
}, getMouseOffset:function(target, ev) {
  ev = ev || window.event;
  var docPos = this.getPosition(target);
  var mousePos = this.mouseCoords(ev);
  return{x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}, getPosition:function(e) {
  var left = 0;
  var top = 0;
  if (e.offsetHeight == 0) {
    e = e.firstChild;
  }
  while (e.offsetParent) {
    left += e.offsetLeft;
    top += e.offsetTop;
    e = e.offsetParent;
  }
  left += e.offsetLeft;
  top += e.offsetTop;
  return{x:left, y:top};
}, mousemove:function(ev) {
  if (jQuery.tableDnD.dragObject == null) {
    return;
  }
  var dragObj = jQuery(jQuery.tableDnD.dragObject);
  var config = jQuery.tableDnD.currentTable.tableDnDConfig;
  var mousePos = jQuery.tableDnD.mouseCoords(ev);
  var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
  var yOffset = window.pageYOffset;
  if (document.all) {
    if (typeof document.compatMode != "undefined" && document.compatMode != "BackCompat") {
      yOffset = document.documentElement.scrollTop;
    } else {
      if (typeof document.body != "undefined") {
        yOffset = document.body.scrollTop;
      }
    }
  }
  if (mousePos.y - yOffset < config.scrollAmount) {
    window.scrollBy(0, -config.scrollAmount);
  } else {
    var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
    if (windowHeight - (mousePos.y - yOffset) < config.scrollAmount) {
      window.scrollBy(0, config.scrollAmount);
    }
  }
  if (y != jQuery.tableDnD.oldY) {
    var movingDown = y > jQuery.tableDnD.oldY;
    jQuery.tableDnD.oldY = y;
    if (config.onDragClass) {
      dragObj.addClass(config.onDragClass);
    } else {
      dragObj.css(config.onDragStyle);
    }
    var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
    if (currentRow && currentRow.className != "ui-qb-grid-row-header") {
      if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
        jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
      } else {
        if (!movingDown && jQuery.tableDnD.dragObject != currentRow) {
          jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
        }
      }
    }
  }
  return false;
}, findDropTargetRow:function(draggedRow, y) {
  var rows = jQuery.tableDnD.currentTable.rows;
  for (var i = 0;i < rows.length;i++) {
    var row = rows[i];
    var rowY = this.getPosition(row).y;
    var rowHeight = parseInt(row.offsetHeight) / 2;
    if (row.offsetHeight == 0) {
      rowY = this.getPosition(row.firstChild).y;
      rowHeight = parseInt(row.firstChild.offsetHeight) / 2;
    }
    if (y > rowY - rowHeight && y < rowY + rowHeight) {
      if (row == draggedRow) {
        return null;
      }
      var config = jQuery.tableDnD.currentTable.tableDnDConfig;
      if (config.onAllowDrop) {
        if (config.onAllowDrop(draggedRow, row)) {
          return row;
        } else {
          return null;
        }
      } else {
        var nodrop = jQuery(row).hasClass("nodrop");
        if (!nodrop) {
          return row;
        } else {
          return null;
        }
      }
      return row;
    }
  }
  return null;
}, mouseup:function(e) {
  if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
    var droppedRow = jQuery.tableDnD.dragObject;
    var config = jQuery.tableDnD.currentTable.tableDnDConfig;
    if (config.onDragClass) {
      jQuery(droppedRow).removeClass(config.onDragClass);
    } else {
      jQuery(droppedRow).css(config.onDropStyle);
    }
    jQuery.tableDnD.dragObject = null;
    if (config.onDrop) {
      config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
    }
    jQuery.tableDnD.currentTable = null;
  }
}, serialize:function() {
  if (jQuery.tableDnD.currentTable) {
    return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
  } else {
    return "Error: No Table id set, you need to set an id on your table and every row";
  }
}, serializeTable:function(table) {
  var result = "";
  var tableId = table.id;
  var rows = table.rows;
  for (var i = 0;i < rows.length;i++) {
    if (result.length > 0) {
      result += "&";
    }
    var rowId = rows[i].id;
    if (rowId && (rowId && (table.tableDnDConfig && table.tableDnDConfig.serializeRegexp))) {
      rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
    }
    result += tableId + "[]=" + rowId;
  }
  return result;
}, serializeTables:function() {
  var result = "";
  this.each(function() {
    result += jQuery.tableDnD.serializeTable(this);
  });
  return result;
}};
jQuery.fn.extend({tableDnD:jQuery.tableDnD.build, tableDnDUpdate:jQuery.tableDnD.updateTables, tableDnDSerialize:jQuery.tableDnD.serializeTables});
(function($) {
  $.widget("ui.selectmenu", {options:{appendTo:"body", typeAhead:1E3, style:"dropdown", positionOptions:null, width:null, menuWidth:null, handleWidth:26, maxHeight:null, icons:null, format:null, escapeHtml:false, bgImage:function() {
  }}, _create:function() {
    var self = this, o = this.options;
    var selectmenuId = this.element.uniqueId().attr("id");
    this.ids = [selectmenuId, selectmenuId + "-button", selectmenuId + "-menu"];
    this._safemouseup = true;
    this.isOpen = false;
    this.newelement = $("<a />", {"class":"ui-selectmenu ui-widget ui-state-default ui-corner-all", "id":this.ids[1], "role":"button", "href":"#nogo", "tabindex":this.element.attr("disabled") ? 1 : 0, "aria-haspopup":true, "aria-owns":this.ids[2]});
    this.newelementWrap = $("<span />").append(this.newelement).insertAfter(this.element);
    var tabindex = this.element.attr("tabindex");
    if (tabindex) {
      this.newelement.attr("tabindex", tabindex);
    }
    this.newelement.data("selectelement", this.element);
    this.selectmenuIcon = $('<span class="ui-selectmenu-icon ui-icon"></span>').prependTo(this.newelement);
    this.newelement.prepend('<span class="ui-selectmenu-status" />');
    this.element.bind({"click.selectmenu":function(event) {
      self.newelement.focus();
      event.preventDefault();
    }});
    this.newelement.bind("mousedown.selectmenu", function(event) {
      self._toggle(event, true);
      if (o.style == "popup") {
        self._safemouseup = false;
        setTimeout(function() {
          self._safemouseup = true;
        }, 300);
      }
      event.preventDefault();
    }).bind("click.selectmenu", function(event) {
      event.preventDefault();
    }).bind("keydown.selectmenu", function(event) {
      var ret = false;
      switch(event.keyCode) {
        case $.ui.keyCode.ENTER:
          ret = true;
          break;
        case $.ui.keyCode.SPACE:
          self._toggle(event);
          break;
        case $.ui.keyCode.UP:
          if (event.altKey) {
            self.open(event);
          } else {
            self._moveSelection(-1);
          }
          break;
        case $.ui.keyCode.DOWN:
          if (event.altKey) {
            self.open(event);
          } else {
            self._moveSelection(1);
          }
          break;
        case $.ui.keyCode.LEFT:
          self._moveSelection(-1);
          break;
        case $.ui.keyCode.RIGHT:
          self._moveSelection(1);
          break;
        case $.ui.keyCode.TAB:
          ret = true;
          break;
        case $.ui.keyCode.PAGE_UP:
        ;
        case $.ui.keyCode.HOME:
          self.index(0);
          break;
        case $.ui.keyCode.PAGE_DOWN:
        ;
        case $.ui.keyCode.END:
          self.index(self._optionLis.length);
          break;
        default:
          ret = true;
      }
      return ret;
    }).bind("keypress.selectmenu", function(event) {
      if (event.which > 0) {
        self._typeAhead(event.which, "mouseup");
      }
      return true;
    }).bind("mouseover.selectmenu", function() {
      if (!o.disabled) {
        $(this).addClass("ui-state-hover");
      }
    }).bind("mouseout.selectmenu", function() {
      if (!o.disabled) {
        $(this).removeClass("ui-state-hover");
      }
    }).bind("focus.selectmenu", function() {
      if (!o.disabled) {
        $(this).addClass("ui-state-focus");
      }
    }).bind("blur.selectmenu", function() {
      if (!o.disabled) {
        $(this).removeClass("ui-state-focus");
      }
    });
    $(document).bind("mousedown.selectmenu-" + this.ids[0], function(event) {
      if (self.isOpen && !$(event.target).closest("#" + self.ids[1]).length) {
        self.close(event);
      }
    });
    this.element.bind("click.selectmenu", function() {
      self._refreshValue();
    }).bind("focus.selectmenu", function() {
      if (self.newelement) {
        self.newelement[0].focus();
      }
    });
    if (!o.width) {
      o.width = this.element.outerWidth();
    }
    this.newelement.width(o.width);
    this.element.hide();
    this.list = $("<ul />", {"class":"ui-widget ui-widget-content", "aria-hidden":true, "role":"listbox", "aria-labelledby":this.ids[1], "id":this.ids[2]});
    this.listWrap = $("<div />", {"class":"ui-selectmenu-menu"}).append(this.list).appendTo(o.appendTo);
    this.list.bind("keydown.selectmenu", function(event) {
      var ret = false;
      switch(event.keyCode) {
        case $.ui.keyCode.UP:
          if (event.altKey) {
            self.close(event, true);
          } else {
            self._moveFocus(-1);
          }
          break;
        case $.ui.keyCode.DOWN:
          if (event.altKey) {
            self.close(event, true);
          } else {
            self._moveFocus(1);
          }
          break;
        case $.ui.keyCode.LEFT:
          self._moveFocus(-1);
          break;
        case $.ui.keyCode.RIGHT:
          self._moveFocus(1);
          break;
        case $.ui.keyCode.HOME:
          self._moveFocus(":first");
          break;
        case $.ui.keyCode.PAGE_UP:
          self._scrollPage("up");
          break;
        case $.ui.keyCode.PAGE_DOWN:
          self._scrollPage("down");
          break;
        case $.ui.keyCode.END:
          self._moveFocus(":last");
          break;
        case $.ui.keyCode.ENTER:
        ;
        case $.ui.keyCode.SPACE:
          self.close(event, true);
          $(event.target).parents("li:eq(0)").trigger("mouseup");
          break;
        case $.ui.keyCode.TAB:
          ret = true;
          self.close(event, true);
          $(event.target).parents("li:eq(0)").trigger("mouseup");
          break;
        case $.ui.keyCode.ESCAPE:
          self.close(event, true);
          break;
        default:
          ret = true;
      }
      return ret;
    }).bind("keypress.selectmenu", function(event) {
      if (event.which > 0) {
        self._typeAhead(event.which, "focus");
      }
      return true;
    }).bind("mousedown.selectmenu mouseup.selectmenu", function() {
      return false;
    });
    $(window).bind("resize.selectmenu-" + this.ids[0], $.proxy(self.close, this));
  }, _init:function() {
    var self = this, o = this.options;
    var selectOptionData = [];
    this.element.find("option").each(function() {
      var opt = $(this);
      selectOptionData.push({value:opt.attr("value"), text:self._formatText(opt.text(), opt), selected:opt.attr("selected"), disabled:opt.attr("disabled"), classes:opt.attr("class"), typeahead:opt.attr("typeahead"), parentOptGroup:opt.parent("optgroup"), bgImage:o.bgImage.call(opt)});
    });
    var activeClass = self.options.style == "popup" ? " ui-state-active" : "";
    this.list.html("");
    if (selectOptionData.length) {
      for (var i = 0;i < selectOptionData.length;i++) {
        var thisLiAttr = {role:"presentation"};
        if (selectOptionData[i].disabled) {
          thisLiAttr["class"] = "ui-state-disabled";
        }
        var thisAAttr = {html:selectOptionData[i].text || "&nbsp;", href:"#nogo", tabindex:-1, role:"option", "aria-selected":false};
        if (selectOptionData[i].disabled) {
          thisAAttr["aria-disabled"] = true;
        }
        if (selectOptionData[i].typeahead) {
          thisAAttr["typeahead"] = selectOptionData[i].typeahead;
        }
        var thisA = $("<a/>", thisAAttr).bind("focus.selectmenu", function() {
          $(this).parent().mouseover();
        }).bind("blur.selectmenu", function() {
          $(this).parent().mouseout();
        });
        var thisLi = $("<li/>", thisLiAttr).append(thisA).data("index", i).addClass(selectOptionData[i].classes).data("optionClasses", selectOptionData[i].classes || "").bind("mouseup.selectmenu", function(event) {
          if (self._safemouseup && (!self._disabled(event.currentTarget) && !self._disabled($(event.currentTarget).parents("ul > li.ui-selectmenu-group ")))) {
            self.index($(this).data("index"));
            self.select(event);
            self.close(event, true);
          }
          return false;
        }).bind("click.selectmenu", function() {
          return false;
        }).bind("mouseover.selectmenu", function(e) {
          if (!$(this).hasClass("ui-state-disabled") && !$(this).parent("ul").parent("li").hasClass("ui-state-disabled")) {
            e.optionValue = self.element[0].options[$(this).data("index")].value;
            self._trigger("hover", e, self._uiHash());
            self._selectedOptionLi().addClass(activeClass);
            self._focusedOptionLi().removeClass("ui-selectmenu-item-focus ui-state-hover");
            $(this).removeClass("ui-state-active").addClass("ui-selectmenu-item-focus ui-state-hover");
          }
        }).bind("mouseout.selectmenu", function(e) {
          if ($(this).is(self._selectedOptionLi())) {
            $(this).addClass(activeClass);
          }
          e.optionValue = self.element[0].options[$(this).data("index")].value;
          self._trigger("blur", e, self._uiHash());
          $(this).removeClass("ui-selectmenu-item-focus ui-state-hover");
        });
        if (selectOptionData[i].parentOptGroup.length) {
          var optGroupName = "ui-selectmenu-group-" + this.element.find("optgroup").index(selectOptionData[i].parentOptGroup);
          if (this.list.find("li." + optGroupName).length) {
            this.list.find("li." + optGroupName + ":last ul").append(thisLi);
          } else {
            $('<li role="presentation" class="ui-selectmenu-group ' + optGroupName + (selectOptionData[i].parentOptGroup.attr("disabled") ? " " + 'ui-state-disabled" aria-disabled="true"' : '"') + '><span class="ui-selectmenu-group-label">' + selectOptionData[i].parentOptGroup.attr("label") + "</span><ul></ul></li>").appendTo(this.list).find("ul").append(thisLi);
          }
        } else {
          thisLi.appendTo(this.list);
        }
        if (o.icons) {
          for (var j in o.icons) {
            if (thisLi.is(o.icons[j].find)) {
              thisLi.data("optionClasses", selectOptionData[i].classes + " ui-selectmenu-hasIcon").addClass("ui-selectmenu-hasIcon");
              var iconClass = o.icons[j].icon || "";
              thisLi.find("a:eq(0)").prepend('<span class="ui-selectmenu-item-icon ui-icon ' + iconClass + '"></span>');
              if (selectOptionData[i].bgImage) {
                thisLi.find("span").css("background-image", selectOptionData[i].bgImage);
              }
            }
          }
        }
      }
    } else {
      $('<li role="presentation"><a href="#nogo" tabindex="-1" role="option"></a></li>').appendTo(this.list);
    }
    var isDropDown = o.style == "dropdown";
    this.newelement.toggleClass("ui-selectmenu-dropdown", isDropDown).toggleClass("ui-selectmenu-popup", !isDropDown);
    this.list.toggleClass("ui-selectmenu-menu-dropdown ui-corner-bottom", isDropDown).toggleClass("ui-selectmenu-menu-popup ui-corner-all", !isDropDown).find("li:first").toggleClass("ui-corner-top", !isDropDown).end().find("li:last").addClass("ui-corner-bottom");
    this.selectmenuIcon.toggleClass("ui-icon-triangle-1-s", isDropDown).toggleClass("ui-icon-triangle-2-n-s", !isDropDown);
    if (o.style == "dropdown") {
      this.list.width(o.menuWidth ? o.menuWidth : o.width);
    } else {
      this.list.width(o.menuWidth ? o.menuWidth : o.width - o.handleWidth);
    }
    if (!navigator.userAgent.match(/Android 2/)) {
      var listH = this.listWrap.height();
      var winH = $(window).height();
      var maxH = o.maxHeight ? Math.min(o.maxHeight, winH) : winH / 3;
      if (listH > maxH) {
        this.list.height(maxH);
      }
    }
    this._optionLis = this.list.find("li:not(.ui-selectmenu-group)");
    if (this.element.attr("disabled")) {
      this.disable();
    } else {
      this.enable();
    }
    this._refreshValue();
    this._selectedOptionLi().addClass("ui-selectmenu-item-focus");
    clearTimeout(this.refreshTimeout);
    this.refreshTimeout = window.setTimeout(function() {
      self._refreshPosition();
    }, 200);
  }, destroy:function() {
    this.element.removeData(this.widgetName).removeClass("ui-selectmenu-disabled" + " " + "ui-state-disabled").removeAttr("aria-disabled").unbind(".selectmenu");
    $(window).unbind(".selectmenu-" + this.ids[0]);
    $(document).unbind(".selectmenu-" + this.ids[0]);
    this.newelementWrap.remove();
    this.listWrap.remove();
    this.element.unbind(".selectmenu").show();
    $.Widget.prototype.destroy.apply(this, arguments);
  }, _typeAhead:function(code, eventType) {
    var self = this, c = String.fromCharCode(code).toLowerCase(), matchee = null, nextIndex = null;
    if (self._typeAhead_timer) {
      window.clearTimeout(self._typeAhead_timer);
      self._typeAhead_timer = undefined;
    }
    self._typeAhead_chars = (self._typeAhead_chars === undefined ? "" : self._typeAhead_chars).concat(c);
    if (self._typeAhead_chars.length < 2 || self._typeAhead_chars.substr(-2, 1) === c && self._typeAhead_cycling) {
      self._typeAhead_cycling = true;
      matchee = c;
    } else {
      self._typeAhead_cycling = false;
      matchee = self._typeAhead_chars;
    }
    var selectedIndex = (eventType !== "focus" ? this._selectedOptionLi().data("index") : this._focusedOptionLi().data("index")) || 0;
    for (var i = 0;i < this._optionLis.length;i++) {
      var thisText = this._optionLis.eq(i).text().substr(0, matchee.length).toLowerCase();
      if (thisText === matchee) {
        if (self._typeAhead_cycling) {
          if (nextIndex === null) {
            nextIndex = i;
          }
          if (i > selectedIndex) {
            nextIndex = i;
            break;
          }
        } else {
          nextIndex = i;
        }
      }
    }
    if (nextIndex !== null) {
      this._optionLis.eq(nextIndex).find("a").trigger(eventType);
    }
    self._typeAhead_timer = window.setTimeout(function() {
      self._typeAhead_timer = undefined;
      self._typeAhead_chars = undefined;
      self._typeAhead_cycling = undefined;
    }, self.options.typeAhead);
  }, _uiHash:function() {
    var index = this.index();
    return{index:index, option:$("option", this.element).get(index), value:this.element[0].value};
  }, open:function(event) {
    if (this.newelement.attr("aria-disabled") != "true") {
      var self = this, o = this.options, selected = this._selectedOptionLi(), link = selected.find("a");
      self._closeOthers(event);
      self.newelement.addClass("ui-state-active");
      self.list.attr("aria-hidden", false);
      self.listWrap.addClass("ui-selectmenu-open");
      if (o.style == "dropdown") {
        self.newelement.removeClass("ui-corner-all").addClass("ui-corner-top");
      } else {
        this.list.css("left", -5E3).scrollTop(this.list.scrollTop() + selected.position().top - this.list.outerHeight() / 2 + selected.outerHeight() / 2).css("left", "auto");
      }
      self._refreshPosition();
      if (link.length) {
        link[0].focus();
      }
      self.isOpen = true;
      self._trigger("open", event, self._uiHash());
    }
  }, close:function(event, retainFocus) {
    if (this.newelement.is(".ui-state-active")) {
      this.newelement.removeClass("ui-state-active");
      this.listWrap.removeClass("ui-selectmenu-open");
      this.list.attr("aria-hidden", true);
      if (this.options.style == "dropdown") {
        this.newelement.removeClass("ui-corner-top").addClass("ui-corner-all");
      }
      if (retainFocus) {
        this.newelement.focus();
      }
      this.isOpen = false;
      this._trigger("close", event, this._uiHash());
    }
  }, change:function(event) {
    this.element.trigger("change");
    this._trigger("change", event, this._uiHash());
  }, select:function(event) {
    if (this._disabled(event.currentTarget)) {
      return false;
    }
    this._trigger("select", event, this._uiHash());
  }, widget:function() {
    return this.listWrap.add(this.newelementWrap);
  }, _closeOthers:function(event) {
    $(".ui-selectmenu.ui-state-active").not(this.newelement).each(function() {
      $(this).data("selectelement").selectmenu("close", event);
    });
    $(".ui-selectmenu.ui-state-hover").trigger("mouseout");
  }, _toggle:function(event, retainFocus) {
    if (this.isOpen) {
      this.close(event, retainFocus);
    } else {
      this.open(event);
    }
  }, _formatText:function(text, opt) {
    if (this.options.format) {
      text = this.options.format(text, opt);
    } else {
      if (this.options.escapeHtml) {
        text = $("<div />").text(text).html();
      }
    }
    return text;
  }, _selectedIndex:function() {
    return this.element[0].selectedIndex;
  }, _selectedOptionLi:function() {
    return this._optionLis.eq(this._selectedIndex());
  }, _focusedOptionLi:function() {
    return this.list.find(".ui-selectmenu-item-focus");
  }, _moveSelection:function(amt, recIndex) {
    if (!this.options.disabled) {
      var currIndex = parseInt(this._selectedOptionLi().data("index") || 0, 10);
      var newIndex = currIndex + amt;
      if (newIndex < 0) {
        newIndex = 0;
      }
      if (newIndex > this._optionLis.size() - 1) {
        newIndex = this._optionLis.size() - 1;
      }
      if (newIndex === recIndex) {
        return false;
      }
      if (this._optionLis.eq(newIndex).hasClass("ui-state-disabled")) {
        amt > 0 ? ++amt : --amt;
        this._moveSelection(amt, newIndex);
      } else {
        this._optionLis.eq(newIndex).trigger("mouseover").trigger("mouseup");
      }
    }
  }, _moveFocus:function(amt, recIndex) {
    if (!isNaN(amt)) {
      var currIndex = parseInt(this._focusedOptionLi().data("index") || 0, 10);
      var newIndex = currIndex + amt;
    } else {
      var newIndex = parseInt(this._optionLis.filter(amt).data("index"), 10)
    }
    if (newIndex < 0) {
      newIndex = 0;
    }
    if (newIndex > this._optionLis.size() - 1) {
      newIndex = this._optionLis.size() - 1;
    }
    if (newIndex === recIndex) {
      return false;
    }
    var activeID = "ui-selectmenu-item-" + Math.round(Math.random() * 1E3);
    this._focusedOptionLi().find("a:eq(0)").attr("id", "");
    if (this._optionLis.eq(newIndex).hasClass("ui-state-disabled")) {
      amt > 0 ? ++amt : --amt;
      this._moveFocus(amt, newIndex);
    } else {
      this._optionLis.eq(newIndex).find("a:eq(0)").attr("id", activeID).focus();
    }
    this.list.attr("aria-activedescendant", activeID);
  }, _scrollPage:function(direction) {
    var numPerPage = Math.floor(this.list.outerHeight() / this._optionLis.first().outerHeight());
    numPerPage = direction == "up" ? -numPerPage : numPerPage;
    this._moveFocus(numPerPage);
  }, _setOption:function(key, value) {
    this.options[key] = value;
    if (key == "disabled") {
      if (value) {
        this.close();
      }
      this.element.add(this.newelement).add(this.list)[value ? "addClass" : "removeClass"]("ui-selectmenu-disabled " + "ui-state-disabled").attr("aria-disabled", value).attr("tabindex", value ? 1 : 0);
    }
  }, disable:function(index, type) {
    if (typeof index == "undefined") {
      this._setOption("disabled", true);
    } else {
      this._toggleEnabled(type || "option", index, false);
    }
  }, enable:function(index, type) {
    if (typeof index == "undefined") {
      this._setOption("disabled", false);
    } else {
      this._toggleEnabled(type || "option", index, true);
    }
  }, _disabled:function(elem) {
    return $(elem).hasClass("ui-state-disabled");
  }, _toggleEnabled:function(type, index, flag) {
    var element = this.element.find(type).eq(index), elements = type === "optgroup" ? this.list.find("li.ui-selectmenu-group-" + index) : this._optionLis.eq(index);
    if (elements) {
      elements.toggleClass("ui-state-disabled", !flag).attr("aria-disabled", !flag);
      if (flag) {
        element.removeAttr("disabled");
      } else {
        element.attr("disabled", "disabled");
      }
    }
  }, index:function(newIndex) {
    if (arguments.length) {
      if (!this._disabled($(this._optionLis[newIndex])) && newIndex != this._selectedIndex()) {
        this.element[0].selectedIndex = newIndex;
        this._refreshValue();
        this.change();
      } else {
        return false;
      }
    } else {
      return this._selectedIndex();
    }
  }, value:function(newValue) {
    if (arguments.length && newValue != this.element[0].value) {
      this.element[0].value = newValue;
      this._refreshValue();
      this.change();
    } else {
      return this.element[0].value;
    }
  }, _refreshValue:function() {
    var activeClass = this.options.style == "popup" ? " ui-state-active" : "";
    var activeID = "ui-selectmenu-item-" + Math.round(Math.random() * 1E3);
    this.list.find(".ui-selectmenu-item-selected").removeClass("ui-selectmenu-item-selected" + activeClass).find("a").attr("aria-selected", "false").attr("id", "");
    this._selectedOptionLi().addClass("ui-selectmenu-item-selected" + activeClass).find("a").attr("aria-selected", "true").attr("id", activeID);
    var currentOptionClasses = this.newelement.data("optionClasses") ? this.newelement.data("optionClasses") : "";
    var newOptionClasses = this._selectedOptionLi().data("optionClasses") ? this._selectedOptionLi().data("optionClasses") : "";
    this.newelement.removeClass(currentOptionClasses).data("optionClasses", newOptionClasses).addClass(newOptionClasses).find(".ui-selectmenu-status").html(this._selectedOptionLi().find("a:eq(0)").html());
    this.list.attr("aria-activedescendant", activeID);
  }, _refreshPosition:function() {
    var o = this.options, positionDefault = {of:this.newelement, my:"left top", at:"left bottom", collision:"flip"};
    if (o.style == "popup") {
      var selected = this._selectedOptionLi();
      positionDefault.my = "left top" + (this.list.offset().top - selected.offset().top - (this.newelement.outerHeight() + selected.outerHeight()) / 2);
      positionDefault.collision = "fit";
    }
    this.listWrap.removeAttr("style").zIndex(this.element.zIndex() + 2).position($.extend(positionDefault, o.positionOptions));
  }});
})(jQuery);
(function(glob) {
  var version = "0.4.2", has = "hasOwnProperty", separator = /[\.\/]/, wildcard = "*", fun = function() {
  }, numsort = function(a, b) {
    return a - b;
  }, current_event, stop, events = {n:{}}, eve = function(name, scope) {
    name = String(name);
    var e = events, oldstop = stop, args = Array.prototype.slice.call(arguments, 2), listeners = eve.listeners(name), z = 0, f = false, l, indexed = [], queue = {}, out = [], ce = current_event, errors = [];
    current_event = name;
    stop = 0;
    for (var i = 0, ii = listeners.length;i < ii;i++) {
      if ("zIndex" in listeners[i]) {
        indexed.push(listeners[i].zIndex);
        if (listeners[i].zIndex < 0) {
          queue[listeners[i].zIndex] = listeners[i];
        }
      }
    }
    indexed.sort(numsort);
    while (indexed[z] < 0) {
      l = queue[indexed[z++]];
      out.push(l.apply(scope, args));
      if (stop) {
        stop = oldstop;
        return out;
      }
    }
    for (i = 0;i < ii;i++) {
      l = listeners[i];
      if ("zIndex" in l) {
        if (l.zIndex == indexed[z]) {
          out.push(l.apply(scope, args));
          if (stop) {
            break;
          }
          do {
            z++;
            l = queue[indexed[z]];
            l && out.push(l.apply(scope, args));
            if (stop) {
              break;
            }
          } while (l);
        } else {
          queue[l.zIndex] = l;
        }
      } else {
        out.push(l.apply(scope, args));
        if (stop) {
          break;
        }
      }
    }
    stop = oldstop;
    current_event = ce;
    return out.length ? out : null;
  };
  eve._events = events;
  eve.listeners = function(name) {
    var names = name.split(separator), e = events, item, items, k, i, ii, j, jj, nes, es = [e], out = [];
    for (i = 0, ii = names.length;i < ii;i++) {
      nes = [];
      for (j = 0, jj = es.length;j < jj;j++) {
        e = es[j].n;
        items = [e[names[i]], e[wildcard]];
        k = 2;
        while (k--) {
          item = items[k];
          if (item) {
            nes.push(item);
            out = out.concat(item.f || []);
          }
        }
      }
      es = nes;
    }
    return out;
  };
  eve.on = function(name, f) {
    name = String(name);
    if (typeof f != "function") {
      return function() {
      };
    }
    var names = name.split(separator), e = events;
    for (var i = 0, ii = names.length;i < ii;i++) {
      e = e.n;
      e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n:{}});
    }
    e.f = e.f || [];
    for (i = 0, ii = e.f.length;i < ii;i++) {
      if (e.f[i] == f) {
        return fun;
      }
    }
    e.f.push(f);
    return function(zIndex) {
      if (+zIndex == +zIndex) {
        f.zIndex = +zIndex;
      }
    };
  };
  eve.f = function(event) {
    var attrs = [].slice.call(arguments, 1);
    return function() {
      eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));
    };
  };
  eve.stop = function() {
    stop = 1;
  };
  eve.nt = function(subname) {
    if (subname) {
      return(new RegExp("(?:\\.|\\/|^)" + subname + "(?:\\.|\\/|$)")).test(current_event);
    }
    return current_event;
  };
  eve.nts = function() {
    return current_event.split(separator);
  };
  eve.off = eve.unbind = function(name, f) {
    if (!name) {
      eve._events = events = {n:{}};
      return;
    }
    var names = name.split(separator), e, key, splice, i, ii, j, jj, cur = [events];
    for (i = 0, ii = names.length;i < ii;i++) {
      for (j = 0;j < cur.length;j += splice.length - 2) {
        splice = [j, 1];
        e = cur[j].n;
        if (names[i] != wildcard) {
          if (e[names[i]]) {
            splice.push(e[names[i]]);
          }
        } else {
          for (key in e) {
            if (e[has](key)) {
              splice.push(e[key]);
            }
          }
        }
        cur.splice.apply(cur, splice);
      }
    }
    for (i = 0, ii = cur.length;i < ii;i++) {
      e = cur[i];
      while (e.n) {
        if (f) {
          if (e.f) {
            for (j = 0, jj = e.f.length;j < jj;j++) {
              if (e.f[j] == f) {
                e.f.splice(j, 1);
                break;
              }
            }
            !e.f.length && delete e.f;
          }
          for (key in e.n) {
            if (e.n[has](key) && e.n[key].f) {
              var funcs = e.n[key].f;
              for (j = 0, jj = funcs.length;j < jj;j++) {
                if (funcs[j] == f) {
                  funcs.splice(j, 1);
                  break;
                }
              }
              !funcs.length && delete e.n[key].f;
            }
          }
        } else {
          delete e.f;
          for (key in e.n) {
            if (e.n[has](key) && e.n[key].f) {
              delete e.n[key].f;
            }
          }
        }
        e = e.n;
      }
    }
  };
  eve.once = function(name, f) {
    var f2 = function() {
      eve.unbind(name, f2);
      return f.apply(this, arguments);
    };
    return eve.on(name, f2);
  };
  eve.version = version;
  eve.toString = function() {
    return "You are running Eve " + version;
  };
  typeof module != "undefined" && module.exports ? module.exports = eve : typeof define != "undefined" ? define("eve", [], function() {
    return eve;
  }) : glob.eve = eve;
})(window || this);
(function(glob, factory) {
  if (typeof define === "function" && define.amd) {
    define(["eve"], function(eve) {
      return factory(glob, eve);
    });
  } else {
    factory(glob, glob.eve);
  }
})(this, function(window, eve) {
  function R(first) {
    if (R.is(first, "function")) {
      return loaded ? first() : eve.on("raphael.DOMload", first);
    } else {
      if (R.is(first, array)) {
        return R._engine.create[apply](R, first.splice(0, 3 + R.is(first[0], nu))).add(first);
      } else {
        var args = Array.prototype.slice.call(arguments, 0);
        if (R.is(args[args.length - 1], "function")) {
          var f = args.pop();
          return loaded ? f.call(R._engine.create[apply](R, args)) : eve.on("raphael.DOMload", function() {
            f.call(R._engine.create[apply](R, args));
          });
        } else {
          return R._engine.create[apply](R, arguments);
        }
      }
    }
  }
  R.version = "2.1.2";
  R.eve = eve;
  var loaded, separator = /[, ]+/, elements = {circle:1, rect:1, path:1, ellipse:1, text:1, image:1}, formatrg = /\{(\d+)\}/g, proto = "prototype", has = "hasOwnProperty", g = {doc:document, win:window}, oldRaphael = {was:Object.prototype[has].call(g.win, "Raphael"), is:g.win.Raphael}, Paper = function() {
    this.ca = this.customAttributes = {};
  }, paperproto, appendChild = "appendChild", apply = "apply", concat = "concat", supportsTouch = "ontouchstart" in g.win || g.win.DocumentTouch && g.doc instanceof DocumentTouch, E = "", S = " ", Str = String, split = "split", events = "click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[split](S), touchMap = {mousedown:"touchstart", mousemove:"touchmove", mouseup:"touchend"}, lowerCase = Str.prototype.toLowerCase, math = Math, mmax = math.max, 
  mmin = math.min, abs = math.abs, pow = math.pow, PI = math.PI, nu = "number", string = "string", array = "array", toString = "toString", fillString = "fill", objectToString = Object.prototype.toString, paper = {}, push = "push", ISURL = R._ISURL = /^url\(['"]?([^\)]+?)['"]?\)$/i, colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i, 
  isnan = {"NaN":1, "Infinity":1, "-Infinity":1}, bezierrg = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, round = math.round, setAttribute = "setAttribute", toFloat = parseFloat, toInt = parseInt, upperCase = Str.prototype.toUpperCase, availableAttrs = R._availableAttrs = {"arrow-end":"none", "arrow-start":"none", blur:0, "clip-rect":"0 0 1e9 1e9", cursor:"default", cx:0, cy:0, fill:"#fff", "fill-opacity":1, font:'10px "Arial"', "font-family":'"Arial"', "font-size":"10", "font-style":"normal", 
  "font-weight":400, gradient:0, height:0, href:"http://raphaeljs.com/", "letter-spacing":0, opacity:1, path:"M0,0", r:0, rx:0, ry:0, src:"", stroke:"#000", "stroke-dasharray":"", "stroke-linecap":"butt", "stroke-linejoin":"butt", "stroke-miterlimit":0, "stroke-opacity":1, "stroke-width":1, target:"_blank", "text-anchor":"middle", title:"Raphael", transform:"", width:0, x:0, y:0}, availableAnimAttrs = R._availableAnimAttrs = {blur:nu, "clip-rect":"csv", cx:nu, cy:nu, fill:"colour", "fill-opacity":nu, 
  "font-size":nu, height:nu, opacity:nu, path:"path", r:nu, rx:nu, ry:nu, stroke:"colour", "stroke-opacity":nu, "stroke-width":nu, transform:"transform", width:nu, x:nu, y:nu}, whitespace = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]/g, commaSpaces = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/, 
  hsrg = {hs:1, rg:1}, p2s = /,?([achlmqrstvxz]),?/gi, pathCommand = /([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, 
  tCommand = /([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, pathValues = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig, 
  radial_gradient = R._radial_gradient = /^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/, eldata = {}, sortByKey = function(a, b) {
    return a.key - b.key;
  }, sortByNumber = function(a, b) {
    return toFloat(a) - toFloat(b);
  }, fun = function() {
  }, pipe = function(x) {
    return x;
  }, rectPath = R._rectPath = function(x, y, w, h, r) {
    if (r) {
      return[["M", x + r, y], ["l", w - r * 2, 0], ["a", r, r, 0, 0, 1, r, r], ["l", 0, h - r * 2], ["a", r, r, 0, 0, 1, -r, r], ["l", r * 2 - w, 0], ["a", r, r, 0, 0, 1, -r, -r], ["l", 0, r * 2 - h], ["a", r, r, 0, 0, 1, r, -r], ["z"]];
    }
    return[["M", x, y], ["l", w, 0], ["l", 0, h], ["l", -w, 0], ["z"]];
  }, ellipsePath = function(x, y, rx, ry) {
    if (ry == null) {
      ry = rx;
    }
    return[["M", x, y], ["m", 0, -ry], ["a", rx, ry, 0, 1, 1, 0, 2 * ry], ["a", rx, ry, 0, 1, 1, 0, -2 * ry], ["z"]];
  }, getPath = R._getPath = {path:function(el) {
    return el.attr("path");
  }, circle:function(el) {
    var a = el.attrs;
    return ellipsePath(a.cx, a.cy, a.r);
  }, ellipse:function(el) {
    var a = el.attrs;
    return ellipsePath(a.cx, a.cy, a.rx, a.ry);
  }, rect:function(el) {
    var a = el.attrs;
    return rectPath(a.x, a.y, a.width, a.height, a.r);
  }, image:function(el) {
    var a = el.attrs;
    return rectPath(a.x, a.y, a.width, a.height);
  }, text:function(el) {
    var bbox = el._getBBox();
    return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
  }, set:function(el) {
    var bbox = el._getBBox();
    return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
  }}, mapPath = R.mapPath = function(path, matrix) {
    if (!matrix) {
      return path;
    }
    var x, y, i, j, ii, jj, pathi;
    path = path2curve(path);
    for (i = 0, ii = path.length;i < ii;i++) {
      pathi = path[i];
      for (j = 1, jj = pathi.length;j < jj;j += 2) {
        x = matrix.x(pathi[j], pathi[j + 1]);
        y = matrix.y(pathi[j], pathi[j + 1]);
        pathi[j] = x;
        pathi[j + 1] = y;
      }
    }
    return path;
  };
  R._g = g;
  R.type = g.win.SVGAngle || g.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML";
  if (R.type == "VML") {
    var d = g.doc.createElement("div"), b;
    d.innerHTML = '<v:shape adj="1"/>';
    b = d.firstChild;
    b.style.behavior = "url(#default#VML)";
    if (!(b && typeof b.adj == "object")) {
      return R.type = E;
    }
    d = null;
  }
  R.svg = !(R.vml = R.type == "VML");
  R._Paper = Paper;
  R.fn = paperproto = Paper.prototype = R.prototype;
  R._id = 0;
  R._oid = 0;
  R.is = function(o, type) {
    type = lowerCase.call(type);
    if (type == "finite") {
      return!isnan[has](+o);
    }
    if (type == "array") {
      return o instanceof Array;
    }
    return type == "null" && o === null || (type == typeof o && o !== null || (type == "object" && o === Object(o) || (type == "array" && (Array.isArray && Array.isArray(o)) || objectToString.call(o).slice(8, -1).toLowerCase() == type)));
  };
  function clone(obj) {
    if (typeof obj == "function" || Object(obj) !== obj) {
      return obj;
    }
    var res = new obj.constructor;
    for (var key in obj) {
      if (obj[has](key)) {
        res[key] = clone(obj[key]);
      }
    }
    return res;
  }
  R.angle = function(x1, y1, x2, y2, x3, y3) {
    if (x3 == null) {
      var x = x1 - x2, y = y1 - y2;
      if (!x && !y) {
        return 0;
      }
      return(180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;
    } else {
      return R.angle(x1, y1, x3, y3) - R.angle(x2, y2, x3, y3);
    }
  };
  R.rad = function(deg) {
    return deg % 360 * PI / 180;
  };
  R.deg = function(rad) {
    return rad * 180 / PI % 360;
  };
  R.snapTo = function(values, value, tolerance) {
    tolerance = R.is(tolerance, "finite") ? tolerance : 10;
    if (R.is(values, array)) {
      var i = values.length;
      while (i--) {
        if (abs(values[i] - value) <= tolerance) {
          return values[i];
        }
      }
    } else {
      values = +values;
      var rem = value % values;
      if (rem < tolerance) {
        return value - rem;
      }
      if (rem > values - tolerance) {
        return value - rem + values;
      }
    }
    return value;
  };
  var createUUID = R.createUUID = function(uuidRegEx, uuidReplacer) {
    return function() {
      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(uuidRegEx, uuidReplacer).toUpperCase();
    };
  }(/[xy]/g, function(c) {
    var r = math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
    return v.toString(16);
  });
  R.setWindow = function(newwin) {
    eve("raphael.setWindow", R, g.win, newwin);
    g.win = newwin;
    g.doc = g.win.document;
    if (R._engine.initWin) {
      R._engine.initWin(g.win);
    }
  };
  var toHex = function(color) {
    if (R.vml) {
      var trim = /^\s+|\s+$/g;
      var bod;
      try {
        var docum = new ActiveXObject("htmlfile");
        docum.write("<body>");
        docum.close();
        bod = docum.body;
      } catch (e) {
        bod = createPopup().document.body;
      }
      var range = bod.createTextRange();
      toHex = cacher(function(color) {
        try {
          bod.style.color = Str(color).replace(trim, E);
          var value = range.queryCommandValue("ForeColor");
          value = (value & 255) << 16 | value & 65280 | (value & 16711680) >>> 16;
          return "#" + ("000000" + value.toString(16)).slice(-6);
        } catch (e) {
          return "none";
        }
      });
    } else {
      var i = g.doc.createElement("i");
      i.title = "Rapha\u00ebl Colour Picker";
      i.style.display = "none";
      g.doc.body.appendChild(i);
      toHex = cacher(function(color) {
        i.style.color = color;
        return g.doc.defaultView.getComputedStyle(i, E).getPropertyValue("color");
      });
    }
    return toHex(color);
  }, hsbtoString = function() {
    return "hsb(" + [this.h, this.s, this.b] + ")";
  }, hsltoString = function() {
    return "hsl(" + [this.h, this.s, this.l] + ")";
  }, rgbtoString = function() {
    return this.hex;
  }, prepareRGB = function(r, g, b) {
    if (g == null && (R.is(r, "object") && ("r" in r && ("g" in r && "b" in r)))) {
      b = r.b;
      g = r.g;
      r = r.r;
    }
    if (g == null && R.is(r, string)) {
      var clr = R.getRGB(r);
      r = clr.r;
      g = clr.g;
      b = clr.b;
    }
    if (r > 1 || (g > 1 || b > 1)) {
      r /= 255;
      g /= 255;
      b /= 255;
    }
    return[r, g, b];
  }, packageRGB = function(r, g, b, o) {
    r *= 255;
    g *= 255;
    b *= 255;
    var rgb = {r:r, g:g, b:b, hex:R.rgb(r, g, b), toString:rgbtoString};
    R.is(o, "finite") && (rgb.opacity = o);
    return rgb;
  };
  R.color = function(clr) {
    var rgb;
    if (R.is(clr, "object") && ("h" in clr && ("s" in clr && "b" in clr))) {
      rgb = R.hsb2rgb(clr);
      clr.r = rgb.r;
      clr.g = rgb.g;
      clr.b = rgb.b;
      clr.hex = rgb.hex;
    } else {
      if (R.is(clr, "object") && ("h" in clr && ("s" in clr && "l" in clr))) {
        rgb = R.hsl2rgb(clr);
        clr.r = rgb.r;
        clr.g = rgb.g;
        clr.b = rgb.b;
        clr.hex = rgb.hex;
      } else {
        if (R.is(clr, "string")) {
          clr = R.getRGB(clr);
        }
        if (R.is(clr, "object") && ("r" in clr && ("g" in clr && "b" in clr))) {
          rgb = R.rgb2hsl(clr);
          clr.h = rgb.h;
          clr.s = rgb.s;
          clr.l = rgb.l;
          rgb = R.rgb2hsb(clr);
          clr.v = rgb.b;
        } else {
          clr = {hex:"none"};
          clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;
        }
      }
    }
    clr.toString = rgbtoString;
    return clr;
  };
  R.hsb2rgb = function(h, s, v, o) {
    if (this.is(h, "object") && ("h" in h && ("s" in h && "b" in h))) {
      v = h.b;
      s = h.s;
      h = h.h;
      o = h.o;
    }
    h *= 360;
    var R, G, B, X, C;
    h = h % 360 / 60;
    C = v * s;
    X = C * (1 - abs(h % 2 - 1));
    R = G = B = v - C;
    h = ~~h;
    R += [C, X, 0, 0, X, C][h];
    G += [X, C, C, X, 0, 0][h];
    B += [0, 0, X, C, C, X][h];
    return packageRGB(R, G, B, o);
  };
  R.hsl2rgb = function(h, s, l, o) {
    if (this.is(h, "object") && ("h" in h && ("s" in h && "l" in h))) {
      l = h.l;
      s = h.s;
      h = h.h;
    }
    if (h > 1 || (s > 1 || l > 1)) {
      h /= 360;
      s /= 100;
      l /= 100;
    }
    h *= 360;
    var R, G, B, X, C;
    h = h % 360 / 60;
    C = 2 * s * (l < 0.5 ? l : 1 - l);
    X = C * (1 - abs(h % 2 - 1));
    R = G = B = l - C / 2;
    h = ~~h;
    R += [C, X, 0, 0, X, C][h];
    G += [X, C, C, X, 0, 0][h];
    B += [0, 0, X, C, C, X][h];
    return packageRGB(R, G, B, o);
  };
  R.rgb2hsb = function(r, g, b) {
    b = prepareRGB(r, g, b);
    r = b[0];
    g = b[1];
    b = b[2];
    var H, S, V, C;
    V = mmax(r, g, b);
    C = V - mmin(r, g, b);
    H = C == 0 ? null : V == r ? (g - b) / C : V == g ? (b - r) / C + 2 : (r - g) / C + 4;
    H = (H + 360) % 6 * 60 / 360;
    S = C == 0 ? 0 : C / V;
    return{h:H, s:S, b:V, toString:hsbtoString};
  };
  R.rgb2hsl = function(r, g, b) {
    b = prepareRGB(r, g, b);
    r = b[0];
    g = b[1];
    b = b[2];
    var H, S, L, M, m, C;
    M = mmax(r, g, b);
    m = mmin(r, g, b);
    C = M - m;
    H = C == 0 ? null : M == r ? (g - b) / C : M == g ? (b - r) / C + 2 : (r - g) / C + 4;
    H = (H + 360) % 6 * 60 / 360;
    L = (M + m) / 2;
    S = C == 0 ? 0 : L < 0.5 ? C / (2 * L) : C / (2 - 2 * L);
    return{h:H, s:S, l:L, toString:hsltoString};
  };
  R._path2string = function() {
    return this.join(",").replace(p2s, "$1");
  };
  function repush(array, item) {
    for (var i = 0, ii = array.length;i < ii;i++) {
      if (array[i] === item) {
        return array.push(array.splice(i, 1)[0]);
      }
    }
  }
  function cacher(f, scope, postprocessor) {
    function newf() {
      var arg = Array.prototype.slice.call(arguments, 0), args = arg.join("\u2400"), cache = newf.cache = newf.cache || {}, count = newf.count = newf.count || [];
      if (cache[has](args)) {
        repush(count, args);
        return postprocessor ? postprocessor(cache[args]) : cache[args];
      }
      count.length >= 1E3 && delete cache[count.shift()];
      count.push(args);
      cache[args] = f[apply](scope, arg);
      return postprocessor ? postprocessor(cache[args]) : cache[args];
    }
    return newf;
  }
  var preload = R._preload = function(src, f) {
    var img = g.doc.createElement("img");
    img.style.cssText = "position:absolute;left:-9999em;top:-9999em";
    img.onload = function() {
      f.call(this);
      this.onload = null;
      g.doc.body.removeChild(this);
    };
    img.onerror = function() {
      g.doc.body.removeChild(this);
    };
    g.doc.body.appendChild(img);
    img.src = src;
  };
  function clrToString() {
    return this.hex;
  }
  R.getRGB = cacher(function(colour) {
    if (!colour || !!((colour = Str(colour)).indexOf("-") + 1)) {
      return{r:-1, g:-1, b:-1, hex:"none", error:1, toString:clrToString};
    }
    if (colour == "none") {
      return{r:-1, g:-1, b:-1, hex:"none", toString:clrToString};
    }
    !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == "#") && (colour = toHex(colour));
    var res, red, green, blue, opacity, t, values, rgb = colour.match(colourRegExp);
    if (rgb) {
      if (rgb[2]) {
        blue = toInt(rgb[2].substring(5), 16);
        green = toInt(rgb[2].substring(3, 5), 16);
        red = toInt(rgb[2].substring(1, 3), 16);
      }
      if (rgb[3]) {
        blue = toInt((t = rgb[3].charAt(3)) + t, 16);
        green = toInt((t = rgb[3].charAt(2)) + t, 16);
        red = toInt((t = rgb[3].charAt(1)) + t, 16);
      }
      if (rgb[4]) {
        values = rgb[4][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        rgb[1].toLowerCase().slice(0, 4) == "rgba" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
      }
      if (rgb[5]) {
        values = rgb[5][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\u00b0") && (red /= 360);
        rgb[1].toLowerCase().slice(0, 4) == "hsba" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
        return R.hsb2rgb(red, green, blue, opacity);
      }
      if (rgb[6]) {
        values = rgb[6][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\u00b0") && (red /= 360);
        rgb[1].toLowerCase().slice(0, 4) == "hsla" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
        return R.hsl2rgb(red, green, blue, opacity);
      }
      rgb = {r:red, g:green, b:blue, toString:clrToString};
      rgb.hex = "#" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);
      R.is(opacity, "finite") && (rgb.opacity = opacity);
      return rgb;
    }
    return{r:-1, g:-1, b:-1, hex:"none", error:1, toString:clrToString};
  }, R);
  R.hsb = cacher(function(h, s, b) {
    return R.hsb2rgb(h, s, b).hex;
  });
  R.hsl = cacher(function(h, s, l) {
    return R.hsl2rgb(h, s, l).hex;
  });
  R.rgb = cacher(function(r, g, b) {
    return "#" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);
  });
  R.getColor = function(value) {
    var start = this.getColor.start = this.getColor.start || {h:0, s:1, b:value || 0.75}, rgb = this.hsb2rgb(start.h, start.s, start.b);
    start.h += 0.075;
    if (start.h > 1) {
      start.h = 0;
      start.s -= 0.2;
      start.s <= 0 && (this.getColor.start = {h:0, s:1, b:start.b});
    }
    return rgb.hex;
  };
  R.getColor.reset = function() {
    delete this.start;
  };
  function catmullRom2bezier(crp, z) {
    var d = [];
    for (var i = 0, iLen = crp.length;iLen - 2 * !z > i;i += 2) {
      var p = [{x:+crp[i - 2], y:+crp[i - 1]}, {x:+crp[i], y:+crp[i + 1]}, {x:+crp[i + 2], y:+crp[i + 3]}, {x:+crp[i + 4], y:+crp[i + 5]}];
      if (z) {
        if (!i) {
          p[0] = {x:+crp[iLen - 2], y:+crp[iLen - 1]};
        } else {
          if (iLen - 4 == i) {
            p[3] = {x:+crp[0], y:+crp[1]};
          } else {
            if (iLen - 2 == i) {
              p[2] = {x:+crp[0], y:+crp[1]};
              p[3] = {x:+crp[2], y:+crp[3]};
            }
          }
        }
      } else {
        if (iLen - 4 == i) {
          p[3] = p[2];
        } else {
          if (!i) {
            p[0] = {x:+crp[i], y:+crp[i + 1]};
          }
        }
      }
      d.push(["C", (-p[0].x + 6 * p[1].x + p[2].x) / 6, (-p[0].y + 6 * p[1].y + p[2].y) / 6, (p[1].x + 6 * p[2].x - p[3].x) / 6, (p[1].y + 6 * p[2].y - p[3].y) / 6, p[2].x, p[2].y]);
    }
    return d;
  }
  R.parsePathString = function(pathString) {
    if (!pathString) {
      return null;
    }
    var pth = paths(pathString);
    if (pth.arr) {
      return pathClone(pth.arr);
    }
    var paramCounts = {a:7, c:6, h:1, l:2, m:2, r:4, q:4, s:4, t:2, v:1, z:0}, data = [];
    if (R.is(pathString, array) && R.is(pathString[0], array)) {
      data = pathClone(pathString);
    }
    if (!data.length) {
      Str(pathString).replace(pathCommand, function(a, b, c) {
        var params = [], name = b.toLowerCase();
        c.replace(pathValues, function(a, b) {
          b && params.push(+b);
        });
        if (name == "m" && params.length > 2) {
          data.push([b][concat](params.splice(0, 2)));
          name = "l";
          b = b == "m" ? "l" : "L";
        }
        if (name == "r") {
          data.push([b][concat](params));
        } else {
          while (params.length >= paramCounts[name]) {
            data.push([b][concat](params.splice(0, paramCounts[name])));
            if (!paramCounts[name]) {
              break;
            }
          }
        }
      });
    }
    data.toString = R._path2string;
    pth.arr = pathClone(data);
    return data;
  };
  R.parseTransformString = cacher(function(TString) {
    if (!TString) {
      return null;
    }
    var paramCounts = {r:3, s:4, t:2, m:6}, data = [];
    if (R.is(TString, array) && R.is(TString[0], array)) {
      data = pathClone(TString);
    }
    if (!data.length) {
      Str(TString).replace(tCommand, function(a, b, c) {
        var params = [], name = lowerCase.call(b);
        c.replace(pathValues, function(a, b) {
          b && params.push(+b);
        });
        data.push([b][concat](params));
      });
    }
    data.toString = R._path2string;
    return data;
  });
  var paths = function(ps) {
    var p = paths.ps = paths.ps || {};
    if (p[ps]) {
      p[ps].sleep = 100;
    } else {
      p[ps] = {sleep:100};
    }
    setTimeout(function() {
      for (var key in p) {
        if (p[has](key) && key != ps) {
          p[key].sleep--;
          !p[key].sleep && delete p[key];
        }
      }
    });
    return p[ps];
  };
  R.findDotsAtSegment = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
    var t1 = 1 - t, t13 = pow(t1, 3), t12 = pow(t1, 2), t2 = t * t, t3 = t2 * t, x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x, y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y, mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x), my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y), nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x), ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y), ax = t1 * p1x + t * c1x, ay = t1 * p1y + 
    t * c1y, cx = t1 * c2x + t * p2x, cy = t1 * c2y + t * p2y, alpha = 90 - math.atan2(mx - nx, my - ny) * 180 / PI;
    (mx > nx || my < ny) && (alpha += 180);
    return{x:x, y:y, m:{x:mx, y:my}, n:{x:nx, y:ny}, start:{x:ax, y:ay}, end:{x:cx, y:cy}, alpha:alpha};
  };
  R.bezierBBox = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
    if (!R.is(p1x, "array")) {
      p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];
    }
    var bbox = curveDim.apply(null, p1x);
    return{x:bbox.min.x, y:bbox.min.y, x2:bbox.max.x, y2:bbox.max.y, width:bbox.max.x - bbox.min.x, height:bbox.max.y - bbox.min.y};
  };
  R.isPointInsideBBox = function(bbox, x, y) {
    return x >= bbox.x && (x <= bbox.x2 && (y >= bbox.y && y <= bbox.y2));
  };
  R.isBBoxIntersect = function(bbox1, bbox2) {
    var i = R.isPointInsideBBox;
    return i(bbox2, bbox1.x, bbox1.y) || (i(bbox2, bbox1.x2, bbox1.y) || (i(bbox2, bbox1.x, bbox1.y2) || (i(bbox2, bbox1.x2, bbox1.y2) || (i(bbox1, bbox2.x, bbox2.y) || (i(bbox1, bbox2.x2, bbox2.y) || (i(bbox1, bbox2.x, bbox2.y2) || (i(bbox1, bbox2.x2, bbox2.y2) || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x) && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y))))))));
  };
  function base3(t, p1, p2, p3, p4) {
    var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4, t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;
    return t * t2 - 3 * p1 + 3 * p2;
  }
  function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {
    if (z == null) {
      z = 1;
    }
    z = z > 1 ? 1 : z < 0 ? 0 : z;
    var z2 = z / 2, n = 12, Tvalues = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], Cvalues = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], sum = 0;
    for (var i = 0;i < n;i++) {
      var ct = z2 * Tvalues[i] + z2, xbase = base3(ct, x1, x2, x3, x4), ybase = base3(ct, y1, y2, y3, y4), comb = xbase * xbase + ybase * ybase;
      sum += Cvalues[i] * math.sqrt(comb);
    }
    return z2 * sum;
  }
  function getTatLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {
    if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {
      return;
    }
    var t = 1, step = t / 2, t2 = t - step, l, e = 0.01;
    l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);
    while (abs(l - ll) > e) {
      step /= 2;
      t2 += (l < ll ? 1 : -1) * step;
      l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);
    }
    return t2;
  }
  function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {
    if (mmax(x1, x2) < mmin(x3, x4) || (mmin(x1, x2) > mmax(x3, x4) || (mmax(y1, y2) < mmin(y3, y4) || mmin(y1, y2) > mmax(y3, y4)))) {
      return;
    }
    var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4), ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4), denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
    if (!denominator) {
      return;
    }
    var px = nx / denominator, py = ny / denominator, px2 = +px.toFixed(2), py2 = +py.toFixed(2);
    if (px2 < +mmin(x1, x2).toFixed(2) || (px2 > +mmax(x1, x2).toFixed(2) || (px2 < +mmin(x3, x4).toFixed(2) || (px2 > +mmax(x3, x4).toFixed(2) || (py2 < +mmin(y1, y2).toFixed(2) || (py2 > +mmax(y1, y2).toFixed(2) || (py2 < +mmin(y3, y4).toFixed(2) || py2 > +mmax(y3, y4).toFixed(2)))))))) {
      return;
    }
    return{x:px, y:py};
  }
  function inter(bez1, bez2) {
    return interHelper(bez1, bez2);
  }
  function interCount(bez1, bez2) {
    return interHelper(bez1, bez2, 1);
  }
  function interHelper(bez1, bez2, justCount) {
    var bbox1 = R.bezierBBox(bez1), bbox2 = R.bezierBBox(bez2);
    if (!R.isBBoxIntersect(bbox1, bbox2)) {
      return justCount ? 0 : [];
    }
    var l1 = bezlen.apply(0, bez1), l2 = bezlen.apply(0, bez2), n1 = mmax(~~(l1 / 5), 1), n2 = mmax(~~(l2 / 5), 1), dots1 = [], dots2 = [], xy = {}, res = justCount ? 0 : [];
    for (var i = 0;i < n1 + 1;i++) {
      var p = R.findDotsAtSegment.apply(R, bez1.concat(i / n1));
      dots1.push({x:p.x, y:p.y, t:i / n1});
    }
    for (i = 0;i < n2 + 1;i++) {
      p = R.findDotsAtSegment.apply(R, bez2.concat(i / n2));
      dots2.push({x:p.x, y:p.y, t:i / n2});
    }
    for (i = 0;i < n1;i++) {
      for (var j = 0;j < n2;j++) {
        var di = dots1[i], di1 = dots1[i + 1], dj = dots2[j], dj1 = dots2[j + 1], ci = abs(di1.x - di.x) < 0.001 ? "y" : "x", cj = abs(dj1.x - dj.x) < 0.001 ? "y" : "x", is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);
        if (is) {
          if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {
            continue;
          }
          xy[is.x.toFixed(4)] = is.y.toFixed(4);
          var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t), t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);
          if (t1 >= 0 && (t1 <= 1.001 && (t2 >= 0 && t2 <= 1.001))) {
            if (justCount) {
              res++;
            } else {
              res.push({x:is.x, y:is.y, t1:mmin(t1, 1), t2:mmin(t2, 1)});
            }
          }
        }
      }
    }
    return res;
  }
  R.pathIntersection = function(path1, path2) {
    return interPathHelper(path1, path2);
  };
  R.pathIntersectionNumber = function(path1, path2) {
    return interPathHelper(path1, path2, 1);
  };
  function interPathHelper(path1, path2, justCount) {
    path1 = R._path2curve(path1);
    path2 = R._path2curve(path2);
    var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2, res = justCount ? 0 : [];
    for (var i = 0, ii = path1.length;i < ii;i++) {
      var pi = path1[i];
      if (pi[0] == "M") {
        x1 = x1m = pi[1];
        y1 = y1m = pi[2];
      } else {
        if (pi[0] == "C") {
          bez1 = [x1, y1].concat(pi.slice(1));
          x1 = bez1[6];
          y1 = bez1[7];
        } else {
          bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];
          x1 = x1m;
          y1 = y1m;
        }
        for (var j = 0, jj = path2.length;j < jj;j++) {
          var pj = path2[j];
          if (pj[0] == "M") {
            x2 = x2m = pj[1];
            y2 = y2m = pj[2];
          } else {
            if (pj[0] == "C") {
              bez2 = [x2, y2].concat(pj.slice(1));
              x2 = bez2[6];
              y2 = bez2[7];
            } else {
              bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];
              x2 = x2m;
              y2 = y2m;
            }
            var intr = interHelper(bez1, bez2, justCount);
            if (justCount) {
              res += intr;
            } else {
              for (var k = 0, kk = intr.length;k < kk;k++) {
                intr[k].segment1 = i;
                intr[k].segment2 = j;
                intr[k].bez1 = bez1;
                intr[k].bez2 = bez2;
              }
              res = res.concat(intr);
            }
          }
        }
      }
    }
    return res;
  }
  R.isPointInsidePath = function(path, x, y) {
    var bbox = R.pathBBox(path);
    return R.isPointInsideBBox(bbox, x, y) && interPathHelper(path, [["M", x, y], ["H", bbox.x2 + 10]], 1) % 2 == 1;
  };
  R._removedFactory = function(methodname) {
    return function() {
      eve("raphael.log", null, "Rapha\u00ebl: you are calling to method \u201c" + methodname + "\u201d of removed object", methodname);
    };
  };
  var pathDimensions = R.pathBBox = function(path) {
    var pth = paths(path);
    if (pth.bbox) {
      return clone(pth.bbox);
    }
    if (!path) {
      return{x:0, y:0, width:0, height:0, x2:0, y2:0};
    }
    path = path2curve(path);
    var x = 0, y = 0, X = [], Y = [], p;
    for (var i = 0, ii = path.length;i < ii;i++) {
      p = path[i];
      if (p[0] == "M") {
        x = p[1];
        y = p[2];
        X.push(x);
        Y.push(y);
      } else {
        var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
        X = X[concat](dim.min.x, dim.max.x);
        Y = Y[concat](dim.min.y, dim.max.y);
        x = p[5];
        y = p[6];
      }
    }
    var xmin = mmin[apply](0, X), ymin = mmin[apply](0, Y), xmax = mmax[apply](0, X), ymax = mmax[apply](0, Y), width = xmax - xmin, height = ymax - ymin, bb = {x:xmin, y:ymin, x2:xmax, y2:ymax, width:width, height:height, cx:xmin + width / 2, cy:ymin + height / 2};
    pth.bbox = clone(bb);
    return bb;
  }, pathClone = function(pathArray) {
    var res = clone(pathArray);
    res.toString = R._path2string;
    return res;
  }, pathToRelative = R._pathToRelative = function(pathArray) {
    var pth = paths(pathArray);
    if (pth.rel) {
      return pathClone(pth.rel);
    }
    if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) {
      pathArray = R.parsePathString(pathArray);
    }
    var res = [], x = 0, y = 0, mx = 0, my = 0, start = 0;
    if (pathArray[0][0] == "M") {
      x = pathArray[0][1];
      y = pathArray[0][2];
      mx = x;
      my = y;
      start++;
      res.push(["M", x, y]);
    }
    for (var i = start, ii = pathArray.length;i < ii;i++) {
      var r = res[i] = [], pa = pathArray[i];
      if (pa[0] != lowerCase.call(pa[0])) {
        r[0] = lowerCase.call(pa[0]);
        switch(r[0]) {
          case "a":
            r[1] = pa[1];
            r[2] = pa[2];
            r[3] = pa[3];
            r[4] = pa[4];
            r[5] = pa[5];
            r[6] = +(pa[6] - x).toFixed(3);
            r[7] = +(pa[7] - y).toFixed(3);
            break;
          case "v":
            r[1] = +(pa[1] - y).toFixed(3);
            break;
          case "m":
            mx = pa[1];
            my = pa[2];
          default:
            for (var j = 1, jj = pa.length;j < jj;j++) {
              r[j] = +(pa[j] - (j % 2 ? x : y)).toFixed(3);
            }
          ;
        }
      } else {
        r = res[i] = [];
        if (pa[0] == "m") {
          mx = pa[1] + x;
          my = pa[2] + y;
        }
        for (var k = 0, kk = pa.length;k < kk;k++) {
          res[i][k] = pa[k];
        }
      }
      var len = res[i].length;
      switch(res[i][0]) {
        case "z":
          x = mx;
          y = my;
          break;
        case "h":
          x += +res[i][len - 1];
          break;
        case "v":
          y += +res[i][len - 1];
          break;
        default:
          x += +res[i][len - 2];
          y += +res[i][len - 1];
      }
    }
    res.toString = R._path2string;
    pth.rel = pathClone(res);
    return res;
  }, pathToAbsolute = R._pathToAbsolute = function(pathArray) {
    var pth = paths(pathArray);
    if (pth.abs) {
      return pathClone(pth.abs);
    }
    if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) {
      pathArray = R.parsePathString(pathArray);
    }
    if (!pathArray || !pathArray.length) {
      return[["M", 0, 0]];
    }
    var res = [], x = 0, y = 0, mx = 0, my = 0, start = 0;
    if (pathArray[0][0] == "M") {
      x = +pathArray[0][1];
      y = +pathArray[0][2];
      mx = x;
      my = y;
      start++;
      res[0] = ["M", x, y];
    }
    var crz = pathArray.length == 3 && (pathArray[0][0] == "M" && (pathArray[1][0].toUpperCase() == "R" && pathArray[2][0].toUpperCase() == "Z"));
    for (var r, pa, i = start, ii = pathArray.length;i < ii;i++) {
      res.push(r = []);
      pa = pathArray[i];
      if (pa[0] != upperCase.call(pa[0])) {
        r[0] = upperCase.call(pa[0]);
        switch(r[0]) {
          case "A":
            r[1] = pa[1];
            r[2] = pa[2];
            r[3] = pa[3];
            r[4] = pa[4];
            r[5] = pa[5];
            r[6] = +(pa[6] + x);
            r[7] = +(pa[7] + y);
            break;
          case "V":
            r[1] = +pa[1] + y;
            break;
          case "H":
            r[1] = +pa[1] + x;
            break;
          case "R":
            var dots = [x, y][concat](pa.slice(1));
            for (var j = 2, jj = dots.length;j < jj;j++) {
              dots[j] = +dots[j] + x;
              dots[++j] = +dots[j] + y;
            }
            res.pop();
            res = res[concat](catmullRom2bezier(dots, crz));
            break;
          case "M":
            mx = +pa[1] + x;
            my = +pa[2] + y;
          default:
            for (j = 1, jj = pa.length;j < jj;j++) {
              r[j] = +pa[j] + (j % 2 ? x : y);
            }
          ;
        }
      } else {
        if (pa[0] == "R") {
          dots = [x, y][concat](pa.slice(1));
          res.pop();
          res = res[concat](catmullRom2bezier(dots, crz));
          r = ["R"][concat](pa.slice(-2));
        } else {
          for (var k = 0, kk = pa.length;k < kk;k++) {
            r[k] = pa[k];
          }
        }
      }
      switch(r[0]) {
        case "Z":
          x = mx;
          y = my;
          break;
        case "H":
          x = r[1];
          break;
        case "V":
          y = r[1];
          break;
        case "M":
          mx = r[r.length - 2];
          my = r[r.length - 1];
        default:
          x = r[r.length - 2];
          y = r[r.length - 1];
      }
    }
    res.toString = R._path2string;
    pth.abs = pathClone(res);
    return res;
  }, l2c = function(x1, y1, x2, y2) {
    return[x1, y1, x2, y2, x2, y2];
  }, q2c = function(x1, y1, ax, ay, x2, y2) {
    var _13 = 1 / 3, _23 = 2 / 3;
    return[_13 * x1 + _23 * ax, _13 * y1 + _23 * ay, _13 * x2 + _23 * ax, _13 * y2 + _23 * ay, x2, y2];
  }, a2c = function(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {
    var _120 = PI * 120 / 180, rad = PI / 180 * (+angle || 0), res = [], xy, rotate = cacher(function(x, y, rad) {
      var X = x * math.cos(rad) - y * math.sin(rad), Y = x * math.sin(rad) + y * math.cos(rad);
      return{x:X, y:Y};
    });
    if (!recursive) {
      xy = rotate(x1, y1, -rad);
      x1 = xy.x;
      y1 = xy.y;
      xy = rotate(x2, y2, -rad);
      x2 = xy.x;
      y2 = xy.y;
      var cos = math.cos(PI / 180 * angle), sin = math.sin(PI / 180 * angle), x = (x1 - x2) / 2, y = (y1 - y2) / 2;
      var h = x * x / (rx * rx) + y * y / (ry * ry);
      if (h > 1) {
        h = math.sqrt(h);
        rx = h * rx;
        ry = h * ry;
      }
      var rx2 = rx * rx, ry2 = ry * ry, k = (large_arc_flag == sweep_flag ? -1 : 1) * math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))), cx = k * rx * y / ry + (x1 + x2) / 2, cy = k * -ry * x / rx + (y1 + y2) / 2, f1 = math.asin(((y1 - cy) / ry).toFixed(9)), f2 = math.asin(((y2 - cy) / ry).toFixed(9));
      f1 = x1 < cx ? PI - f1 : f1;
      f2 = x2 < cx ? PI - f2 : f2;
      f1 < 0 && (f1 = PI * 2 + f1);
      f2 < 0 && (f2 = PI * 2 + f2);
      if (sweep_flag && f1 > f2) {
        f1 = f1 - PI * 2;
      }
      if (!sweep_flag && f2 > f1) {
        f2 = f2 - PI * 2;
      }
    } else {
      f1 = recursive[0];
      f2 = recursive[1];
      cx = recursive[2];
      cy = recursive[3];
    }
    var df = f2 - f1;
    if (abs(df) > _120) {
      var f2old = f2, x2old = x2, y2old = y2;
      f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
      x2 = cx + rx * math.cos(f2);
      y2 = cy + ry * math.sin(f2);
      res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
    }
    df = f2 - f1;
    var c1 = math.cos(f1), s1 = math.sin(f1), c2 = math.cos(f2), s2 = math.sin(f2), t = math.tan(df / 4), hx = 4 / 3 * rx * t, hy = 4 / 3 * ry * t, m1 = [x1, y1], m2 = [x1 + hx * s1, y1 - hy * c1], m3 = [x2 + hx * s2, y2 - hy * c2], m4 = [x2, y2];
    m2[0] = 2 * m1[0] - m2[0];
    m2[1] = 2 * m1[1] - m2[1];
    if (recursive) {
      return[m2, m3, m4][concat](res);
    } else {
      res = [m2, m3, m4][concat](res).join()[split](",");
      var newres = [];
      for (var i = 0, ii = res.length;i < ii;i++) {
        newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;
      }
      return newres;
    }
  }, findDotAtSegment = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
    var t1 = 1 - t;
    return{x:pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x, y:pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y};
  }, curveDim = cacher(function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
    var a = c2x - 2 * c1x + p1x - (p2x - 2 * c2x + c1x), b = 2 * (c1x - p1x) - 2 * (c2x - c1x), c = p1x - c1x, t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a, t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a, y = [p1y, p2y], x = [p1x, p2x], dot;
    abs(t1) > "1e12" && (t1 = 0.5);
    abs(t2) > "1e12" && (t2 = 0.5);
    if (t1 > 0 && t1 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
      x.push(dot.x);
      y.push(dot.y);
    }
    if (t2 > 0 && t2 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
      x.push(dot.x);
      y.push(dot.y);
    }
    a = c2y - 2 * c1y + p1y - (p2y - 2 * c2y + c1y);
    b = 2 * (c1y - p1y) - 2 * (c2y - c1y);
    c = p1y - c1y;
    t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;
    t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;
    abs(t1) > "1e12" && (t1 = 0.5);
    abs(t2) > "1e12" && (t2 = 0.5);
    if (t1 > 0 && t1 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
      x.push(dot.x);
      y.push(dot.y);
    }
    if (t2 > 0 && t2 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
      x.push(dot.x);
      y.push(dot.y);
    }
    return{min:{x:mmin[apply](0, x), y:mmin[apply](0, y)}, max:{x:mmax[apply](0, x), y:mmax[apply](0, y)}};
  }), path2curve = R._path2curve = cacher(function(path, path2) {
    var pth = !path2 && paths(path);
    if (!path2 && pth.curve) {
      return pathClone(pth.curve);
    }
    var p = pathToAbsolute(path), p2 = path2 && pathToAbsolute(path2), attrs = {x:0, y:0, bx:0, by:0, X:0, Y:0, qx:null, qy:null}, attrs2 = {x:0, y:0, bx:0, by:0, X:0, Y:0, qx:null, qy:null}, processPath = function(path, d, pcom) {
      var nx, ny, tq = {T:1, Q:1};
      if (!path) {
        return["C", d.x, d.y, d.x, d.y, d.x, d.y];
      }
      !(path[0] in tq) && (d.qx = d.qy = null);
      switch(path[0]) {
        case "M":
          d.X = path[1];
          d.Y = path[2];
          break;
        case "A":
          path = ["C"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1))));
          break;
        case "S":
          if (pcom == "C" || pcom == "S") {
            nx = d.x * 2 - d.bx;
            ny = d.y * 2 - d.by;
          } else {
            nx = d.x;
            ny = d.y;
          }
          path = ["C", nx, ny][concat](path.slice(1));
          break;
        case "T":
          if (pcom == "Q" || pcom == "T") {
            d.qx = d.x * 2 - d.qx;
            d.qy = d.y * 2 - d.qy;
          } else {
            d.qx = d.x;
            d.qy = d.y;
          }
          path = ["C"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));
          break;
        case "Q":
          d.qx = path[1];
          d.qy = path[2];
          path = ["C"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4]));
          break;
        case "L":
          path = ["C"][concat](l2c(d.x, d.y, path[1], path[2]));
          break;
        case "H":
          path = ["C"][concat](l2c(d.x, d.y, path[1], d.y));
          break;
        case "V":
          path = ["C"][concat](l2c(d.x, d.y, d.x, path[1]));
          break;
        case "Z":
          path = ["C"][concat](l2c(d.x, d.y, d.X, d.Y));
          break;
      }
      return path;
    }, fixArc = function(pp, i) {
      if (pp[i].length > 7) {
        pp[i].shift();
        var pi = pp[i];
        while (pi.length) {
          pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6)));
        }
        pp.splice(i, 1);
        ii = mmax(p.length, p2 && p2.length || 0);
      }
    }, fixM = function(path1, path2, a1, a2, i) {
      if (path1 && (path2 && (path1[i][0] == "M" && path2[i][0] != "M"))) {
        path2.splice(i, 0, ["M", a2.x, a2.y]);
        a1.bx = 0;
        a1.by = 0;
        a1.x = path1[i][1];
        a1.y = path1[i][2];
        ii = mmax(p.length, p2 && p2.length || 0);
      }
    };
    for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0);i < ii;i++) {
      p[i] = processPath(p[i], attrs);
      fixArc(p, i);
      p2 && (p2[i] = processPath(p2[i], attrs2));
      p2 && fixArc(p2, i);
      fixM(p, p2, attrs, attrs2, i);
      fixM(p2, p, attrs2, attrs, i);
      var seg = p[i], seg2 = p2 && p2[i], seglen = seg.length, seg2len = p2 && seg2.length;
      attrs.x = seg[seglen - 2];
      attrs.y = seg[seglen - 1];
      attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;
      attrs.by = toFloat(seg[seglen - 3]) || attrs.y;
      attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);
      attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);
      attrs2.x = p2 && seg2[seg2len - 2];
      attrs2.y = p2 && seg2[seg2len - 1];
    }
    if (!p2) {
      pth.curve = pathClone(p);
    }
    return p2 ? [p, p2] : p;
  }, null, pathClone), parseDots = R._parseDots = cacher(function(gradient) {
    var dots = [];
    for (var i = 0, ii = gradient.length;i < ii;i++) {
      var dot = {}, par = gradient[i].match(/^([^:]*):?([\d\.]*)/);
      dot.color = R.getRGB(par[1]);
      if (dot.color.error) {
        return null;
      }
      dot.color = dot.color.hex;
      par[2] && (dot.offset = par[2] + "%");
      dots.push(dot);
    }
    for (i = 1, ii = dots.length - 1;i < ii;i++) {
      if (!dots[i].offset) {
        var start = toFloat(dots[i - 1].offset || 0), end = 0;
        for (var j = i + 1;j < ii;j++) {
          if (dots[j].offset) {
            end = dots[j].offset;
            break;
          }
        }
        if (!end) {
          end = 100;
          j = ii;
        }
        end = toFloat(end);
        var d = (end - start) / (j - i + 1);
        for (;i < j;i++) {
          start += d;
          dots[i].offset = start + "%";
        }
      }
    }
    return dots;
  }), tear = R._tear = function(el, paper) {
    el == paper.top && (paper.top = el.prev);
    el == paper.bottom && (paper.bottom = el.next);
    el.next && (el.next.prev = el.prev);
    el.prev && (el.prev.next = el.next);
  }, tofront = R._tofront = function(el, paper) {
    if (paper.top === el) {
      return;
    }
    tear(el, paper);
    el.next = null;
    el.prev = paper.top;
    paper.top.next = el;
    paper.top = el;
  }, toback = R._toback = function(el, paper) {
    if (paper.bottom === el) {
      return;
    }
    tear(el, paper);
    el.next = paper.bottom;
    el.prev = null;
    paper.bottom.prev = el;
    paper.bottom = el;
  }, insertafter = R._insertafter = function(el, el2, paper) {
    tear(el, paper);
    el2 == paper.top && (paper.top = el);
    el2.next && (el2.next.prev = el);
    el.next = el2.next;
    el.prev = el2;
    el2.next = el;
  }, insertbefore = R._insertbefore = function(el, el2, paper) {
    tear(el, paper);
    el2 == paper.bottom && (paper.bottom = el);
    el2.prev && (el2.prev.next = el);
    el.prev = el2.prev;
    el2.prev = el;
    el.next = el2;
  }, toMatrix = R.toMatrix = function(path, transform) {
    var bb = pathDimensions(path), el = {_:{transform:E}, getBBox:function() {
      return bb;
    }};
    extractTransform(el, transform);
    return el.matrix;
  }, transformPath = R.transformPath = function(path, transform) {
    return mapPath(path, toMatrix(path, transform));
  }, extractTransform = R._extractTransform = function(el, tstr) {
    if (tstr == null) {
      return el._.transform;
    }
    tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || E);
    var tdata = R.parseTransformString(tstr), deg = 0, dx = 0, dy = 0, sx = 1, sy = 1, _ = el._, m = new Matrix;
    _.transform = tdata || [];
    if (tdata) {
      for (var i = 0, ii = tdata.length;i < ii;i++) {
        var t = tdata[i], tlen = t.length, command = Str(t[0]).toLowerCase(), absolute = t[0] != command, inver = absolute ? m.invert() : 0, x1, y1, x2, y2, bb;
        if (command == "t" && tlen == 3) {
          if (absolute) {
            x1 = inver.x(0, 0);
            y1 = inver.y(0, 0);
            x2 = inver.x(t[1], t[2]);
            y2 = inver.y(t[1], t[2]);
            m.translate(x2 - x1, y2 - y1);
          } else {
            m.translate(t[1], t[2]);
          }
        } else {
          if (command == "r") {
            if (tlen == 2) {
              bb = bb || el.getBBox(1);
              m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);
              deg += t[1];
            } else {
              if (tlen == 4) {
                if (absolute) {
                  x2 = inver.x(t[2], t[3]);
                  y2 = inver.y(t[2], t[3]);
                  m.rotate(t[1], x2, y2);
                } else {
                  m.rotate(t[1], t[2], t[3]);
                }
                deg += t[1];
              }
            }
          } else {
            if (command == "s") {
              if (tlen == 2 || tlen == 3) {
                bb = bb || el.getBBox(1);
                m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);
                sx *= t[1];
                sy *= t[tlen - 1];
              } else {
                if (tlen == 5) {
                  if (absolute) {
                    x2 = inver.x(t[3], t[4]);
                    y2 = inver.y(t[3], t[4]);
                    m.scale(t[1], t[2], x2, y2);
                  } else {
                    m.scale(t[1], t[2], t[3], t[4]);
                  }
                  sx *= t[1];
                  sy *= t[2];
                }
              }
            } else {
              if (command == "m" && tlen == 7) {
                m.add(t[1], t[2], t[3], t[4], t[5], t[6]);
              }
            }
          }
        }
        _.dirtyT = 1;
        el.matrix = m;
      }
    }
    el.matrix = m;
    _.sx = sx;
    _.sy = sy;
    _.deg = deg;
    _.dx = dx = m.e;
    _.dy = dy = m.f;
    if (sx == 1 && (sy == 1 && (!deg && _.bbox))) {
      _.bbox.x += +dx;
      _.bbox.y += +dy;
    } else {
      _.dirtyT = 1;
    }
  }, getEmpty = function(item) {
    var l = item[0];
    switch(l.toLowerCase()) {
      case "t":
        return[l, 0, 0];
      case "m":
        return[l, 1, 0, 0, 1, 0, 0];
      case "r":
        if (item.length == 4) {
          return[l, 0, item[2], item[3]];
        } else {
          return[l, 0];
        }
      ;
      case "s":
        if (item.length == 5) {
          return[l, 1, 1, item[3], item[4]];
        } else {
          if (item.length == 3) {
            return[l, 1, 1];
          } else {
            return[l, 1];
          }
        }
      ;
    }
  }, equaliseTransform = R._equaliseTransform = function(t1, t2) {
    t2 = Str(t2).replace(/\.{3}|\u2026/g, t1);
    t1 = R.parseTransformString(t1) || [];
    t2 = R.parseTransformString(t2) || [];
    var maxlength = mmax(t1.length, t2.length), from = [], to = [], i = 0, j, jj, tt1, tt2;
    for (;i < maxlength;i++) {
      tt1 = t1[i] || getEmpty(t2[i]);
      tt2 = t2[i] || getEmpty(tt1);
      if (tt1[0] != tt2[0] || (tt1[0].toLowerCase() == "r" && (tt1[2] != tt2[2] || tt1[3] != tt2[3]) || tt1[0].toLowerCase() == "s" && (tt1[3] != tt2[3] || tt1[4] != tt2[4]))) {
        return;
      }
      from[i] = [];
      to[i] = [];
      for (j = 0, jj = mmax(tt1.length, tt2.length);j < jj;j++) {
        j in tt1 && (from[i][j] = tt1[j]);
        j in tt2 && (to[i][j] = tt2[j]);
      }
    }
    return{from:from, to:to};
  };
  R._getContainer = function(x, y, w, h) {
    var container;
    container = h == null && !R.is(x, "object") ? g.doc.getElementById(x) : x;
    if (container == null) {
      return;
    }
    if (container.tagName) {
      if (y == null) {
        return{container:container, width:container.style.pixelWidth || container.offsetWidth, height:container.style.pixelHeight || container.offsetHeight};
      } else {
        return{container:container, width:y, height:w};
      }
    }
    return{container:1, x:x, y:y, width:w, height:h};
  };
  R.pathToRelative = pathToRelative;
  R._engine = {};
  R.path2curve = path2curve;
  R.matrix = function(a, b, c, d, e, f) {
    return new Matrix(a, b, c, d, e, f);
  };
  function Matrix(a, b, c, d, e, f) {
    if (a != null) {
      this.a = +a;
      this.b = +b;
      this.c = +c;
      this.d = +d;
      this.e = +e;
      this.f = +f;
    } else {
      this.a = 1;
      this.b = 0;
      this.c = 0;
      this.d = 1;
      this.e = 0;
      this.f = 0;
    }
  }
  (function(matrixproto) {
    matrixproto.add = function(a, b, c, d, e, f) {
      var out = [[], [], []], m = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]], matrix = [[a, c, e], [b, d, f], [0, 0, 1]], x, y, z, res;
      if (a && a instanceof Matrix) {
        matrix = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]];
      }
      for (x = 0;x < 3;x++) {
        for (y = 0;y < 3;y++) {
          res = 0;
          for (z = 0;z < 3;z++) {
            res += m[x][z] * matrix[z][y];
          }
          out[x][y] = res;
        }
      }
      this.a = out[0][0];
      this.b = out[1][0];
      this.c = out[0][1];
      this.d = out[1][1];
      this.e = out[0][2];
      this.f = out[1][2];
    };
    matrixproto.invert = function() {
      var me = this, x = me.a * me.d - me.b * me.c;
      return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);
    };
    matrixproto.clone = function() {
      return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);
    };
    matrixproto.translate = function(x, y) {
      this.add(1, 0, 0, 1, x, y);
    };
    matrixproto.scale = function(x, y, cx, cy) {
      y == null && (y = x);
      (cx || cy) && this.add(1, 0, 0, 1, cx, cy);
      this.add(x, 0, 0, y, 0, 0);
      (cx || cy) && this.add(1, 0, 0, 1, -cx, -cy);
    };
    matrixproto.rotate = function(a, x, y) {
      a = R.rad(a);
      x = x || 0;
      y = y || 0;
      var cos = +math.cos(a).toFixed(9), sin = +math.sin(a).toFixed(9);
      this.add(cos, sin, -sin, cos, x, y);
      this.add(1, 0, 0, 1, -x, -y);
    };
    matrixproto.x = function(x, y) {
      return x * this.a + y * this.c + this.e;
    };
    matrixproto.y = function(x, y) {
      return x * this.b + y * this.d + this.f;
    };
    matrixproto.get = function(i) {
      return+this[Str.fromCharCode(97 + i)].toFixed(4);
    };
    matrixproto.toString = function() {
      return R.svg ? "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" : [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join();
    };
    matrixproto.toFilter = function() {
      return "progid:DXImageTransform.Microsoft.Matrix(M11=" + this.get(0) + ", M12=" + this.get(2) + ", M21=" + this.get(1) + ", M22=" + this.get(3) + ", Dx=" + this.get(4) + ", Dy=" + this.get(5) + ", sizingmethod='auto expand')";
    };
    matrixproto.offset = function() {
      return[this.e.toFixed(4), this.f.toFixed(4)];
    };
    function norm(a) {
      return a[0] * a[0] + a[1] * a[1];
    }
    function normalize(a) {
      var mag = math.sqrt(norm(a));
      a[0] && (a[0] /= mag);
      a[1] && (a[1] /= mag);
    }
    matrixproto.split = function() {
      var out = {};
      out.dx = this.e;
      out.dy = this.f;
      var row = [[this.a, this.c], [this.b, this.d]];
      out.scalex = math.sqrt(norm(row[0]));
      normalize(row[0]);
      out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];
      row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];
      out.scaley = math.sqrt(norm(row[1]));
      normalize(row[1]);
      out.shear /= out.scaley;
      var sin = -row[0][1], cos = row[1][1];
      if (cos < 0) {
        out.rotate = R.deg(math.acos(cos));
        if (sin < 0) {
          out.rotate = 360 - out.rotate;
        }
      } else {
        out.rotate = R.deg(math.asin(sin));
      }
      out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);
      out.isSuperSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate);
      out.noRotation = !+out.shear.toFixed(9) && !out.rotate;
      return out;
    };
    matrixproto.toTransformString = function(shorter) {
      var s = shorter || this[split]();
      if (s.isSimple) {
        s.scalex = +s.scalex.toFixed(4);
        s.scaley = +s.scaley.toFixed(4);
        s.rotate = +s.rotate.toFixed(4);
        return(s.dx || s.dy ? "t" + [s.dx, s.dy] : E) + (s.scalex != 1 || s.scaley != 1 ? "s" + [s.scalex, s.scaley, 0, 0] : E) + (s.rotate ? "r" + [s.rotate, 0, 0] : E);
      } else {
        return "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];
      }
    };
  })(Matrix.prototype);
  var version = navigator.userAgent.match(/Version\/(.*?)\s/) || navigator.userAgent.match(/Chrome\/(\d+)/);
  if (navigator.vendor == "Apple Computer, Inc." && (version && version[1] < 4 || navigator.platform.slice(0, 2) == "iP") || navigator.vendor == "Google Inc." && (version && version[1] < 8)) {
    paperproto.safari = function() {
      var rect = this.rect(-99, -99, this.width + 99, this.height + 99).attr({stroke:"none"});
      setTimeout(function() {
        rect.remove();
      });
    };
  } else {
    paperproto.safari = fun;
  }
  var preventDefault = function() {
    this.returnValue = false;
  }, preventTouch = function() {
    return this.originalEvent.preventDefault();
  }, stopPropagation = function() {
    this.cancelBubble = true;
  }, stopTouch = function() {
    return this.originalEvent.stopPropagation();
  }, getEventPosition = function(e) {
    var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
    return{x:e.clientX + scrollX, y:e.clientY + scrollY};
  }, addEvent = function() {
    if (g.doc.addEventListener) {
      return function(obj, type, fn, element) {
        var f = function(e) {
          var pos = getEventPosition(e);
          return fn.call(element, e, pos.x, pos.y);
        };
        obj.addEventListener(type, f, false);
        if (supportsTouch && touchMap[type]) {
          var _f = function(e) {
            var pos = getEventPosition(e), olde = e;
            for (var i = 0, ii = e.targetTouches && e.targetTouches.length;i < ii;i++) {
              if (e.targetTouches[i].target == obj) {
                e = e.targetTouches[i];
                e.originalEvent = olde;
                e.preventDefault = preventTouch;
                e.stopPropagation = stopTouch;
                break;
              }
            }
            return fn.call(element, e, pos.x, pos.y);
          };
          obj.addEventListener(touchMap[type], _f, false);
        }
        return function() {
          obj.removeEventListener(type, f, false);
          if (supportsTouch && touchMap[type]) {
            obj.removeEventListener(touchMap[type], f, false);
          }
          return true;
        };
      };
    } else {
      if (g.doc.attachEvent) {
        return function(obj, type, fn, element) {
          var f = function(e) {
            e = e || g.win.event;
            var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, x = e.clientX + scrollX, y = e.clientY + scrollY;
            e.preventDefault = e.preventDefault || preventDefault;
            e.stopPropagation = e.stopPropagation || stopPropagation;
            return fn.call(element, e, x, y);
          };
          obj.attachEvent("on" + type, f);
          var detacher = function() {
            obj.detachEvent("on" + type, f);
            return true;
          };
          return detacher;
        };
      }
    }
  }(), drag = [], dragMove = function(e) {
    var x = e.clientX, y = e.clientY, scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, dragi, j = drag.length;
    while (j--) {
      dragi = drag[j];
      if (supportsTouch && e.touches) {
        var i = e.touches.length, touch;
        while (i--) {
          touch = e.touches[i];
          if (touch.identifier == dragi.el._drag.id) {
            x = touch.clientX;
            y = touch.clientY;
            (e.originalEvent ? e.originalEvent : e).preventDefault();
            break;
          }
        }
      } else {
        e.preventDefault();
      }
      var node = dragi.el.node, o, next = node.nextSibling, parent = node.parentNode, display = node.style.display;
      g.win.opera && parent.removeChild(node);
      node.style.display = "none";
      o = dragi.el.paper.getElementByPoint(x, y);
      node.style.display = display;
      g.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));
      o && eve("raphael.drag.over." + dragi.el.id, dragi.el, o);
      x += scrollX;
      y += scrollY;
      eve("raphael.drag.move." + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);
    }
  }, dragUp = function(e) {
    R.unmousemove(dragMove).unmouseup(dragUp);
    var i = drag.length, dragi;
    while (i--) {
      dragi = drag[i];
      dragi.el._drag = {};
      eve("raphael.drag.end." + dragi.el.id, dragi.end_scope || (dragi.start_scope || (dragi.move_scope || dragi.el)), e);
    }
    drag = [];
  }, elproto = R.el = {};
  for (var i = events.length;i--;) {
    (function(eventName) {
      R[eventName] = elproto[eventName] = function(fn, scope) {
        if (R.is(fn, "function")) {
          this.events = this.events || [];
          this.events.push({name:eventName, f:fn, unbind:addEvent(this.shape || (this.node || g.doc), eventName, fn, scope || this)});
        }
        return this;
      };
      R["un" + eventName] = elproto["un" + eventName] = function(fn) {
        var events = this.events || [], l = events.length;
        while (l--) {
          if (events[l].name == eventName && (R.is(fn, "undefined") || events[l].f == fn)) {
            events[l].unbind();
            events.splice(l, 1);
            !events.length && delete this.events;
          }
        }
        return this;
      };
    })(events[i]);
  }
  elproto.data = function(key, value) {
    var data = eldata[this.id] = eldata[this.id] || {};
    if (arguments.length == 0) {
      return data;
    }
    if (arguments.length == 1) {
      if (R.is(key, "object")) {
        for (var i in key) {
          if (key[has](i)) {
            this.data(i, key[i]);
          }
        }
        return this;
      }
      eve("raphael.data.get." + this.id, this, data[key], key);
      return data[key];
    }
    data[key] = value;
    eve("raphael.data.set." + this.id, this, value, key);
    return this;
  };
  elproto.removeData = function(key) {
    if (key == null) {
      eldata[this.id] = {};
    } else {
      eldata[this.id] && delete eldata[this.id][key];
    }
    return this;
  };
  elproto.getData = function() {
    return clone(eldata[this.id] || {});
  };
  elproto.hover = function(f_in, f_out, scope_in, scope_out) {
    return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);
  };
  elproto.unhover = function(f_in, f_out) {
    return this.unmouseover(f_in).unmouseout(f_out);
  };
  var draggable = [];
  elproto.drag = function(onmove, onstart, onend, move_scope, start_scope, end_scope) {
    function start(e) {
      (e.originalEvent || e).preventDefault();
      var x = e.clientX, y = e.clientY, scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
      this._drag.id = e.identifier;
      if (supportsTouch && e.touches) {
        var i = e.touches.length, touch;
        while (i--) {
          touch = e.touches[i];
          this._drag.id = touch.identifier;
          if (touch.identifier == this._drag.id) {
            x = touch.clientX;
            y = touch.clientY;
            break;
          }
        }
      }
      this._drag.x = x + scrollX;
      this._drag.y = y + scrollY;
      !drag.length && R.mousemove(dragMove).mouseup(dragUp);
      drag.push({el:this, move_scope:move_scope, start_scope:start_scope, end_scope:end_scope});
      onstart && eve.on("raphael.drag.start." + this.id, onstart);
      onmove && eve.on("raphael.drag.move." + this.id, onmove);
      onend && eve.on("raphael.drag.end." + this.id, onend);
      eve("raphael.drag.start." + this.id, start_scope || (move_scope || this), e.clientX + scrollX, e.clientY + scrollY, e);
    }
    this._drag = {};
    draggable.push({el:this, start:start});
    this.mousedown(start);
    return this;
  };
  elproto.onDragOver = function(f) {
    f ? eve.on("raphael.drag.over." + this.id, f) : eve.unbind("raphael.drag.over." + this.id);
  };
  elproto.undrag = function() {
    var i = draggable.length;
    while (i--) {
      if (draggable[i].el == this) {
        this.unmousedown(draggable[i].start);
        draggable.splice(i, 1);
        eve.unbind("raphael.drag.*." + this.id);
      }
    }
    !draggable.length && R.unmousemove(dragMove).unmouseup(dragUp);
    drag = [];
  };
  paperproto.circle = function(x, y, r) {
    var out = R._engine.circle(this, x || 0, y || 0, r || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.rect = function(x, y, w, h, r) {
    var out = R._engine.rect(this, x || 0, y || 0, w || 0, h || 0, r || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.ellipse = function(x, y, rx, ry) {
    var out = R._engine.ellipse(this, x || 0, y || 0, rx || 0, ry || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.path = function(pathString) {
    pathString && (!R.is(pathString, string) && (!R.is(pathString[0], array) && (pathString += E)));
    var out = R._engine.path(R.format[apply](R, arguments), this);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.image = function(src, x, y, w, h) {
    var out = R._engine.image(this, src || "about:blank", x || 0, y || 0, w || 0, h || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.text = function(x, y, text) {
    var out = R._engine.text(this, x || 0, y || 0, Str(text));
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.set = function(itemsArray) {
    !R.is(itemsArray, "array") && (itemsArray = Array.prototype.splice.call(arguments, 0, arguments.length));
    var out = new Set(itemsArray);
    this.__set__ && this.__set__.push(out);
    out["paper"] = this;
    out["type"] = "set";
    return out;
  };
  paperproto.setStart = function(set) {
    this.__set__ = set || this.set();
  };
  paperproto.setFinish = function(set) {
    var out = this.__set__;
    delete this.__set__;
    return out;
  };
  paperproto.setSize = function(width, height) {
    return R._engine.setSize.call(this, width, height);
  };
  paperproto.setViewBox = function(x, y, w, h, fit) {
    return R._engine.setViewBox.call(this, x, y, w, h, fit);
  };
  paperproto.top = paperproto.bottom = null;
  paperproto.raphael = R;
  var getOffset = function(elem) {
    var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement, clientTop = docElem.clientTop || (body.clientTop || 0), clientLeft = docElem.clientLeft || (body.clientLeft || 0), top = box.top + (g.win.pageYOffset || (docElem.scrollTop || body.scrollTop)) - clientTop, left = box.left + (g.win.pageXOffset || (docElem.scrollLeft || body.scrollLeft)) - clientLeft;
    return{y:top, x:left};
  };
  paperproto.getElementByPoint = function(x, y) {
    var paper = this, svg = paper.canvas, target = g.doc.elementFromPoint(x, y);
    if (g.win.opera && target.tagName == "svg") {
      var so = getOffset(svg), sr = svg.createSVGRect();
      sr.x = x - so.x;
      sr.y = y - so.y;
      sr.width = sr.height = 1;
      var hits = svg.getIntersectionList(sr, null);
      if (hits.length) {
        target = hits[hits.length - 1];
      }
    }
    if (!target) {
      return null;
    }
    while (target.parentNode && (target != svg.parentNode && !target.raphael)) {
      target = target.parentNode;
    }
    target == paper.canvas.parentNode && (target = svg);
    target = target && target.raphael ? paper.getById(target.raphaelid) : null;
    return target;
  };
  paperproto.getElementsByBBox = function(bbox) {
    var set = this.set();
    this.forEach(function(el) {
      if (R.isBBoxIntersect(el.getBBox(), bbox)) {
        set.push(el);
      }
    });
    return set;
  };
  paperproto.getById = function(id) {
    var bot = this.bottom;
    while (bot) {
      if (bot.id == id) {
        return bot;
      }
      bot = bot.next;
    }
    return null;
  };
  paperproto.forEach = function(callback, thisArg) {
    var bot = this.bottom;
    while (bot) {
      if (callback.call(thisArg, bot) === false) {
        return this;
      }
      bot = bot.next;
    }
    return this;
  };
  paperproto.getElementsByPoint = function(x, y) {
    var set = this.set();
    this.forEach(function(el) {
      if (el.isPointInside(x, y)) {
        set.push(el);
      }
    });
    return set;
  };
  function x_y() {
    return this.x + S + this.y;
  }
  function x_y_w_h() {
    return this.x + S + this.y + S + this.width + " \u00d7 " + this.height;
  }
  elproto.isPointInside = function(x, y) {
    var rp = this.realPath = getPath[this.type](this);
    if (this.attr("transform") && this.attr("transform").length) {
      rp = R.transformPath(rp, this.attr("transform"));
    }
    return R.isPointInsidePath(rp, x, y);
  };
  elproto.getBBox = function(isWithoutTransform) {
    if (this.removed) {
      return{};
    }
    var _ = this._;
    if (isWithoutTransform) {
      if (_.dirty || !_.bboxwt) {
        this.realPath = getPath[this.type](this);
        _.bboxwt = pathDimensions(this.realPath);
        _.bboxwt.toString = x_y_w_h;
        _.dirty = 0;
      }
      return _.bboxwt;
    }
    if (_.dirty || (_.dirtyT || !_.bbox)) {
      if (_.dirty || !this.realPath) {
        _.bboxwt = 0;
        this.realPath = getPath[this.type](this);
      }
      _.bbox = pathDimensions(mapPath(this.realPath, this.matrix));
      _.bbox.toString = x_y_w_h;
      _.dirty = _.dirtyT = 0;
    }
    return _.bbox;
  };
  elproto.clone = function() {
    if (this.removed) {
      return null;
    }
    var out = this.paper[this.type]().attr(this.attr());
    this.__set__ && this.__set__.push(out);
    return out;
  };
  elproto.glow = function(glow) {
    if (this.type == "text") {
      return null;
    }
    glow = glow || {};
    var s = {width:(glow.width || 10) + (+this.attr("stroke-width") || 1), fill:glow.fill || false, opacity:glow.opacity || 0.5, offsetx:glow.offsetx || 0, offsety:glow.offsety || 0, color:glow.color || "#000"}, c = s.width / 2, r = this.paper, out = r.set(), path = this.realPath || getPath[this.type](this);
    path = this.matrix ? mapPath(path, this.matrix) : path;
    for (var i = 1;i < c + 1;i++) {
      out.push(r.path(path).attr({stroke:s.color, fill:s.fill ? s.color : "none", "stroke-linejoin":"round", "stroke-linecap":"round", "stroke-width":+(s.width / c * i).toFixed(3), opacity:+(s.opacity / c).toFixed(3)}));
    }
    return out.insertBefore(this).translate(s.offsetx, s.offsety);
  };
  var curveslengths = {}, getPointAtSegmentLength = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {
    if (length == null) {
      return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);
    } else {
      return R.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, getTatLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));
    }
  }, getLengthFactory = function(istotal, subpath) {
    return function(path, length, onlystart) {
      path = path2curve(path);
      var x, y, p, l, sp = "", subpaths = {}, point, len = 0;
      for (var i = 0, ii = path.length;i < ii;i++) {
        p = path[i];
        if (p[0] == "M") {
          x = +p[1];
          y = +p[2];
        } else {
          l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
          if (len + l > length) {
            if (subpath && !subpaths.start) {
              point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);
              sp += ["C" + point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y];
              if (onlystart) {
                return sp;
              }
              subpaths.start = sp;
              sp = ["M" + point.x, point.y + "C" + point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]].join();
              len += l;
              x = +p[5];
              y = +p[6];
              continue;
            }
            if (!istotal && !subpath) {
              point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);
              return{x:point.x, y:point.y, alpha:point.alpha};
            }
          }
          len += l;
          x = +p[5];
          y = +p[6];
        }
        sp += p.shift() + p;
      }
      subpaths.end = sp;
      point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);
      point.alpha && (point = {x:point.x, y:point.y, alpha:point.alpha});
      return point;
    };
  };
  var getTotalLength = getLengthFactory(1), getPointAtLength = getLengthFactory(), getSubpathsAtLength = getLengthFactory(0, 1);
  R.getTotalLength = getTotalLength;
  R.getPointAtLength = getPointAtLength;
  R.getSubpath = function(path, from, to) {
    if (this.getTotalLength(path) - to < 1E-6) {
      return getSubpathsAtLength(path, from).end;
    }
    var a = getSubpathsAtLength(path, to, 1);
    return from ? getSubpathsAtLength(a, from).end : a;
  };
  elproto.getTotalLength = function() {
    var path = this.getPath();
    if (!path) {
      return;
    }
    if (this.node.getTotalLength) {
      return this.node.getTotalLength();
    }
    return getTotalLength(path);
  };
  elproto.getPointAtLength = function(length) {
    var path = this.getPath();
    if (!path) {
      return;
    }
    return getPointAtLength(path, length);
  };
  elproto.getPath = function() {
    var path, getPath = R._getPath[this.type];
    if (this.type == "text" || this.type == "set") {
      return;
    }
    if (getPath) {
      path = getPath(this);
    }
    return path;
  };
  elproto.getSubpath = function(from, to) {
    var path = this.getPath();
    if (!path) {
      return;
    }
    return R.getSubpath(path, from, to);
  };
  var ef = R.easing_formulas = {linear:function(n) {
    return n;
  }, "<":function(n) {
    return pow(n, 1.7);
  }, ">":function(n) {
    return pow(n, 0.48);
  }, "<>":function(n) {
    var q = 0.48 - n / 1.04, Q = math.sqrt(0.1734 + q * q), x = Q - q, X = pow(abs(x), 1 / 3) * (x < 0 ? -1 : 1), y = -Q - q, Y = pow(abs(y), 1 / 3) * (y < 0 ? -1 : 1), t = X + Y + 0.5;
    return(1 - t) * 3 * t * t + t * t * t;
  }, backIn:function(n) {
    var s = 1.70158;
    return n * n * ((s + 1) * n - s);
  }, backOut:function(n) {
    n = n - 1;
    var s = 1.70158;
    return n * n * ((s + 1) * n + s) + 1;
  }, elastic:function(n) {
    if (n == !!n) {
      return n;
    }
    return pow(2, -10 * n) * math.sin((n - 0.075) * (2 * PI) / 0.3) + 1;
  }, bounce:function(n) {
    var s = 7.5625, p = 2.75, l;
    if (n < 1 / p) {
      l = s * n * n;
    } else {
      if (n < 2 / p) {
        n -= 1.5 / p;
        l = s * n * n + 0.75;
      } else {
        if (n < 2.5 / p) {
          n -= 2.25 / p;
          l = s * n * n + 0.9375;
        } else {
          n -= 2.625 / p;
          l = s * n * n + 0.984375;
        }
      }
    }
    return l;
  }};
  ef.easeIn = ef["ease-in"] = ef["<"];
  ef.easeOut = ef["ease-out"] = ef[">"];
  ef.easeInOut = ef["ease-in-out"] = ef["<>"];
  ef["back-in"] = ef.backIn;
  ef["back-out"] = ef.backOut;
  var animationElements = [], requestAnimFrame = window.requestAnimationFrame || (window.webkitRequestAnimationFrame || (window.mozRequestAnimationFrame || (window.oRequestAnimationFrame || (window.msRequestAnimationFrame || function(callback) {
    setTimeout(callback, 16);
  })))), animation = function() {
    var Now = +new Date, l = 0;
    for (;l < animationElements.length;l++) {
      var e = animationElements[l];
      if (e.el.removed || e.paused) {
        continue;
      }
      var time = Now - e.start, ms = e.ms, easing = e.easing, from = e.from, diff = e.diff, to = e.to, t = e.t, that = e.el, set = {}, now, init = {}, key;
      if (e.initstatus) {
        time = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * ms;
        e.status = e.initstatus;
        delete e.initstatus;
        e.stop && animationElements.splice(l--, 1);
      } else {
        e.status = (e.prev + (e.percent - e.prev) * (time / ms)) / e.anim.top;
      }
      if (time < 0) {
        continue;
      }
      if (time < ms) {
        var pos = easing(time / ms);
        for (var attr in from) {
          if (from[has](attr)) {
            switch(availableAnimAttrs[attr]) {
              case nu:
                now = +from[attr] + pos * ms * diff[attr];
                break;
              case "colour":
                now = "rgb(" + [upto255(round(from[attr].r + pos * ms * diff[attr].r)), upto255(round(from[attr].g + pos * ms * diff[attr].g)), upto255(round(from[attr].b + pos * ms * diff[attr].b))].join(",") + ")";
                break;
              case "path":
                now = [];
                for (var i = 0, ii = from[attr].length;i < ii;i++) {
                  now[i] = [from[attr][i][0]];
                  for (var j = 1, jj = from[attr][i].length;j < jj;j++) {
                    now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j];
                  }
                  now[i] = now[i].join(S);
                }
                now = now.join(S);
                break;
              case "transform":
                if (diff[attr].real) {
                  now = [];
                  for (i = 0, ii = from[attr].length;i < ii;i++) {
                    now[i] = [from[attr][i][0]];
                    for (j = 1, jj = from[attr][i].length;j < jj;j++) {
                      now[i][j] = from[attr][i][j] + pos * ms * diff[attr][i][j];
                    }
                  }
                } else {
                  var get = function(i) {
                    return+from[attr][i] + pos * ms * diff[attr][i];
                  };
                  now = [["m", get(0), get(1), get(2), get(3), get(4), get(5)]];
                }
                break;
              case "csv":
                if (attr == "clip-rect") {
                  now = [];
                  i = 4;
                  while (i--) {
                    now[i] = +from[attr][i] + pos * ms * diff[attr][i];
                  }
                }
                break;
              default:
                var from2 = [][concat](from[attr]);
                now = [];
                i = that.paper.customAttributes[attr].length;
                while (i--) {
                  now[i] = +from2[i] + pos * ms * diff[attr][i];
                }
                break;
            }
            set[attr] = now;
          }
        }
        that.attr(set);
        (function(id, that, anim) {
          setTimeout(function() {
            eve("raphael.anim.frame." + id, that, anim);
          });
        })(that.id, that, e.anim);
      } else {
        (function(f, el, a) {
          setTimeout(function() {
            eve("raphael.anim.frame." + el.id, el, a);
            eve("raphael.anim.finish." + el.id, el, a);
            R.is(f, "function") && f.call(el);
          });
        })(e.callback, that, e.anim);
        that.attr(to);
        animationElements.splice(l--, 1);
        if (e.repeat > 1 && !e.next) {
          for (key in to) {
            if (to[has](key)) {
              init[key] = e.totalOrigin[key];
            }
          }
          e.el.attr(init);
          runAnimation(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1);
        }
        if (e.next && !e.stop) {
          runAnimation(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat);
        }
      }
    }
    R.svg && (that && (that.paper && that.paper.safari()));
    animationElements.length && requestAnimFrame(animation);
  }, upto255 = function(color) {
    return color > 255 ? 255 : color < 0 ? 0 : color;
  };
  elproto.animateWith = function(el, anim, params, ms, easing, callback) {
    var element = this;
    if (element.removed) {
      callback && callback.call(element);
      return element;
    }
    var a = params instanceof Animation ? params : R.animation(params, ms, easing, callback), x, y;
    runAnimation(a, element, a.percents[0], null, element.attr());
    for (var i = 0, ii = animationElements.length;i < ii;i++) {
      if (animationElements[i].anim == anim && animationElements[i].el == el) {
        animationElements[ii - 1].start = animationElements[i].start;
        break;
      }
    }
    return element;
  };
  function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) {
    var cx = 3 * p1x, bx = 3 * (p2x - p1x) - cx, ax = 1 - cx - bx, cy = 3 * p1y, by = 3 * (p2y - p1y) - cy, ay = 1 - cy - by;
    function sampleCurveX(t) {
      return((ax * t + bx) * t + cx) * t;
    }
    function solve(x, epsilon) {
      var t = solveCurveX(x, epsilon);
      return((ay * t + by) * t + cy) * t;
    }
    function solveCurveX(x, epsilon) {
      var t0, t1, t2, x2, d2, i;
      for (t2 = x, i = 0;i < 8;i++) {
        x2 = sampleCurveX(t2) - x;
        if (abs(x2) < epsilon) {
          return t2;
        }
        d2 = (3 * ax * t2 + 2 * bx) * t2 + cx;
        if (abs(d2) < 1E-6) {
          break;
        }
        t2 = t2 - x2 / d2;
      }
      t0 = 0;
      t1 = 1;
      t2 = x;
      if (t2 < t0) {
        return t0;
      }
      if (t2 > t1) {
        return t1;
      }
      while (t0 < t1) {
        x2 = sampleCurveX(t2);
        if (abs(x2 - x) < epsilon) {
          return t2;
        }
        if (x > x2) {
          t0 = t2;
        } else {
          t1 = t2;
        }
        t2 = (t1 - t0) / 2 + t0;
      }
      return t2;
    }
    return solve(t, 1 / (200 * duration));
  }
  elproto.onAnimation = function(f) {
    f ? eve.on("raphael.anim.frame." + this.id, f) : eve.unbind("raphael.anim.frame." + this.id);
    return this;
  };
  function Animation(anim, ms) {
    var percents = [], newAnim = {};
    this.ms = ms;
    this.times = 1;
    if (anim) {
      for (var attr in anim) {
        if (anim[has](attr)) {
          newAnim[toFloat(attr)] = anim[attr];
          percents.push(toFloat(attr));
        }
      }
      percents.sort(sortByNumber);
    }
    this.anim = newAnim;
    this.top = percents[percents.length - 1];
    this.percents = percents;
  }
  Animation.prototype.delay = function(delay) {
    var a = new Animation(this.anim, this.ms);
    a.times = this.times;
    a.del = +delay || 0;
    return a;
  };
  Animation.prototype.repeat = function(times) {
    var a = new Animation(this.anim, this.ms);
    a.del = this.del;
    a.times = math.floor(mmax(times, 0)) || 1;
    return a;
  };
  function runAnimation(anim, element, percent, status, totalOrigin, times) {
    percent = toFloat(percent);
    var params, isInAnim, isInAnimSet, percents = [], next, prev, timestamp, ms = anim.ms, from = {}, to = {}, diff = {};
    if (status) {
      for (i = 0, ii = animationElements.length;i < ii;i++) {
        var e = animationElements[i];
        if (e.el.id == element.id && e.anim == anim) {
          if (e.percent != percent) {
            animationElements.splice(i, 1);
            isInAnimSet = 1;
          } else {
            isInAnim = e;
          }
          element.attr(e.totalOrigin);
          break;
        }
      }
    } else {
      status = +to;
    }
    for (var i = 0, ii = anim.percents.length;i < ii;i++) {
      if (anim.percents[i] == percent || anim.percents[i] > status * anim.top) {
        percent = anim.percents[i];
        prev = anim.percents[i - 1] || 0;
        ms = ms / anim.top * (percent - prev);
        next = anim.percents[i + 1];
        params = anim.anim[percent];
        break;
      } else {
        if (status) {
          element.attr(anim.anim[anim.percents[i]]);
        }
      }
    }
    if (!params) {
      return;
    }
    if (!isInAnim) {
      for (var attr in params) {
        if (params[has](attr)) {
          if (availableAnimAttrs[has](attr) || element.paper.customAttributes[has](attr)) {
            from[attr] = element.attr(attr);
            from[attr] == null && (from[attr] = availableAttrs[attr]);
            to[attr] = params[attr];
            switch(availableAnimAttrs[attr]) {
              case nu:
                diff[attr] = (to[attr] - from[attr]) / ms;
                break;
              case "colour":
                from[attr] = R.getRGB(from[attr]);
                var toColour = R.getRGB(to[attr]);
                diff[attr] = {r:(toColour.r - from[attr].r) / ms, g:(toColour.g - from[attr].g) / ms, b:(toColour.b - from[attr].b) / ms};
                break;
              case "path":
                var pathes = path2curve(from[attr], to[attr]), toPath = pathes[1];
                from[attr] = pathes[0];
                diff[attr] = [];
                for (i = 0, ii = from[attr].length;i < ii;i++) {
                  diff[attr][i] = [0];
                  for (var j = 1, jj = from[attr][i].length;j < jj;j++) {
                    diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms;
                  }
                }
                break;
              case "transform":
                var _ = element._, eq = equaliseTransform(_[attr], to[attr]);
                if (eq) {
                  from[attr] = eq.from;
                  to[attr] = eq.to;
                  diff[attr] = [];
                  diff[attr].real = true;
                  for (i = 0, ii = from[attr].length;i < ii;i++) {
                    diff[attr][i] = [from[attr][i][0]];
                    for (j = 1, jj = from[attr][i].length;j < jj;j++) {
                      diff[attr][i][j] = (to[attr][i][j] - from[attr][i][j]) / ms;
                    }
                  }
                } else {
                  var m = element.matrix || new Matrix, to2 = {_:{transform:_.transform}, getBBox:function() {
                    return element.getBBox(1);
                  }};
                  from[attr] = [m.a, m.b, m.c, m.d, m.e, m.f];
                  extractTransform(to2, to[attr]);
                  to[attr] = to2._.transform;
                  diff[attr] = [(to2.matrix.a - m.a) / ms, (to2.matrix.b - m.b) / ms, (to2.matrix.c - m.c) / ms, (to2.matrix.d - m.d) / ms, (to2.matrix.e - m.e) / ms, (to2.matrix.f - m.f) / ms];
                }
                break;
              case "csv":
                var values = Str(params[attr])[split](separator), from2 = Str(from[attr])[split](separator);
                if (attr == "clip-rect") {
                  from[attr] = from2;
                  diff[attr] = [];
                  i = from2.length;
                  while (i--) {
                    diff[attr][i] = (values[i] - from[attr][i]) / ms;
                  }
                }
                to[attr] = values;
                break;
              default:
                values = [][concat](params[attr]);
                from2 = [][concat](from[attr]);
                diff[attr] = [];
                i = element.paper.customAttributes[attr].length;
                while (i--) {
                  diff[attr][i] = ((values[i] || 0) - (from2[i] || 0)) / ms;
                }
                break;
            }
          }
        }
      }
      var easing = params.easing, easyeasy = R.easing_formulas[easing];
      if (!easyeasy) {
        easyeasy = Str(easing).match(bezierrg);
        if (easyeasy && easyeasy.length == 5) {
          var curve = easyeasy;
          easyeasy = function(t) {
            return CubicBezierAtTime(t, +curve[1], +curve[2], +curve[3], +curve[4], ms);
          };
        } else {
          easyeasy = pipe;
        }
      }
      timestamp = params.start || (anim.start || +new Date);
      e = {anim:anim, percent:percent, timestamp:timestamp, start:timestamp + (anim.del || 0), status:0, initstatus:status || 0, stop:false, ms:ms, easing:easyeasy, from:from, diff:diff, to:to, el:element, callback:params.callback, prev:prev, next:next, repeat:times || anim.times, origin:element.attr(), totalOrigin:totalOrigin};
      animationElements.push(e);
      if (status && (!isInAnim && !isInAnimSet)) {
        e.stop = true;
        e.start = new Date - ms * status;
        if (animationElements.length == 1) {
          return animation();
        }
      }
      if (isInAnimSet) {
        e.start = new Date - e.ms * status;
      }
      animationElements.length == 1 && requestAnimFrame(animation);
    } else {
      isInAnim.initstatus = status;
      isInAnim.start = new Date - isInAnim.ms * status;
    }
    eve("raphael.anim.start." + element.id, element, anim);
  }
  R.animation = function(params, ms, easing, callback) {
    if (params instanceof Animation) {
      return params;
    }
    if (R.is(easing, "function") || !easing) {
      callback = callback || (easing || null);
      easing = null;
    }
    params = Object(params);
    ms = +ms || 0;
    var p = {}, json, attr;
    for (attr in params) {
      if (params[has](attr) && (toFloat(attr) != attr && toFloat(attr) + "%" != attr)) {
        json = true;
        p[attr] = params[attr];
      }
    }
    if (!json) {
      return new Animation(params, ms);
    } else {
      easing && (p.easing = easing);
      callback && (p.callback = callback);
      return new Animation({100:p}, ms);
    }
  };
  elproto.animate = function(params, ms, easing, callback) {
    var element = this;
    if (element.removed) {
      callback && callback.call(element);
      return element;
    }
    var anim = params instanceof Animation ? params : R.animation(params, ms, easing, callback);
    runAnimation(anim, element, anim.percents[0], null, element.attr());
    return element;
  };
  elproto.setTime = function(anim, value) {
    if (anim && value != null) {
      this.status(anim, mmin(value, anim.ms) / anim.ms);
    }
    return this;
  };
  elproto.status = function(anim, value) {
    var out = [], i = 0, len, e;
    if (value != null) {
      runAnimation(anim, this, -1, mmin(value, 1));
      return this;
    } else {
      len = animationElements.length;
      for (;i < len;i++) {
        e = animationElements[i];
        if (e.el.id == this.id && (!anim || e.anim == anim)) {
          if (anim) {
            return e.status;
          }
          out.push({anim:e.anim, status:e.status});
        }
      }
      if (anim) {
        return 0;
      }
      return out;
    }
  };
  elproto.pause = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        if (eve("raphael.anim.pause." + this.id, this, animationElements[i].anim) !== false) {
          animationElements[i].paused = true;
        }
      }
    }
    return this;
  };
  elproto.resume = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        var e = animationElements[i];
        if (eve("raphael.anim.resume." + this.id, this, e.anim) !== false) {
          delete e.paused;
          this.status(e.anim, e.status);
        }
      }
    }
    return this;
  };
  elproto.stop = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        if (eve("raphael.anim.stop." + this.id, this, animationElements[i].anim) !== false) {
          animationElements.splice(i--, 1);
        }
      }
    }
    return this;
  };
  function stopAnimation(paper) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.paper == paper) {
        animationElements.splice(i--, 1);
      }
    }
  }
  eve.on("raphael.remove", stopAnimation);
  eve.on("raphael.clear", stopAnimation);
  elproto.toString = function() {
    return "Rapha\u00ebl\u2019s object";
  };
  var Set = function(items) {
    this.items = [];
    this.length = 0;
    this.type = "set";
    if (items) {
      for (var i = 0, ii = items.length;i < ii;i++) {
        if (items[i] && (items[i].constructor == elproto.constructor || items[i].constructor == Set)) {
          this[this.items.length] = this.items[this.items.length] = items[i];
          this.length++;
        }
      }
    }
  }, setproto = Set.prototype;
  setproto.push = function() {
    var item, len;
    for (var i = 0, ii = arguments.length;i < ii;i++) {
      item = arguments[i];
      if (item && (item.constructor == elproto.constructor || item.constructor == Set)) {
        len = this.items.length;
        this[len] = this.items[len] = item;
        this.length++;
      }
    }
    return this;
  };
  setproto.pop = function() {
    this.length && delete this[this.length--];
    return this.items.pop();
  };
  setproto.forEach = function(callback, thisArg) {
    for (var i = 0, ii = this.items.length;i < ii;i++) {
      if (callback.call(thisArg, this.items[i], i) === false) {
        return this;
      }
    }
    return this;
  };
  for (var method in elproto) {
    if (elproto[has](method)) {
      setproto[method] = function(methodname) {
        return function() {
          var arg = arguments;
          return this.forEach(function(el) {
            el[methodname][apply](el, arg);
          });
        };
      }(method);
    }
  }
  setproto.attr = function(name, value) {
    if (name && (R.is(name, array) && R.is(name[0], "object"))) {
      for (var j = 0, jj = name.length;j < jj;j++) {
        this.items[j].attr(name[j]);
      }
    } else {
      for (var i = 0, ii = this.items.length;i < ii;i++) {
        this.items[i].attr(name, value);
      }
    }
    return this;
  };
  setproto.clear = function() {
    while (this.length) {
      this.pop();
    }
  };
  setproto.splice = function(index, count, insertion) {
    index = index < 0 ? mmax(this.length + index, 0) : index;
    count = mmax(0, mmin(this.length - index, count));
    var tail = [], todel = [], args = [], i;
    for (i = 2;i < arguments.length;i++) {
      args.push(arguments[i]);
    }
    for (i = 0;i < count;i++) {
      todel.push(this[index + i]);
    }
    for (;i < this.length - index;i++) {
      tail.push(this[index + i]);
    }
    var arglen = args.length;
    for (i = 0;i < arglen + tail.length;i++) {
      this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];
    }
    i = this.items.length = this.length -= count - arglen;
    while (this[i]) {
      delete this[i++];
    }
    return new Set(todel);
  };
  setproto.exclude = function(el) {
    for (var i = 0, ii = this.length;i < ii;i++) {
      if (this[i] == el) {
        this.splice(i, 1);
        return true;
      }
    }
  };
  setproto.animate = function(params, ms, easing, callback) {
    (R.is(easing, "function") || !easing) && (callback = easing || null);
    var len = this.items.length, i = len, item, set = this, collector;
    if (!len) {
      return this;
    }
    callback && (collector = function() {
      !--len && callback.call(set);
    });
    easing = R.is(easing, string) ? easing : collector;
    var anim = R.animation(params, ms, easing, collector);
    item = this.items[--i].animate(anim);
    while (i--) {
      this.items[i] && (!this.items[i].removed && this.items[i].animateWith(item, anim, anim));
      this.items[i] && !this.items[i].removed || len--;
    }
    return this;
  };
  setproto.insertAfter = function(el) {
    var i = this.items.length;
    while (i--) {
      this.items[i].insertAfter(el);
    }
    return this;
  };
  setproto.getBBox = function() {
    var x = [], y = [], x2 = [], y2 = [];
    for (var i = this.items.length;i--;) {
      if (!this.items[i].removed) {
        var box = this.items[i].getBBox();
        x.push(box.x);
        y.push(box.y);
        x2.push(box.x + box.width);
        y2.push(box.y + box.height);
      }
    }
    x = mmin[apply](0, x);
    y = mmin[apply](0, y);
    x2 = mmax[apply](0, x2);
    y2 = mmax[apply](0, y2);
    return{x:x, y:y, x2:x2, y2:y2, width:x2 - x, height:y2 - y};
  };
  setproto.clone = function(s) {
    s = this.paper.set();
    for (var i = 0, ii = this.items.length;i < ii;i++) {
      s.push(this.items[i].clone());
    }
    return s;
  };
  setproto.toString = function() {
    return "Rapha\u00ebl\u2018s set";
  };
  setproto.glow = function(glowConfig) {
    var ret = this.paper.set();
    this.forEach(function(shape, index) {
      var g = shape.glow(glowConfig);
      if (g != null) {
        g.forEach(function(shape2, index2) {
          ret.push(shape2);
        });
      }
    });
    return ret;
  };
  setproto.isPointInside = function(x, y) {
    var isPointInside = false;
    this.forEach(function(el) {
      if (el.isPointInside(x, y)) {
        isPointInside = true;
        return false;
      }
    });
    return isPointInside;
  };
  R.registerFont = function(font) {
    if (!font.face) {
      return font;
    }
    this.fonts = this.fonts || {};
    var fontcopy = {w:font.w, face:{}, glyphs:{}}, family = font.face["font-family"];
    for (var prop in font.face) {
      if (font.face[has](prop)) {
        fontcopy.face[prop] = font.face[prop];
      }
    }
    if (this.fonts[family]) {
      this.fonts[family].push(fontcopy);
    } else {
      this.fonts[family] = [fontcopy];
    }
    if (!font.svg) {
      fontcopy.face["units-per-em"] = toInt(font.face["units-per-em"], 10);
      for (var glyph in font.glyphs) {
        if (font.glyphs[has](glyph)) {
          var path = font.glyphs[glyph];
          fontcopy.glyphs[glyph] = {w:path.w, k:{}, d:path.d && "M" + path.d.replace(/[mlcxtrv]/g, function(command) {
            return{l:"L", c:"C", x:"z", t:"m", r:"l", v:"c"}[command] || "M";
          }) + "z"};
          if (path.k) {
            for (var k in path.k) {
              if (path[has](k)) {
                fontcopy.glyphs[glyph].k[k] = path.k[k];
              }
            }
          }
        }
      }
    }
    return font;
  };
  paperproto.getFont = function(family, weight, style, stretch) {
    stretch = stretch || "normal";
    style = style || "normal";
    weight = +weight || ({normal:400, bold:700, lighter:300, bolder:800}[weight] || 400);
    if (!R.fonts) {
      return;
    }
    var font = R.fonts[family];
    if (!font) {
      var name = new RegExp("(^|\\s)" + family.replace(/[^\w\d\s+!~.:_-]/g, E) + "(\\s|$)", "i");
      for (var fontName in R.fonts) {
        if (R.fonts[has](fontName)) {
          if (name.test(fontName)) {
            font = R.fonts[fontName];
            break;
          }
        }
      }
    }
    var thefont;
    if (font) {
      for (var i = 0, ii = font.length;i < ii;i++) {
        thefont = font[i];
        if (thefont.face["font-weight"] == weight && ((thefont.face["font-style"] == style || !thefont.face["font-style"]) && thefont.face["font-stretch"] == stretch)) {
          break;
        }
      }
    }
    return thefont;
  };
  paperproto.print = function(x, y, string, font, size, origin, letter_spacing, line_spacing) {
    origin = origin || "middle";
    letter_spacing = mmax(mmin(letter_spacing || 0, 1), -1);
    line_spacing = mmax(mmin(line_spacing || 1, 3), 1);
    var letters = Str(string)[split](E), shift = 0, notfirst = 0, path = E, scale;
    R.is(font, "string") && (font = this.getFont(font));
    if (font) {
      scale = (size || 16) / font.face["units-per-em"];
      var bb = font.face.bbox[split](separator), top = +bb[0], lineHeight = bb[3] - bb[1], shifty = 0, height = +bb[1] + (origin == "baseline" ? lineHeight + +font.face.descent : lineHeight / 2);
      for (var i = 0, ii = letters.length;i < ii;i++) {
        if (letters[i] == "\n") {
          shift = 0;
          curr = 0;
          notfirst = 0;
          shifty += lineHeight * line_spacing;
        } else {
          var prev = notfirst && font.glyphs[letters[i - 1]] || {}, curr = font.glyphs[letters[i]];
          shift += notfirst ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) + font.w * letter_spacing : 0;
          notfirst = 1;
        }
        if (curr && curr.d) {
          path += R.transformPath(curr.d, ["t", shift * scale, shifty * scale, "s", scale, scale, top, height, "t", (x - top) / scale, (y - height) / scale]);
        }
      }
    }
    return this.path(path).attr({fill:"#000", stroke:"none"});
  };
  paperproto.add = function(json) {
    if (R.is(json, "array")) {
      var res = this.set(), i = 0, ii = json.length, j;
      for (;i < ii;i++) {
        j = json[i] || {};
        elements[has](j.type) && res.push(this[j.type]().attr(j));
      }
    }
    return res;
  };
  R.format = function(token, params) {
    var args = R.is(params, array) ? [0][concat](params) : arguments;
    token && (R.is(token, string) && (args.length - 1 && (token = token.replace(formatrg, function(str, i) {
      return args[++i] == null ? E : args[i];
    }))));
    return token || E;
  };
  R.fullfill = function() {
    var tokenRegex = /\{([^\}]+)\}/g, objNotationRegex = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, replacer = function(all, key, obj) {
      var res = obj;
      key.replace(objNotationRegex, function(all, name, quote, quotedName, isFunc) {
        name = name || quotedName;
        if (res) {
          if (name in res) {
            res = res[name];
          }
          typeof res == "function" && (isFunc && (res = res()));
        }
      });
      res = (res == null || res == obj ? all : res) + "";
      return res;
    };
    return function(str, obj) {
      return String(str).replace(tokenRegex, function(all, key) {
        return replacer(all, key, obj);
      });
    };
  }();
  R.ninja = function() {
    oldRaphael.was ? g.win.Raphael = oldRaphael.is : delete Raphael;
    return R;
  };
  R.st = setproto;
  (function(doc, loaded, f) {
    if (doc.readyState == null && doc.addEventListener) {
      doc.addEventListener(loaded, f = function() {
        doc.removeEventListener(loaded, f, false);
        doc.readyState = "complete";
      }, false);
      doc.readyState = "loading";
    }
    function isLoaded() {
      /in/.test(doc.readyState) ? setTimeout(isLoaded, 9) : R.eve("raphael.DOMload");
    }
    isLoaded();
  })(document, "DOMContentLoaded");
  eve.on("raphael.DOMload", function() {
    loaded = true;
  });
  (function() {
    if (!R.svg) {
      return;
    }
    var has = "hasOwnProperty", Str = String, toFloat = parseFloat, toInt = parseInt, math = Math, mmax = math.max, abs = math.abs, pow = math.pow, separator = /[, ]+/, eve = R.eve, E = "", S = " ";
    var xlink = "http://www.w3.org/1999/xlink", markers = {block:"M5,0 0,2.5 5,5z", classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z", diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z", open:"M6,1 1,3.5 6,6", oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"}, markerCounter = {};
    R.toString = function() {
      return "Your browser supports SVG.\nYou are running Rapha\u00ebl " + this.version;
    };
    var $ = function(el, attr) {
      if (attr) {
        if (typeof el == "string") {
          el = $(el);
        }
        for (var key in attr) {
          if (attr[has](key)) {
            if (key.substring(0, 6) == "xlink:") {
              el.setAttributeNS(xlink, key.substring(6), Str(attr[key]));
            } else {
              el.setAttribute(key, Str(attr[key]));
            }
          }
        }
      } else {
        el = R._g.doc.createElementNS("http://www.w3.org/2000/svg", el);
        el.style && (el.style.webkitTapHighlightColor = "rgba(0,0,0,0)");
      }
      return el;
    }, addGradientFill = function(element, gradient) {
      var type = "linear", id = element.id + gradient, fx = 0.5, fy = 0.5, o = element.node, SVG = element.paper, s = o.style, el = R._g.doc.getElementById(id);
      if (!el) {
        gradient = Str(gradient).replace(R._radial_gradient, function(all, _fx, _fy) {
          type = "radial";
          if (_fx && _fy) {
            fx = toFloat(_fx);
            fy = toFloat(_fy);
            var dir = (fy > 0.5) * 2 - 1;
            pow(fx - 0.5, 2) + pow(fy - 0.5, 2) > 0.25 && ((fy = math.sqrt(0.25 - pow(fx - 0.5, 2)) * dir + 0.5) && (fy != 0.5 && (fy = fy.toFixed(5) - 1E-5 * dir)));
          }
          return E;
        });
        gradient = gradient.split(/\s*\-\s*/);
        if (type == "linear") {
          var angle = gradient.shift();
          angle = -toFloat(angle);
          if (isNaN(angle)) {
            return null;
          }
          var vector = [0, 0, math.cos(R.rad(angle)), math.sin(R.rad(angle))], max = 1 / (mmax(abs(vector[2]), abs(vector[3])) || 1);
          vector[2] *= max;
          vector[3] *= max;
          if (vector[2] < 0) {
            vector[0] = -vector[2];
            vector[2] = 0;
          }
          if (vector[3] < 0) {
            vector[1] = -vector[3];
            vector[3] = 0;
          }
        }
        var dots = R._parseDots(gradient);
        if (!dots) {
          return null;
        }
        id = id.replace(/[\(\)\s,\xb0#]/g, "_");
        if (element.gradient && id != element.gradient.id) {
          SVG.defs.removeChild(element.gradient);
          delete element.gradient;
        }
        if (!element.gradient) {
          el = $(type + "Gradient", {id:id});
          element.gradient = el;
          $(el, type == "radial" ? {fx:fx, fy:fy} : {x1:vector[0], y1:vector[1], x2:vector[2], y2:vector[3], gradientTransform:element.matrix.invert()});
          SVG.defs.appendChild(el);
          for (var i = 0, ii = dots.length;i < ii;i++) {
            el.appendChild($("stop", {offset:dots[i].offset ? dots[i].offset : i ? "100%" : "0%", "stop-color":dots[i].color || "#fff"}));
          }
        }
      }
      $(o, {fill:"url(#" + id + ")", opacity:1, "fill-opacity":1});
      s.fill = E;
      s.opacity = 1;
      s.fillOpacity = 1;
      return 1;
    }, updatePosition = function(o) {
      var bbox = o.getBBox(1);
      $(o.pattern, {patternTransform:o.matrix.invert() + " translate(" + bbox.x + "," + bbox.y + ")"});
    }, addArrow = function(o, value, isEnd) {
      if (o.type == "path") {
        var values = Str(value).toLowerCase().split("-"), p = o.paper, se = isEnd ? "end" : "start", node = o.node, attrs = o.attrs, stroke = attrs["stroke-width"], i = values.length, type = "classic", from, to, dx, refX, attr, w = 3, h = 3, t = 5;
        while (i--) {
          switch(values[i]) {
            case "block":
            ;
            case "classic":
            ;
            case "oval":
            ;
            case "diamond":
            ;
            case "open":
            ;
            case "none":
              type = values[i];
              break;
            case "wide":
              h = 5;
              break;
            case "narrow":
              h = 2;
              break;
            case "long":
              w = 5;
              break;
            case "short":
              w = 2;
              break;
          }
        }
        if (type == "open") {
          w += 2;
          h += 2;
          t += 2;
          dx = 1;
          refX = isEnd ? 4 : 1;
          attr = {fill:"none", stroke:attrs.stroke};
        } else {
          refX = dx = w / 2;
          attr = {fill:attrs.stroke, stroke:"none"};
        }
        if (o._.arrows) {
          if (isEnd) {
            o._.arrows.endPath && markerCounter[o._.arrows.endPath]--;
            o._.arrows.endMarker && markerCounter[o._.arrows.endMarker]--;
          } else {
            o._.arrows.startPath && markerCounter[o._.arrows.startPath]--;
            o._.arrows.startMarker && markerCounter[o._.arrows.startMarker]--;
          }
        } else {
          o._.arrows = {};
        }
        if (type != "none") {
          var pathId = "raphael-marker-" + type, markerId = "raphael-marker-" + se + type + w + h;
          if (!R._g.doc.getElementById(pathId)) {
            p.defs.appendChild($($("path"), {"stroke-linecap":"round", d:markers[type], id:pathId}));
            markerCounter[pathId] = 1;
          } else {
            markerCounter[pathId]++;
          }
          var marker = R._g.doc.getElementById(markerId), use;
          if (!marker) {
            marker = $($("marker"), {id:markerId, markerHeight:h, markerWidth:w, orient:"auto", refX:refX, refY:h / 2});
            use = $($("use"), {"xlink:href":"#" + pathId, transform:(isEnd ? "rotate(180 " + w / 2 + " " + h / 2 + ") " : E) + "scale(" + w / t + "," + h / t + ")", "stroke-width":(1 / ((w / t + h / t) / 2)).toFixed(4)});
            marker.appendChild(use);
            p.defs.appendChild(marker);
            markerCounter[markerId] = 1;
          } else {
            markerCounter[markerId]++;
            use = marker.getElementsByTagName("use")[0];
          }
          $(use, attr);
          var delta = dx * (type != "diamond" && type != "oval");
          if (isEnd) {
            from = o._.arrows.startdx * stroke || 0;
            to = R.getTotalLength(attrs.path) - delta * stroke;
          } else {
            from = delta * stroke;
            to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);
          }
          attr = {};
          attr["marker-" + se] = "url(#" + markerId + ")";
          if (to || from) {
            attr.d = R.getSubpath(attrs.path, from, to);
          }
          $(node, attr);
          o._.arrows[se + "Path"] = pathId;
          o._.arrows[se + "Marker"] = markerId;
          o._.arrows[se + "dx"] = delta;
          o._.arrows[se + "Type"] = type;
          o._.arrows[se + "String"] = value;
        } else {
          if (isEnd) {
            from = o._.arrows.startdx * stroke || 0;
            to = R.getTotalLength(attrs.path) - from;
          } else {
            from = 0;
            to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);
          }
          o._.arrows[se + "Path"] && $(node, {d:R.getSubpath(attrs.path, from, to)});
          delete o._.arrows[se + "Path"];
          delete o._.arrows[se + "Marker"];
          delete o._.arrows[se + "dx"];
          delete o._.arrows[se + "Type"];
          delete o._.arrows[se + "String"];
        }
        for (attr in markerCounter) {
          if (markerCounter[has](attr) && !markerCounter[attr]) {
            var item = R._g.doc.getElementById(attr);
            item && item.parentNode.removeChild(item);
          }
        }
      }
    }, dasharray = {"":[0], "none":[0], "-":[3, 1], ".":[1, 1], "-.":[3, 1, 1, 1], "-..":[3, 1, 1, 1, 1, 1], ". ":[1, 3], "- ":[4, 3], "--":[8, 3], "- .":[4, 3, 1, 3], "--.":[8, 3, 1, 3], "--..":[8, 3, 1, 3, 1, 3]}, addDashes = function(o, value, params) {
      value = dasharray[Str(value).toLowerCase()];
      if (value) {
        var width = o.attrs["stroke-width"] || "1", butt = {round:width, square:width, butt:0}[o.attrs["stroke-linecap"] || params["stroke-linecap"]] || 0, dashes = [], i = value.length;
        while (i--) {
          dashes[i] = value[i] * width + (i % 2 ? 1 : -1) * butt;
        }
        $(o.node, {"stroke-dasharray":dashes.join(",")});
      }
    }, setFillAndStroke = function(o, params) {
      var node = o.node, attrs = o.attrs, vis = node.style.visibility;
      node.style.visibility = "hidden";
      for (var att in params) {
        if (params[has](att)) {
          if (!R._availableAttrs[has](att)) {
            continue;
          }
          var value = params[att];
          attrs[att] = value;
          switch(att) {
            case "blur":
              o.blur(value);
              break;
            case "title":
              var title = node.getElementsByTagName("title");
              if (title.length && (title = title[0])) {
                title.firstChild.nodeValue = value;
              } else {
                title = $("title");
                var val = R._g.doc.createTextNode(value);
                title.appendChild(val);
                node.appendChild(title);
              }
              break;
            case "href":
            ;
            case "target":
              var pn = node.parentNode;
              if (pn.tagName.toLowerCase() != "a") {
                var hl = $("a");
                pn.insertBefore(hl, node);
                hl.appendChild(node);
                pn = hl;
              }
              if (att == "target") {
                pn.setAttributeNS(xlink, "show", value == "blank" ? "new" : value);
              } else {
                pn.setAttributeNS(xlink, att, value);
              }
              break;
            case "cursor":
              node.style.cursor = value;
              break;
            case "transform":
              o.transform(value);
              break;
            case "arrow-start":
              addArrow(o, value);
              break;
            case "arrow-end":
              addArrow(o, value, 1);
              break;
            case "clip-rect":
              var rect = Str(value).split(separator);
              if (rect.length == 4) {
                o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode);
                var el = $("clipPath"), rc = $("rect");
                el.id = R.createUUID();
                $(rc, {x:rect[0], y:rect[1], width:rect[2], height:rect[3]});
                el.appendChild(rc);
                o.paper.defs.appendChild(el);
                $(node, {"clip-path":"url(#" + el.id + ")"});
                o.clip = rc;
              }
              if (!value) {
                var path = node.getAttribute("clip-path");
                if (path) {
                  var clip = R._g.doc.getElementById(path.replace(/(^url\(#|\)$)/g, E));
                  clip && clip.parentNode.removeChild(clip);
                  $(node, {"clip-path":E});
                  delete o.clip;
                }
              }
              break;
            case "path":
              if (o.type == "path") {
                $(node, {d:value ? attrs.path = R._pathToAbsolute(value) : "M0,0"});
                o._.dirty = 1;
                if (o._.arrows) {
                  "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                  "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
                }
              }
              break;
            case "width":
              node.setAttribute(att, value);
              o._.dirty = 1;
              if (attrs.fx) {
                att = "x";
                value = attrs.x;
              } else {
                break;
              }
            ;
            case "x":
              if (attrs.fx) {
                value = -attrs.x - (attrs.width || 0);
              }
            ;
            case "rx":
              if (att == "rx" && o.type == "rect") {
                break;
              }
            ;
            case "cx":
              node.setAttribute(att, value);
              o.pattern && updatePosition(o);
              o._.dirty = 1;
              break;
            case "height":
              node.setAttribute(att, value);
              o._.dirty = 1;
              if (attrs.fy) {
                att = "y";
                value = attrs.y;
              } else {
                break;
              }
            ;
            case "y":
              if (attrs.fy) {
                value = -attrs.y - (attrs.height || 0);
              }
            ;
            case "ry":
              if (att == "ry" && o.type == "rect") {
                break;
              }
            ;
            case "cy":
              node.setAttribute(att, value);
              o.pattern && updatePosition(o);
              o._.dirty = 1;
              break;
            case "r":
              if (o.type == "rect") {
                $(node, {rx:value, ry:value});
              } else {
                node.setAttribute(att, value);
              }
              o._.dirty = 1;
              break;
            case "src":
              if (o.type == "image") {
                node.setAttributeNS(xlink, "href", value);
              }
              break;
            case "stroke-width":
              if (o._.sx != 1 || o._.sy != 1) {
                value /= mmax(abs(o._.sx), abs(o._.sy)) || 1;
              }
              if (o.paper._vbSize) {
                value *= o.paper._vbSize;
              }
              node.setAttribute(att, value);
              if (attrs["stroke-dasharray"]) {
                addDashes(o, attrs["stroke-dasharray"], params);
              }
              if (o._.arrows) {
                "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
              }
              break;
            case "stroke-dasharray":
              addDashes(o, value, params);
              break;
            case "fill":
              var isURL = Str(value).match(R._ISURL);
              if (isURL) {
                el = $("pattern");
                var ig = $("image");
                el.id = R.createUUID();
                $(el, {x:0, y:0, patternUnits:"userSpaceOnUse", height:1, width:1});
                $(ig, {x:0, y:0, "xlink:href":isURL[1]});
                el.appendChild(ig);
                (function(el) {
                  R._preload(isURL[1], function() {
                    var w = this.offsetWidth, h = this.offsetHeight;
                    $(el, {width:w, height:h});
                    $(ig, {width:w, height:h});
                    o.paper.safari();
                  });
                })(el);
                o.paper.defs.appendChild(el);
                $(node, {fill:"url(#" + el.id + ")"});
                o.pattern = el;
                o.pattern && updatePosition(o);
                break;
              }
              var clr = R.getRGB(value);
              if (!clr.error) {
                delete params.gradient;
                delete attrs.gradient;
                !R.is(attrs.opacity, "undefined") && (R.is(params.opacity, "undefined") && $(node, {opacity:attrs.opacity}));
                !R.is(attrs["fill-opacity"], "undefined") && (R.is(params["fill-opacity"], "undefined") && $(node, {"fill-opacity":attrs["fill-opacity"]}));
              } else {
                if ((o.type == "circle" || (o.type == "ellipse" || Str(value).charAt() != "r")) && addGradientFill(o, value)) {
                  if ("opacity" in attrs || "fill-opacity" in attrs) {
                    var gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
                    if (gradient) {
                      var stops = gradient.getElementsByTagName("stop");
                      $(stops[stops.length - 1], {"stop-opacity":("opacity" in attrs ? attrs.opacity : 1) * ("fill-opacity" in attrs ? attrs["fill-opacity"] : 1)});
                    }
                  }
                  attrs.gradient = value;
                  attrs.fill = "none";
                  break;
                }
              }
              clr[has]("opacity") && $(node, {"fill-opacity":clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});
            case "stroke":
              clr = R.getRGB(value);
              node.setAttribute(att, clr.hex);
              att == "stroke" && (clr[has]("opacity") && $(node, {"stroke-opacity":clr.opacity > 1 ? clr.opacity / 100 : clr.opacity}));
              if (att == "stroke" && o._.arrows) {
                "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
              }
              break;
            case "gradient":
              (o.type == "circle" || (o.type == "ellipse" || Str(value).charAt() != "r")) && addGradientFill(o, value);
              break;
            case "opacity":
              if (attrs.gradient && !attrs[has]("stroke-opacity")) {
                $(node, {"stroke-opacity":value > 1 ? value / 100 : value});
              }
            ;
            case "fill-opacity":
              if (attrs.gradient) {
                gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
                if (gradient) {
                  stops = gradient.getElementsByTagName("stop");
                  $(stops[stops.length - 1], {"stop-opacity":value});
                }
                break;
              }
            ;
            default:
              att == "font-size" && (value = toInt(value, 10) + "px");
              var cssrule = att.replace(/(\-.)/g, function(w) {
                return w.substring(1).toUpperCase();
              });
              node.style[cssrule] = value;
              o._.dirty = 1;
              node.setAttribute(att, value);
              break;
          }
        }
      }
      tuneText(o, params);
      node.style.visibility = vis;
    }, leading = 1.2, tuneText = function(el, params) {
      if (el.type != "text" || !(params[has]("text") || (params[has]("font") || (params[has]("font-size") || (params[has]("x") || params[has]("y")))))) {
        return;
      }
      var a = el.attrs, node = el.node, fontSize = node.firstChild ? toInt(R._g.doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue("font-size"), 10) : 10;
      if (params[has]("text")) {
        a.text = params.text;
        while (node.firstChild) {
          node.removeChild(node.firstChild);
        }
        var texts = Str(params.text).split("\n"), tspans = [], tspan;
        for (var i = 0, ii = texts.length;i < ii;i++) {
          tspan = $("tspan");
          i && $(tspan, {dy:fontSize * leading, x:a.x});
          tspan.appendChild(R._g.doc.createTextNode(texts[i]));
          node.appendChild(tspan);
          tspans[i] = tspan;
        }
      } else {
        tspans = node.getElementsByTagName("tspan");
        for (i = 0, ii = tspans.length;i < ii;i++) {
          if (i) {
            $(tspans[i], {dy:fontSize * leading, x:a.x});
          } else {
            $(tspans[0], {dy:0});
          }
        }
      }
      $(node, {x:a.x, y:a.y});
      el._.dirty = 1;
      var bb = el._getBBox(), dif = a.y - (bb.y + bb.height / 2);
      dif && (R.is(dif, "finite") && $(tspans[0], {dy:dif}));
    }, Element = function(node, svg) {
      var X = 0, Y = 0;
      this[0] = this.node = node;
      node.raphael = true;
      this.id = R._oid++;
      node.raphaelid = this.id;
      this.matrix = R.matrix();
      this.realPath = null;
      this.paper = svg;
      this.attrs = this.attrs || {};
      this._ = {transform:[], sx:1, sy:1, deg:0, dx:0, dy:0, dirty:1};
      !svg.bottom && (svg.bottom = this);
      this.prev = svg.top;
      svg.top && (svg.top.next = this);
      svg.top = this;
      this.next = null;
    }, elproto = R.el;
    Element.prototype = elproto;
    elproto.constructor = Element;
    R._engine.path = function(pathString, SVG) {
      var el = $("path");
      SVG.canvas && SVG.canvas.appendChild(el);
      var p = new Element(el, SVG);
      p.type = "path";
      setFillAndStroke(p, {fill:"none", stroke:"#000", path:pathString});
      return p;
    };
    elproto.rotate = function(deg, cx, cy) {
      if (this.removed) {
        return this;
      }
      deg = Str(deg).split(separator);
      if (deg.length - 1) {
        cx = toFloat(deg[1]);
        cy = toFloat(deg[2]);
      }
      deg = toFloat(deg[0]);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1);
        cx = bbox.x + bbox.width / 2;
        cy = bbox.y + bbox.height / 2;
      }
      this.transform(this._.transform.concat([["r", deg, cx, cy]]));
      return this;
    };
    elproto.scale = function(sx, sy, cx, cy) {
      if (this.removed) {
        return this;
      }
      sx = Str(sx).split(separator);
      if (sx.length - 1) {
        sy = toFloat(sx[1]);
        cx = toFloat(sx[2]);
        cy = toFloat(sx[3]);
      }
      sx = toFloat(sx[0]);
      sy == null && (sy = sx);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1)
      }
      cx = cx == null ? bbox.x + bbox.width / 2 : cx;
      cy = cy == null ? bbox.y + bbox.height / 2 : cy;
      this.transform(this._.transform.concat([["s", sx, sy, cx, cy]]));
      return this;
    };
    elproto.translate = function(dx, dy) {
      if (this.removed) {
        return this;
      }
      dx = Str(dx).split(separator);
      if (dx.length - 1) {
        dy = toFloat(dx[1]);
      }
      dx = toFloat(dx[0]) || 0;
      dy = +dy || 0;
      this.transform(this._.transform.concat([["t", dx, dy]]));
      return this;
    };
    elproto.transform = function(tstr) {
      var _ = this._;
      if (tstr == null) {
        return _.transform;
      }
      R._extractTransform(this, tstr);
      this.clip && $(this.clip, {transform:this.matrix.invert()});
      this.pattern && updatePosition(this);
      this.node && $(this.node, {transform:this.matrix});
      if (_.sx != 1 || _.sy != 1) {
        var sw = this.attrs[has]("stroke-width") ? this.attrs["stroke-width"] : 1;
        this.attr({"stroke-width":sw});
      }
      return this;
    };
    elproto.hide = function() {
      !this.removed && this.paper.safari(this.node.style.display = "none");
      return this;
    };
    elproto.show = function() {
      !this.removed && this.paper.safari(this.node.style.display = "");
      return this;
    };
    elproto.remove = function() {
      if (this.removed || !this.node.parentNode) {
        return;
      }
      var paper = this.paper;
      paper.__set__ && paper.__set__.exclude(this);
      eve.unbind("raphael.*.*." + this.id);
      if (this.gradient) {
        paper.defs.removeChild(this.gradient);
      }
      R._tear(this, paper);
      if (this.node.parentNode.tagName.toLowerCase() == "a") {
        this.node.parentNode.parentNode.removeChild(this.node.parentNode);
      } else {
        this.node.parentNode.removeChild(this.node);
      }
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      this.removed = true;
    };
    elproto._getBBox = function() {
      if (this.node.style.display == "none") {
        this.show();
        var hide = true;
      }
      var bbox = {};
      try {
        bbox = this.node.getBBox();
      } catch (e) {
      } finally {
        bbox = bbox || {};
      }
      hide && this.hide();
      return bbox;
    };
    elproto.attr = function(name, value) {
      if (this.removed) {
        return this;
      }
      if (name == null) {
        var res = {};
        for (var a in this.attrs) {
          if (this.attrs[has](a)) {
            res[a] = this.attrs[a];
          }
        }
        res.gradient && (res.fill == "none" && ((res.fill = res.gradient) && delete res.gradient));
        res.transform = this._.transform;
        return res;
      }
      if (value == null && R.is(name, "string")) {
        if (name == "fill" && (this.attrs.fill == "none" && this.attrs.gradient)) {
          return this.attrs.gradient;
        }
        if (name == "transform") {
          return this._.transform;
        }
        var names = name.split(separator), out = {};
        for (var i = 0, ii = names.length;i < ii;i++) {
          name = names[i];
          if (name in this.attrs) {
            out[name] = this.attrs[name];
          } else {
            if (R.is(this.paper.customAttributes[name], "function")) {
              out[name] = this.paper.customAttributes[name].def;
            } else {
              out[name] = R._availableAttrs[name];
            }
          }
        }
        return ii - 1 ? out : out[names[0]];
      }
      if (value == null && R.is(name, "array")) {
        out = {};
        for (i = 0, ii = name.length;i < ii;i++) {
          out[name[i]] = this.attr(name[i]);
        }
        return out;
      }
      if (value != null) {
        var params = {};
        params[name] = value;
      } else {
        if (name != null && R.is(name, "object")) {
          params = name;
        }
      }
      for (var key in params) {
        eve("raphael.attr." + key + "." + this.id, this, params[key]);
      }
      for (key in this.paper.customAttributes) {
        if (this.paper.customAttributes[has](key) && (params[has](key) && R.is(this.paper.customAttributes[key], "function"))) {
          var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));
          this.attrs[key] = params[key];
          for (var subkey in par) {
            if (par[has](subkey)) {
              params[subkey] = par[subkey];
            }
          }
        }
      }
      setFillAndStroke(this, params);
      return this;
    };
    elproto.toFront = function() {
      if (this.removed) {
        return this;
      }
      if (this.node.parentNode.tagName.toLowerCase() == "a") {
        this.node.parentNode.parentNode.appendChild(this.node.parentNode);
      } else {
        this.node.parentNode.appendChild(this.node);
      }
      var svg = this.paper;
      svg.top != this && R._tofront(this, svg);
      return this;
    };
    elproto.toBack = function() {
      if (this.removed) {
        return this;
      }
      var parent = this.node.parentNode;
      if (parent.tagName.toLowerCase() == "a") {
        parent.parentNode.insertBefore(this.node.parentNode, this.node.parentNode.parentNode.firstChild);
      } else {
        if (parent.firstChild != this.node) {
          parent.insertBefore(this.node, this.node.parentNode.firstChild);
        }
      }
      R._toback(this, this.paper);
      var svg = this.paper;
      return this;
    };
    elproto.insertAfter = function(element) {
      if (this.removed) {
        return this;
      }
      var node = element.node || element[element.length - 1].node;
      if (node.nextSibling) {
        node.parentNode.insertBefore(this.node, node.nextSibling);
      } else {
        node.parentNode.appendChild(this.node);
      }
      R._insertafter(this, element, this.paper);
      return this;
    };
    elproto.insertBefore = function(element) {
      if (this.removed) {
        return this;
      }
      var node = element.node || element[0].node;
      node.parentNode.insertBefore(this.node, node);
      R._insertbefore(this, element, this.paper);
      return this;
    };
    elproto.blur = function(size) {
      var t = this;
      if (+size !== 0) {
        var fltr = $("filter"), blur = $("feGaussianBlur");
        t.attrs.blur = size;
        fltr.id = R.createUUID();
        $(blur, {stdDeviation:+size || 1.5});
        fltr.appendChild(blur);
        t.paper.defs.appendChild(fltr);
        t._blur = fltr;
        $(t.node, {filter:"url(#" + fltr.id + ")"});
      } else {
        if (t._blur) {
          t._blur.parentNode.removeChild(t._blur);
          delete t._blur;
          delete t.attrs.blur;
        }
        t.node.removeAttribute("filter");
      }
      return t;
    };
    R._engine.circle = function(svg, x, y, r) {
      var el = $("circle");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {cx:x, cy:y, r:r, fill:"none", stroke:"#000"};
      res.type = "circle";
      $(el, res.attrs);
      return res;
    };
    R._engine.rect = function(svg, x, y, w, h, r) {
      var el = $("rect");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, width:w, height:h, r:r || 0, rx:r || 0, ry:r || 0, fill:"none", stroke:"#000"};
      res.type = "rect";
      $(el, res.attrs);
      return res;
    };
    R._engine.ellipse = function(svg, x, y, rx, ry) {
      var el = $("ellipse");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {cx:x, cy:y, rx:rx, ry:ry, fill:"none", stroke:"#000"};
      res.type = "ellipse";
      $(el, res.attrs);
      return res;
    };
    R._engine.image = function(svg, src, x, y, w, h) {
      var el = $("image");
      $(el, {x:x, y:y, width:w, height:h, preserveAspectRatio:"none"});
      el.setAttributeNS(xlink, "href", src);
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, width:w, height:h, src:src};
      res.type = "image";
      return res;
    };
    R._engine.text = function(svg, x, y, text) {
      var el = $("text");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, "text-anchor":"middle", text:text, font:R._availableAttrs.font, stroke:"none", fill:"#000"};
      res.type = "text";
      setFillAndStroke(res, res.attrs);
      return res;
    };
    R._engine.setSize = function(width, height) {
      this.width = width || this.width;
      this.height = height || this.height;
      this.canvas.setAttribute("width", this.width);
      this.canvas.setAttribute("height", this.height);
      if (this._viewBox) {
        this.setViewBox.apply(this, this._viewBox);
      }
      return this;
    };
    R._engine.create = function() {
      var con = R._getContainer.apply(0, arguments), container = con && con.container, x = con.x, y = con.y, width = con.width, height = con.height;
      if (!container) {
        throw new Error("SVG container not found.");
      }
      var cnvs = $("svg"), css = "overflow:hidden;", isFloating;
      x = x || 0;
      y = y || 0;
      width = width || 512;
      height = height || 342;
      $(cnvs, {height:height, version:1.1, width:width, xmlns:"http://www.w3.org/2000/svg"});
      if (container == 1) {
        cnvs.style.cssText = css + "position:absolute;left:" + x + "px;top:" + y + "px";
        R._g.doc.body.appendChild(cnvs);
        isFloating = 1;
      } else {
        cnvs.style.cssText = css + "position:relative";
        if (container.firstChild) {
          container.insertBefore(cnvs, container.firstChild);
        } else {
          container.appendChild(cnvs);
        }
      }
      container = new R._Paper;
      container.width = width;
      container.height = height;
      container.canvas = cnvs;
      container.clear();
      container._left = container._top = 0;
      isFloating && (container.renderfix = function() {
      });
      container.renderfix();
      return container;
    };
    R._engine.setViewBox = function(x, y, w, h, fit) {
      eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
      var size = mmax(w / this.width, h / this.height), top = this.top, aspectRatio = fit ? "meet" : "xMinYMin", vb, sw;
      if (x == null) {
        if (this._vbSize) {
          size = 1;
        }
        delete this._vbSize;
        vb = "0 0 " + this.width + S + this.height;
      } else {
        this._vbSize = size;
        vb = x + S + y + S + w + S + h;
      }
      $(this.canvas, {viewBox:vb, preserveAspectRatio:aspectRatio});
      while (size && top) {
        sw = "stroke-width" in top.attrs ? top.attrs["stroke-width"] : 1;
        top.attr({"stroke-width":sw});
        top._.dirty = 1;
        top._.dirtyT = 1;
        top = top.prev;
      }
      this._viewBox = [x, y, w, h, !!fit];
      return this;
    };
    R.prototype.renderfix = function() {
      var cnvs = this.canvas, s = cnvs.style, pos;
      try {
        pos = cnvs.getScreenCTM() || cnvs.createSVGMatrix();
      } catch (e) {
        pos = cnvs.createSVGMatrix();
      }
      var left = -pos.e % 1, top = -pos.f % 1;
      if (left || top) {
        if (left) {
          this._left = (this._left + left) % 1;
          s.left = this._left + "px";
        }
        if (top) {
          this._top = (this._top + top) % 1;
          s.top = this._top + "px";
        }
      }
    };
    R.prototype.clear = function() {
      R.eve("raphael.clear", this);
      var c = this.canvas;
      while (c.firstChild) {
        c.removeChild(c.firstChild);
      }
      this.bottom = this.top = null;
      (this.desc = $("desc")).appendChild(R._g.doc.createTextNode("Created with Rapha\u00ebl " + R.version));
      c.appendChild(this.desc);
      c.appendChild(this.defs = $("defs"));
    };
    R.prototype.remove = function() {
      eve("raphael.remove", this);
      this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
    };
    var setproto = R.st;
    for (var method in elproto) {
      if (elproto[has](method) && !setproto[has](method)) {
        setproto[method] = function(methodname) {
          return function() {
            var arg = arguments;
            return this.forEach(function(el) {
              el[methodname].apply(el, arg);
            });
          };
        }(method);
      }
    }
  })();
  (function() {
    if (!R.vml) {
      return;
    }
    var has = "hasOwnProperty", Str = String, toFloat = parseFloat, math = Math, round = math.round, mmax = math.max, mmin = math.min, abs = math.abs, fillString = "fill", separator = /[, ]+/, eve = R.eve, ms = " progid:DXImageTransform.Microsoft", S = " ", E = "", map = {M:"m", L:"l", C:"c", Z:"x", m:"t", l:"r", c:"v", z:"x"}, bites = /([clmz]),?([^clmz]*)/gi, blurregexp = / progid:\S+Blur\([^\)]+\)/g, val = /-?[^,\s-]+/g, cssDot = "position:absolute;left:0;top:0;width:1px;height:1px", zoom = 21600, 
    pathTypes = {path:1, rect:1, image:1}, ovalTypes = {circle:1, ellipse:1}, path2vml = function(path) {
      var total = /[ahqstv]/ig, command = R._pathToAbsolute;
      Str(path).match(total) && (command = R._path2curve);
      total = /[clmz]/g;
      if (command == R._pathToAbsolute && !Str(path).match(total)) {
        var res = Str(path).replace(bites, function(all, command, args) {
          var vals = [], isMove = command.toLowerCase() == "m", res = map[command];
          args.replace(val, function(value) {
            if (isMove && vals.length == 2) {
              res += vals + map[command == "m" ? "l" : "L"];
              vals = [];
            }
            vals.push(round(value * zoom));
          });
          return res + vals;
        });
        return res;
      }
      var pa = command(path), p, r;
      res = [];
      for (var i = 0, ii = pa.length;i < ii;i++) {
        p = pa[i];
        r = pa[i][0].toLowerCase();
        r == "z" && (r = "x");
        for (var j = 1, jj = p.length;j < jj;j++) {
          r += round(p[j] * zoom) + (j != jj - 1 ? "," : E);
        }
        res.push(r);
      }
      return res.join(S);
    }, compensation = function(deg, dx, dy) {
      var m = R.matrix();
      m.rotate(-deg, 0.5, 0.5);
      return{dx:m.x(dx, dy), dy:m.y(dx, dy)};
    }, setCoords = function(p, sx, sy, dx, dy, deg) {
      var _ = p._, m = p.matrix, fillpos = _.fillpos, o = p.node, s = o.style, y = 1, flip = "", dxdy, kx = zoom / sx, ky = zoom / sy;
      s.visibility = "hidden";
      if (!sx || !sy) {
        return;
      }
      o.coordsize = abs(kx) + S + abs(ky);
      s.rotation = deg * (sx * sy < 0 ? -1 : 1);
      if (deg) {
        var c = compensation(deg, dx, dy);
        dx = c.dx;
        dy = c.dy;
      }
      sx < 0 && (flip += "x");
      sy < 0 && ((flip += " y") && (y = -1));
      s.flip = flip;
      o.coordorigin = dx * -kx + S + dy * -ky;
      if (fillpos || _.fillsize) {
        var fill = o.getElementsByTagName(fillString);
        fill = fill && fill[0];
        o.removeChild(fill);
        if (fillpos) {
          c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1]));
          fill.position = c.dx * y + S + c.dy * y;
        }
        if (_.fillsize) {
          fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy);
        }
        o.appendChild(fill);
      }
      s.visibility = "visible";
    };
    R.toString = function() {
      return "Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\u00ebl " + this.version;
    };
    var addArrow = function(o, value, isEnd) {
      var values = Str(value).toLowerCase().split("-"), se = isEnd ? "end" : "start", i = values.length, type = "classic", w = "medium", h = "medium";
      while (i--) {
        switch(values[i]) {
          case "block":
          ;
          case "classic":
          ;
          case "oval":
          ;
          case "diamond":
          ;
          case "open":
          ;
          case "none":
            type = values[i];
            break;
          case "wide":
          ;
          case "narrow":
            h = values[i];
            break;
          case "long":
          ;
          case "short":
            w = values[i];
            break;
        }
      }
      var stroke = o.node.getElementsByTagName("stroke")[0];
      stroke[se + "arrow"] = type;
      stroke[se + "arrowlength"] = w;
      stroke[se + "arrowwidth"] = h;
    }, setFillAndStroke = function(o, params) {
      o.attrs = o.attrs || {};
      var node = o.node, a = o.attrs, s = node.style, xy, newpath = pathTypes[o.type] && (params.x != a.x || (params.y != a.y || (params.width != a.width || (params.height != a.height || (params.cx != a.cx || (params.cy != a.cy || (params.rx != a.rx || (params.ry != a.ry || params.r != a.r)))))))), isOval = ovalTypes[o.type] && (a.cx != params.cx || (a.cy != params.cy || (a.r != params.r || (a.rx != params.rx || a.ry != params.ry)))), res = o;
      for (var par in params) {
        if (params[has](par)) {
          a[par] = params[par];
        }
      }
      if (newpath) {
        a.path = R._getPath[o.type](o);
        o._.dirty = 1;
      }
      params.href && (node.href = params.href);
      params.title && (node.title = params.title);
      params.target && (node.target = params.target);
      params.cursor && (s.cursor = params.cursor);
      "blur" in params && o.blur(params.blur);
      if (params.path && o.type == "path" || newpath) {
        node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path);
        if (o.type == "image") {
          o._.fillpos = [a.x, a.y];
          o._.fillsize = [a.width, a.height];
          setCoords(o, 1, 1, 0, 0, 0);
        }
      }
      "transform" in params && o.transform(params.transform);
      if (isOval) {
        var cx = +a.cx, cy = +a.cy, rx = +a.rx || (+a.r || 0), ry = +a.ry || (+a.r || 0);
        node.path = R.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom));
        o._.dirty = 1;
      }
      if ("clip-rect" in params) {
        var rect = Str(params["clip-rect"]).split(separator);
        if (rect.length == 4) {
          rect[2] = +rect[2] + +rect[0];
          rect[3] = +rect[3] + +rect[1];
          var div = node.clipRect || R._g.doc.createElement("div"), dstyle = div.style;
          dstyle.clip = R.format("rect({1}px {2}px {3}px {0}px)", rect);
          if (!node.clipRect) {
            dstyle.position = "absolute";
            dstyle.top = 0;
            dstyle.left = 0;
            dstyle.width = o.paper.width + "px";
            dstyle.height = o.paper.height + "px";
            node.parentNode.insertBefore(div, node);
            div.appendChild(node);
            node.clipRect = div;
          }
        }
        if (!params["clip-rect"]) {
          node.clipRect && (node.clipRect.style.clip = "auto");
        }
      }
      if (o.textpath) {
        var textpathStyle = o.textpath.style;
        params.font && (textpathStyle.font = params.font);
        params["font-family"] && (textpathStyle.fontFamily = '"' + params["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, E) + '"');
        params["font-size"] && (textpathStyle.fontSize = params["font-size"]);
        params["font-weight"] && (textpathStyle.fontWeight = params["font-weight"]);
        params["font-style"] && (textpathStyle.fontStyle = params["font-style"]);
      }
      if ("arrow-start" in params) {
        addArrow(res, params["arrow-start"]);
      }
      if ("arrow-end" in params) {
        addArrow(res, params["arrow-end"], 1);
      }
      if (params.opacity != null || (params["stroke-width"] != null || (params.fill != null || (params.src != null || (params.stroke != null || (params["stroke-width"] != null || (params["stroke-opacity"] != null || (params["fill-opacity"] != null || (params["stroke-dasharray"] != null || (params["stroke-miterlimit"] != null || (params["stroke-linejoin"] != null || params["stroke-linecap"] != null))))))))))) {
        var fill = node.getElementsByTagName(fillString), newfill = false;
        fill = fill && fill[0];
        !fill && (newfill = fill = createNode(fillString));
        if (o.type == "image" && params.src) {
          fill.src = params.src;
        }
        params.fill && (fill.on = true);
        if (fill.on == null || (params.fill == "none" || params.fill === null)) {
          fill.on = false;
        }
        if (fill.on && params.fill) {
          var isURL = Str(params.fill).match(R._ISURL);
          if (isURL) {
            fill.parentNode == node && node.removeChild(fill);
            fill.rotate = true;
            fill.src = isURL[1];
            fill.type = "tile";
            var bbox = o.getBBox(1);
            fill.position = bbox.x + S + bbox.y;
            o._.fillpos = [bbox.x, bbox.y];
            R._preload(isURL[1], function() {
              o._.fillsize = [this.offsetWidth, this.offsetHeight];
            });
          } else {
            fill.color = R.getRGB(params.fill).hex;
            fill.src = E;
            fill.type = "solid";
            if (R.getRGB(params.fill).error && ((res.type in {circle:1, ellipse:1} || Str(params.fill).charAt() != "r") && addGradientFill(res, params.fill, fill))) {
              a.fill = "none";
              a.gradient = params.fill;
              fill.rotate = false;
            }
          }
        }
        if ("fill-opacity" in params || "opacity" in params) {
          var opacity = ((+a["fill-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1);
          opacity = mmin(mmax(opacity, 0), 1);
          fill.opacity = opacity;
          if (fill.src) {
            fill.color = "none";
          }
        }
        node.appendChild(fill);
        var stroke = node.getElementsByTagName("stroke") && node.getElementsByTagName("stroke")[0], newstroke = false;
        !stroke && (newstroke = stroke = createNode("stroke"));
        if (params.stroke && params.stroke != "none" || (params["stroke-width"] || (params["stroke-opacity"] != null || (params["stroke-dasharray"] || (params["stroke-miterlimit"] || (params["stroke-linejoin"] || params["stroke-linecap"])))))) {
          stroke.on = true;
        }
        (params.stroke == "none" || (params.stroke === null || (stroke.on == null || (params.stroke == 0 || params["stroke-width"] == 0)))) && (stroke.on = false);
        var strokeColor = R.getRGB(params.stroke);
        stroke.on && (params.stroke && (stroke.color = strokeColor.hex));
        opacity = ((+a["stroke-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1);
        var width = (toFloat(params["stroke-width"]) || 1) * 0.75;
        opacity = mmin(mmax(opacity, 0), 1);
        params["stroke-width"] == null && (width = a["stroke-width"]);
        params["stroke-width"] && (stroke.weight = width);
        width && (width < 1 && ((opacity *= width) && (stroke.weight = 1)));
        stroke.opacity = opacity;
        params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter");
        stroke.miterlimit = params["stroke-miterlimit"] || 8;
        params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round");
        if ("stroke-dasharray" in params) {
          var dasharray = {"-":"shortdash", ".":"shortdot", "-.":"shortdashdot", "-..":"shortdashdotdot", ". ":"dot", "- ":"dash", "--":"longdash", "- .":"dashdot", "--.":"longdashdot", "--..":"longdashdotdot"};
          stroke.dashstyle = dasharray[has](params["stroke-dasharray"]) ? dasharray[params["stroke-dasharray"]] : E;
        }
        newstroke && node.appendChild(stroke);
      }
      if (res.type == "text") {
        res.paper.canvas.style.display = E;
        var span = res.paper.span, m = 100, fontSize = a.font && a.font.match(/\d+(?:\.\d*)?(?=px)/);
        s = span.style;
        a.font && (s.font = a.font);
        a["font-family"] && (s.fontFamily = a["font-family"]);
        a["font-weight"] && (s.fontWeight = a["font-weight"]);
        a["font-style"] && (s.fontStyle = a["font-style"]);
        fontSize = toFloat(a["font-size"] || fontSize && fontSize[0]) || 10;
        s.fontSize = fontSize * m + "px";
        res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, "&#60;").replace(/&/g, "&#38;").replace(/\n/g, "<br>"));
        var brect = span.getBoundingClientRect();
        res.W = a.w = (brect.right - brect.left) / m;
        res.H = a.h = (brect.bottom - brect.top) / m;
        res.X = a.x;
        res.Y = a.y + res.H / 2;
        ("x" in params || "y" in params) && (res.path.v = R.format("m{0},{1}l{2},{1}", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1));
        var dirtyattrs = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"];
        for (var d = 0, dd = dirtyattrs.length;d < dd;d++) {
          if (dirtyattrs[d] in params) {
            res._.dirty = 1;
            break;
          }
        }
        switch(a["text-anchor"]) {
          case "start":
            res.textpath.style["v-text-align"] = "left";
            res.bbx = res.W / 2;
            break;
          case "end":
            res.textpath.style["v-text-align"] = "right";
            res.bbx = -res.W / 2;
            break;
          default:
            res.textpath.style["v-text-align"] = "center";
            res.bbx = 0;
            break;
        }
        res.textpath.style["v-text-kern"] = true;
      }
    }, addGradientFill = function(o, gradient, fill) {
      o.attrs = o.attrs || {};
      var attrs = o.attrs, pow = Math.pow, opacity, oindex, type = "linear", fxfy = ".5 .5";
      o.attrs.gradient = gradient;
      gradient = Str(gradient).replace(R._radial_gradient, function(all, fx, fy) {
        type = "radial";
        if (fx && fy) {
          fx = toFloat(fx);
          fy = toFloat(fy);
          pow(fx - 0.5, 2) + pow(fy - 0.5, 2) > 0.25 && (fy = math.sqrt(0.25 - pow(fx - 0.5, 2)) * ((fy > 0.5) * 2 - 1) + 0.5);
          fxfy = fx + S + fy;
        }
        return E;
      });
      gradient = gradient.split(/\s*\-\s*/);
      if (type == "linear") {
        var angle = gradient.shift();
        angle = -toFloat(angle);
        if (isNaN(angle)) {
          return null;
        }
      }
      var dots = R._parseDots(gradient);
      if (!dots) {
        return null;
      }
      o = o.shape || o.node;
      if (dots.length) {
        o.removeChild(fill);
        fill.on = true;
        fill.method = "none";
        fill.color = dots[0].color;
        fill.color2 = dots[dots.length - 1].color;
        var clrs = [];
        for (var i = 0, ii = dots.length;i < ii;i++) {
          dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color);
        }
        fill.colors = clrs.length ? clrs.join() : "0% " + fill.color;
        if (type == "radial") {
          fill.type = "gradientTitle";
          fill.focus = "100%";
          fill.focussize = "0 0";
          fill.focusposition = fxfy;
          fill.angle = 0;
        } else {
          fill.type = "gradient";
          fill.angle = (270 - angle) % 360;
        }
        o.appendChild(fill);
      }
      return 1;
    }, Element = function(node, vml) {
      this[0] = this.node = node;
      node.raphael = true;
      this.id = R._oid++;
      node.raphaelid = this.id;
      this.X = 0;
      this.Y = 0;
      this.attrs = {};
      this.paper = vml;
      this.matrix = R.matrix();
      this._ = {transform:[], sx:1, sy:1, dx:0, dy:0, deg:0, dirty:1, dirtyT:1};
      !vml.bottom && (vml.bottom = this);
      this.prev = vml.top;
      vml.top && (vml.top.next = this);
      vml.top = this;
      this.next = null;
    };
    var elproto = R.el;
    Element.prototype = elproto;
    elproto.constructor = Element;
    elproto.transform = function(tstr) {
      if (tstr == null) {
        return this._.transform;
      }
      var vbs = this.paper._viewBoxShift, vbt = vbs ? "s" + [vbs.scale, vbs.scale] + "-1-1t" + [vbs.dx, vbs.dy] : E, oldt;
      if (vbs) {
        oldt = tstr = Str(tstr).replace(/\.{3}|\u2026/g, this._.transform || E);
      }
      R._extractTransform(this, vbt + tstr);
      var matrix = this.matrix.clone(), skew = this.skew, o = this.node, split, isGrad = ~Str(this.attrs.fill).indexOf("-"), isPatt = !Str(this.attrs.fill).indexOf("url(");
      matrix.translate(1, 1);
      if (isPatt || (isGrad || this.type == "image")) {
        skew.matrix = "1 0 0 1";
        skew.offset = "0 0";
        split = matrix.split();
        if (isGrad && split.noRotation || !split.isSimple) {
          o.style.filter = matrix.toFilter();
          var bb = this.getBBox(), bbt = this.getBBox(1), dx = bb.x - bbt.x, dy = bb.y - bbt.y;
          o.coordorigin = dx * -zoom + S + dy * -zoom;
          setCoords(this, 1, 1, dx, dy, 0);
        } else {
          o.style.filter = E;
          setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate);
        }
      } else {
        o.style.filter = E;
        skew.matrix = Str(matrix);
        skew.offset = matrix.offset();
      }
      oldt && (this._.transform = oldt);
      return this;
    };
    elproto.rotate = function(deg, cx, cy) {
      if (this.removed) {
        return this;
      }
      if (deg == null) {
        return;
      }
      deg = Str(deg).split(separator);
      if (deg.length - 1) {
        cx = toFloat(deg[1]);
        cy = toFloat(deg[2]);
      }
      deg = toFloat(deg[0]);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1);
        cx = bbox.x + bbox.width / 2;
        cy = bbox.y + bbox.height / 2;
      }
      this._.dirtyT = 1;
      this.transform(this._.transform.concat([["r", deg, cx, cy]]));
      return this;
    };
    elproto.translate = function(dx, dy) {
      if (this.removed) {
        return this;
      }
      dx = Str(dx).split(separator);
      if (dx.length - 1) {
        dy = toFloat(dx[1]);
      }
      dx = toFloat(dx[0]) || 0;
      dy = +dy || 0;
      if (this._.bbox) {
        this._.bbox.x += dx;
        this._.bbox.y += dy;
      }
      this.transform(this._.transform.concat([["t", dx, dy]]));
      return this;
    };
    elproto.scale = function(sx, sy, cx, cy) {
      if (this.removed) {
        return this;
      }
      sx = Str(sx).split(separator);
      if (sx.length - 1) {
        sy = toFloat(sx[1]);
        cx = toFloat(sx[2]);
        cy = toFloat(sx[3]);
        isNaN(cx) && (cx = null);
        isNaN(cy) && (cy = null);
      }
      sx = toFloat(sx[0]);
      sy == null && (sy = sx);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1)
      }
      cx = cx == null ? bbox.x + bbox.width / 2 : cx;
      cy = cy == null ? bbox.y + bbox.height / 2 : cy;
      this.transform(this._.transform.concat([["s", sx, sy, cx, cy]]));
      this._.dirtyT = 1;
      return this;
    };
    elproto.hide = function() {
      !this.removed && (this.node.style.display = "none");
      return this;
    };
    elproto.show = function() {
      !this.removed && (this.node.style.display = E);
      return this;
    };
    elproto._getBBox = function() {
      if (this.removed) {
        return{};
      }
      return{x:this.X + (this.bbx || 0) - this.W / 2, y:this.Y - this.H, width:this.W, height:this.H};
    };
    elproto.remove = function() {
      if (this.removed || !this.node.parentNode) {
        return;
      }
      this.paper.__set__ && this.paper.__set__.exclude(this);
      R.eve.unbind("raphael.*.*." + this.id);
      R._tear(this, this.paper);
      this.node.parentNode.removeChild(this.node);
      this.shape && this.shape.parentNode.removeChild(this.shape);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      this.removed = true;
    };
    elproto.attr = function(name, value) {
      if (this.removed) {
        return this;
      }
      if (name == null) {
        var res = {};
        for (var a in this.attrs) {
          if (this.attrs[has](a)) {
            res[a] = this.attrs[a];
          }
        }
        res.gradient && (res.fill == "none" && ((res.fill = res.gradient) && delete res.gradient));
        res.transform = this._.transform;
        return res;
      }
      if (value == null && R.is(name, "string")) {
        if (name == fillString && (this.attrs.fill == "none" && this.attrs.gradient)) {
          return this.attrs.gradient;
        }
        var names = name.split(separator), out = {};
        for (var i = 0, ii = names.length;i < ii;i++) {
          name = names[i];
          if (name in this.attrs) {
            out[name] = this.attrs[name];
          } else {
            if (R.is(this.paper.customAttributes[name], "function")) {
              out[name] = this.paper.customAttributes[name].def;
            } else {
              out[name] = R._availableAttrs[name];
            }
          }
        }
        return ii - 1 ? out : out[names[0]];
      }
      if (this.attrs && (value == null && R.is(name, "array"))) {
        out = {};
        for (i = 0, ii = name.length;i < ii;i++) {
          out[name[i]] = this.attr(name[i]);
        }
        return out;
      }
      var params;
      if (value != null) {
        params = {};
        params[name] = value;
      }
      value == null && (R.is(name, "object") && (params = name));
      for (var key in params) {
        eve("raphael.attr." + key + "." + this.id, this, params[key]);
      }
      if (params) {
        for (key in this.paper.customAttributes) {
          if (this.paper.customAttributes[has](key) && (params[has](key) && R.is(this.paper.customAttributes[key], "function"))) {
            var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));
            this.attrs[key] = params[key];
            for (var subkey in par) {
              if (par[has](subkey)) {
                params[subkey] = par[subkey];
              }
            }
          }
        }
        if (params.text && this.type == "text") {
          this.textpath.string = params.text;
        }
        setFillAndStroke(this, params);
      }
      return this;
    };
    elproto.toFront = function() {
      !this.removed && this.node.parentNode.appendChild(this.node);
      this.paper && (this.paper.top != this && R._tofront(this, this.paper));
      return this;
    };
    elproto.toBack = function() {
      if (this.removed) {
        return this;
      }
      if (this.node.parentNode.firstChild != this.node) {
        this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);
        R._toback(this, this.paper);
      }
      return this;
    };
    elproto.insertAfter = function(element) {
      if (this.removed) {
        return this;
      }
      if (element.constructor == R.st.constructor) {
        element = element[element.length - 1];
      }
      if (element.node.nextSibling) {
        element.node.parentNode.insertBefore(this.node, element.node.nextSibling);
      } else {
        element.node.parentNode.appendChild(this.node);
      }
      R._insertafter(this, element, this.paper);
      return this;
    };
    elproto.insertBefore = function(element) {
      if (this.removed) {
        return this;
      }
      if (element.constructor == R.st.constructor) {
        element = element[0];
      }
      element.node.parentNode.insertBefore(this.node, element.node);
      R._insertbefore(this, element, this.paper);
      return this;
    };
    elproto.blur = function(size) {
      var s = this.node.runtimeStyle, f = s.filter;
      f = f.replace(blurregexp, E);
      if (+size !== 0) {
        this.attrs.blur = size;
        s.filter = f + S + ms + ".Blur(pixelradius=" + (+size || 1.5) + ")";
        s.margin = R.format("-{0}px 0 0 -{0}px", round(+size || 1.5));
      } else {
        s.filter = f;
        s.margin = 0;
        delete this.attrs.blur;
      }
      return this;
    };
    R._engine.path = function(pathString, vml) {
      var el = createNode("shape");
      el.style.cssText = cssDot;
      el.coordsize = zoom + S + zoom;
      el.coordorigin = vml.coordorigin;
      var p = new Element(el, vml), attr = {fill:"none", stroke:"#000"};
      pathString && (attr.path = pathString);
      p.type = "path";
      p.path = [];
      p.Path = E;
      setFillAndStroke(p, attr);
      vml.canvas.appendChild(el);
      var skew = createNode("skew");
      skew.on = true;
      el.appendChild(skew);
      p.skew = skew;
      p.transform(E);
      return p;
    };
    R._engine.rect = function(vml, x, y, w, h, r) {
      var path = R._rectPath(x, y, w, h, r), res = vml.path(path), a = res.attrs;
      res.X = a.x = x;
      res.Y = a.y = y;
      res.W = a.width = w;
      res.H = a.height = h;
      a.r = r;
      a.path = path;
      res.type = "rect";
      return res;
    };
    R._engine.ellipse = function(vml, x, y, rx, ry) {
      var res = vml.path(), a = res.attrs;
      res.X = x - rx;
      res.Y = y - ry;
      res.W = rx * 2;
      res.H = ry * 2;
      res.type = "ellipse";
      setFillAndStroke(res, {cx:x, cy:y, rx:rx, ry:ry});
      return res;
    };
    R._engine.circle = function(vml, x, y, r) {
      var res = vml.path(), a = res.attrs;
      res.X = x - r;
      res.Y = y - r;
      res.W = res.H = r * 2;
      res.type = "circle";
      setFillAndStroke(res, {cx:x, cy:y, r:r});
      return res;
    };
    R._engine.image = function(vml, src, x, y, w, h) {
      var path = R._rectPath(x, y, w, h), res = vml.path(path).attr({stroke:"none"}), a = res.attrs, node = res.node, fill = node.getElementsByTagName(fillString)[0];
      a.src = src;
      res.X = a.x = x;
      res.Y = a.y = y;
      res.W = a.width = w;
      res.H = a.height = h;
      a.path = path;
      res.type = "image";
      fill.parentNode == node && node.removeChild(fill);
      fill.rotate = true;
      fill.src = src;
      fill.type = "tile";
      res._.fillpos = [x, y];
      res._.fillsize = [w, h];
      node.appendChild(fill);
      setCoords(res, 1, 1, 0, 0, 0);
      return res;
    };
    R._engine.text = function(vml, x, y, text) {
      var el = createNode("shape"), path = createNode("path"), o = createNode("textpath");
      x = x || 0;
      y = y || 0;
      text = text || "";
      path.v = R.format("m{0},{1}l{2},{1}", round(x * zoom), round(y * zoom), round(x * zoom) + 1);
      path.textpathok = true;
      o.string = Str(text);
      o.on = true;
      el.style.cssText = cssDot;
      el.coordsize = zoom + S + zoom;
      el.coordorigin = "0 0";
      var p = new Element(el, vml), attr = {fill:"#000", stroke:"none", font:R._availableAttrs.font, text:text};
      p.shape = el;
      p.path = path;
      p.textpath = o;
      p.type = "text";
      p.attrs.text = Str(text);
      p.attrs.x = x;
      p.attrs.y = y;
      p.attrs.w = 1;
      p.attrs.h = 1;
      setFillAndStroke(p, attr);
      el.appendChild(o);
      el.appendChild(path);
      vml.canvas.appendChild(el);
      var skew = createNode("skew");
      skew.on = true;
      el.appendChild(skew);
      p.skew = skew;
      p.transform(E);
      return p;
    };
    R._engine.setSize = function(width, height) {
      var cs = this.canvas.style;
      this.width = width;
      this.height = height;
      width == +width && (width += "px");
      height == +height && (height += "px");
      cs.width = width;
      cs.height = height;
      cs.clip = "rect(0 " + width + " " + height + " 0)";
      if (this._viewBox) {
        R._engine.setViewBox.apply(this, this._viewBox);
      }
      return this;
    };
    R._engine.setViewBox = function(x, y, w, h, fit) {
      R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
      var width = this.width, height = this.height, size = 1 / mmax(w / width, h / height), H, W;
      if (fit) {
        H = height / h;
        W = width / w;
        if (w * H < width) {
          x -= (width - w * H) / 2 / H;
        }
        if (h * W < height) {
          y -= (height - h * W) / 2 / W;
        }
      }
      this._viewBox = [x, y, w, h, !!fit];
      this._viewBoxShift = {dx:-x, dy:-y, scale:size};
      this.forEach(function(el) {
        el.transform("...");
      });
      return this;
    };
    var createNode;
    R._engine.initWin = function(win) {
      var doc = win.document;
      doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
      try {
        !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
        createNode = function(tagName) {
          return doc.createElement("<rvml:" + tagName + ' class="rvml">');
        };
      } catch (e) {
        createNode = function(tagName) {
          return doc.createElement("<" + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');
        };
      }
    };
    R._engine.initWin(R._g.win);
    R._engine.create = function() {
      var con = R._getContainer.apply(0, arguments), container = con.container, height = con.height, s, width = con.width, x = con.x, y = con.y;
      if (!container) {
        throw new Error("VML container not found.");
      }
      var res = new R._Paper, c = res.canvas = R._g.doc.createElement("div"), cs = c.style;
      x = x || 0;
      y = y || 0;
      width = width || 512;
      height = height || 342;
      res.width = width;
      res.height = height;
      width == +width && (width += "px");
      height == +height && (height += "px");
      res.coordsize = zoom * 1E3 + S + zoom * 1E3;
      res.coordorigin = "0 0";
      res.span = R._g.doc.createElement("span");
      res.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";
      c.appendChild(res.span);
      cs.cssText = R.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", width, height);
      if (container == 1) {
        R._g.doc.body.appendChild(c);
        cs.left = x + "px";
        cs.top = y + "px";
        cs.position = "absolute";
      } else {
        if (container.firstChild) {
          container.insertBefore(c, container.firstChild);
        } else {
          container.appendChild(c);
        }
      }
      res.renderfix = function() {
      };
      return res;
    };
    R.prototype.clear = function() {
      R.eve("raphael.clear", this);
      this.canvas.innerHTML = E;
      this.span = R._g.doc.createElement("span");
      this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";
      this.canvas.appendChild(this.span);
      this.bottom = this.top = null;
    };
    R.prototype.remove = function() {
      R.eve("raphael.remove", this);
      this.canvas.parentNode.removeChild(this.canvas);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      return true;
    };
    var setproto = R.st;
    for (var method in elproto) {
      if (elproto[has](method) && !setproto[has](method)) {
        setproto[method] = function(methodname) {
          return function() {
            var arg = arguments;
            return this.forEach(function(el) {
              el[methodname].apply(el, arg);
            });
          };
        }(method);
      }
    }
  })();
  oldRaphael.was ? g.win.Raphael = R : Raphael = R;
  return R;
});
var QBWebCanvasLink = function(param) {
  this.color = null;
  this.thin = null;
  this.bg = null;
  this.line = null;
  this.startType = null;
  this.start = null;
  this.endType = null;
  this.end = null;
  this.object = null;
  this.graphics = null;
  this._init = function(param) {
  };
  this._init(param);
};
function getBBox(obj) {
  var box = {x:0, y:0, width:0, height:0};
  if (!obj.length) {
    return box;
  }
  var o = obj[0];
  function getBoxToParent(element, parentId) {
    box = {x:0, y:0, width:element.clientWidth, height:element.clientHeight};
    while (element) {
      if (element.id == parentId) {
        break;
      }
      box.x += element.offsetLeft - element.scrollLeft + element.clientLeft;
      box.y += element.offsetTop - element.scrollTop + element.clientTop;
      element = element.offsetParent;
    }
    return box;
  }
  if (o.tagName == "TR") {
    box = getBoxToParent(o, "qb-ui-canvas");
  } else {
    if (o.tagName == "TABLE") {
      box = getBoxToParent(o, "qb-ui-canvas");
    } else {
      if (o.tagName == "DIV") {
        box = getBoxToParent(o, "qb-ui-canvas");
      }
    }
  }
  return box;
}
function round1000(x) {
  return Math.round(x * 1E3) / 1E3;
}
function getLineCoord(bb1, bb2) {
  var minLeg = 20;
  var p1 = [{x:bb1.x, y:bb1.y + bb1.height / 2}, {x:bb1.x + bb1.width, y:bb1.y + bb1.height / 2}];
  var p2 = [{x:bb2.x, y:bb2.y + bb2.height / 2}, {x:bb2.x + bb2.width, y:bb2.y + bb2.height / 2}];
  var d = [], dis = [];
  for (var i1 = 0;i1 < p1.length;i1++) {
    for (var i2 = 0;i2 < p2.length;i2++) {
      var dx = Math.abs(p1[i1].x - p2[i2].x);
      var dy = Math.abs(p1[i1].y - p2[i2].y);
      var len = dx * dx + dy * dy;
      dis.push(len);
      d.push({i1:i1, i2:i2});
    }
  }
  var res = {i1:0, i2:0};
  var idx = -1;
  var min = -1;
  for (var i = 0;i < dis.length;i++) {
    if (min == -1 || dis[i] < min) {
      min = dis[i];
      idx = i;
    }
  }
  if (idx > 0) {
    res = d[idx];
  }
  var x1 = p1[res.i1].x, y1 = p1[res.i1].y, x4 = p2[res.i2].x, y4 = p2[res.i2].y, y2 = y1, y3 = y4;
  var dx = Math.max(Math.abs(x1 - x4) / 2, minLeg);
  var x2 = [x1 - dx, x1 + dx][res.i1];
  var x3 = [x4 - dx, x4 + dx][res.i2];
  return{x1:round1000(x1), y1:round1000(y1), x2:round1000(x2), y2:round1000(y2), x3:round1000(x3), y3:round1000(y3), x4:round1000(x4), y4:round1000(y4)};
}
function fixOutsideBounds(box, parentBox) {
  var R = Raphael == null ? defaults : Raphael;
  var first = box;
  if (R.is(box, "function")) {
    return parentBox ? first() : eve.on("raphael.DOMload", first);
  } else {
    if (R.is(first, true)) {
      return R._engine.create[box](R, first.splice(0, 3 + R.is(first[0], null))).add(first);
    } else {
      var args = Array.prototype.slice.call(arguments, 0);
      if (R.is(args[args.length - 1], "function")) {
        var f = args.pop();
        return first ? f.call(R._engine.create[box](R, args)) : eve.on("raphael.DOMload", function() {
          f.call(R._engine.create[box](R, args));
        });
      } else {
        return R._engine.create[box](R, arguments);
      }
    }
  }
}
Raphael.fn.UpdateConnection = function(link) {
  if (!link.Left || !link.Right) {
    return false;
  }
  if (!link.Left.field || !link.Right.field) {
    return false;
  }
  if (!link.Left.field.element || !link.Right.field.element) {
    return false;
  }
  var graph = link.graphics;
  var shortLeg = 8;
  var color = graph.color;
  var fromType = link.Left.Type;
  var toType = link.Right.Type;
  function calculateBox(link) {
    var linkBox = getBBox(link.field.element);
    if (link.table) {
      var tableBox = getBBox(link.table.element);
      linkBox.x = tableBox.x - 1;
      linkBox.width = tableBox.width + 2;
      if (linkBox.y < tableBox.y) {
        linkBox.y = tableBox.y;
      } else {
        if (linkBox.y > tableBox.y + tableBox.height - linkBox.height) {
          linkBox.y = tableBox.y + tableBox.height - linkBox.height;
        }
      }
    }
    return linkBox;
  }
  var leftBox = calculateBox(link.Left);
  var rightBox = calculateBox(link.Right);
  var lineCoord = getLineCoord(leftBox, rightBox);
  var startD = lineCoord.x1 < lineCoord.x2 ? 1 : -1;
  var endD = lineCoord.x4 < lineCoord.x3 ? 1 : -1;
  var path = ["M", lineCoord.x1, lineCoord.y1, "L", lineCoord.x1 + shortLeg * startD, lineCoord.y1, "C", lineCoord.x2, lineCoord.y2, lineCoord.x3, lineCoord.y3, lineCoord.x4 + shortLeg * endD, lineCoord.y4, "L", lineCoord.x4, lineCoord.y4].join(",");
  graph.start = configEnds(graph.start, toType, color, lineCoord.x1, lineCoord.y1, startD);
  graph.end = configEnds(graph.end, fromType, color, lineCoord.x4, lineCoord.y4, endD);
  if (graph.path = path && (graph.line && graph.bg)) {
    graph.bg.attr({path:path});
    graph.line.attr({path:path});
    $(graph.bg.node).addClass("link-context");
  }
  return true;
};
Raphael.fn.UpdateConnection;
Raphael.fn.CreateConnection = function(obj, attr) {
  var link = new QBWebCanvasLink;
  link.color = attr.split("|")[0] || "#000000";
  link.thin = attr.split("|")[1] || 3;
  link.thinBg = 15;
  link.line = this.path("M,0,0").attr({stroke:link.color, fill:"none", "stroke-width":link.thin, "stroke-linecap":"round", "stroke-linejoin":"round"});
  link.bg = this.path("M,0,0").attr({stroke:link.color, fill:"none", "stroke-width":link.thinBg, "stroke-opacity":0.01});
  link.startType = obj.Right.Type;
  link.start = configEnds(null, link.startType, link.color);
  link.endType = obj.Left.Type;
  link.end = configEnds(null, link.endType, link.color);
  link.object = obj;
  return link;
};
function configEnds(obj, type, color, x, y, d) {
  if (!x) {
    x = 0;
  }
  if (!y) {
    y = 0;
  }
  if (!d) {
    d = 1;
  }
  var typeMismatch = false;
  if (obj != null && obj.node) {
    switch(type) {
      case MetaData.JoinType.Inner:
        typeMismatch = obj.node.nodeName != "circle";
        break;
      case MetaData.JoinType.Outer:
        typeMismatch = obj.node.nodeName != "path";
        break;
    }
  }
  if (typeMismatch) {
    if (obj && obj.remove) {
      obj.remove();
    }
    obj = null;
  }
  if (obj == null) {
    switch(type) {
      case MetaData.JoinType.Inner:
        obj = QB.Web.Canvas.r.circle(0, 0, 5);
        obj.attr({fill:color, "stroke-width":0});
        break;
      case MetaData.JoinType.Outer:
        obj = QB.Web.Canvas.r.path("M,0,0");
        obj.attr({fill:color, "stroke-width":0});
        break;
    }
  }
  switch(type) {
    case MetaData.JoinType.Inner:
      obj.attr({cx:x, cy:y});
      break;
    case MetaData.JoinType.Outer:
      var dx = 8;
      var dy = 5;
      var path = ["M", x, y, "L", x, y + 1, x + dx * d, y + dy, x + dx * d, y - dy, x, y - 1, "Z"].join(",");
      obj.attr({path:path});
      break;
  }
  return obj;
}
;
/*
 * Packer
 * Javascript Compressor
 * http://dean.edwards.name/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// ..\..\src\Common\Client\js\release\usr_v2_6_4.js
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('K ZS=1l;K DI={DO:1a(){K 6B=1c;if(2N q6!="2O"){7j{6B=1S q6("Pz.DN")}7m(e){7j{6B=1S q6("v9.DN")}7m(E){6B=1j}}}1i{if(3N.DM){7j{6B=1S DM}7m(e){6B=1c}}}1b 6B},vU:1a(zu,1X,46){K 6B=J.DO();if(!6B||!zu){1b}K 5c=zu;5c+=5c.4S("?")+1?"&":"?";5c+="Py="+(1S 5m).NE();K tI=1c;if(46=="u8"){K zt=5c.3u("?");5c=zt[0];tI=zt[1]}6B.6P(46,5c,1l);if(46=="u8"){6B.zs("DQ-1w","nQ/x-mG-PA-PC");6B.zs("DQ-1e",tI.1e);6B.zs("PS","5A")}6B.PV=1a(){if(6B.nP==4){if(6B.6s==fG){K 1J="";if(6B.DP){1J=6B.DP}if(1X){1X(1J)}}}};6B.PU(tI)},7F:1a(cw,5c,bl){K 9p=\'<b 3b="3q:#PQ">zV 98</b>\\n<br/>\\n\'+"kd: "+cw+"\\n<br>\\n"+"DL: "+5c+"\\n<br>\\n"+"DH: "+bl+"\\n<br>\\n";K DG="zV 98\\n"+"kd: "+cw+"\\n\\n"+"DL: "+5c+"\\n\\n"+"DH: "+bl+"\\n\\n";if(aa&&aa.eK){9p=9p+"eK: "+aa.eK}K 3i=2P.c7("2G");3i.bd="PP";3i.nC=9p;if(2P&&(2P.3S&&2P.3S.3J)){2P.3S.3J(3i)}1i{e6(DG)}DI.DJ({cw:cw,5c:5c,bl:bl,eK:aa.eK});1b 1l},DJ:1a(1v){K 5c="mw/Pi.Pj?";1o(K i in 1v){if(1v.7Z(i)){5c+=i+"="+Pl(1v[i])+"&"}}J.vU(5c,1c,"u8")}};(1a(){J.Pk={5Q:"1.4.5",9S:"Pb"};K 7t=J.7t=1a(1h){if(1h==1c){1b"1c"}if(1h.$84!=1c){1b 1h.$84()}if(1h.8C){if(1h.DR==1){1b"1g"}if(1h.DR==3){1b/\\S/.9w(1h.Hs)?"Pd":"Gx"}}1i{if(2N 1h.1e=="cI"){if(1h.D5){1b"2q"}if("1h"in 1h){1b"Ds"}}}1b 2N 1h};K rt=J.rt=1a(1h,1C){if(1h==1c){1b 1j}K 4U=1h.$4U||1h.4U;47(4U){if(4U===1C){1b 1l}4U=4U.1L}if(!1h.7Z){1b 1j}1b 1h dQ 1C};K 9l=J.9l;K h3=1l;1o(K i in{3r:1}){h3=1c}if(h3){h3=["7Z","IW","IX","sS","ve","3r","4U"]}9l.2W.fd=1a(u0){K 2o=J;1b 1a(a,b){if(a==1c){1b J}if(u0||2N a!="4e"){1o(K k in a){2o.2u(J,k,a[k])}if(h3){1o(K i=h3.1e;i--;){k=h3[i];if(a.7Z(k)){2o.2u(J,k,a[k])}}}}1i{2o.2u(J,a,b)}1b J}};9l.2W.Pf=1a(u0){K 2o=J;1b 1a(a){K 2f,1J;if(2N a!="4e"){2f=a}1i{if(2q.1e>1){2f=2q}1i{if(u0){2f=[a]}}}if(2f){1J={};1o(K i=0;i<2f.1e;i++){1J[2f[i]]=2o.2u(J,2f[i])}}1i{1J=2o.2u(J,a)}1b 1J}};9l.2W.4j=1a(1q,1m){J[1q]=1m}.fd();9l.2W.73=1a(1q,1m){J.2W[1q]=1m}.fd();K 3D=44.2W.3D;9l.2s=1a(1h){1b 7t(1h)=="1a"?1h:1a(){1b 1h}};44.2s=1a(1h){if(1h==1c){1b[]}1b 9s.E1(1h)&&2N 1h!="4e"?7t(1h)=="3L"?1h:3D.2u(1h):[1h]};65.2s=1a(1h){K cI=d3(1h);1b Dp(cI)?cI:1c};5n.2s=1a(1h){1b 1h+""};9l.73({zq:1a(){J.$79=1l;1b J},zl:1a(){J.$rA=1l;1b J}});K 9s=J.9s=J.9s=1a(1z,1C){if(1z){K zx=1z.3P();K E0=1a(1h){1b 7t(1h)==zx};9s["is"+1z]=E0;if(1C!=1c){1C.2W.$84=1a(){1b zx}.zq()}}if(1C==1c){1b 1c}1C.4j(J);1C.$4U=9s;1C.2W.$4U=1C;1b 1C};K 3r=4D.2W.3r;9s.E1=1a(1h){1b 1h!=1c&&(2N 1h.1e=="cI"&&3r.2u(1h)!="[1C 9l]")};K j5={};K zw=1a(1C){K 1w=7t(1C.2W);1b j5[1w]||(j5[1w]=[])};K 73=1a(1z,46){if(46&&46.$79){1b}K j5=zw(J);1o(K i=0;i<j5.1e;i++){K jp=j5[i];if(7t(jp)=="1w"){73.2u(jp,1z,46)}1i{jp.2u(J,1z,46)}}K cm=J.2W[1z];if(cm==1c||!cm.$rA){J.2W[1z]=46}if(J[1z]==1c&&7t(46)=="1a"){4j.2u(J,1z,1a(1h){1b 46.3c(1h,3D.2u(2q,1))})}};K 4j=1a(1z,46){if(46&&46.$79){1b}K cm=J[1z];if(cm==1c||!cm.$rA){J[1z]=46}};9s.73({73:73.fd(),4j:4j.fd(),af:1a(1z,8p){73.2u(J,1z,J.2W[8p])}.fd(),Pv:1a(jp){zw(J).1D(jp);1b J}});1S 9s("9s",9s);K f8=1a(1z,1C,9Z){K qe=1C!=4D,2W=1C.2W;if(qe){1C=1S 9s(1z,1C)}1o(K i=0,l=9Z.1e;i<l;i++){K 1q=9Z[i],zm=1C[1q],jr=2W[1q];if(zm){zm.zl()}if(qe&&jr){1C.73(1q,jr.zl())}}if(qe){K Do=2W.sS(9Z[0]);1C.Pr=1a(fn){if(!Do){1o(K i=0,l=9Z.1e;i<l;i++){fn.2u(2W,2W[9Z[i]],9Z[i])}}1o(K 1q in 2W){fn.2u(2W,2W[1q],1q)}}}1b f8};f8("5n",5n,["bR","Gv","3y","4S","Dn","3e","F5","3h","Pn","3D","3u","7e","g4","ml","3P","8l"])("44",44,["d7","1D","Po","bw","fW","5f","Qp","3y","4G","3D","4S","Dn","4p","8R","C9","dZ","Dh","Qr","Qt"])("65",65,["AA","4r","ve","Qs"])("9l",9l,["3c","2u","2E"])("dv",dv,["Qo","9w"])("4D",4D,["7R","Qj","Ql","7X","Qn","Qm","QC","QA","QD","QF","QE","Qz","Qv"])("5m",5m,["7d"]);4D.4j=4j.fd();5m.4j("7d",1a(){1b+1S 5m});1S 9s("kj",kj);65.2W.$84=1a(){1b Dp(J)?"cI":"1c"}.zq();65.4j("jk",1a(61,4v){1b 3F.ge(3F.jk()*(4v-61+1)+61)});K 7Z=4D.2W.7Z;4D.4j("8R",1a(1C,fn,2E){1o(K 1q in 1C){if(7Z.2u(1C,1q)){fn.2u(2E,1C[1q],1q,1C)}}});4D.2g=4D.8R;44.73({8R:1a(fn,2E){1o(K i=0,l=J.1e;i<l;i++){if(i in J){fn.2u(2E,J[i],i,J)}}},2g:1a(fn,2E){44.8R(J,fn,2E);1b J}});K zz=1a(1h){3s(7t(1h)){1n"3L":1b 1h.5P();1n"1C":1b 4D.5P(1h);5u:1b 1h}};44.73("5P",1a(){K i=J.1e,5P=1S 44(i);47(i--){5P[i]=zz(J[i])}1b 5P});K zp=1a(aU,1q,5H){3s(7t(5H)){1n"1C":if(7t(aU[1q])=="1C"){4D.z4(aU[1q],5H)}1i{aU[1q]=4D.5P(5H)}1p;1n"3L":aU[1q]=5H.5P();1p;5u:aU[1q]=5H}1b aU};4D.4j({z4:1a(aU,k,v){if(7t(k)=="4e"){1b zp(aU,k,v)}1o(K i=1,l=2q.1e;i<l;i++){K 1C=2q[i];1o(K 1q in 1C){zp(aU,1q,1C[1q])}}1b aU},5P:1a(1C){K 5P={};1o(K 1q in 1C){5P[1q]=zz(1C[1q])}1b 5P},2U:1a(kK){1o(K i=1,l=2q.1e;i<l;i++){K zJ=2q[i]||{};1o(K 1q in zJ){kK[1q]=zJ[1q]}}1b kK}});["4D","Qy","Qx","Qi","Q2"].2g(1a(1z){1S 9s(1z)});K Di=5m.7d();5n.4j("Q6",1a(){1b(Di++).3r(36)})})();44.73({C9:1a(fn,2E){1o(K i=0,l=J.1e>>>0;i<l;i++){if(i in J&&!fn.2u(2E,J[i],i,J)){1b 1j}}1b 1l},4p:1a(fn,2E){K dX=[];1o(K 1m,i=0,l=J.1e>>>0;i<l;i++){if(i in J){1m=J[i];if(fn.2u(2E,1m,i,J)){dX.1D(1m)}}}1b dX},4S:1a(1h,2s){K 1e=J.1e>>>0;1o(K i=2s<0?3F.4v(0,1e+2s):2s||0;i<1e;i++){if(J[i]===1h){1b i}}1b-1},dZ:1a(fn,2E){K 1e=J.1e>>>0,dX=44(1e);1o(K i=0;i<1e;i++){if(i in J){dX[i]=fn.2u(2E,J[i],i,J)}}1b dX},Dh:1a(fn,2E){1o(K i=0,l=J.1e>>>0;i<l;i++){if(i in J&&fn.2u(2E,J[i],i,J)){1b 1l}}1b 1j},DB:1a(){1b J.4p(1a(1h){1b 1h!=1c})},Q5:1a(Dl){K 2f=44.3D(2q,1);1b J.dZ(1a(1h){1b 1h[Dl].3c(1h,2f)})},PX:1a(7X){K 1u={},1e=3F.61(J.1e,7X.1e);1o(K i=0;i<1e;i++){1u[7X[i]]=J[i]}1b 1u},1W:1a(1C){K 1J={};1o(K i=0,l=J.1e;i<l;i++){1o(K 1q in 1C){if(1C[1q](J[i])){1J[1q]=J[i];3W 1C[1q];1p}}}1b 1J},h7:1a(1h,2s){1b J.4S(1h,2s)!=-1},2U:1a(3L){J.1D.3c(J,3L);1b J},PY:1a(){1b J.1e?J[J.1e-1]:1c},Q0:1a(){1b J.1e?J[65.jk(0,J.1e-1)]:1c},Dk:1a(1h){if(!J.h7(1h)){J.1D(1h)}1b J},Qd:1a(3L){1o(K i=0,l=3L.1e;i<l;i++){J.Dk(3L[i])}1b J},Qa:1a(1h){1o(K i=J.1e;i--;){if(J[i]===1h){J.5f(i,1)}}1b J},cO:1a(){J.1e=0;1b J},DC:1a(){K 3L=[];1o(K i=0,l=J.1e;i<l;i++){K 1w=7t(J[i]);if(1w=="1c"){aH}3L=3L.3y(1w=="3L"||(1w=="Ds"||(1w=="2q"||rt(J[i],44)))?44.DC(J[i]):J[i])}1b 3L},OE:1a(){1o(K i=0,l=J.1e;i<l;i++){if(J[i]!=1c){1b J[i]}}1b 1c},zH:1a(3L){if(J.1e!=3){1b 1c}K 3G=J.dZ(1a(1m){if(1m.1e==1){1m+=1m}1b 1m.9W(16)});1b 3L?3G:"3G("+3G+")"},zK:1a(3L){if(J.1e<3){1b 1c}if(J.1e==4&&(J[3]==0&&!3L)){1b"Oq"}K 62=[];1o(K i=0;i<3;i++){K sv=(J[i]-0).3r(16);62.1D(sv.1e==1?"0"+sv:sv)}1b 3L?62:"#"+62.4G("")}});5n.73({9w:1a(su,1v){1b(7t(su)=="zN"?su:1S dv(""+su,1v)).9w(J)},h7:1a(4e,5s){1b 5s?(5s+J+5s).4S(5s+4e+5s)>-1:5n(J).4S(4e)>-1},ml:1a(){1b 5n(J).3h(/^\\s+|\\s+$/g,"")},DB:1a(){1b 5n(J).3h(/\\s+/g," ").ml()},OY:1a(){1b 5n(J).3h(/-\\D/g,1a(3e){1b 3e.bR(1).8l()})},OC:1a(){1b 5n(J).3h(/[A-Z]/g,1a(3e){1b"-"+3e.bR(0).3P()})},OA:1a(){1b 5n(J).3h(/\\b[a-z]/g,1a(3e){1b 3e.8l()})},Ow:1a(){1b 5n(J).3h(/([-.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},9W:1a(gx){1b 6l(J,gx||10)},3B:1a(){1b d3(J)},zH:1a(3L){K 62=5n(J).3e(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);1b 62?62.3D(1).zH(3L):1c},zK:1a(3L){K 3G=5n(J).3e(/\\d{1,3}/g);1b 3G?3G.zK(3L):1c},OL:1a(1C,zN){1b 5n(J).3h(zN||/\\\\?\\{([^{}]+)\\}/g,1a(3e,1z){if(3e.bR(0)=="\\\\"){1b 3e.3D(1)}1b 1C[1z]!=1c?1C[1z]:""})}});9l.4j({Du:1a(){1o(K i=0,l=2q.1e;i<l;i++){7j{1b 2q[i]()}7m(e){}}1b 1c}});9l.73({Du:1a(2f,2E){7j{1b J.3c(2E,44.2s(2f))}7m(e){}1b 1c},2E:1a(6g){K 2o=J,2f=2q.1e>1?44.3D(2q,1):1c,F=1a(){};K zM=1a(){K 3l=6g,1e=2q.1e;if(J dQ zM){F.2W=2o.2W;3l=1S F}K 1J=!2f&&!1e?2o.2u(3l):2o.3c(3l,2f&&1e?2f.3y(44.3D(2q)):2f||2q);1b 3l==6g?1J:3l};1b zM},zL:1a(2f,2E){K 2o=J;if(2f!=1c){2f=44.2s(2f)}1b 1a(){1b 2o.3c(2E,2f||2q)}},fe:1a(fe,2E,2f){1b 6t(J.zL(2f==1c?[]:2f,2E),fe)},zC:1a(zC,2E,2f){1b l0(J.zL(2f==1c?[]:2f,2E),zC)}});65.73({Oz:1a(61,4v){1b 3F.61(4v,3F.4v(61,J))},4L:1a(fp){fp=3F.5R(10,fp||0).4r(fp<0?-fp:0);1b 3F.4L(J*fp)/fp},bZ:1a(fn,2E){1o(K i=0;i<J;i++){fn.2u(2E,i,J)}},3B:1a(){1b d3(J)},9W:1a(gx){1b 6l(J,gx||10)}});65.af("2g","bZ");(1a(3z){K 9Z={};3z.2g(1a(1z){if(!65[1z]){9Z[1z]=1a(){1b 3F[1z].3c(1c,[J].3y(44.2s(2q)))}}});65.73(9Z)})(["4f","D2","pJ","SN","AW","jF","8A","SL","ge","k4","4v","61","5R","8w","9y","Dt"]);(1a(){K 6d=J.6d=1S 9s("6d",1a(1v){if(rt(1v,9l)){1v={bK:1v}}K hg=1a(){la(J);if(hg.$z3){1b J}J.$9t=1c;K 1m=J.bK?J.bK.3c(J,2q):J;J.$9t=J.9t=1c;1b 1m}.4j(J).73(1v);hg.$4U=6d;hg.2W.$4U=hg;hg.2W.1L=1L;1b hg});K 1L=1a(){if(!J.$9t){9B 1S 98(\'oX 46 "1L" Ey be v6.\')}K 1z=J.$9t.$1z,1L=J.$9t.$Es.1L,cm=1L?1L.2W[1z]:1c;if(!cm){9B 1S 98(\'oX 46 "\'+1z+\'" 3p no 1L.\')}1b cm.3c(J,2q)};K la=1a(1C){1o(K 1q in 1C){K 1m=1C[1q];3s(7t(1m)){1n"1C":K F=1a(){};F.2W=1m;1C[1q]=la(1S F);1p;1n"3L":1C[1q]=1m.5P();1p}}1b 1C};K EI=1a(2o,1q,46){if(46.$fb){46=46.$fb}K 5S=1a(){if(46.$rA&&J.$9t==1c){9B 1S 98(\'oX 46 "\'+1q+\'" Ey be v6.\')}K 9t=J.9t,5H=J.$9t;J.9t=5H;J.$9t=5S;K 1J=46.3c(J,2q);J.$9t=5H;J.9t=9t;1b 1J}.4j({$Es:2o,$fb:46,$1z:1q});1b 5S};K 73=1a(1q,1m,EB){if(6d.yS.7Z(1q)){1m=6d.yS[1q].2u(J,1m);if(1m==1c){1b J}}if(7t(1m)=="1a"){if(1m.$79){1b J}J.2W[1q]=EB?1m:EI(J,1q,1m)}1i{4D.z4(J.2W,1q,1m)}1b J};K EL=1a(rM){rM.$z3=1l;K jr=1S rM;3W rM.$z3;1b jr};6d.73("73",73.fd());6d.yS={bc:1a(1L){J.1L=1L;J.2W=EL(1L)},T1:1a(1F){44.2s(1F).2g(1a(1h){K u3=1S 1h;1o(K 1q in u3){73.2u(J,1q,u3[1q],1l)}},J)}}})();(1a($){$.cd.9h="SW"in 2P;if(!$.cd.9h){1b}K jl=$.ui.pu.2W;K rY=jl.rY;K jn;1a f4(1H,EH){if(1H.cW.gO.1e>1){1b}1H.4d();K t=1H.cW.EC[0];K yU=2P.F0("SU");yU.F2(EH,1l,1l,3N,1,t.FT,t.FV,t.aM,t.a7,1j,1j,1j,1j,0,1c);1H.3m.yN(yU)}jl.Eb=1a(1H){K me=J;if(jn||!me.So(1H.cW.EC[0])){1b}jn=1l;me.yX=1j;f4(1H,"gy");f4(1H,"9I");f4(1H,"7c")};jl.Ed=1a(1H){if(!jn){1b}J.yX=1l;f4(1H,"9I")};jl.Ec=1a(1H){if(!jn){1b}f4(1H,"5w");f4(1H,"eM");if(!J.yX){f4(1H,"3I")}jn=1j};jl.rY=1a(){K me=J;me.1g.2E("ox",$.9L(me,"Eb")).2E("oz",$.9L(me,"Ed")).2E("oy",$.9L(me,"Ec"));rY.2u(me)}})(2w);K gH=1c;(1a($){$.fn.oa=1a(){$(J).fw(1a(e){K t=e.8i;K o=$(e.8i).2y();if(e.6O-o.2b>t.lF){1b}K 1g=$(e.3m);1g.2L({x:e.aM,y:e.a7})})};K $E8=$.fn.3I;$.fn.3I=1a 3I(6S,7F){if(!7F){1b $E8.3c(J,2q)}1b $(J).2E(1w,7F)};$.fn.fw=1a fw(){K 2f=[].5f.2u(2q,0),7F=2f.d7(),6S=2f.d7(),$J=$(J);1b 7F?$J.3I(6S,7F):$J.29(1w)};$.fw={6S:9b};$.1H.Tz.fw={xW:1a(1f,9f){if(!/TC|TB|Tt/i.9w(aa.eK)){$(J).2E(En,z6).2E([Ep,Eo,Ek,Eg].4G(" "),ze).2E(zj,3I)}1i{E4(J).2E(Ef,z6).2E([Eh,Ei,CR].4G(" "),ze).2E(zj,3I).3a({Tx:"3t"})}},Tw:1a(9f){$(J).7V(94)}};1a E4(1g){$.2g("ox oz oy Cr".3u(/ /),1a 2E(ix,it){1g.bA(it,1a Tv(1H){$(1g).29(it)},1j)});1b $(1g)}1a z6(1H){if(gH){1b}K 1g=J;K 2f=2q;$(J).1f(rF,1j);gH=6t(E7,$.fw.6S);1a E7(){$(1g).1f(rF,1l);1H.1w=1w;2w.1H.TN.3c(1g,2f)}}1a ze(1H){if(gH){iH(gH);gH=1c}}1a 3I(1H){if($(J).1f(rF)){1b 1H.cb()||1j}}K 1w="fw";K 94="."+1w;K En="7c"+94;K zj="3I"+94;K Ep="9I"+94;K Eo="5w"+94;K Ek="eM"+94;K Eg="5k"+94;K Ef="ox"+94;K Eh="oy"+94;K Ei="oz"+94;K CR="Cr"+94;K Tr="6S"+94;K T9="8z"+94;K rF="LG"+94})(2w);(1a($){$.fn.pw=1a(1x){K kN=$.4j({},$.fn.pw.d8,1x);1b J.2g(1a(){$J=$(J);K o=$.Tn?$.4j({},kN,$J.1f()):kN;K n4=o.2H;$.fn.j6(o,$J,n4)})};K Az=0;K s9=0;K Tm=aa.Tl;K CU=aa.Tg;if(CU.4S("Tk 7.0")>0){K sc="s7"}$.fn.pw.d8={6I:5,2H:12,5q:5,eU:1l,An:"#jT",iU:"#Tj",j1:"Rc",Am:"#jT",iK:"#jT",iR:"#jT",5t:1l,BH:1l,pu:"R5",nA:1a(){1b 1j}};$.fn.j6=1a(o,1u,n4){if(o.5q>o.6I){o.5q=o.6I}$J.cO();if(o.BH){K CD="9c-CI-cR";K CF="9c-cm-cR";K CG="9c-D9-cR";K Da="9c-3k-cR"}1i{K CD="9c-CI";K CF="9c-cm";K CG="9c-D9";K Da="9c-3k"}if(o.5t){K AE=$("<2G>&lt;</2G>").3n({aw:{nm:"ui-3E-D6-1-w"},1Z:1j})}$J.41(\'<2G id="Rn">\'+\'<2G id="Rs">\'+\'<2G id="Rr">\'+\'<2G id="sz"></2G>\'+\'<2G id="sN"></2G>\'+\'<2G id="z7"></2G>\'+"</2G>"+"</2G>"+"</2G>");K D8=$("#sz").2t("9c-31-vf");D8.2U(AE);K 86=$(\'<1M qS="0" qV="0">\').3a("gM","79");K gI=$("<tr>").2t("9c-Ri");K c=(o.5q-1)/2;K 4A=n4-c;K mo;1o(K i=0;i<o.6I;i++){K 2h=i+1;if(2h==n4){K mW=$(\'<td 2B="li">\').41(\'<2A 2B="9c-5H">\'+2h+"</2A>");mo=mW;gI.2U(mW)}1i{K mW=$(\'<td 2B="li">\').41("<a>"+2h+"</a>");gI.2U(mW)}}86.2U(gI);if(o.5t){K Av=$("<2G>&gt;</2G>").3n({aw:{nm:"ui-3E-D6-1-e"},1Z:1j})}K mm=$("#sN").2t("9c-31-Rl");mm.2U(Av);$("#z7").2U(86);K sM=$("#z7");K Ar=1c;1a D3(){$("#sz").3K();$("#sN").3K()}1a D1(){$("#sz").5d();$("#sN").5d()}1a Ah(){if(sM.1r()==0){1b}tQ(Ar);if(86.1r()<=sM.1r()){D3()}1i{D1()}}if(sM.1r()==0){Ar=l0(Ah,oi)}1i{Ah()}$J.2t("QI");if(!o.eU){if(o.j1=="3t"){K ek={"3q":o.iU}}1i{K ek={"3q":o.iU,"k6-3q":o.j1}}if(o.iR=="3t"){K eo={"3q":o.iK}}1i{K eo={"3q":o.iK,"k6-3q":o.iR}}}1i{if(o.j1=="3t"){K ek={"3q":o.iU,"eU":"jh kX "+o.An}}1i{K ek={"3q":o.iU,"k6-3q":o.j1,"eU":"jh kX "+o.An}}if(o.iR=="3t"){K eo={"3q":o.iK,"eU":"jh kX "+o.Am}}1i{K eo={"3q":o.iK,"k6-3q":o.iR,"eU":"jh kX "+o.Am}}}$.fn.Ay(o,$J,ek,eo,gI,86,mm);K AJ=Az-1;if(sc=="s7"){}1i{}if(o.pu=="JN"){Av.7c(1a(){sd=l0(1a(){K 2b=86.1L().4Z()+5;86.1L().4Z(2b)},20)}).5w(1a(){tQ(sd)});AE.7c(1a(){sd=l0(1a(){K 2b=86.1L().4Z()-5;86.1L().4Z(2b)},20)}).5w(1a(){tQ(sd)})}86.2F(".li").3I(1a(e){mo.41("<a>"+mo.2F(".9c-5H").41()+"</a>");K AG=$(J).2F("a").41();$(J).41(\'<2A 2B="9c-5H">\'+AG+"</2A>");mo=$(J);$.fn.Ay(o,$(J).1L().1L().1L(),ek,eo,gI,86,mm);K 2b=J.8q/2;K R0=86.4Z()+2b;K 8j=2b-AJ/2;if(sc=="s7"){86.4K({4Z:2b+8j+52+"px"})}1i{86.4K({4Z:2b+8j+"px"})}o.nA(AG)});K 7b=86.2F(".li").eq(o.2H-1);7b.1k("id","8j");K 2b=2P.dT("8j").8q/2;7b.jv("id");K 8j=2b-AJ/2;if(sc=="s7"){86.4K({4Z:2b+8j+52+"px"})}1i{86.4K({4Z:2b+8j+"px"})}};$.fn.Ay=1a(o,1u,ek,eo,gI,86,mm){1u.2F("a").3a(ek);1u.2F("2A.9c-5H").3a(eo);1u.2F("a").6D(1a(){$(J).3a(eo)},1a(){$(J).3a(ek)});s9=0;1u.2F(".li").2g(1a(i,n){if(i==o.5q-1){Az=J.8q+J.fE}s9+=J.fE});s9+=3}})(2w);(1a($){$.4j({gP:1a(fn,sf,95,AC){K 8z;1b 1a(){K 2f=2q;95=95||J;AC&&(!8z&&fn.3c(95,2f));iH(8z);8z=6t(1a(){!AC&&fn.3c(95,2f);8z=1c},sf)}},Ci:1a(fn,sf,95){K 8z,2f,s8;1b 1a(){2f=2q;s8=1l;95=95||J;if(!8z){(1a(){if(s8){fn.3c(95,2f);s8=1j;8z=6t(2q.D5,sf)}1i{8z=1c}})()}}}})})(2w);(1a($){K hS={jE:{zX:1a(i){3s(J.jQ(i)){1n"3L":;1n"RZ":;1n"cI":1b i.3r();1n"1C":K o=[];1o(x=0;x<i.1e;i++){o.1D(i+": "+J.zX(i[x]))}1b o.4G(", ");1n"4e":1b i;5u:1b i}},jQ:1a(i){if(!i||!i.4U){1b 2N i}K 3e=i.4U.3r().3e(/44|65|5n|4D|5m/);1b 3e&&3e[0].3P()||2N i},jI:1a(7f,l,s,t){K p=s||" ";K o=7f;if(l-7f.1e>0){o=(1S 44(3F.jF(l/ p.1e))).4G(p).7e(0, t = !t ? l : t == 1 ? 0 : 3F.jF(l /2))+7f+p.7e(0,l-t)}1b o},CW:1a(4i,2f){K 1q=4i.sm();3s(J.jQ(2f)){1n"1C":K 7X=1q.3u(".");K 1u=2f;1o(K bB=0;bB<7X.1e;bB++){1u=1u[7X[bB]]}if(2N 1u!="2O"){if(hS.jE.jQ(1u)=="3L"){1b 4i.hV().3e(/\\.\\*/)&&1u[1]||1u}1b 1u}1i{}1p;1n"3L":1q=6l(1q,10);if(4i.hV().3e(/\\.\\*/)&&2N 2f[1q+1]!="2O"){1b 2f[1q+1]}1i{if(2N 2f[1q]!="2O"){1b 2f[1q]}1i{1b 1q}}1p}1b"{"+1q+"}"},CJ:1a(cg,2f){K 4i=1S CP(cg,2f);1b hS.jE[4i.hV().3D(-1)](J.CW(4i,2f),4i)},d:1a(2a,4i){K o=6l(2a,10);K p=4i.n3();if(p){1b J.jI(o.3r(),p,4i.n7(),0)}1i{1b o}},i:1a(2a,2f){1b J.d(2a,2f)},o:1a(2a,4i){K o=2a.3r(8);if(4i.n6()){o=J.jI(o,o.1e+1,"0",0)}1b J.jI(o,4i.n3(),4i.n7(),0)},u:1a(2a,2f){1b 3F.4f(J.d(2a,2f))},x:1a(2a,4i){K o=6l(2a,10).3r(16);o=J.jI(o,4i.n3(),4i.n7(),0);1b 4i.n6()?"RY"+o:o},X:1a(2a,4i){1b J.x(2a,4i).8l()},e:1a(2a,4i){1b d3(2a,10).AA(4i.sn())},E:1a(2a,4i){1b J.e(2a,4i).8l()},f:1a(2a,4i){1b J.jI(d3(2a,10).4r(4i.sn()),4i.n3(),4i.n7(),0)},F:1a(2a,2f){1b J.f(2a,2f)},g:1a(2a,4i){K o=d3(2a,10);1b o.3r().1e>6?3F.4L(o.AA(4i.sn())):o},G:1a(2a,2f){1b J.g(2a,2f)},c:1a(2a,2f){K 3e=2a.3e(/\\w|\\d/);1b 3e&&3e[0]||""},r:1a(2a,2f){1b J.zX(2a)},s:1a(2a,2f){1b 2a.3r&&2a.3r()||""+2a}},6z:1a(7f,2f){K 4z=0;K 2H=0;K 3e=1j;K hu=[];K cg="";K 8j=(7f||"").3u("");1o(2H=0;2H<8j.1e;2H++){if(8j[2H]=="{"&&8j[2H+1]!="{"){4z=7f.4S("}",2H);cg=8j.3D(2H+1,4z).4G("");hu.1D(hS.jE.CJ(cg,2N 2q[1]!="1C"?GA(2q,2):2f||[]))}1i{if(2H>4z||hu.1e<1){hu.1D(8j[2H])}}}1b hu.1e>1?hu.4G(""):hu[0]},RT:1a(7f,2f){1b rG(6z(7f,2f))},jt:1a(s,n){1b(1S 44(n+1)).4G(s)},RX:1a(s){1b RV(Sb(s))},Sa:1a(s){1b S6(S9(s))},S8:1a(){K 2m="",S7=1l;if(2q.1e==2&&$.C6(2q[1])){J[2q[0]]=2q[1].4G("");1b 2w}if(2q.1e==2&&$.RR(2q[1])){J[2q[0]]=2q[1];1b 2w}if(2q.1e==1){1b $(J[2q[0]])}if(2q.1e==2&&2q[1]==1j){1b J[2q[0]]}if(2q.1e==2&&$.CN(2q[1])){1b $($.6z(J[2q[0]],2q[1]))}if(2q.1e==3&&$.CN(2q[1])){1b 2q[2]==1l?$.6z(J[2q[0]],2q[1]):$($.6z(J[2q[0]],2q[1]))}}};K CP=1a(4i,2f){J.zW=4i;J.hJ=2f;J.RD=d3("1."+(1S 44(32)).4G("1"),10).3r().1e-3;J.mX=6;J.n8=1a(){1b J.zW};J.sm=1a(){1b J.zW.3u(":")[0]};J.hV=1a(){K 3e=J.n8().3u(":");1b 3e&&3e[1]?3e[1]:"s"};J.sn=1a(){K 3e=J.hV().3e(/\\.(\\d+|\\*)/g);if(!3e){1b J.mX}1i{3e=3e[0].3D(1);if(3e!="*"){1b 6l(3e,10)}1i{if(hS.jE.jQ(J.hJ)=="3L"){1b J.hJ[1]&&J.hJ[0]||J.mX}1i{if(hS.jE.jQ(J.hJ)=="1C"){1b J.hJ[J.sm()]&&J.hJ[J.sm()][0]||J.mX}1i{1b J.mX}}}}};J.n3=1a(){K 3e=1j;if(J.n6()){3e=J.n8().3e(/0?#0?(\\d+)/);if(3e&&3e[1]){1b 6l(3e[1],10)}}3e=J.n8().3e(/(0|\\.)(\\d+|\\*)/g);1b 3e&&6l(3e[0].3D(1),10)||0};J.n7=1a(){K o="";if(J.n6()){o=" "}if(J.hV().3e(/#0|0#|^0|\\.\\d+/)){o="0"}1b o};J.Ry=1a(){K 3e=J.n8().RQ(/^(0|\\#|\\-|\\+|\\s)+/);1b 3e&&3e[0].3u("")||[]};J.n6=1a(){1b!!J.hV().3e(/^0?#/)}};K GA=1a(2f,bw){K o=[];1o(l=2f.1e,x=(bw||0)-1;x<l;x++){o.1D(2f[x])}1b o};$.4j(hS)})(2w);(1a($){$.gR=1a(o){if(2N dm=="1C"&&dm.GC){1b dm.GC(o)}K 1w=2N o;if(o===1c){1b"1c"}if(1w=="2O"){1b 2O}if(1w=="cI"||1w=="os"){1b o+""}if(1w=="4e"){1b $.zO(o)}if(1w=="1C"){if(2N o.gR=="1a"){1b $.gR(o.gR())}if(o.4U===5m){K mM=o.RO()+1;if(mM<10){mM="0"+mM}K mU=o.RI();if(mU<10){mU="0"+mU}K GD=o.RJ();K mT=o.RK();if(mT<10){mT="0"+mT}K mR=o.RF();if(mR<10){mR="0"+mR}K mS=o.RG();if(mS<10){mS="0"+mS}K fh=o.RH();if(fh<100){fh="0"+fh}if(fh<10){fh="0"+fh}1b\'"\'+GD+"-"+mM+"-"+mU+"T"+mT+":"+mR+":"+mS+"."+fh+\'Z"\'}if(o.4U===44){K 7Q=[];1o(K i=0;i<o.1e;i++){7Q.1D($.gR(o[i])||"1c")}1b"["+7Q.4G(",")+"]"}K zP=[];1o(K k in o){K 1z;K 1w=2N k;if(1w=="cI"){1z=\'"\'+k+\'"\'}1i{if(1w=="4e"){1z=$.zO(k)}1i{aH}}if(2N o[k]=="1a"){aH}K 2h=$.gR(o[k]);zP.1D(1z+":"+2h)}1b"{"+zP.4G(", ")+"}"}};$.RL=1a(4b){if(2N dm=="1C"&&dm.qA){1b dm.qA(4b)}1b rG("("+4b+")")};$.RM=1a(4b){if(2N dm=="1C"&&dm.qA){1b dm.qA(4b)}K f7=4b;f7=f7.3h(/\\\\["\\\\\\/RN]/g,"@");f7=f7.3h(/"[^"\\\\\\n\\r]*"|1l|1j|1c|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,"]");f7=f7.3h(/(?:^|:|,)(?:\\s*\\[)+/g,"");if(/^[\\],:{}\\s]*$/.9w(f7)){1b rG("("+4b+")")}1i{9B 1S Rx("98 Rt dm, aU is 5U Rv.")}};$.zO=1a(4e){if(4e.3e(Ag)){1b\'"\'+4e.3h(Ag,1a(a){K c=GF[a];if(2N c==="4e"){1b c}c=a.Gv();1b"\\\\RC"+3F.ge(c/16).3r(16)+(c%16).3r(16)})+\'"\'}1b\'"\'+4e+\'"\'};K Ag=/["\\\\\\RE-\\Rz\\RA-\\RB]/g;K GF={"\\b":"\\\\b","\\t":"\\\\t","\\n":"\\\\n","\\f":"\\\\f","\\r":"\\\\r",\'"\':\'\\\\"\',"\\\\":"\\\\\\\\"}})(2w);(1a($){$.fn.A3=1a(){K 51=1a(el,v,t,sO){K 2T=2P.c7("2T");2T.1m=v,2T.1Z=t;K o=el.1x;K oL=o.1e;if(!el.7T){el.7T={};1o(K i=0;i<oL;i++){el.7T[o[i].1m]=i}}if(2N el.7T[v]=="2O"){el.7T[v]=oL}el.1x[el.7T[v]]=2T;if(sO){2T.1R=1l}};K a=2q;if(a.1e==0){1b J}K sO=1l;K m=1j;K 1F,v,t;if(2N a[0]=="1C"){m=1l;1F=a[0]}if(a.1e>=2){if(2N a[1]=="os"){sO=a[1]}1i{if(2N a[2]=="os"){sO=a[2]}}if(!m){v=a[0];t=a[1]}}J.2g(1a(){if(J.8C.3P()!="2n"){1b}if(m){1o(K 1h in 1F){51(J,1h,1F[1h],sO)}}1i{51(J,v,t,sO)}});1b J};$.fn.S4=1a(5c,1v,2n,fn,2f){if(2N 5c!="4e"){1b J}if(2N 1v!="1C"){1v={}}if(2N 2n!="os"){2n=1l}J.2g(1a(){K el=J;$.S5(5c,1v,1a(r){$(el).A3(r,2n);if(2N fn=="1a"){if(2N 2f=="1C"){fn.3c(el,2f)}1i{fn.2u(el)}}})});1b J};$.fn.GL=1a(){K a=2q;if(a.1e==0){1b J}K ta=2N a[0];K v,1P;if(ta=="4e"||(ta=="1C"||ta=="1a")){v=a[0];if(v.4U==44){K l=v.1e;1o(K i=0;i<l;i++){J.GL(v[i],a[1])}1b J}}1i{if(ta=="cI"){1P=a[0]}1i{1b J}}J.2g(1a(){if(J.8C.3P()!="2n"){1b}if(J.7T){J.7T=1c}K 3w=1j;K o=J.1x;if(!!v){K oL=o.1e;1o(K i=oL-1;i>=0;i--){if(v.4U==dv){if(o[i].1m.3e(v)){3w=1l}}1i{if(o[i].1m==v){3w=1l}}if(3w&&a[1]===1l){3w=o[i].1R}if(3w){o[i]=1c}3w=1j}}1i{if(a[1]===1l){3w=o[1P].1R}1i{3w=1l}if(3w){J.3w(1P)}}});1b J};$.fn.Sd=1a(Ae){K GO=$(J).GG();K a=2N Ae=="2O"?1l:!!Ae;J.2g(1a(){if(J.8C.3P()!="2n"){1b}K o=J.1x;K oL=o.1e;K sA=[];1o(K i=0;i<oL;i++){sA[i]={v:o[i].1m,t:o[i].1Z}}sA.fW(1a(o1,o2){qi=o1.t.3P(),qd=o2.t.3P();if(qi==qd){1b 0}if(a){1b qi<qd?-1:1}1i{1b qi>qd?-1:1}});1o(K i=0;i<oL;i++){o[i].1Z=sA[i].t;o[i].1m=sA[i].v}}).uf(GO,1l);1b J};$.fn.uf=1a(1m,aQ){K v=1m;K vT=2N 1m;if(vT=="1C"&&v.4U==44){K $J=J;$.2g(v,1a(){$J.uf(J,aQ)})}K c=aQ||1j;if(vT!="4e"&&(vT!="1a"&&vT!="1C")){1b J}J.2g(1a(){if(J.8C.3P()!="2n"){1b J}K o=J.1x;K oL=o.1e;1o(K i=0;i<oL;i++){if(v.4U==dv){if(o[i].1m.3e(v)){o[i].1R=1l}1i{if(c){o[i].1R=1j}}}1i{if(o[i].1m==v){o[i].1R=1l}1i{if(c){o[i].1R=1j}}}}});1b J};$.fn.Sc=1a(to,jU){K w=jU||"1R";if($(to).56()==0){1b J}J.2g(1a(){if(J.8C.3P()!="2n"){1b J}K o=J.1x;K oL=o.1e;1o(K i=0;i<oL;i++){if(w=="6n"||w=="1R"&&o[i].1R){$(to).A3(o[i].1m,o[i].1Z)}}});1b J};$.fn.RW=1a(1m,fn){K 8O=1j;K v=1m;K vT=2N v;K fT=2N fn;if(vT!="4e"&&(vT!="1a"&&vT!="1C")){1b fT=="1a"?J:8O}J.2g(1a(){if(J.8C.3P()!="2n"){1b J}if(8O&&fT!="1a"){1b 1j}K o=J.1x;K oL=o.1e;1o(K i=0;i<oL;i++){if(v.4U==dv){if(o[i].1m.3e(v)){8O=1l;if(fT=="1a"){fn.2u(o[i],i)}}}1i{if(o[i].1m==v){8O=1l;if(fT=="1a"){fn.2u(o[i],i)}}}}});1b fT=="1a"?J:8O};$.fn.GG=1a(){K v=[];J.A6().2g(1a(){v[v.1e]=J.1m});1b v};$.fn.RS=1a(){K t=[];J.A6().2g(1a(){t[t.1e]=J.1Z});1b t};$.fn.A6=1a(){1b J.2F("2T:1R")}})(2w);(1a($){$.4j($.fn,{mb:1a(c1,c2){K GI=J.4p("."+c1);J.4p("."+c2).4h(c2).2t(c1);GI.4h(c1).2t(c2);1b J},h4:1a(c1,c2){1b J.4p("."+c1).4h(c1).2t(c2).4z()},qO:1a(bd){bd=bd||"6D";1b J.6D(1a(){$(J).2t(bd)},1a(){$(J).4h(bd)})},Gg:1a(fX,1X){fX?J.4K({1y:"cL"},fX,1X):J.2g(1a(){2w(J)[2w(J).is(":79")?"5d":"3K"]();if(1X){1X.3c(J,2q)}})},Gh:1a(fX,1X){if(fX){J.4K({1y:"3K"},fX,1X)}1i{J.3K();if(1X){J.2g(1X)}}},xz:1a(3X){if(!3X.GK){J.4p(":7b-RU:5U(ul)").2t(4P.7b);J.4p((3X.hF?"":"."+4P.xw)+":5U(."+4P.6P+")").2F(">ul").3K()}1b J.4p(":3p(>ul)")},xx:1a(3X,iG){if(!3X.GK){J.4p(":3p(>ul:79)").2t(4P.aW).h4(4P.7b,4P.gU);J.5U(":3p(>ul:79)").2t(4P.bz).h4(4P.7b,4P.gT);J.iE(\'<2G 2B="\'+4P.4l+\'"/>\').2F("2G."+4P.4l).2g(1a(){K fO="";$.2g($(J).1L().1k("2B").3u(" "),1a(){fO+=J+"-4l "});$(J).2t(fO)})}J.2F("2G."+4P.4l).3I(iG)},i7:1a(3X){3X=$.4j({xu:"i7"},3X);if(3X.51){1b J.29("51",[3X.51])}if(3X.cL){K 1X=3X.cL;3X.cL=1a(){1b 1X.3c($(J).1L()[0],2q)}}1a Ga(42,31){1a 7F(4p){1b 1a(){iG.3c($("2G."+4P.4l,42).4p(1a(){1b 4p?$(J).1L("."+4p).1e:1l}));1b 1j}}$("a:eq(0)",31).3I(7F(4P.bz));$("a:eq(1)",31).3I(7F(4P.aW));$("a:eq(2)",31).3I(7F())}1a iG(){$(J).1L().2F(">.4l").mb(4P.xl,4P.xm).mb(4P.qr,4P.qs).4z().mb(4P.bz,4P.aW).mb(4P.gT,4P.gU).2F(">ul").Gg(3X.fX,3X.cL);if(3X.S0){$(J).1L().Gp().2F(">.4l").h4(4P.xl,4P.xm).h4(4P.qr,4P.qs).4z().h4(4P.bz,4P.aW).h4(4P.gT,4P.gU).2F(">ul").Gh(3X.fX,3X.cL)}}1a AK(){1a QS(4i){1b 4i?1:0}K 1f=[];gZ.2g(1a(i,e){1f[i]=$(e).is(":3p(>ul:6U)")?1:0});$.xr(3X.xu,1f.4G(""))}1a Gb(){K xt=$.xr(3X.xu);if(xt){K 1f=xt.3u("");gZ.2g(1a(i,e){$(e).2F(">ul")[6l(1f[i])?"5d":"3K"]()})}}J.2t("i7");K gZ=J.2F("li").xz(3X);3s(3X.R2){1n"xr":K xv=3X.cL;3X.cL=1a(){AK();if(xv){xv.3c(J,2q)}};Gb();1p;1n"q8":K 5H=J.2F("a").4p(1a(){1b J.59.3P()==q8.59.3P()});if(5H.1e){5H.2t("1R").c0("ul, li").51(5H.3k()).5d()}1p}gZ.xx(3X,iG);if(3X.31){Ga(J,3X.31);$(3X.31).5d()}1b J.2E("51",1a(1H,gZ){$(gZ).3Q().4h(4P.7b).4h(4P.gT).4h(4P.gU).2F(">.4l").4h(4P.qr).4h(4P.qs);$(gZ).2F("li").xD().xz(3X).xx(3X,iG)})}});K 4P=$.fn.i7.fO={6P:"6P",xw:"xw",aW:"aW",xm:"aW-4l",qs:"gU-4l",bz:"bz",xl:"bz-4l",qr:"gT-4l",gT:"gT",gU:"gU",7b:"7b",4l:"4l"};$.fn.QK=$.fn.i7})(2w);(1a($,2O){$.cd.H6="QL"in 3N;$.cd.H7="QG"in 3N;$.cd.He="QH"in 2P.9F;K $7W=1c,nq=1j,$5p=$(3N),bq=0,9f={},gA={},ji={},d8={3R:1c,4x:1c,29:"7P",Hg:1j,fe:fG,Gk:1a($1T){if($.ui&&$.ui.2I){$1T.3a("5q","71").2I({my:"wr 1O",at:"wr 4J",of:J,2y:"0 5",kD:"b5"}).3a("5q","3t")}1i{K 2y=J.2y();2y.1O+=J.b7();2y.2b+=J.e1()/ 2 - $1T.e1() /2;$1T.3a(2y)}},2I:1a(1B,x,y){K $J=J,2y;if(!x&&!y){1B.Gk.2u(J,1B.$1T);1b}1i{if(x==="Gr"&&y==="Gr"){2y=1B.$1T.2I()}1i{K Gq=1B.$29.c0().xD().4p(1a(){1b $(J).3a("2I")=="vw"}).1e;if(Gq){y-=$5p.5b();x-=$5p.4Z()}2y={1O:y,2b:x}}}K 4J=$5p.5b()+$5p.1y(),7P=$5p.4Z()+$5p.1r(),1y=1B.$1T.1y(),1r=1B.$1T.1r();if(2y.1O+1y>4J){2y.1O-=1y}if(2y.2b+1r>7P){2y.2b-=1r}1B.$1T.3a(2y)},Go:1a($1T){if($.ui&&$.ui.2I){$1T.3a("5q","71").2I({my:"2b 1O",at:"7P 1O",of:J,kD:"b5"}).3a("5q","")}1i{K 2y={1O:0,2b:J.e1()};$1T.3a(2y)}},4o:QP,6R:{6S:0,5d:"QQ",3K:"QR"},4w:{5d:$.BX,3K:$.BX},1X:1c,1F:{}},au={8z:1c,6O:1c,7l:1c},Hh=1a($t){K qm=0,$tt=$t,z=0;1o(K i=0;i<QM;i++){z=6l($tt.3a("z-1P"),10);if(aY(z)){z=0}qm=3F.4v(qm,z);$tt=$tt.1L();if(!$tt||(!$tt.1e||"41 3S".4S($tt.6T("8C").3P())>-1)){1p}}1b qm},4N={o3:1a(e){e.4d();e.cb()},5k:1a(e){K $J=$(J);e.4d();e.cb();if(e.1f.29!="7P"&&e.cW){1b}if(!$J.4F("3l-1T-2x")){$7W=$J;if(e.1f.9S){K xn=e.1f.9S($7W,e);if(xn===1j){1b}e.1f=$.4j(1l,{},d8,e.1f,xn||{});if(!e.1f.1F||$.Hq(e.1f.1F)){if(3N.cK){(cK.9p||cK.k4)("No 1F Ho to 5d in 2L")}9B 1S 98("No 2Q Hp")}e.1f.$29=$7W;op.7R(e.1f)}op.5d.2u($J,e.1f,e.6O,e.7l)}},3I:1a(e){e.4d();e.cb();$(J).29($.rj("5k",{1f:e.1f,6O:e.6O,7l:e.7l}))},7c:1a(e){K $J=$(J);if($7W&&($7W.1e&&!$7W.is($J))){$7W.1f("2L").$1T.29("5k:3K")}if(e.3n==2){$7W=$J.1f("xq",1l)}},5w:1a(e){K $J=$(J);if($J.1f("xq")&&($7W&&($7W.1e&&($7W.is($J)&&!$J.4F("3l-1T-2x"))))){e.4d();e.cb();$7W=$J;$J.29($.rj("5k",{1f:e.1f,6O:e.6O,7l:e.7l}))}$J.sR("xq")},o7:1a(e){K $J=$(J),$j7=$(e.lU),$2P=$(2P);if($j7.is(".3l-1T-4O")||$j7.fl(".3l-1T-4O").1e){1b}if($7W&&$7W.1e){1b}au.6O=e.6O;au.7l=e.7l;au.1f=e.1f;$2P.on("9I.Gl",4N.9I);au.8z=6t(1a(){au.8z=1c;$2P.eb("9I.Gl");$7W=$J;$J.29($.rj("5k",{1f:au.1f,6O:au.6O,7l:au.7l}))},e.1f.fe)},9I:1a(e){au.6O=e.6O;au.7l=e.7l},ou:1a(e){K $j7=$(e.lU);if($j7.is(".3l-1T-4O")||$j7.fl(".3l-1T-4O").1e){1b}7j{iH(au.8z)}7m(e){}au.8z=1c},Hu:1a(e){K $J=$(J),2p=$J.1f("96"),5w=1j,3n=e.3n,x=e.6O,y=e.7l,3m,2y,ql;e.4d();e.cb();$J.on("5w",1a(){5w=1l});6t(1a(){K $3N,qo;if(2p.29=="2b"&&3n==0||2p.29=="7P"&&3n==2){if(2P.pd){2p.$6k.3K();3m=2P.pd(x-$5p.4Z(),y-$5p.5b());2p.$6k.5d();ql=[];1o(K s in 9f){ql.1D(s)}3m=$(3m).fl(ql.4G(", "));if(3m.1e){if(3m.is(2p.$29[0])){2p.2I.2u(2p.$29,2p,x,y);1b}}}1i{2y=2p.$29.2y();$3N=$(3N);2y.1O+=$3N.5b();if(2y.1O<=e.7l){2y.2b+=$3N.4Z();if(2y.2b<=e.6O){2y.4J=2y.1O+2p.$29.b7();if(2y.4J>=e.7l){2y.7P=2y.2b+2p.$29.e1();if(2y.7P>=e.6O){2p.2I.2u(2p.$29,2p,x,y);1b}}}}}}qo=1a(e){if(e){e.4d();e.cb()}2p.$1T.29("5k:3K");if(3m&&3m.1e){6t(1a(){3m.2L({x:x,y:y})},50)}};if(5w){qo()}1i{$J.on("5w",qo)}},50)},g2:1a(e,1B){if(!1B.dp){e.4d()}e.7Y()},1q:1a(e){K 1B=$7W.1f("2L")||{},$6F=1B.$1T.6F(),$4L;3s(e.3H){1n 9:;1n 38:4N.g2(e,1B);if(1B.dp){if(e.3H==9&&e.o5){e.4d();1B.$1R&&1B.$1R.2F("2a, 7O, 2n").4Q();1B.$1T.29("wV");1b}1i{if(e.3H==38&&1B.$1R.2F("2a, 7O, 2n").6T("1w")=="7U"){e.4d();1b}}}1i{if(e.3H!=9||e.o5){1B.$1T.29("wV");1b}};1n 40:4N.g2(e,1B);if(1B.dp){if(e.3H==9){e.4d();1B.$1R&&1B.$1R.2F("2a, 7O, 2n").4Q();1B.$1T.29("rk");1b}1i{if(e.3H==40&&1B.$1R.2F("2a, 7O, 2n").6T("1w")=="7U"){e.4d();1b}}}1i{1B.$1T.29("rk");1b}1p;1n 37:4N.g2(e,1B);if(1B.dp||(!1B.$1R||!1B.$1R.1e)){1p}if(!1B.$1R.1L().4F("3l-1T-2p")){K $1L=1B.$1R.1L().1L();1B.$1R.29("5k:4Q");1B.$1R=$1L;1b}1p;1n 39:4N.g2(e,1B);if(1B.dp||(!1B.$1R||!1B.$1R.1e)){1p}K qn=1B.$1R.1f("2L")||{};if(qn.$1T&&1B.$1R.4F("3l-1T-xI")){1B.$1R=1c;qn.$1R=1c;qn.$1T.29("rk");1b}1p;1n 35:;1n 36:if(1B.$1R&&1B.$1R.2F("2a, 7O, 2n").1e){1b}1i{(1B.$1R&&1B.$1R.1L()||1B.$1T).6F(":5U(.2x, .5U-kt)")[e.3H==36?"4A":"7b"]().29("5k:2V");e.4d();1b}1p;1n 13:4N.g2(e,1B);if(1B.dp){if(1B.$1R&&!1B.$1R.is("7O, 2n")){e.4d();1b}1p}1B.$1R&&1B.$1R.29("5w");1b;1n 32:;1n 33:;1n 34:4N.g2(e,1B);1b;1n 27:4N.g2(e,1B);1B.$1T.29("5k:3K");1b;5u:K k=5n.wg(e.3H).8l();if(1B.ho[k]){1B.ho[k].$1s.29(1B.ho[k].$1T?"5k:2V":"5w");1b}1p}e.7Y();1B.$1R&&1B.$1R.29(e)},gl:1a(e){e.7Y();K 1B=$(J).1f("2L")||{};if(1B.$1R){K $s=1B.$1R;1B=1B.$1R.1L().1f("2L")||{};1B.$1R=$s}K $6F=1B.$1T.6F(),$3Q=!1B.$1R||!1B.$1R.3Q().1e?$6F.7b():1B.$1R.3Q(),$4L=$3Q;47($3Q.4F("2x")||$3Q.4F("5U-kt")){if($3Q.3Q().1e){$3Q=$3Q.3Q()}1i{$3Q=$6F.7b()}if($3Q.is($4L)){1b}}if(1B.$1R){4N.r4.2u(1B.$1R.4y(0),e)}4N.r1.2u($3Q.4y(0),e);K $2a=$3Q.2F("2a, 7O, 2n");if($2a.1e){$2a.2V()}},gg:1a(e){e.7Y();K 1B=$(J).1f("2L")||{};if(1B.$1R){K $s=1B.$1R;1B=1B.$1R.1L().1f("2L")||{};1B.$1R=$s}K $6F=1B.$1T.6F(),$3k=!1B.$1R||!1B.$1R.3k().1e?$6F.4A():1B.$1R.3k(),$4L=$3k;47($3k.4F("2x")||$3k.4F("5U-kt")){if($3k.3k().1e){$3k=$3k.3k()}1i{$3k=$6F.4A()}if($3k.is($4L)){1b}}if(1B.$1R){4N.r4.2u(1B.$1R.4y(0),e)}4N.r1.2u($3k.4y(0),e);K $2a=$3k.2F("2a, 7O, 2n");if($2a.1e){$2a.2V()}},Hc:1a(e){K $J=$(J).fl(".3l-1T-1h"),1f=$J.1f(),1B=1f.2L,2p=1f.96;2p.$1R=1B.$1R=$J;2p.dp=1B.dp=1l},Hb:1a(e){K $J=$(J).fl(".3l-1T-1h"),1f=$J.1f(),1B=1f.2L,2p=1f.96;2p.dp=1B.dp=1j},GV:1a(e){K 2p=$(J).1f().96;2p.ra=1l},GX:1a(e){K 2p=$(J).1f().96;if(2p.$6k&&2p.$6k.is(e.lU)){2p.ra=1j}},r1:1a(e){K $J=$(J),1f=$J.1f(),1B=1f.2L,2p=1f.96;2p.ra=1l;if(e&&(2p.$6k&&2p.$6k.is(e.lU))){e.4d();e.cb()}(1B.$1T?1B:2p).$1T.6F(".6D").29("5k:4Q");if($J.4F("2x")||$J.4F("5U-kt")){1B.$1R=1c;1b}$J.29("5k:2V")},r4:1a(e){K $J=$(J),1f=$J.1f(),1B=1f.2L,2p=1f.96;if(2p!==1B&&(2p.$6k&&2p.$6k.is(e.lU))){2p.$1R&&2p.$1R.29("5k:4Q");e.4d();e.cb();2p.$1R=1B.$1R=1B.$1s;1b}$J.29("5k:4Q")},GQ:1a(e){K $J=$(J),1f=$J.1f(),1B=1f.2L,2p=1f.96,1q=1f.xH,1X;if(!1B.1F[1q]||($J.4F("2x")||$J.4F("3l-1T-xI"))){1b}e.4d();e.cb();if($.eB(2p.m0[1q])){1X=2p.m0[1q]}1i{if($.eB(2p.1X)){1X=2p.1X}1i{1b}}if(1X.2u(2p.$29,1q,2p)!==1j){2p.$1T.29("5k:3K")}1i{if(2p.$1T.1L().1e){op.83.2u(2p.$29,2p)}}},GY:1a(e){e.cb()},GW:1a(e,1f){K 2p=$(J).1f("96");op.3K.2u(2p.$29,2p,1f&&1f.f8)},GS:1a(e){e.7Y();K $J=$(J),1f=$J.1f(),1B=1f.2L,2p=1f.96;$J.2t("6D").Gp(".6D").29("5k:4Q");1B.$1R=2p.$1R=$J;if(1B.$1s){2p.Go.2u(1B.$1s,1B.$1T)}},GU:1a(e){e.7Y();K $J=$(J),1f=$J.1f(),1B=1f.2L,2p=1f.96;$J.4h("6D");1B.$1R=1c}},op={5d:1a(1B,x,y){if(2N r7!="2O"&&r7){1b}r7=1l;K $J=$(J),2y,3a={};$("#3l-1T-6k").29("7c");1B.$29=$J;if(1B.4w.5d.2u($J,1B)===1j){$7W=1c;1b}op.83.2u($J,1B);1B.2I.2u($J,1B,x,y);if(1B.4o){3a.4o=Hh($J)+1B.4o}op.6k.2u(1B.$1T,1B,3a.4o);1B.$1T.2F("ul").3a("4o",3a.4o+1);1B.$1T.3a(3a)[1B.6R.5d](1B.6R.6S);$J.1f("2L",1B);$(2P).eb("7S.2L").on("7S.2L",4N.1q);if(1B.Hg){K 3Y=$J.2I();3Y.7P=3Y.2b+$J.e1();3Y.4J=3Y.1O+J.b7();$(2P).on("9I.wN",1a(e){if(1B.$6k&&(!1B.ra&&(!(e.6O>=3Y.2b&&e.6O<=3Y.7P)||!(e.7l>=3Y.1O&&e.7l<=3Y.4J)))){1B.$1T.29("5k:3K")}})}},3K:1a(1B,f8){K $J=$(J);if(!1B){1B=$J.1f("2L")||{}}if(!f8&&(1B.4w&&1B.4w.3K.2u($J,1B)===1j)){1b}if(1B.$6k){6t(1a($6k){1b 1a(){$6k.3w()}}(1B.$6k),10);7j{3W 1B.$6k}7m(e){1B.$6k=1c}}$7W=1c;1B.$1T.2F(".6D").29("5k:4Q");1B.$1R=1c;$(2P).eb(".wN").eb("7S.2L");1B.$1T&&1B.$1T[1B.6R.3K](1B.6R.6S,1a(){if(1B.9S){1B.$1T.3w();$.2g(1B,1a(1q,1m){3s(1q){1n"ns":;1n"3R":;1n"9S":;1n"29":1b 1l;5u:1B[1q]=2O;7j{3W 1B[1q]}7m(e){}1b 1l}})}});r7=1j},7R:1a(1B,2p){if(2p===2O){2p=1B}1B.$1T=$(\'<ul 2B="3l-1T-4O \'+(1B.bd||"")+\'"></ul>\').1f({"2L":1B,"96":2p});$.2g(["m0","r8","uv"],1a(i,k){1B[k]={};if(!2p[k]){2p[k]={}}});2p.ho||(2p.ho={});$.2g(1B.1F,1a(1q,1h){K $t=$(\'<li 2B="3l-1T-1h \'+(1h.bd||"")+\'"></li>\'),$3x=1c,$2a=1c;1h.$1s=$t.1f({"2L":1B,"96":2p,"xH":1q});if(1h.xJ){K Hj=Hn(1h.xJ);1o(K i=0,ak;ak=Hj[i];i++){if(!2p.ho[ak]){2p.ho[ak]=1h;1h.rn=1h.1z.3h(1S dv("("+ak+")","i"),\'<2A 2B="3l-1T-xJ">$1</2A>\');1p}}}if(2N 1h=="4e"){$t.2t("3l-1T-5s 5U-kt")}1i{if(1h.1w&&ji[1h.1w]){ji[1h.1w].2u($t,1h,1B,2p);$.2g([1B,2p],1a(i,k){k.r8[1q]=1h;if($.eB(1h.1X)){k.m0[1q]=1h.1X}})}1i{if(1h.1w=="41"){$t.2t("3l-1T-41 5U-kt")}1i{if(1h.1w){$3x=$("<3x></3x>").4x($t);$("<2A></2A>").41(1h.rn||1h.1z).4x($3x);$t.2t("3l-1T-2a");1B.Hf=1l;$.2g([1B,2p],1a(i,k){k.r8[1q]=1h;k.uv[1q]=1h})}1i{if(1h.1F){1h.1w="iI"}}}3s(1h.1w){1n"1Z":$2a=$(\'<2a 1w="1Z" 1m="1" 1z="3l-1T-2a-\'+1q+\'" 1m="">\').2h(1h.1m||"").4x($3x);1p;1n"7O":$2a=$(\'<7O 1z="3l-1T-2a-\'+1q+\'"></7O>\').2h(1h.1m||"").4x($3x);if(1h.1y){$2a.1y(1h.1y)}1p;1n"7U":$2a=$(\'<2a 1w="7U" 1m="1" 1z="3l-1T-2a-\'+1q+\'" 1m="">\').2h(1h.1m||"").6T("3C",!!1h.1R).Ch($3x);1p;1n"8u":$2a=$(\'<2a 1w="8u" 1m="1" 1z="3l-1T-2a-\'+1h.8u+\'" 1m="">\').2h(1h.1m||"").6T("3C",!!1h.1R).Ch($3x);1p;1n"2n":$2a=$(\'<2n 1z="3l-1T-2a-\'+1q+\'">\').4x($3x);if(1h.1x){$.2g(1h.1x,1a(1m,1Z){$("<2T></2T>").2h(1m).1Z(1Z).4x($2a)});$2a.2h(1h.1R)}1p;1n"iI":$("<2A></2A>").41(1h.rn||1h.1z).4x($t);1h.4x=1h.$1s;op.7R(1h,2p);$t.1f("2L",1h).2t("3l-1T-xI");1h.1X=1c;1p;1n"41":$(1h.41).4x($t);1p;5u:$.2g([1B,2p],1a(i,k){k.r8[1q]=1h;if($.eB(1h.1X)){k.m0[1q]=1h.1X}});$("<2A></2A>").41(1h.rn||(1h.1z||"")).4x($t);1p}if(1h.1w&&(1h.1w!="iI"&&1h.1w!="41")){$2a.on("2V",4N.Hc).on("4Q",4N.Hb);if(1h.4w){$2a.on(1h.4w,1B)}}if(1h.3E){$t.2t("3E 3E-"+1h.3E)}}}1h.$2a=$2a;1h.$3x=$3x;$t.4x(1B.$1T);if(!1B.Hf&&$.cd.He){$t.on("R8.R9",4N.o3)}});if(!1B.$1s){1B.$1T.3a("5q","3t").2t("3l-1T-2p")}1B.$1T.4x(1B.4x||2P.3S)},83:1a(1B,2p){K $J=J;if(2p===2O){2p=1B;1B.$1T.2F("ul").xD().3a({2I:"vx",5q:"71"}).2g(1a(){K $J=$(J);$J.1r($J.3a("2I","8n").1r()).3a("2I","vx")}).3a({2I:"",5q:""})}1B.$1T.6F().2g(1a(){K $1h=$(J),1q=$1h.1f("xH"),1h=1B.1F[1q],2x=$.eB(1h.2x)&&1h.2x.2u($J,1q,2p)||1h.2x===1l;$1h[2x?"2t":"4h"]("2x");if(1h.1w){$1h.2F("2a, 2n, 7O").6T("2x",2x);3s(1h.1w){1n"1Z":;1n"7O":1h.$2a.2h(1h.1m||"");1p;1n"7U":;1n"8u":1h.$2a.2h(1h.1m||"").6T("3C",!!1h.1R);1p;1n"2n":1h.$2a.2h(1h.1R||"");1p}}if(1h.$1T){op.83.2u($J,1h,2p)}})},6k:1a(1B,4o){$l=$("#3l-1T-6k");if($l){$l.3w()}K $6k=1B.$6k=$(\'<2G id="3l-1T-6k" 3b="2I:vw; z-1P:\'+4o+\'; 1O:0; 2b:0; 2K: 0; 4p: dn(2K=0); k6-3q: #cP;"></2G>\').3a({1y:$5p.1y(),1r:$5p.1r(),5q:"71"}).1f("96",1B).7a(J).on("5k",4N.o3).on("7c",4N.Hu);if(!$.cd.R6){$6k.3a({"2I":"8n","1y":$(2P).1y()})}1b $6k}};1a Hn(2h){K t=2h.3u(/\\s+/),7X=[];1o(K i=0,k;k=t[i];i++){k=k[0].8l();7X.1D(k)}1b 7X}$.fn.2L=1a(7K){if(7K===2O){J.4A().29("5k")}1i{if(7K.x&&7K.y){J.4A().29($.rj("5k",{6O:7K.x,7l:7K.y}))}1i{if(7K==="3K"){K $1T=J.1f("2L").$1T;$1T&&$1T.29("5k:3K")}1i{if(7K==="1g"){if(J.1f("2L")!=1c){1b J.1f("2L").$1T}1b[]}1i{if(7K){J.4h("3l-1T-2x")}1i{if(!7K){J.2t("3l-1T-2x")}}}}}}1b J};$.2L=1a(7K,1x){if(2N 7K!="4e"){1x=7K;7K="7R"}if(2N 1x=="4e"){1x={3R:1x}}1i{if(1x===2O){1x={}}}K o=$.4j(1l,{},d8,1x||{}),$2P=$(2P);3s(7K){1n"7R":if(!o.3R){9B 1S 98("No 3R Ho")}if(o.3R.3e(/.3l-1T-(4O|1h|2a)($|\\s)/)){9B 1S 98(\'Rg 2E to 3R "\'+o.3R+\'" as it h7 a Rb bd\')}if(!o.9S&&(!o.1F||$.Hq(o.1F))){9B 1S 98("No 2Q Hp")}bq++;o.ns=".2L"+bq;9f[o.3R]=o.ns;gA[o.ns]=o;if(!o.29){o.29="7P"}if(!nq){$2P.on({"5k:3K.2L":4N.GW,"wV.2L":4N.gl,"rk.2L":4N.gg,"5k.2L":4N.o3,"o7.2L":4N.GV,"ou.2L":4N.GX},".3l-1T-4O").on("5w.2L",".3l-1T-2a",4N.GY).on({"5w.2L":4N.GQ,"5k:2V.2L":4N.GS,"5k:4Q.2L":4N.GU,"5k.2L":4N.o3,"o7.2L":4N.r1,"ou.2L":4N.r4},".3l-1T-1h");nq=1l}$2P.on("5k"+o.ns,o.3R,o,4N.5k);3s(o.29){1n"6D":$2P.on("o7"+o.ns,o.3R,o,4N.o7).on("ou"+o.ns,o.3R,o,4N.ou);1p;1n"2b":$2P.on("3I"+o.ns,o.3R,o,4N.3I);1p}if(!o.9S){op.7R(o)}1p;1n"67":if(!o.3R){$2P.eb(".2L .wN");$.2g(9f,1a(1q,1m){$2P.eb(1m)});9f={};gA={};bq=0;nq=1j;$("#3l-1T-6k, .3l-1T-4O").3w()}1i{if(9f[o.3R]){K $ur=$(".3l-1T-4O").4p(":6U");if($ur.1e&&$ur.1f().96.$29.is(o.3R)){$ur.29("5k:3K",{f8:1l})}7j{if(gA[9f[o.3R]].$1T){gA[9f[o.3R]].$1T.3w()}3W gA[9f[o.3R]]}7m(e){gA[9f[o.3R]]=1c}$2P.eb(9f[o.3R])}}1p;1n"Tc":if(!$.cd.H7&&!$.cd.H6||2N 1x=="os"&&1x){$(\'1T[1w="3l"]\').2g(1a(){if(J.id){$.2L({3R:"[5k="+J.id+"]",1F:$.2L.H5(J)})}}).3a("5q","3t")}1p;5u:9B 1S 98(\'fY 7K "\'+7K+\'"\')}1b J};$.2L.Ta=1a(1B,1f){if(1f===2O){1f={}}$.2g(1B.uv,1a(1q,1h){3s(1h.1w){1n"1Z":;1n"7O":1h.1m=1f[1q]||"";1p;1n"7U":1h.1R=1f[1q]?1l:1j;1p;1n"8u":1h.1R=(1f[1h.8u]||"")==1h.1m?1l:1j;1p;1n"2n":1h.1R=1f[1q]||"";1p}})};$.2L.Tb=1a(1B,1f){if(1f===2O){1f={}}$.2g(1B.uv,1a(1q,1h){3s(1h.1w){1n"1Z":;1n"7O":;1n"2n":1f[1q]=1h.$2a.2h();1p;1n"7U":1f[1q]=1h.$2a.6T("3C");1p;1n"8u":if(1h.$2a.6T("3C")){1f[1h.8u]=1h.1m}1p}});1b 1f};1a jZ(1s){1b 1s.id&&$(\'3x[1o="\'+1s.id+\'"]\').2h()||1s.1z}1a xd(1F,$6F,bq){if(!bq){bq=0}$6F.2g(1a(){K $1s=$(J),1s=J,8C=J.8C.3P(),3x,1h;if(8C=="3x"&&$1s.2F("2a, 7O, 2n").1e){3x=$1s.1Z();$1s=$1s.6F().4A();1s=$1s.4y(0);8C=1s.8C.3P()}3s(8C){1n"1T":1h={1z:$1s.1k("3x"),1F:{}};bq=xd(1h.1F,$1s.6F(),bq);1p;1n"a":;1n"3n":1h={1z:$1s.1Z(),2x:!!$1s.1k("2x"),1X:1a(){1b 1a(){$1s.3I()}}()};1p;1n"H9":;1n"8f":3s($1s.1k("1w")){1n 2O:;1n"8f":;1n"H9":1h={1z:$1s.1k("3x"),2x:!!$1s.1k("2x"),1X:1a(){1b 1a(){$1s.3I()}}()};1p;1n"7U":1h={1w:"7U",2x:!!$1s.1k("2x"),1z:$1s.1k("3x"),1R:!!$1s.1k("3C")};1p;1n"8u":1h={1w:"8u",2x:!!$1s.1k("2x"),1z:$1s.1k("3x"),8u:$1s.1k("TI"),1m:$1s.1k("id"),1R:!!$1s.1k("3C")};1p;5u:1h=2O}1p;1n"hr":1h="-------";1p;1n"2a":3s($1s.1k("1w")){1n"1Z":1h={1w:"1Z",1z:3x||jZ(1s),2x:!!$1s.1k("2x"),1m:$1s.2h()};1p;1n"7U":1h={1w:"7U",1z:3x||jZ(1s),2x:!!$1s.1k("2x"),1R:!!$1s.1k("3C")};1p;1n"8u":1h={1w:"8u",1z:3x||jZ(1s),2x:!!$1s.1k("2x"),8u:!!$1s.1k("1z"),1m:$1s.2h(),1R:!!$1s.1k("3C")};1p;5u:1h=2O;1p}1p;1n"2n":1h={1w:"2n",1z:3x||jZ(1s),2x:!!$1s.1k("2x"),1R:$1s.2h(),1x:{}};$1s.6F().2g(1a(){1h.1x[J.1m]=$(J).1Z()});1p;1n"7O":1h={1w:"7O",1z:3x||jZ(1s),2x:!!$1s.1k("2x"),1m:$1s.2h()};1p;1n"3x":1p;5u:1h={1w:"41",41:$1s.5P(1l)};1p}if(1h){bq++;1F["1q"+bq]=1h}});1b bq}$.2L.H5=1a(1g){K $J=$(1g),1F={};xd(1F,$J.6F());1b 1F};$.2L.d8=d8;$.2L.ji=ji})(2w);K Fq=1a(id){J.id=id;J.1g=1c;J.2J=1S 44;J.nn=0;J.xg=20;J.yx=1a(2J){3W J.2J;J.2J=1S 44;K li=1S 44;1o(K i=0;i<2J.1e;i++){K 1m=2J[i];li.1D(\'<li 1m="\'+i+\'" 2B="\'+1m.dH+\'">\'+1m.1Z+"</li>");J.2J.1D(1m.1m)}J.1g.41("<ul>"+li.4G("\\n")+"</ul>");K me=J;J.1g.4M("5w",1a(e){K li=e.3m;if(li.6j.8l()!="LI"){1b}K $li=$(e.3m);e.7Y();J.uo.um($li.1Z(),me.uo.j3(li.1m))},J).4M("7c",1a(e){e.7Y()},J);J.Fe();J.tj(10)};J.Fe=1a(){J.1g.3a("hm","79");J.1g.5d();K 9A=J.1g.2F("li");if(9A.1e>0){J.xg=9A[0].bD}J.1g.3a("hm","6U");J.1g.3K()};J.tj=1a(ni){if(J.1g.2F("li").1e>ni){J.nn=J.xg*ni;J.1g.3a("1y",J.nn+"px");J.1g.3a("gM","5T")}1i{J.1g.3a("1y","5T");J.1g.3a("gM","6U")}};J.j3=1a(1P){1b J.2J[1P]};J.Ff=1a(){J.1g.2F("li").4h("3e")};J.yr=1a(1Z){K bv=i9(1Z);J.Ff();K 8T=J.ud(bv);$(8T).2t("3e");if(8T.1e>0){J.ua($(8T[0]))}1i{J.x6()}};J.Fg=1a(1Z){K bv=i9(1Z);K 8T=J.ud(bv);K 5H=J.i5();if(5H.1e>0&&8T.1e>1){K 1P=8T.4S(5H[0]);if(1P<8T.1e-1){1b $(8T[1P+1])}1i{1b $(8T[0])}}1b 1c};J.F9=1a(1Z){K bv=i9(1Z);K 8T=J.ud(bv);K 5H=J.i5();if(5H.1e>0&&8T.1e>1){K 1P=8T.4S(5H[0]);if(1P>0){1b $(8T[1P-1])}1i{1b $(8T[8T.1e-1])}}1b 1c};J.ud=1a(1Z){K 1J=[];if(1K(1Z)){1b 1J}K cA=1Z.3h(/([$-/:-?{-~!"^1U`\\[\\]\\\\])/g, "\\\\$1");K 9A=J.1g.2F("li");1o(K i=0;i<9A.1e;i++){K li=9A[i];K xj=i9(!1K(li.Fh)?li.Fh:li.TP);K xi=i9(J.j3(li.1m));if(QB.1d.2D.qR){cA="(^"+1Z+")|([.]"+1Z+")"}if(1Z==xj||1Z==xi){1J.1D(li)}1i{if(xj.9w(cA)||xi.9w(cA)){1J.1D(li)}}}1b 1J};J.yz=1a(){J.1g.2F("li.1R").4h("1R")};J.ym=1a(1Z,c6,fK){K li=J.i5();if(!li.1e){li=J.x6()}K dU=1c;if(c6=="cU"){if(fK){dU=J.Fg(1Z)}if(dU==1c){dU=li.3k()}}1i{if(c6=="up"){if(fK){dU=J.F9(1Z)}if(dU==1c){dU=li.3Q()}}}if(dU!=1c){J.ua(dU);J.Fi(li)}};J.ua=1a(li){J.yz();li.2t("1R");J.Fp(li)};J.x6=1a(){K 4A=J.1g.2F("li:4A");J.ua(4A);1b 4A};J.Fi=1a(ks){ks.4h("1R")};J.i5=1a(){1b J.1g.2F("li.1R")};J.Fp=1a(ks){if(J.nn&&(ks!=1c&&ks.1e>0)){J.1g.5b(ks[0].9r-J.nn/2)}};J.80=1a(){J.1g=$(\'<2G 2B="bI-2n-1x"></2G>\').4x($(2P.3S))};J.80()};K 9Q={ux:{},bQ:[],mw:{},xc:1j,3l:1c,80:1a(){J.Fo();J.xc=1l},Fo:1a(){},yv:1a(9E){if(1K(9E)||1K(J.ux[9E])){J.ux[9E]=1S Fq(9E)}1b J.ux[9E]},xL:1a(id,2J){J.yv(id).yx(2J)}};(1a($){$.fn.x7=1a(1x){if(!9Q.xc){9Q.80()}K me=J;K d8={8S:1j,fS:1l,ni:10,Ty:1j};K 3X=$.4j(d8,1x);K u3=1j;$(J).2g(1a(i,xb){K 1g=$(xb);if(1g.1f("bI-gL")==2O){9Q.bQ.1D(1S yw(xb,3X));1g.1f("bI-gL",9Q.bQ.1e-1)}});1b $(J)};$.fn.x8=1a(){K 7Q=[];$(J).2g(1a(){if($(J).1f("bI-gL")!==2O){7Q[7Q.1e]=9Q.bQ[$(J).1f("bI-gL")]}});1b 7Q};K yw=1a(2n,3X){J.80(2n,3X)};yw.2W={i3:1j,3X:1j,5C:1j,2n:1j,5S:1j,9E:1c,gJ:1j,Sv:1j,8S:1j,Sw:13,bv:"",Sx:[],fK:1j,Fn:1j,80:1a(2n,3X){J.3X=3X;J.9E=J.3X.9E;J.5S=9Q.yv(J.9E);J.7F=J.3X.fS;if(!1K(J.9E)){9Q.mw[J.9E]=J.3X.fS}J.1x=[];if(!1K(J.3X.1x)){J.1x=J.3X.1x}J.2n=$(2n);J.5C=$(\'<2a 1w="1Z">\');J.5C.1k("5y-3x",J.2n.1k("5y-3x"));J.5C.2h(J.3X.1m);J.5C.1k("1z",J.2n.1k("1z"));J.5C.1f("bI-gL",J.2n.1f("bI-gL"));J.2n.1k("2x","2x");K id=J.2n.1k("id");if(!id){id="bI-2n"+9Q.bQ.1e}J.id=id;J.5C.1k("id",id);J.5C.1k("St","eb");J.5C.2t("bI-2n");J.2n.1k("id",id+"Su");J.ET(J.5C,J);J.Fl();J.F3();J.F6();if(J.3X.8S){K 8S=$(\'<d6 SB="0" 2B="bI-2n-d6" 4b="GJ:vA;"></d6>\');$(2P.3S).2U(8S);8S.1r(J.2n.1r()+2);8S.1y(J.5S.1g.1y());8S.3a({1O:J.5S.1g.3a("1O"),2b:J.5S.1g.3a("2b")});J.8S=8S}},Fl:1a(){K me=J;K SD=1j;K 2J=1S 44;J.2n.2F("2T").2g(1a(1P,2T){K $2T=$(2T);K 1Z=$2T.1Z();K 2h=$2T.1k("1m");K 1R=1j;if($2T.1k("1R")||2T.1R){me.5C.2h(1Z);me.bv=1Z;me.EW=2h;1R=1l}K dH=$2T.1k("2B");2J.1D({1R:1R,1Z:1Z,1m:2h,dH:dH})});if(2J.1e>0){J.5S.yx(2J);J.5S.1g.2t("qT-HB");J.5S.tj(J.3X.ni)}},xh:1a(){1b J.5C},fS:1a(e){K 3l=J.5S.uo;if(2N 3l.7F=="1a"){3l.7F.2u(3l,3l.5C,e)}},yn:1a(){if(J.i3){1b}J.i3=1l;J.bv=J.5C.2h();J.fK=1j;J.yt(J);if(J.Fn){J.nW()}},iQ:1a(e){if(!J.i3){1b}J.5S.yz();J.tf();J.fS(e);J.i3=1j},ES:1a(Sj){if(J.5C.2h()!=J.bv){J.fK=1l;J.bv=J.5C.2h();J.5S.yr(J.5C.2h())}},ET:1a(5C,Sl){K me=J;K 8z=1j;5C.2V(1a(e){me.yn()}).4Q(1a(e){if(!me.gJ){me.iQ(e)}}).3I(1a(e){e.7Y();me.yn();if(e.6O-$(J).2y().2b>$(J).1r()-16){if(me.gJ){me.tf()}1i{me.nW()}}}).7S(1a(e){me.i3=1l;3s(e.3H){1n 40:if(!me.yp()){me.nW()}1i{e.4d();me.5S.ym(me.5C.2h(),"cU",me.fK)}1p;1n 38:if(!me.yp()){me.nW()}1i{e.4d();me.5S.ym(me.5C.2h(),"up",me.fK)}1p;1n 9:K $li=me.5S.i5();if($li.1e){me.um($li.1Z(),me.j3($li[0].1m))}1p;1n 27:e.4d();me.iQ();1b 1j;1p;1n 13:e.4d();if(!me.gJ){me.iQ()}1i{K $li=me.5S.i5();if($li.1e){me.um($li.1Z(),me.j3($li[0].1m))}}1b 1j;1p}}).z1($.gP(me.ES,100,me)).hI(1a(e){if(e.3H==13){e.4d();1b 1j}})},um:1a(1Z,2h){J.bv=1Z;J.EW=2h;J.5C.2h(2h);J.iQ()},yp:1a(){1b J.gJ},yt:1a(3l){J.EO();J.EN();9Q.3l=3l;J.5S.uo=3l},EO:1a(){K 2y=J.5C.2y();2y.1O+=J.5C[0].bD;J.5S.1g.3a({1O:2y.1O+"px",2b:2y.2b+"px"})},EN:1a(){K 1r=J.5C[0].lF;J.5S.1g.1r(1r);J.5C.1r(1r)},nW:1a(){J.F4();J.7z=1S $.ui.dc.7z(J);J.5S.1g.5d();J.yt(J);J.gJ=1l;if(J.3X.8S){J.8S.5d()}J.5S.tj(10);J.5S.yr(J.5C.2h())},j3:1a(1P){1b J.5S.2J[1P]},tf:1a(){if(J.7z!=1c){J.7z.67()}J.5S.1g.3K();J.gJ=1j;if(J.3X.8S){J.8S.3K()}},F4:1a(){1o(K i=0;i<9Q.bQ.1e;i++){if(i!=J.2n.1f("bI-gL")){9Q.bQ[i].tf()}}},F3:1a(){J.2n.rr(J.5C);J.2n.3K();$(2P.3S).2U(J.5S.1g)},F6:1a(){K 1r=J.2n.1r()+2*0;if(J.8S){J.8S.1r(1r+4)}}};$.ui.dc={7z:1a(3i){J.$el=$.ui.dc.7z.7R(3i)}};$.4j($.ui.dc.7z,{2o:J,bQ:[],T0:[],nl:AV,4w:$.dZ("2V,7c,7S,hI".3u(","),1a(1H){1b 1H+".3i-7z"}).4G(" "),7R:1a(3i){if(J.bQ.1e===0){$(3N).2E("78.3i-7z",$.ui.dc.7z.78)}K $el=$(\'<2G 2B="bI-2n-1x-7z"></2G>\').4x(3i.5C.1L()).3a({1r:J.1r(),1y:J.1y()});$el.2E("7c.3i-7z",1a(1H){3i.iQ();K 1g=2P.pd(1H.aM,1H.a7);if(1g!=1c){7j{K c3="3I";if(1g.yN){K e=2P.F0("SY");e.F2(c3,1l,1l,3N,0,1H.FT,1H.FV,1H.aM,1H.a7,1j,1j,1j,1j,0,1c);1g.yN(e)}1i{if(1g.FW){1g.FW("on"+c3)}}}7m(SJ){}}});if($.fn.dP){$el.dP()}J.bQ.1D($el);1b $el},67:1a($el){if($el!=1c){$el.3w()}if(J.bQ.1e===0){$([2P,3N]).7V(".3i-7z")}},1y:1a(){K tu,bD;1b $(2P).1y()+"px"},1r:1a(){K Bd,fE;1b $(2P).1r()+"px"},78:1a(){K $sT=$([]);$.2g($.ui.dc.7z.bQ,1a(){$sT=$sT.51(J)});$sT.3a({1r:0,1y:0}).3a({1r:$.ui.dc.7z.1r(),1y:$.ui.dc.7z.1y()})}});$.4j($.ui.dc.7z.2W,{67:1a(){$.ui.dc.7z.67(J.$el)}})})(2w);(1a($){K R=$.iX=$.fn.iX=1a(a,b,c){1b R.xW(kN.3c(J,2q))};1a kN(a,b,c){K r=$.4j({},R);if(2N a=="4e"){r.5c=a;if(b&&!$.eB(b)){r.eT=b}1i{c=b}if(c){r.uR=c}}1i{$.4j(r,a)}if(!r.46){r.46=$.G4?"SG":"vk"}if(!r.3m){r.3m=J?J:$}if(!r.1w&&!$.G4){r.1w="SH"}1b r}$.4j(R,{5Q:"0.5",5c:1c,eT:SO,uR:1c,46:1c,xW:1a(r){if(r.jc){r.jc()}r.id=l0(1a(){r.iX(r)},r.eT*9b);r.jc=1a(){tQ(r.id);1b r};1b r},iX:1a(r){if(r.y5){3W r.y5}r.y5=r.3m[r.46](r)}})})(2w);2w.4g={bk:1c,9K:1c,tW:1c,tR:0,9S:1a(1x){J.2g(1a(){J.bn=2w.4j({Fv:1c,FG:1c,kO:"SP",r5:1c,l9:1c,lp:5,Ca:/[^\\-]*$/,SQ:1c,ol:1c},1x||{});2w.4g.y0(J)});2w(2P).2E("9I",2w.4g.9I).2E("5w",2w.4g.5w);1b J},y0:1a(1M){K 6v=1M.bn;if(1M.bn.ol){$(2P).on("7c","#qb-ui-3U td."+1M.bn.ol,1a(ev){2w.4g.9K=J.3o;2w.4g.bk=1M;2w.4g.tW=2w.4g.xR(J,ev);if(6v.l9){6v.l9(1M,J)}1b 1j})}1i{K 2X=2w("tr",1M);$(2P).on("7c","#qb-ui-3U 1M td."+1M.bn.ol,1a(ev){if(ev.3m.6j=="TD"){2w.4g.9K=J;2w.4g.bk=1M;2w.4g.tW=2w.4g.xR(J,ev);if(6v.l9){6v.l9(1M,J)}1b 1j}})}},FN:1a(){J.2g(1a(){if(J.bn){2w.4g.y0(J)}})},xV:1a(ev){if(ev.6O||ev.7l){1b{x:ev.6O,y:ev.7l}}1b{x:ev.aM+2P.3S.4Z-2P.3S.iu,y:ev.a7+2P.3S.5b-2P.3S.iw}},xR:1a(3m,ev){ev=ev||3N.1H;K xQ=J.tv(3m);K ga=J.xV(ev);1b{x:ga.x-xQ.x,y:ga.y-xQ.y}},tv:1a(e){K 2b=0;K 1O=0;if(e.bD==0){e=e.7w}47(e.ed){2b+=e.8q;1O+=e.9r;e=e.ed}2b+=e.8q;1O+=e.9r;1b{x:2b,y:1O}},9I:1a(ev){if(2w.4g.9K==1c){1b}K tz=2w(2w.4g.9K);K 6v=2w.4g.bk.bn;K ga=2w.4g.xV(ev);K y=ga.y-2w.4g.tW.y;K kW=3N.Gj;if(2P.6n){if(2N 2P.Fz!="2O"&&2P.Fz!="SM"){kW=2P.9F.5b}1i{if(2N 2P.3S!="2O"){kW=2P.3S.5b}}}if(ga.y-kW<6v.lp){3N.B6(0,-6v.lp)}1i{K FA=3N.Fy?3N.Fy:2P.9F.qf?2P.9F.qf:2P.3S.qf;if(FA-(ga.y-kW)<6v.lp){3N.B6(0,6v.lp)}}if(y!=2w.4g.tR){K yh=y>2w.4g.tR;2w.4g.tR=y;if(6v.kO){tz.2t(6v.kO)}1i{tz.3a(6v.Fv)}K hC=2w.4g.FK(tz,y);if(hC&&hC.bd!="ui-qb-3U-1I-85"){if(yh&&2w.4g.9K!=hC){2w.4g.9K.3o.7a(2w.4g.9K,hC.k5)}1i{if(!yh&&2w.4g.9K!=hC){2w.4g.9K.3o.7a(2w.4g.9K,hC)}}}}1b 1j},FK:1a(yj,y){K 2X=2w.4g.bk.2X;1o(K i=0;i<2X.1e;i++){K 1I=2X[i];K tx=J.tv(1I).y;K tH=6l(1I.bD)/2;if(1I.bD==0){tx=J.tv(1I.7w).y;tH=6l(1I.7w.bD)/2}if(y>tx-tH&&y<tx+tH){if(1I==yj){1b 1c}K 6v=2w.4g.bk.bn;if(6v.FL){if(6v.FL(yj,1I)){1b 1I}1i{1b 1c}}1i{K yb=2w(1I).4F("yb");if(!yb){1b 1I}1i{1b 1c}}1b 1I}}1b 1c},5w:1a(e){if(2w.4g.bk&&2w.4g.9K){K tD=2w.4g.9K;K 6v=2w.4g.bk.bn;if(6v.kO){2w(tD).4h(6v.kO)}1i{2w(tD).3a(6v.FG)}2w.4g.9K=1c;if(6v.r5){6v.r5(2w.4g.bk,tD)}2w.4g.bk=1c}},AK:1a(){if(2w.4g.bk){1b 2w.4g.C5(2w.4g.bk)}1i{1b"98: No cn id 5x, DY L9 to 5x an id on Mt 1M mv C9 1I"}},C5:1a(1M){K 1J="";K FF=1M.id;K 2X=1M.2X;1o(K i=0;i<2X.1e;i++){if(1J.1e>0){1J+="&"}K iN=2X[i].id;if(iN&&(iN&&(1M.bn&&1M.bn.Ca))){iN=iN.3e(1M.bn.Ca)[0]}1J+=FF+"[]="+iN}1b 1J},FJ:1a(){K 1J="";J.2g(1a(){1J+=2w.4g.C5(J)});1b 1J}};2w.fn.4j({4g:2w.4g.9S,OJ:2w.4g.FN,OQ:2w.4g.FJ});(1a($){$.8M("ui.3j",{1x:{4x:"3S",H2:9b,3b:"gV",Hk:1c,1r:1c,lb:1c,EV:26,9j:1c,aw:1c,6z:1c,GT:1j,kE:1a(){}},qQ:1a(){K 2o=J,o=J.1x;K tw=J.1g.OS().1k("id");J.dg=[tw,tw+"-3n",tw+"-1T"];J.tY=1l;J.j2=1j;J.63=$("<a />",{"2B":"ui-3j ui-8M ui-53-5u ui-aG-6n","id":J.dg[1],"hc":"3n","59":"#B2","6b":J.1g.1k("2x")?1:0,"5y-OU":1l,"5y-OT":J.dg[2]});J.Bw=$("<2A />").2U(J.63).eJ(J.1g);K 6b=J.1g.1k("6b");if(6b){J.63.1k("6b",6b)}J.63.1f("H8",J.1g);J.EX=$(\'<2A 2B="ui-3j-3E ui-3E"></2A>\').Ch(J.63);J.63.iE(\'<2A 2B="ui-3j-6s" />\');J.1g.2E({"3I.3j":1a(1H){2o.63.2V();1H.4d()}});J.63.2E("7c.3j",1a(1H){2o.Bm(1H,1l);if(o.3b=="iv"){2o.tY=1j;6t(1a(){2o.tY=1l},s4)}1H.4d()}).2E("3I.3j",1a(1H){1H.4d()}).2E("7S.3j",1a(1H){K 7Q=1j;3s(1H.3H){1n $.ui.3H.FS:7Q=1l;1p;1n $.ui.3H.FQ:2o.Bm(1H);1p;1n $.ui.3H.UP:if(1H.tU){2o.6P(1H)}1i{2o.ke(-1)}1p;1n $.ui.3H.FD:if(1H.tU){2o.6P(1H)}1i{2o.ke(1)}1p;1n $.ui.3H.FB:2o.ke(-1);1p;1n $.ui.3H.G2:2o.ke(1);1p;1n $.ui.3H.FO:7Q=1l;1p;1n $.ui.3H.G6:;1n $.ui.3H.G3:2o.1P(0);1p;1n $.ui.3H.G5:;1n $.ui.3H.FR:2o.1P(2o.8g.1e);1p;5u:7Q=1l}1b 7Q}).2E("hI.3j",1a(1H){if(1H.jU>0){2o.AZ(1H.jU,"5w")}1b 1l}).2E("gy.3j",1a(){if(!o.2x){$(J).2t("ui-53-6D")}}).2E("eM.3j",1a(){if(!o.2x){$(J).4h("ui-53-6D")}}).2E("2V.3j",1a(){if(!o.2x){$(J).2t("ui-53-2V")}}).2E("4Q.3j",1a(){if(!o.2x){$(J).4h("ui-53-2V")}});$(2P).2E("7c.3j-"+J.dg[0],1a(1H){if(2o.j2&&!$(1H.3m).fl("#"+2o.dg[1]).1e){2o.5A(1H)}});J.1g.2E("3I.3j",1a(){2o.kI()}).2E("2V.3j",1a(){if(2o.63){2o.63[0].2V()}});if(!o.1r){o.1r=J.1g.e1()}J.63.1r(o.1r);J.1g.3K();J.4O=$("<ul />",{"2B":"ui-8M ui-8M-ac","5y-79":1l,"hc":"OO","5y-ON":J.dg[1],"id":J.dg[2]});J.gc=$("<2G />",{"2B":"ui-3j-1T"}).2U(J.4O).4x(o.4x);J.4O.2E("7S.3j",1a(1H){K 7Q=1j;3s(1H.3H){1n $.ui.3H.UP:if(1H.tU){2o.5A(1H,1l)}1i{2o.eG(-1)}1p;1n $.ui.3H.FD:if(1H.tU){2o.5A(1H,1l)}1i{2o.eG(1)}1p;1n $.ui.3H.FB:2o.eG(-1);1p;1n $.ui.3H.G2:2o.eG(1);1p;1n $.ui.3H.G3:2o.eG(":4A");1p;1n $.ui.3H.G6:2o.Bu("up");1p;1n $.ui.3H.G5:2o.Bu("cU");1p;1n $.ui.3H.FR:2o.eG(":7b");1p;1n $.ui.3H.FS:;1n $.ui.3H.FQ:2o.5A(1H,1l);$(1H.3m).c0("li:eq(0)").29("5w");1p;1n $.ui.3H.FO:7Q=1l;2o.5A(1H,1l);$(1H.3m).c0("li:eq(0)").29("5w");1p;1n $.ui.3H.P7:2o.5A(1H,1l);1p;5u:7Q=1l}1b 7Q}).2E("hI.3j",1a(1H){if(1H.jU>0){2o.AZ(1H.jU,"2V")}1b 1l}).2E("7c.3j 5w.3j",1a(){1b 1j});$(3N).2E("78.3j-"+J.dg[0],$.9L(2o.5A,J))},wz:1a(){K 2o=J,o=J.1x;K 88=[];J.1g.2F("2T").2g(1a(){K 1B=$(J);88.1D({1m:1B.1k("1m"),1Z:2o.H0(1B.1Z(),1B),1R:1B.1k("1R"),2x:1B.1k("2x"),fO:1B.1k("2B"),ld:1B.1k("ld"),kA:1B.1L("Bo"),kE:o.kE.2u(1B)})});K jJ=2o.1x.3b=="iv"?" ui-53-aj":"";J.4O.41("");if(88.1e){1o(K i=0;i<88.1e;i++){K Cq={hc:"B8"};if(88[i].2x){Cq["2B"]="ui-53-2x"}K tp={41:88[i].1Z||"&2r;",59:"#B2",6b:-1,hc:"2T","5y-1R":1j};if(88[i].2x){tp["5y-2x"]=1l}if(88[i].ld){tp["ld"]=88[i].ld}K FU=$("<a/>",tp).2E("2V.3j",1a(){$(J).1L().gy()}).2E("4Q.3j",1a(){$(J).1L().eM()});K fq=$("<li/>",Cq).2U(FU).1f("1P",i).2t(88[i].fO).1f("h8",88[i].fO||"").2E("5w.3j",1a(1H){if(2o.tY&&(!2o.kU(1H.8i)&&!2o.kU($(1H.8i).c0("ul > li.ui-3j-bN ")))){2o.1P($(J).1f("1P"));2o.2n(1H);2o.5A(1H,1l)}1b 1j}).2E("3I.3j",1a(){1b 1j}).2E("gy.3j",1a(e){if(!$(J).4F("ui-53-2x")&&!$(J).1L("ul").1L("li").4F("ui-53-2x")){e.F1=2o.1g[0].1x[$(J).1f("1P")].1m;2o.7H("6D",e,2o.f5());2o.bS().2t(jJ);2o.kL().4h("ui-3j-1h-2V ui-53-6D");$(J).4h("ui-53-aj").2t("ui-3j-1h-2V ui-53-6D")}}).2E("eM.3j",1a(e){if($(J).is(2o.bS())){$(J).2t(jJ)}e.F1=2o.1g[0].1x[$(J).1f("1P")].1m;2o.7H("4Q",e,2o.f5());$(J).4h("ui-3j-1h-2V ui-53-6D")});if(88[i].kA.1e){K uk="ui-3j-bN-"+J.1g.2F("Bo").1P(88[i].kA);if(J.4O.2F("li."+uk).1e){J.4O.2F("li."+uk+":7b ul").2U(fq)}1i{$(\'<li hc="B8" 2B="ui-3j-bN \'+uk+(88[i].kA.1k("2x")?" "+\'ui-53-2x" 5y-2x="1l"\':\'"\')+\'><2A 2B="ui-3j-bN-3x">\'+88[i].kA.1k("3x")+"</2A><ul></ul></li>").4x(J.4O).2F("ul").2U(fq)}}1i{fq.4x(J.4O)}if(o.aw){1o(K j in o.aw){if(fq.is(o.aw[j].2F)){fq.1f("h8",88[i].fO+" ui-3j-EY").2t("ui-3j-EY");K t7=o.aw[j].3E||"";fq.2F("a:eq(0)").iE(\'<2A 2B="ui-3j-1h-3E ui-3E \'+t7+\'"></2A>\');if(88[i].kE){fq.2F("2A").3a("k6-8P",88[i].kE)}}}}}}1i{$(\'<li hc="B8"><a 59="#B2" 6b="-1" hc="2T"></a></li>\').4x(J.4O)}K fA=o.3b=="gV";J.63.8F("ui-3j-gV",fA).8F("ui-3j-iv",!fA);J.4O.8F("ui-3j-1T-gV ui-aG-4J",fA).8F("ui-3j-1T-iv ui-aG-6n",!fA).2F("li:4A").8F("ui-aG-1O",!fA).4z().2F("li:7b").2t("ui-aG-4J");J.EX.8F("ui-3E-jd-1-s",fA).8F("ui-3E-jd-2-n-s",!fA);if(o.3b=="gV"){J.4O.1r(o.lb?o.lb:o.1r)}1i{J.4O.1r(o.lb?o.lb:o.1r-o.EV)}if(!aa.eK.3e(/Qc 2/)){K Fm=J.gc.1y();K Bb=$(3N).1y();K AL=o.9j?3F.61(o.9j,Bb):Bb/3;if(Fm>AL){J.4O.1y(AL)}}J.8g=J.4O.2F("li:5U(.ui-3j-bN)");if(J.1g.1k("2x")){J.qT()}1i{J.Hv()}J.kI();J.bS().2t("ui-3j-1h-2V");iH(J.Fr);J.Fr=3N.6t(1a(){2o.BI()},fG)},67:1a(){J.1g.sR(J.Qh).4h("ui-3j-2x"+" "+"ui-53-2x").jv("5y-2x").7V(".3j");$(3N).7V(".3j-"+J.dg[0]);$(2P).7V(".3j-"+J.dg[0]);J.Bw.3w();J.gc.3w();J.1g.7V(".3j").5d();$.wX.2W.67.3c(J,2q)},AZ:1a(Fb,Bz){K 2o=J,c=5n.wg(Fb).3P(),lk=1c,d0=1c;if(2o.lh){3N.iH(2o.lh);2o.lh=2O}2o.gY=(2o.gY===2O?"":2o.gY).3y(c);if(2o.gY.1e<2||2o.gY.7e(-2,1)===c&&2o.kC){2o.kC=1l;lk=c}1i{2o.kC=1j;lk=2o.gY}K bG=(Bz!=="2V"?J.bS().1f("1P"):J.kL().1f("1P"))||0;1o(K i=0;i<J.8g.1e;i++){K Fc=J.8g.eq(i).1Z().7e(0,lk.1e).3P();if(Fc===lk){if(2o.kC){if(d0===1c){d0=i}if(i>bG){d0=i;1p}}1i{d0=i}}}if(d0!==1c){J.8g.eq(d0).2F("a").29(Bz)}2o.lh=3N.6t(1a(){2o.lh=2O;2o.gY=2O;2o.kC=2O},2o.1x.H2)},f5:1a(){K 1P=J.1P();1b{1P:1P,2T:$("2T",J.1g).4y(1P),1m:J.1g[0].1m}},6P:1a(1H){if(J.63.1k("5y-2x")!="1l"){K 2o=J,o=J.1x,1R=J.bS(),1W=1R.2F("a");2o.Ha(1H);2o.63.2t("ui-53-aj");2o.4O.1k("5y-79",1j);2o.gc.2t("ui-3j-6P");if(o.3b=="gV"){2o.63.4h("ui-aG-6n").2t("ui-aG-1O")}1i{J.4O.3a("2b",-tJ).5b(J.4O.5b()+1R.2I().1O-J.4O.b7()/ 2 + 1R.b7() /2).3a("2b","5T")}2o.BI();if(1W.1e){1W[0].2V()}2o.j2=1l;2o.7H("6P",1H,2o.f5())}},5A:1a(1H,oT){if(J.63.is(".ui-53-aj")){J.63.4h("ui-53-aj");J.gc.4h("ui-3j-6P");J.4O.1k("5y-79",1l);if(J.1x.3b=="gV"){J.63.4h("ui-aG-1O").2t("ui-aG-6n")}if(oT){J.63.2V()}J.j2=1j;J.7H("5A",1H,J.f5())}},dM:1a(1H){J.1g.29("dM");J.7H("dM",1H,J.f5())},2n:1a(1H){if(J.kU(1H.8i)){1b 1j}J.7H("2n",1H,J.f5())},8M:1a(){1b J.gc.51(J.Bw)},Ha:1a(1H){$(".ui-3j.ui-53-aj").5U(J.63).2g(1a(){$(J).1f("H8").3j("5A",1H)});$(".ui-3j.ui-53-6D").29("eM")},Bm:1a(1H,oT){if(J.j2){J.5A(1H,oT)}1i{J.6P(1H)}},H0:1a(1Z,1B){if(J.1x.6z){1Z=J.1x.6z(1Z,1B)}1i{if(J.1x.GT){1Z=$("<2G />").1Z(1Z).41()}}1b 1Z},po:1a(){1b J.1g[0].bG},bS:1a(){1b J.8g.eq(J.po())},kL:1a(){1b J.4O.2F(".ui-3j-1h-2V")},ke:1a(9C,pR){if(!J.1x.2x){K oU=6l(J.bS().1f("1P")||0,10);K 57=oU+9C;if(57<0){57=0}if(57>J.8g.56()-1){57=J.8g.56()-1}if(57===pR){1b 1j}if(J.8g.eq(57).4F("ui-53-2x")){9C>0?++9C:--9C;J.ke(9C,57)}1i{J.8g.eq(57).29("gy").29("5w")}}},eG:1a(9C,pR){if(!aY(9C)){K oU=6l(J.kL().1f("1P")||0,10);K 57=oU+9C}1i{K 57=6l(J.8g.4p(9C).1f("1P"),10)}if(57<0){57=0}if(57>J.8g.56()-1){57=J.8g.56()-1}if(57===pR){1b 1j}K im="ui-3j-1h-"+3F.4L(3F.jk()*9b);J.kL().2F("a:eq(0)").1k("id","");if(J.8g.eq(57).4F("ui-53-2x")){9C>0?++9C:--9C;J.eG(9C,57)}1i{J.8g.eq(57).2F("a:eq(0)").1k("id",im).2V()}J.4O.1k("5y-Hl",im)},Bu:1a(c6){K kQ=3F.ge(J.4O.b7()/J.8g.4A().b7());kQ=c6=="up"?-kQ:kQ;J.eG(kQ)},ng:1a(1q,1m){J.1x[1q]=1m;if(1q=="2x"){if(1m){J.5A()}J.1g.51(J.63).51(J.4O)[1m?"2t":"4h"]("ui-3j-2x "+"ui-53-2x").1k("5y-2x",1m).1k("6b",1m?1:0)}},qT:1a(1P,1w){if(2N 1P=="2O"){J.ng("2x",1l)}1i{J.Bt(1w||"2T",1P,1j)}},Hv:1a(1P,1w){if(2N 1P=="2O"){J.ng("2x",1j)}1i{J.Bt(1w||"2T",1P,1l)}},kU:1a(6o){1b $(6o).4F("ui-53-2x")},Bt:1a(1w,1P,ph){K 1g=J.1g.2F(1w).eq(1P),9A=1w==="Bo"?J.4O.2F("li.ui-3j-bN-"+1P):J.8g.eq(1P);if(9A){9A.8F("ui-53-2x",!ph).1k("5y-2x",!ph);if(ph){1g.jv("2x")}1i{1g.1k("2x","2x")}}},1P:1a(57){if(2q.1e){if(!J.kU($(J.8g[57]))&&57!=J.po()){J.1g[0].bG=57;J.kI();J.dM()}1i{1b 1j}}1i{1b J.po()}},1m:1a(43){if(2q.1e&&43!=J.1g[0].1m){J.1g[0].1m=43;J.kI();J.dM()}1i{1b J.1g[0].1m}},kI:1a(){K jJ=J.1x.3b=="iv"?" ui-53-aj":"";K im="ui-3j-1h-"+3F.4L(3F.jk()*9b);J.4O.2F(".ui-3j-1h-1R").4h("ui-3j-1h-1R"+jJ).2F("a").1k("5y-1R","1j").1k("id","");J.bS().2t("ui-3j-1h-1R"+jJ).2F("a").1k("5y-1R","1l").1k("id",im);K Hr=J.63.1f("h8")?J.63.1f("h8"):"";K Bk=J.bS().1f("h8")?J.bS().1f("h8"):"";J.63.4h(Hr).1f("h8",Bk).2t(Bk).2F(".ui-3j-6s").41(J.bS().2F("a:eq(0)").41());J.4O.1k("5y-Hl",im)},BI:1a(){K o=J.1x,pz={of:J.63,my:"2b 1O",at:"2b 4J",kD:"iF"};if(o.3b=="iv"){K 1R=J.bS();pz.my="2b 1O"+(J.4O.2y().1O-1R.2y().1O-(J.63.b7()+1R.b7())/2);pz.kD="b5"}J.gc.jv("3b").4o(J.1g.4o()+2).2I($.4j(pz,o.Hk))}})})(2w);(1a(jG){K 5Q="0.4.2",3p="7Z",5s=/[\\.\\/]/,B9="*",q5=1a(){},Gn=1a(a,b){1b a-b},hd,5D,4w={n:{}},2R=1a(1z,ew){1z=5n(1z);K e=4w,BB=5D,2f=44.2W.3D.2u(2q,2),d5=2R.d5(1z),z=0,f=1j,l,h1=[],jR={},2m=[],ce=hd,Pm=[];hd=1z;5D=0;1o(K i=0,ii=d5.1e;i<ii;i++){if("4o"in d5[i]){h1.1D(d5[i].4o);if(d5[i].4o<0){jR[d5[i].4o]=d5[i]}}}h1.fW(Gn);47(h1[z]<0){l=jR[h1[z++]];2m.1D(l.3c(ew,2f));if(5D){5D=BB;1b 2m}}1o(i=0;i<ii;i++){l=d5[i];if("4o"in l){if(l.4o==h1[z]){2m.1D(l.3c(ew,2f));if(5D){1p}do{z++;l=jR[h1[z]];l&&2m.1D(l.3c(ew,2f));if(5D){1p}}47(l)}1i{jR[l.4o]=l}}1i{2m.1D(l.3c(ew,2f));if(5D){1p}}}5D=BB;hd=ce;1b 2m.1e?2m:1c};2R.dA=4w;2R.d5=1a(1z){K 7o=1z.3u(5s),e=4w,1h,1F,k,i,ii,j,jj,pG,es=[e],2m=[];1o(i=0,ii=7o.1e;i<ii;i++){pG=[];1o(j=0,jj=es.1e;j<jj;j++){e=es[j].n;1F=[e[7o[i]],e[B9]];k=2;47(k--){1h=1F[k];if(1h){pG.1D(1h);2m=2m.3y(1h.f||[])}}}es=pG}1b 2m};2R.on=1a(1z,f){1z=5n(1z);if(2N f!="1a"){1b 1a(){}}K 7o=1z.3u(5s),e=4w;1o(K i=0,ii=7o.1e;i<ii;i++){e=e.n;e=e.7Z(7o[i])&&e[7o[i]]||(e[7o[i]]={n:{}})}e.f=e.f||[];1o(i=0,ii=e.f.1e;i<ii;i++){if(e.f[i]==f){1b q5}}e.f.1D(f);1b 1a(4o){if(+4o==+4o){f.4o=+4o}}};2R.f=1a(1H){K 2c=[].3D.2u(2q,1);1b 1a(){2R.3c(1c,[1H,1c].3y(2c).3y([].3D.2u(2q,0)))}};2R.5D=1a(){5D=1};2R.nt=1a(AT){if(AT){1b(1S dv("(?:\\\\.|\\\\/|^)"+AT+"(?:\\\\.|\\\\/|$)")).9w(hd)}1b hd};2R.Pu=1a(){1b hd.3u(5s)};2R.eb=2R.7V=1a(1z,f){if(!1z){2R.dA=4w={n:{}};1b}K 7o=1z.3u(5s),e,1q,5f,i,ii,j,jj,gn=[4w];1o(i=0,ii=7o.1e;i<ii;i++){1o(j=0;j<gn.1e;j+=5f.1e-2){5f=[j,1];e=gn[j].n;if(7o[i]!=B9){if(e[7o[i]]){5f.1D(e[7o[i]])}}1i{1o(1q in e){if(e[3p](1q)){5f.1D(e[1q])}}}gn.5f.3c(gn,5f)}}1o(i=0,ii=gn.1e;i<ii;i++){e=gn[i];47(e.n){if(f){if(e.f){1o(j=0,jj=e.f.1e;j<jj;j++){if(e.f[j]==f){e.f.5f(j,1);1p}}!e.f.1e&&3W e.f}1o(1q in e.n){if(e.n[3p](1q)&&e.n[1q].f){K np=e.n[1q].f;1o(j=0,jj=np.1e;j<jj;j++){if(np[j]==f){np.5f(j,1);1p}}!np.1e&&3W e.n[1q].f}}}1i{3W e.f;1o(1q in e.n){if(e.n[3p](1q)&&e.n[1q].f){3W e.n[1q].f}}}e=e.n}}};2R.Pc=1a(1z,f){K f2=1a(){2R.7V(1z,f2);1b f.3c(J,2q)};1b 2R.on(1z,f2)};2R.5Q=5Q;2R.3r=1a(){1b"HH qK wt Pg "+5Q};2N sh!="2O"&&sh.Gf?sh.Gf=2R:2N jX!="2O"?jX("2R",[],1a(){1b 2R}):jG.2R=2R})(3N||J);(1a(jG,Ct){if(2N jX==="1a"&&jX.Ph){jX(["2R"],1a(2R){1b Ct(jG,2R)})}1i{Ct(jG,jG.2R)}})(J,1a(3N,2R){1a R(4A){if(R.is(4A,"1a")){1b aK?4A():2R.on("4a.ia",4A)}1i{if(R.is(4A,3L)){1b R.4C.7R[3c](R,4A.5f(0,3+R.is(4A[0],nu))).51(4A)}1i{K 2f=44.2W.3D.2u(2q,0);if(R.is(2f[2f.1e-1],"1a")){K f=2f.d7();1b aK?f.2u(R.4C.7R[3c](R,2f)):2R.on("4a.ia",1a(){f.2u(R.4C.7R[3c](R,2f))})}1i{1b R.4C.7R[3c](R,2q)}}}}R.5Q="2.1.2";R.2R=2R;K aK,5s=/[, ]+/,9A={9m:1,4m:1,1G:1,az:1,1Z:1,8P:1},EZ=/\\{(\\d+)\\}/g,jr="2W",3p="7Z",g={2Z:2P,5p:3N},qc={wy:4D.2W[3p].2u(g.5p,"aN"),is:g.5p.aN},Cf=1a(){J.ca=J.8J={}},6a,3J="3J",3c="3c",3y="3y",ma="PR"in g.5p||g.5p.GH&&g.2Z dQ GH,E="",S=" ",3Z=5n,3u="3u",4w="3I y8 7c 9I eM gy 5w ox oz oy Cr"[3u](S),lB={7c:"ox",9I:"oz",5w:"oy"},nN=3Z.2W.3P,3z=3F,4R=3z.4v,5X=3z.61,4f=3z.4f,5R=3z.5R,PI=3z.PI,nu="cI",4e="4e",3L="3L",3r="3r",g9="28",CO=4D.2W.3r,2v={},1D="1D",PD=R.vq=/^5c\\([\'"]?([^\\)]+?)[\'"]?\\)$/i,Em=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|vv?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|Ee?\\(\\s*([\\d\\.]+(?:4n|\\vO|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|E5?\\(\\s*([\\d\\.]+(?:4n|\\vO|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i,GE={"PH":1,"GN":1,"-GN":1},FE=/^(?:PJ-)?PG\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,4L=3z.4L,b4="b4",3B=d3,9W=6l,uE=3Z.2W.8l,G1=R.jO={"aT-4z":"3t","aT-2H":"3t",4Q:0,"68-4m":"0 0 Gy Gy",jY:"5u",cx:0,cy:0,28:"#jT","28-2K":1,2M:\'PF "Gz"\',"2M-84":\'"Gz"\',"2M-56":"10","2M-3b":"t5","2M-9v":lf,3M:0,1y:0,59:"6B://10N.wh/","10L-ZQ":0,2K:1,1G:"M0,0",r:0,rx:0,ry:0,4b:"",1Y:"#cP","1Y-9k":"","1Y-cC":"ip","1Y-hv":"ip","1Y-oc":0,"1Y-2K":1,"1Y-1r":1,3m:"ZR","1Z-wD":"wd",6f:"aN",3A:"",1r:0,x:0,y:0},tV=R.10g={4Q:nu,"68-4m":"uG",cx:nu,cy:nu,28:"9T","28-2K":nu,"2M-56":nu,1y:nu,2K:nu,1G:"1G",r:nu,rx:nu,ry:nu,1Y:"9T","1Y-2K":nu,"1Y-1r":nu,3A:"3A",1r:nu,x:nu,y:nu},Gx=/[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]/g,pS=/[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*,[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*/,El={hs:1,rg:1},CM=/,?([10a]),?/gi,EE=/([10n])[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*,?[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*)+)/ig,ED=/([10i])[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*,?[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*)+)/ig,BA=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*,?[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*/ig,10l=R.uQ=/^r(?:\\(([^,]+?)[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*,[\\a4\\ap\\ao\\ae\\ab\\ah\\ad\\al\\a9\\ag\\aA\\aJ\\aS\\aB\\b3\\b9\\ba\\b0\\aq\\a5\\ai\\b2\\av\\aL\\b6]*([^\\)]+?)\\))?/,hQ={},10J=1a(a,b){1b a.1q-b.1q},G8=1a(a,b){1b 3B(a)-3B(b)},q5=1a(){},FH=1a(x){1b x},mk=R.wl=1a(x,y,w,h,r){if(r){1b[["M",x+r,y],["l",w-r*2,0],["a",r,r,0,0,1,r,r],["l",0,h-r*2],["a",r,r,0,0,1,-r,r],["l",r*2-w,0],["a",r,r,0,0,1,-r,-r],["l",0,r*2-h],["a",r,r,0,0,1,r,-r],["z"]]}1b[["M",x,y],["l",w,0],["l",0,h],["l",-w,0],["z"]]},Cd=1a(x,y,rx,ry){if(ry==1c){ry=rx}1b[["M",x,y],["m",0,-ry],["a",rx,ry,0,1,1,0,2*ry],["a",rx,ry,0,1,1,0,-2*ry],["z"]]},bW=R.w4={1G:1a(el){1b el.1k("1G")},9m:1a(el){K a=el.2c;1b Cd(a.cx,a.cy,a.r)},az:1a(el){K a=el.2c;1b Cd(a.cx,a.cy,a.rx,a.ry)},4m:1a(el){K a=el.2c;1b mk(a.x,a.y,a.1r,a.1y,a.r)},8P:1a(el){K a=el.2c;1b mk(a.x,a.y,a.1r,a.1y)},1Z:1a(el){K 2Y=el.ly();1b mk(2Y.x,2Y.y,2Y.1r,2Y.1y)},5x:1a(el){K 2Y=el.ly();1b mk(2Y.x,2Y.y,2Y.1r,2Y.1y)}},nL=R.nL=1a(1G,4t){if(!4t){1b 1G}K x,y,i,j,ii,jj,et;1G=hN(1G);1o(i=0,ii=1G.1e;i<ii;i++){et=1G[i];1o(j=1,jj=et.1e;j<jj;j+=2){x=4t.x(et[j],et[j+1]);y=4t.y(et[j],et[j+1]);et[j]=x;et[j+1]=y}}1b 1G};R.7v=g;R.1w=g.5p.10y||g.2Z.10u.10t("6B://mG.w3.sH/TR/10F/10E#10H","1.1")?"c4":"hM";if(R.1w=="hM"){K d=g.2Z.c7("2G"),b;d.nC=\'<v:cN Gw="1"/>\';b=d.7w;b.3b.Nb="5c(#5u#hM)";if(!(b&&2N b.Gw=="1C")){1b R.1w=E}d=1c}R.45=!(R.5K=R.1w=="hM");R.wL=Cf;R.fn=6a=Cf.2W=R.2W;R.10A=0;R.uM=0;R.is=1a(o,1w){1w=nN.2u(1w);if(1w=="mi"){1b!GE[3p](+o)}if(1w=="3L"){1b o dQ 44}1b 1w=="1c"&&o===1c||(1w==2N o&&o!==1c||(1w=="1C"&&o===4D(o)||(1w=="3L"&&(44.C6&&44.C6(o))||CO.2u(o).3D(8,-1).3P()==1w)))};1a 5P(1u){if(2N 1u=="1a"||4D(1u)!==1u){1b 1u}K 1A=1S 1u.4U;1o(K 1q in 1u){if(1u[3p](1q)){1A[1q]=5P(1u[1q])}}1b 1A}R.7q=1a(x1,y1,x2,y2,x3,y3){if(x3==1c){K x=x1-x2,y=y1-y2;if(!x&&!y){1b 0}1b(cF+3z.AW(-y,-x)*cF/PI+8m)%8m}1i{1b R.7q(x1,y1,x3,y3)-R.7q(x2,y2,x3,y3)}};R.8V=1a(4n){1b 4n%8m*PI/cF};R.4n=1a(8V){1b 8V*cF/PI%8m};R.YH=1a(2J,1m,dl){dl=R.is(dl,"mi")?dl:10;if(R.is(2J,3L)){K i=2J.1e;47(i--){if(4f(2J[i]-1m)<=dl){1b 2J[i]}}}1i{2J=+2J;K lI=1m%2J;if(lI<dl){1b 1m-lI}if(lI>2J-dl){1b 1m-lI+2J}}1b 1m};K n0=R.n0=1a(CH,CK){1b 1a(){1b"YL-YK-YD-YU-YY".3h(CH,CK).8l()}}(/[xy]/g,1a(c){K r=3z.jk()*16|0,v=c=="x"?r:r&3|8;1b v.3r(16)});R.CT=1a(B7){2R("4a.CT",R,g.5p,B7);g.5p=B7;g.2Z=g.5p.2P;if(R.4C.sg){R.4C.sg(g.5p)}};K mp=1a(3q){if(R.5K){K ml=/^\\s+|\\s+$/g;K lM;7j{K pO=1S q6("Ye");pO.Yc("<3S>");pO.5A();lM=pO.3S}7m(e){lM=Yg().2P.3S}K Db=lM.Yp();mp=bE(1a(3q){7j{lM.3b.3q=3Z(3q).3h(ml,E);K 1m=Db.Zu("Zz");1m=(1m&eu)<<16|1m&Zx|(1m&Zq)>>>16;1b"#"+("NU"+1m.3r(16)).3D(-6)}7m(e){1b"3t"}})}1i{K i=g.2Z.c7("i");i.6f="hw\\hW Zp Zo";i.3b.5q="3t";g.2Z.3S.3J(i);mp=bE(1a(3q){i.3b.3q=3q;1b g.2Z.kp.uu(i,E).Gd("3q")})}1b mp(3q)},CX=1a(){1b"E3("+[J.h,J.s,J.b]+")"},CL=1a(){1b"Ea("+[J.h,J.s,J.l]+")"},Bg=1a(){1b J.62},BM=1a(r,g,b){if(g==1c&&(R.is(r,"1C")&&("r"in r&&("g"in r&&"b"in r)))){b=r.b;g=r.g;r=r.r}if(g==1c&&R.is(r,4e)){K 3v=R.bt(r);r=3v.r;g=3v.g;b=3v.b}if(r>1||(g>1||b>1)){r/=eu;g/=eu;b/=eu}1b[r,g,b]},AQ=1a(r,g,b,o){r*=eu;g*=eu;b*=eu;K 3G={r:r,g:g,b:b,62:R.3G(r,g,b),3r:Bg};R.is(o,"mi")&&(3G.2K=o);1b 3G};R.3q=1a(3v){K 3G;if(R.is(3v,"1C")&&("h"in 3v&&("s"in 3v&&"b"in 3v))){3G=R.lL(3v);3v.r=3G.r;3v.g=3G.g;3v.b=3G.b;3v.62=3G.62}1i{if(R.is(3v,"1C")&&("h"in 3v&&("s"in 3v&&"l"in 3v))){3G=R.oQ(3v);3v.r=3G.r;3v.g=3G.g;3v.b=3G.b;3v.62=3G.62}1i{if(R.is(3v,"4e")){3v=R.bt(3v)}if(R.is(3v,"1C")&&("r"in 3v&&("g"in 3v&&"b"in 3v))){3G=R.CZ(3v);3v.h=3G.h;3v.s=3G.s;3v.l=3G.l;3G=R.CE(3v);3v.v=3G.b}1i{3v={62:"3t"};3v.r=3v.g=3v.b=3v.h=3v.s=3v.v=3v.l=-1}}}3v.3r=Bg;1b 3v};R.lL=1a(h,s,v,o){if(J.is(h,"1C")&&("h"in h&&("s"in h&&"b"in h))){v=h.b;s=h.s;h=h.h;o=h.o}h*=8m;K R,G,B,X,C;h=h%8m/60;C=v*s;X=C*(1-4f(h%2-1));R=G=B=v-C;h=~~h;R+=[C,X,0,0,X,C][h];G+=[X,C,C,X,0,0][h];B+=[0,0,X,C,C,X][h];1b AQ(R,G,B,o)};R.oQ=1a(h,s,l,o){if(J.is(h,"1C")&&("h"in h&&("s"in h&&"l"in h))){l=h.l;s=h.s;h=h.h}if(h>1||(s>1||l>1)){h/=8m;s/=100;l/=100}h*=8m;K R,G,B,X,C;h=h%8m/60;C=2*s*(l<0.5?l:1-l);X=C*(1-4f(h%2-1));R=G=B=l-C/2;h=~~h;R+=[C,X,0,0,X,C][h];G+=[X,C,C,X,0,0][h];B+=[0,0,X,C,C,X][h];1b AQ(R,G,B,o)};R.CE=1a(r,g,b){b=BM(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,V,C;V=4R(r,g,b);C=V-5X(r,g,b);H=C==0?1c:V==r?(g-b)/ C : V == g ? (b - r) /C+2:(r-g)/C+4;H=(H+8m)%6*60/8m;S=C==0?0:C/V;1b{h:H,s:S,b:V,3r:CX}};R.CZ=1a(r,g,b){b=BM(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,L,M,m,C;M=4R(r,g,b);m=5X(r,g,b);C=M-m;H=C==0?1c:M==r?(g-b)/ C : M == g ? (b - r) /C+2:(r-g)/C+4;H=(H+8m)%6*60/8m;L=(M+m)/2;S=C==0?0:L<0.5?C/ (2 * L) : C /(2-2*L);1b{h:H,s:S,l:L,3r:CL}};R.iO=1a(){1b J.4G(",").3h(CM,"$1")};1a Ej(3L,1h){1o(K i=0,ii=3L.1e;i<ii;i++){if(3L[i]===1h){1b 3L.1D(3L.5f(i,1)[0])}}}1a bE(f,ew,mq){1a jL(){K 4i=44.2W.3D.2u(2q,0),2f=4i.4G("\\Zr"),7T=jL.7T=jL.7T||{},6I=jL.6I=jL.6I||[];if(7T[3p](2f)){Ej(6I,2f);1b mq?mq(7T[2f]):7T[2f]}6I.1e>=9b&&3W 7T[6I.bw()];6I.1D(2f);7T[2f]=f[3c](ew,4i);1b mq?mq(7T[2f]):7T[2f]}1b jL}K ZI=R.v5=1a(4b,f){K cR=g.2Z.c7("cR");cR.3b.g7="2I:8n;2b:-jw;1O:-jw";cR.gs=1a(){f.2u(J);J.gs=1c;g.2Z.3S.7h(J)};cR.ZH=1a(){g.2Z.3S.7h(J)};g.2Z.3S.3J(cR);cR.4b=4b};1a m8(){1b J.62}R.bt=bE(1a(9T){if(!9T||!!((9T=3Z(9T)).4S("-")+1)){1b{r:-1,g:-1,b:-1,62:"3t",9p:1,3r:m8}}if(9T=="3t"){1b{r:-1,g:-1,b:-1,62:"3t",3r:m8}}!(El[3p](9T.3P().g4(0,2))||9T.bR()=="#")&&(9T=mp(9T));K 1A,9g,aP,aO,2K,t,2J,3G=9T.3e(Em);if(3G){if(3G[2]){aO=9W(3G[2].g4(5),16);aP=9W(3G[2].g4(3,5),16);9g=9W(3G[2].g4(1,3),16)}if(3G[3]){aO=9W((t=3G[3].bR(3))+t,16);aP=9W((t=3G[3].bR(2))+t,16);9g=9W((t=3G[3].bR(1))+t,16)}if(3G[4]){2J=3G[4][3u](pS);9g=3B(2J[0]);2J[0].3D(-1)=="%"&&(9g*=2.55);aP=3B(2J[1]);2J[1].3D(-1)=="%"&&(aP*=2.55);aO=3B(2J[2]);2J[2].3D(-1)=="%"&&(aO*=2.55);3G[1].3P().3D(0,4)=="vv"&&(2K=3B(2J[3]));2J[3]&&(2J[3].3D(-1)=="%"&&(2K/=100))}if(3G[5]){2J=3G[5][3u](pS);9g=3B(2J[0]);2J[0].3D(-1)=="%"&&(9g*=2.55);aP=3B(2J[1]);2J[1].3D(-1)=="%"&&(aP*=2.55);aO=3B(2J[2]);2J[2].3D(-1)=="%"&&(aO*=2.55);(2J[0].3D(-3)=="4n"||2J[0].3D(-1)=="\\E6")&&(9g/=8m);3G[1].3P().3D(0,4)=="Ee"&&(2K=3B(2J[3]));2J[3]&&(2J[3].3D(-1)=="%"&&(2K/=100));1b R.lL(9g,aP,aO,2K)}if(3G[6]){2J=3G[6][3u](pS);9g=3B(2J[0]);2J[0].3D(-1)=="%"&&(9g*=2.55);aP=3B(2J[1]);2J[1].3D(-1)=="%"&&(aP*=2.55);aO=3B(2J[2]);2J[2].3D(-1)=="%"&&(aO*=2.55);(2J[0].3D(-3)=="4n"||2J[0].3D(-1)=="\\E6")&&(9g/=8m);3G[1].3P().3D(0,4)=="E5"&&(2K=3B(2J[3]));2J[3]&&(2J[3].3D(-1)=="%"&&(2K/=100));1b R.oQ(9g,aP,aO,2K)}3G={r:9g,g:aP,b:aO,3r:m8};3G.62="#"+(EG|aO|aP<<8|9g<<16).3r(16).3D(1);R.is(2K,"mi")&&(3G.2K=2K);1b 3G}1b{r:-1,g:-1,b:-1,62:"3t",9p:1,3r:m8}},R);R.E3=bE(1a(h,s,b){1b R.lL(h,s,b).62});R.Ea=bE(1a(h,s,l){1b R.oQ(h,s,l).62});R.3G=bE(1a(r,g,b){1b"#"+(EG|b|g<<8|r<<16).3r(16).3D(1)});R.lS=1a(1m){K 2H=J.lS.2H=J.lS.2H||{h:0,s:1,b:1m||0.75},3G=J.lL(2H.h,2H.s,2H.b);2H.h+=0.Fa;if(2H.h>1){2H.h=0;2H.s-=0.2;2H.s<=0&&(J.lS.2H={h:0,s:1,b:2H.b})}1b 3G.62};R.lS.la=1a(){3W J.2H};1a vr(7C,z){K d=[];1o(K i=0,hb=7C.1e;hb-2*!z>i;i+=2){K p=[{x:+7C[i-2],y:+7C[i-1]},{x:+7C[i],y:+7C[i+1]},{x:+7C[i+2],y:+7C[i+3]},{x:+7C[i+4],y:+7C[i+5]}];if(z){if(!i){p[0]={x:+7C[hb-2],y:+7C[hb-1]}}1i{if(hb-4==i){p[3]={x:+7C[0],y:+7C[1]}}1i{if(hb-2==i){p[2]={x:+7C[0],y:+7C[1]};p[3]={x:+7C[2],y:+7C[3]}}}}}1i{if(hb-4==i){p[3]=p[2]}1i{if(!i){p[0]={x:+7C[i],y:+7C[i+1]}}}}d.1D(["C",(-p[0].x+6*p[1].x+p[2].x)/ 6, (-p[0].y + 6 * p[1].y + p[2].y) /6,(p[1].x+6*p[2].x-p[3].x)/ 6, (p[1].y + 6 * p[2].y - p[3].y) /6,p[2].x,p[2].y])}1b d}R.uP=1a(8y){if(!8y){1b 1c}K 7G=fL(8y);if(7G.oE){1b bH(7G.oE)}K lQ={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},1f=[];if(R.is(8y,3L)&&R.is(8y[0],3L)){1f=bH(8y)}if(!1f.1e){3Z(8y).3h(EE,1a(a,b,c){K 1v=[],1z=b.3P();c.3h(BA,1a(a,b){b&&1v.1D(+b)});if(1z=="m"&&1v.1e>2){1f.1D([b][3y](1v.5f(0,2)));1z="l";b=b=="m"?"l":"L"}if(1z=="r"){1f.1D([b][3y](1v))}1i{47(1v.1e>=lQ[1z]){1f.1D([b][3y](1v.5f(0,lQ[1z])));if(!lQ[1z]){1p}}}})}1f.3r=R.iO;7G.oE=bH(1f);1b 1f};R.pQ=bE(1a(ik){if(!ik){1b 1c}K lQ={r:3,s:4,t:2,m:6},1f=[];if(R.is(ik,3L)&&R.is(ik[0],3L)){1f=bH(ik)}if(!1f.1e){3Z(ik).3h(ED,1a(a,b,c){K 1v=[],1z=nN.2u(b);c.3h(BA,1a(a,b){b&&1v.1D(+b)});1f.1D([b][3y](1v))})}1f.3r=R.iO;1b 1f});K fL=1a(ps){K p=fL.ps=fL.ps||{};if(p[ps]){p[ps].oR=100}1i{p[ps]={oR:100}}6t(1a(){1o(K 1q in p){if(p[3p](1q)&&1q!=ps){p[1q].oR--;!p[1q].oR&&3W p[1q]}}});1b p[ps]};R.lw=1a(5F,64,6c,6i,74,76,7p,7n,t){K t1=1-t,BE=5R(t1,3),BC=5R(t1,2),t2=t*t,t3=t2*t,x=BE*5F+BC*3*t*6c+t1*3*t*t*74+t3*7p,y=BE*64+BC*3*t*6i+t1*3*t*t*76+t3*7n,mx=5F+2*t*(6c-5F)+t2*(74-2*6c+5F),my=64+2*t*(6i-64)+t2*(76-2*6i+64),nx=6c+2*t*(74-6c)+t2*(7p-2*74+6c),ny=6i+2*t*(76-6i)+t2*(7n-2*76+6i),ax=t1*5F+t*6c,ay=t1*64+t*6i,cx=t1*74+t*7p,cy=t1*76+t*7n,dn=90-3z.AW(mx-nx,my-ny)*cF/PI;(mx>nx||my<ny)&&(dn+=cF);1b{x:x,y:y,m:{x:mx,y:my},n:{x:nx,y:ny},2H:{x:ax,y:ay},4z:{x:cx,y:cy},dn:dn}};R.Cm=1a(5F,64,6c,6i,74,76,7p,7n){if(!R.is(5F,"3L")){5F=[5F,64,6c,6i,74,76,7p,7n]}K 2Y=v1.3c(1c,5F);1b{x:2Y.61.x,y:2Y.61.y,x2:2Y.4v.x,y2:2Y.4v.y,1r:2Y.4v.x-2Y.61.x,1y:2Y.4v.y-2Y.61.y}};R.Cw=1a(2Y,x,y){1b x>=2Y.x&&(x<=2Y.x2&&(y>=2Y.y&&y<=2Y.y2))};R.vL=1a(6V,6N){K i=R.Cw;1b i(6N,6V.x,6V.y)||(i(6N,6V.x2,6V.y)||(i(6N,6V.x,6V.y2)||(i(6N,6V.x2,6V.y2)||(i(6V,6N.x,6N.y)||(i(6V,6N.x2,6N.y)||(i(6V,6N.x,6N.y2)||(i(6V,6N.x2,6N.y2)||(6V.x<6N.x2&&6V.x>6N.x||6N.x<6V.x2&&6N.x>6V.x)&&(6V.y<6N.y2&&6V.y>6N.y||6N.y<6V.y2&&6N.y>6V.y))))))))};1a Be(t,p1,p2,p3,p4){K t1=-3*p1+9*p2-9*p3+3*p4,t2=t*t1+6*p1-12*p2+6*p3;1b t*t2-3*p1+3*p2}1a h6(x1,y1,x2,y2,x3,y3,x4,y4,z){if(z==1c){z=1}z=z>1?1:z<0?0:z;K z2=z/2,n=12,Dv=[-0.EM,0.EM,-0.EK,0.EK,-0.EJ,0.EJ,-0.Et,0.Et,-0.Eu,0.Eu,-0.Ev,0.Ev],Dm=[0.Ez,0.Ez,0.EA,0.EA,0.Ew,0.Ew,0.Ex,0.Ex,0.Dw,0.Dw,0.Dz,0.Dz],Cl=0;1o(K i=0;i<n;i++){K ct=z2*Dv[i]+z2,Cs=Be(ct,x1,x2,x3,x4),Cp=Be(ct,y1,y2,y3,y4),Dq=Cs*Cs+Cp*Cp;Cl+=Dm[i]*3z.9y(Dq)}1b z2*Cl}1a Hd(x1,y1,x2,y2,x3,y3,x4,y4,ll){if(ll<0||h6(x1,y1,x2,y2,x3,y3,x4,y4)<ll){1b}K t=1,kM=t/2,t2=t-kM,l,e=0.NO;l=h6(x1,y1,x2,y2,x3,y3,x4,y4,t2);47(4f(l-ll)>e){kM/=2;t2+=(l<ll?1:-1)*kM;l=h6(x1,y1,x2,y2,x3,y3,x4,y4,t2)}1b t2}1a yl(x1,y1,x2,y2,x3,y3,x4,y4){if(4R(x1,x2)<5X(x3,x4)||(5X(x1,x2)>4R(x3,x4)||(4R(y1,y2)<5X(y3,y4)||5X(y1,y2)>4R(y3,y4)))){1b}K nx=(x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4),ny=(x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4),oH=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4);if(!oH){1b}K px=nx/ oH, py = ny /oH,oD=+px.4r(2),oG=+py.4r(2);if(oD<+5X(x1,x2).4r(2)||(oD>+4R(x1,x2).4r(2)||(oD<+5X(x3,x4).4r(2)||(oD>+4R(x3,x4).4r(2)||(oG<+5X(y1,y2).4r(2)||(oG>+4R(y1,y2).4r(2)||(oG<+5X(y3,y4).4r(2)||oG>+4R(y3,y4).4r(2)))))))){1b}1b{x:px,y:py}}1a Za(8G,8H){1b oW(8G,8H)}1a Z6(8G,8H){1b oW(8G,8H,1)}1a oW(8G,8H,fc){K 6V=R.Cm(8G),6N=R.Cm(8H);if(!R.vL(6V,6N)){1b fc?0:[]}K l1=h6.3c(0,8G),l2=h6.3c(0,8H),n1=4R(~~(l1/ 5), 1), n2 = 4R(~~(l2 /5),1),oN=[],oK=[],xy={},1A=fc?0:[];1o(K i=0;i<n1+1;i++){K p=R.lw.3c(R,8G.3y(i/n1));oN.1D({x:p.x,y:p.y,t:i/n1})}1o(i=0;i<n2+1;i++){p=R.lw.3c(R,8H.3y(i/n2));oK.1D({x:p.x,y:p.y,t:i/n2})}1o(i=0;i<n1;i++){1o(K j=0;j<n2;j++){K di=oN[i],jf=oN[i+1],dj=oK[j],jg=oK[j+1],ci=4f(jf.x-di.x)<0.oS?"y":"x",cj=4f(jg.x-dj.x)<0.oS?"y":"x",is=yl(di.x,di.y,jf.x,jf.y,dj.x,dj.y,jg.x,jg.y);if(is){if(xy[is.x.4r(4)]==is.y.4r(4)){aH}xy[is.x.4r(4)]=is.y.4r(4);K t1=di.t+4f((is[ci]-di[ci])/ (jf[ci] - di[ci])) * (jf.t - di.t), t2 = dj.t + 4f((is[cj] - dj[cj]) /(jg[cj]-dj[cj]))*(jg.t-dj.t);if(t1>=0&&(t1<=1.oS&&(t2>=0&&t2<=1.oS))){if(fc){1A++}1i{1A.1D({x:is.x,y:is.y,t1:5X(t1,1),t2:5X(t2,1)})}}}}}1b 1A}R.Yr=1a(9x,8c){1b oO(9x,8c)};R.Yt=1a(9x,8c){1b oO(9x,8c,1)};1a oO(9x,8c,fc){9x=R.rZ(9x);8c=R.rZ(8c);K x1,y1,x2,y2,nz,nR,nX,nU,8G,8H,1A=fc?0:[];1o(K i=0,ii=9x.1e;i<ii;i++){K pi=9x[i];if(pi[0]=="M"){x1=nz=pi[1];y1=nR=pi[2]}1i{if(pi[0]=="C"){8G=[x1,y1].3y(pi.3D(1));x1=8G[6];y1=8G[7]}1i{8G=[x1,y1,x1,y1,nz,nR,nz,nR];x1=nz;y1=nR}1o(K j=0,jj=8c.1e;j<jj;j++){K pj=8c[j];if(pj[0]=="M"){x2=nX=pj[1];y2=nU=pj[2]}1i{if(pj[0]=="C"){8H=[x2,y2].3y(pj.3D(1));x2=8H[6];y2=8H[7]}1i{8H=[x2,y2,x2,y2,nX,nU,nX,nU];x2=nX;y2=nU}K fi=oW(8G,8H,fc);if(fc){1A+=fi}1i{1o(K k=0,kk=fi.1e;k<kk;k++){fi[k].Yy=i;fi[k].Yz=j;fi[k].8G=8G;fi[k].8H=8H}1A=1A.3y(fi)}}}}}1b 1A}R.Gu=1a(1G,x,y){K 2Y=R.DZ(1G);1b R.Cw(2Y,x,y)&&oO(1G,[["M",x,y],["H",2Y.x2+10]],1)%2==1};R.mc=1a(ey){1b 1a(){2R("4a.k4",1c,"hw\\hW: DY qK Yd to 46 \\Yn"+ey+"\\Yi of 5e 1C",ey)}};K pr=R.DZ=1a(1G){K 7G=fL(1G);if(7G.2Y){1b 5P(7G.2Y)}if(!1G){1b{x:0,y:0,1r:0,1y:0,x2:0,y2:0}}1G=hN(1G);K x=0,y=0,X=[],Y=[],p;1o(K i=0,ii=1G.1e;i<ii;i++){p=1G[i];if(p[0]=="M"){x=p[1];y=p[2];X.1D(x);Y.1D(y)}1i{K nM=v1(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);X=X[3y](nM.61.x,nM.4v.x);Y=Y[3y](nM.61.y,nM.4v.y);x=p[5];y=p[6]}}K u1=5X[3c](0,X),oI=5X[3c](0,Y),C4=4R[3c](0,X),C7=4R[3c](0,Y),1r=C4-u1,1y=C7-oI,bb={x:u1,y:oI,x2:C4,y2:C7,1r:1r,1y:1y,cx:u1+1r/ 2, cy:oI + 1y /2};7G.2Y=5P(bb);1b bb},bH=1a(5l){K 1A=5P(5l);1A.3r=R.iO;1b 1A},wi=R.YN=1a(5l){K 7G=fL(5l);if(7G.uH){1b bH(7G.uH)}if(!R.is(5l,3L)||!R.is(5l&&5l[0],3L)){5l=R.uP(5l)}K 1A=[],x=0,y=0,mx=0,my=0,2H=0;if(5l[0][0]=="M"){x=5l[0][1];y=5l[0][2];mx=x;my=y;2H++;1A.1D(["M",x,y])}1o(K i=2H,ii=5l.1e;i<ii;i++){K r=1A[i]=[],pa=5l[i];if(pa[0]!=nN.2u(pa[0])){r[0]=nN.2u(pa[0]);3s(r[0]){1n"a":r[1]=pa[1];r[2]=pa[2];r[3]=pa[3];r[4]=pa[4];r[5]=pa[5];r[6]=+(pa[6]-x).4r(3);r[7]=+(pa[7]-y).4r(3);1p;1n"v":r[1]=+(pa[1]-y).4r(3);1p;1n"m":mx=pa[1];my=pa[2];5u:1o(K j=1,jj=pa.1e;j<jj;j++){r[j]=+(pa[j]-(j%2?x:y)).4r(3)}}}1i{r=1A[i]=[];if(pa[0]=="m"){mx=pa[1]+x;my=pa[2]+y}1o(K k=0,kk=pa.1e;k<kk;k++){1A[i][k]=pa[k]}}K 66=1A[i].1e;3s(1A[i][0]){1n"z":x=mx;y=my;1p;1n"h":x+=+1A[i][66-1];1p;1n"v":y+=+1A[i][66-1];1p;5u:x+=+1A[i][66-2];y+=+1A[i][66-1]}}1A.3r=R.iO;7G.uH=bH(1A);1b 1A},uX=R.ln=1a(5l){K 7G=fL(5l);if(7G.4f){1b bH(7G.4f)}if(!R.is(5l,3L)||!R.is(5l&&5l[0],3L)){5l=R.uP(5l)}if(!5l||!5l.1e){1b[["M",0,0]]}K 1A=[],x=0,y=0,mx=0,my=0,2H=0;if(5l[0][0]=="M"){x=+5l[0][1];y=+5l[0][2];mx=x;my=y;2H++;1A[0]=["M",x,y]}K vm=5l.1e==3&&(5l[0][0]=="M"&&(5l[1][0].8l()=="R"&&5l[2][0].8l()=="Z"));1o(K r,pa,i=2H,ii=5l.1e;i<ii;i++){1A.1D(r=[]);pa=5l[i];if(pa[0]!=uE.2u(pa[0])){r[0]=uE.2u(pa[0]);3s(r[0]){1n"A":r[1]=pa[1];r[2]=pa[2];r[3]=pa[3];r[4]=pa[4];r[5]=pa[5];r[6]=+(pa[6]+x);r[7]=+(pa[7]+y);1p;1n"V":r[1]=+pa[1]+y;1p;1n"H":r[1]=+pa[1]+x;1p;1n"R":K 5a=[x,y][3y](pa.3D(1));1o(K j=2,jj=5a.1e;j<jj;j++){5a[j]=+5a[j]+x;5a[++j]=+5a[j]+y}1A.d7();1A=1A[3y](vr(5a,vm));1p;1n"M":mx=+pa[1]+x;my=+pa[2]+y;5u:1o(j=1,jj=pa.1e;j<jj;j++){r[j]=+pa[j]+(j%2?x:y)}}}1i{if(pa[0]=="R"){5a=[x,y][3y](pa.3D(1));1A.d7();1A=1A[3y](vr(5a,vm));r=["R"][3y](pa.3D(-2))}1i{1o(K k=0,kk=pa.1e;k<kk;k++){r[k]=pa[k]}}}3s(r[0]){1n"Z":x=mx;y=my;1p;1n"H":x=r[1];1p;1n"V":y=r[1];1p;1n"M":mx=r[r.1e-2];my=r[r.1e-1];5u:x=r[r.1e-2];y=r[r.1e-1]}}1A.3r=R.iO;7G.4f=bH(1A);1b 1A},lE=1a(x1,y1,x2,y2){1b[x1,y1,x2,y2,x2,y2]},vl=1a(x1,y1,ax,ay,x2,y2){K oC=1/ 3, od = 2 /3;1b[oC*x1+od*ax,oC*y1+od*ay,oC*x2+od*ax,oC*y2+od*ay,x2,y2]},uY=1a(x1,y1,rx,ry,7q,Dr,i6,x2,y2,he){K v2=PI*YE/ cF, 8V = PI /cF*(+7q||0),1A=[],xy,5t=bE(1a(x,y,8V){K X=x*3z.8A(8V)-y*3z.8w(8V),Y=x*3z.8w(8V)+y*3z.8A(8V);1b{x:X,y:Y}});if(!he){xy=5t(x1,y1,-8V);x1=xy.x;y1=xy.y;xy=5t(x2,y2,-8V);x2=xy.x;y2=xy.y;K 8A=3z.8A(PI/ cF * 7q), 8w = 3z.8w(PI /cF*7q),x=(x1-x2)/ 2, y = (y1 - y2) /2;K h=x*x/ (rx * rx) + y * y /(ry*ry);if(h>1){h=3z.9y(h);rx=h*rx;ry=h*ry}K oP=rx*rx,oM=ry*ry,k=(Dr==i6?-1:1)*3z.9y(4f((oP*oM-oP*y*y-oM*x*x)/ (oP * y * y + oM * x * x))), cx = k * rx * y /ry+(x1+x2)/ 2, cy = k * -ry * x /rx+(y1+y2)/ 2, f1 = 3z.pJ(((y1 - cy) /ry).4r(9)),f2=3z.pJ(((y2-cy)/ry).4r(9));f1=x1<cx?PI-f1:f1;f2=x2<cx?PI-f2:f2;f1<0&&(f1=PI*2+f1);f2<0&&(f2=PI*2+f2);if(i6&&f1>f2){f1=f1-PI*2}if(!i6&&f2>f1){f2=f2-PI*2}}1i{f1=he[0];f2=he[1];cx=he[2];cy=he[3]}K df=f2-f1;if(4f(df)>v2){K DA=f2,DF=x2,DE=y2;f2=f1+v2*(i6&&f2>f1?1:-1);x2=cx+rx*3z.8A(f2);y2=cy+ry*3z.8w(f2);1A=uY(x2,y2,rx,ry,7q,0,i6,DF,DE,[f2,DA,cx,cy])}df=f2-f1;K c1=3z.8A(f1),s1=3z.8w(f1),c2=3z.8A(f2),s2=3z.8w(f2),t=3z.Dt(df/ 4), hx = 4 /3*rx*t,hy=4/3*ry*t,m1=[x1,y1],m2=[x1+hx*s1,y1-hy*c1],m3=[x2+hx*s2,y2-hy*c2],m4=[x2,y2];m2[0]=2*m1[0]-m2[0];m2[1]=2*m1[1]-m2[1];if(he){1b[m2,m3,m4][3y](1A)}1i{1A=[m2,m3,m4][3y](1A).4G()[3u](",");K uJ=[];1o(K i=0,ii=1A.1e;i<ii;i++){uJ[i]=i%2?5t(1A[i-1],1A[i],8V).y:5t(1A[i],1A[i+1],8V).x}1b uJ}},mf=1a(5F,64,6c,6i,74,76,7p,7n,t){K t1=1-t;1b{x:5R(t1,3)*5F+5R(t1,2)*3*t*6c+t1*3*t*t*74+5R(t,3)*7p,y:5R(t1,3)*64+5R(t1,2)*3*t*6i+t1*3*t*t*76+5R(t,3)*7n}},v1=bE(1a(5F,64,6c,6i,74,76,7p,7n){K a=74-2*6c+5F-(7p-2*74+6c),b=2*(6c-5F)-2*(74-6c),c=5F-6c,t1=(-b+3z.9y(b*b-4*a*c))/ 2 /a,t2=(-b-3z.9y(b*b-4*a*c))/ 2 /a,y=[64,7n],x=[5F,7p],6J;4f(t1)>"p5"&&(t1=0.5);4f(t2)>"p5"&&(t2=0.5);if(t1>0&&t1<1){6J=mf(5F,64,6c,6i,74,76,7p,7n,t1);x.1D(6J.x);y.1D(6J.y)}if(t2>0&&t2<1){6J=mf(5F,64,6c,6i,74,76,7p,7n,t2);x.1D(6J.x);y.1D(6J.y)}a=76-2*6i+64-(7n-2*76+6i);b=2*(6i-64)-2*(76-6i);c=64-6i;t1=(-b+3z.9y(b*b-4*a*c))/ 2 /a;t2=(-b-3z.9y(b*b-4*a*c))/ 2 /a;4f(t1)>"p5"&&(t1=0.5);4f(t2)>"p5"&&(t2=0.5);if(t1>0&&t1<1){6J=mf(5F,64,6c,6i,74,76,7p,7n,t1);x.1D(6J.x);y.1D(6J.y)}if(t2>0&&t2<1){6J=mf(5F,64,6c,6i,74,76,7p,7n,t2);x.1D(6J.x);y.1D(6J.y)}1b{61:{x:5X[3c](0,x),y:5X[3c](0,y)},4v:{x:4R[3c](0,x),y:4R[3c](0,y)}}}),hN=R.rZ=bE(1a(1G,8c){K 7G=!8c&&fL(1G);if(!8c&&7G.g0){1b bH(7G.g0)}K p=uX(1G),p2=8c&&uX(8c),2c={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},dK={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},vc=1a(1G,d,md){K nx,ny,tq={T:1,Q:1};if(!1G){1b["C",d.x,d.y,d.x,d.y,d.x,d.y]}!(1G[0]in tq)&&(d.qx=d.qy=1c);3s(1G[0]){1n"M":d.X=1G[1];d.Y=1G[2];1p;1n"A":1G=["C"][3y](uY[3c](0,[d.x,d.y][3y](1G.3D(1))));1p;1n"S":if(md=="C"||md=="S"){nx=d.x*2-d.bx;ny=d.y*2-d.by}1i{nx=d.x;ny=d.y}1G=["C",nx,ny][3y](1G.3D(1));1p;1n"T":if(md=="Q"||md=="T"){d.qx=d.x*2-d.qx;d.qy=d.y*2-d.qy}1i{d.qx=d.x;d.qy=d.y}1G=["C"][3y](vl(d.x,d.y,d.qx,d.qy,1G[1],1G[2]));1p;1n"Q":d.qx=1G[1];d.qy=1G[2];1G=["C"][3y](vl(d.x,d.y,1G[1],1G[2],1G[3],1G[4]));1p;1n"L":1G=["C"][3y](lE(d.x,d.y,1G[1],1G[2]));1p;1n"H":1G=["C"][3y](lE(d.x,d.y,1G[1],d.y));1p;1n"V":1G=["C"][3y](lE(d.x,d.y,d.x,1G[1]));1p;1n"Z":1G=["C"][3y](lE(d.x,d.y,d.X,d.Y));1p}1b 1G},vd=1a(pp,i){if(pp[i].1e>7){pp[i].bw();K pi=pp[i];47(pi.1e){pp.5f(i++,0,["C"][3y](pi.5f(0,6)))}pp.5f(i,1);ii=4R(p.1e,p2&&p2.1e||0)}},vi=1a(9x,8c,a1,a2,i){if(9x&&(8c&&(9x[i][0]=="M"&&8c[i][0]!="M"))){8c.5f(i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=9x[i][1];a1.y=9x[i][2];ii=4R(p.1e,p2&&p2.1e||0)}};1o(K i=0,ii=4R(p.1e,p2&&p2.1e||0);i<ii;i++){p[i]=vc(p[i],2c);vd(p,i);p2&&(p2[i]=vc(p2[i],dK));p2&&vd(p2,i);vi(p,p2,2c,dK,i);vi(p2,p,dK,2c,i);K ij=p[i],iC=p2&&p2[i],lA=ij.1e,mO=p2&&iC.1e;2c.x=ij[lA-2];2c.y=ij[lA-1];2c.bx=3B(ij[lA-4])||2c.x;2c.by=3B(ij[lA-3])||2c.y;dK.bx=p2&&(3B(iC[mO-4])||dK.x);dK.by=p2&&(3B(iC[mO-3])||dK.y);dK.x=p2&&iC[mO-2];dK.y=p2&&iC[mO-1]}if(!p2){7G.g0=bH(p)}1b p2?[p,p2]:p},1c,bH),10p=R.v3=bE(1a(3M){K 5a=[];1o(K i=0,ii=3M.1e;i<ii;i++){K 6J={},8I=3M[i].3e(/^([^:]*):?([\\d\\.]*)/);6J.3q=R.bt(8I[1]);if(6J.3q.9p){1b 1c}6J.3q=6J.3q.62;8I[2]&&(6J.2y=8I[2]+"%");5a.1D(6J)}1o(i=1,ii=5a.1e-1;i<ii;i++){if(!5a[i].2y){K 2H=3B(5a[i-1].2y||0),4z=0;1o(K j=i+1;j<ii;j++){if(5a[j].2y){4z=5a[j].2y;1p}}if(!4z){4z=100;j=ii}4z=3B(4z);K d=(4z-2H)/(j-i+1);1o(;i<j;i++){2H+=d;5a[i].2y=2H+"%"}}}1b 5a}),mD=R.vh=1a(el,2v){el==2v.1O&&(2v.1O=el.3Q);el==2v.4J&&(2v.4J=el.3k);el.3k&&(el.3k.3Q=el.3Q);el.3Q&&(el.3Q.3k=el.3k)},10j=R.uO=1a(el,2v){if(2v.1O===el){1b}mD(el,2v);el.3k=1c;el.3Q=2v.1O;2v.1O.3k=el;2v.1O=el},ZU=R.uF=1a(el,2v){if(2v.4J===el){1b}mD(el,2v);el.3k=2v.4J;el.3Q=1c;2v.4J.3Q=el;2v.4J=el},ZN=R.uI=1a(el,9N,2v){mD(el,2v);9N==2v.1O&&(2v.1O=el);9N.3k&&(9N.3k.3Q=el);el.3k=9N.3k;el.3Q=9N;9N.3k=el},ZM=R.uL=1a(el,9N,2v){mD(el,2v);9N==2v.4J&&(2v.4J=el);9N.3Q&&(9N.3Q.3k=el);el.3Q=9N.3Q;9N.3Q=el;el.3k=9N},wo=R.wo=1a(1G,3A){K bb=pr(1G),el={1U:{3A:E},6y:1a(){1b bb}};uS(el,3A);1b el.4t},tl=R.tl=1a(1G,3A){1b nL(1G,wo(1G,3A))},uS=R.vs=1a(el,aC){if(aC==1c){1b el.1U.3A}aC=3Z(aC).3h(/\\.{3}|\\vp/g,el.1U.3A||E);K mn=R.pQ(aC),4n=0,dx=0,dy=0,sx=1,sy=1,1U=el.1U,m=1S eF;1U.3A=mn||[];if(mn){1o(K i=0,ii=mn.1e;i<ii;i++){K t=mn[i],dL=t.1e,8f=3Z(t[0]).3P(),8n=t[0]!=8f,eH=8n?m.lD():0,x1,y1,x2,y2,bb;if(8f=="t"&&dL==3){if(8n){x1=eH.x(0,0);y1=eH.y(0,0);x2=eH.x(t[1],t[2]);y2=eH.y(t[1],t[2]);m.fH(x2-x1,y2-y1)}1i{m.fH(t[1],t[2])}}1i{if(8f=="r"){if(dL==2){bb=bb||el.6y(1);m.5t(t[1],bb.x+bb.1r/ 2, bb.y + bb.1y /2);4n+=t[1]}1i{if(dL==4){if(8n){x2=eH.x(t[2],t[3]);y2=eH.y(t[2],t[3]);m.5t(t[1],x2,y2)}1i{m.5t(t[1],t[2],t[3])}4n+=t[1]}}}1i{if(8f=="s"){if(dL==2||dL==3){bb=bb||el.6y(1);m.8h(t[1],t[dL-1],bb.x+bb.1r/ 2, bb.y + bb.1y /2);sx*=t[1];sy*=t[dL-1]}1i{if(dL==5){if(8n){x2=eH.x(t[3],t[4]);y2=eH.y(t[3],t[4]);m.8h(t[1],t[2],x2,y2)}1i{m.8h(t[1],t[2],t[3],t[4])}sx*=t[1];sy*=t[2]}}}1i{if(8f=="m"&&dL==7){m.51(t[1],t[2],t[3],t[4],t[5],t[6])}}}}1U.fs=1;el.4t=m}}el.4t=m;1U.sx=sx;1U.sy=sy;1U.4n=4n;1U.dx=dx=m.e;1U.dy=dy=m.f;if(sx==1&&(sy==1&&(!4n&&1U.2Y))){1U.2Y.x+=+dx;1U.2Y.y+=+dy}1i{1U.fs=1}},wb=1a(1h){K l=1h[0];3s(l.3P()){1n"t":1b[l,0,0];1n"m":1b[l,1,0,0,1,0,0];1n"r":if(1h.1e==4){1b[l,0,1h[2],1h[3]]}1i{1b[l,0]};1n"s":if(1h.1e==5){1b[l,1,1,1h[3],1h[4]]}1i{if(1h.1e==3){1b[l,1,1]}1i{1b[l,1]}}}},Fx=R.10P=1a(t1,t2){t2=3Z(t2).3h(/\\.{3}|\\vp/g,t1);t1=R.pQ(t1)||[];t2=R.pQ(t2)||[];K De=4R(t1.1e,t2.1e),2s=[],to=[],i=0,j,jj,aZ,cZ;1o(;i<De;i++){aZ=t1[i]||wb(t2[i]);cZ=t2[i]||wb(aZ);if(aZ[0]!=cZ[0]||(aZ[0].3P()=="r"&&(aZ[2]!=cZ[2]||aZ[3]!=cZ[3])||aZ[0].3P()=="s"&&(aZ[3]!=cZ[3]||aZ[4]!=cZ[4]))){1b}2s[i]=[];to[i]=[];1o(j=0,jj=4R(aZ.1e,cZ.1e);j<jj;j++){j in aZ&&(2s[i][j]=aZ[j]);j in cZ&&(to[i][j]=cZ[j])}}1b{2s:2s,to:to}};R.wF=1a(x,y,w,h){K 4c;4c=h==1c&&!R.is(x,"1C")?g.2Z.dT(x):x;if(4c==1c){1b}if(4c.6j){if(y==1c){1b{4c:4c,1r:4c.3b.10s||4c.fE,1y:4c.3b.10z||4c.bD}}1i{1b{4c:4c,1r:y,1y:w}}}1b{4c:1,x:x,y:y,1r:w,1y:h}};R.wi=wi;R.4C={};R.hN=hN;R.4t=1a(a,b,c,d,e,f){1b 1S eF(a,b,c,d,e,f)};1a eF(a,b,c,d,e,f){if(a!=1c){J.a=+a;J.b=+b;J.c=+c;J.d=+d;J.e=+e;J.f=+f}1i{J.a=1;J.b=0;J.c=0;J.d=1;J.e=0;J.f=0}}(1a(9d){9d.51=1a(a,b,c,d,e,f){K 2m=[[],[],[]],m=[[J.a,J.c,J.e],[J.b,J.d,J.f],[0,0,1]],4t=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,1A;if(a&&a dQ eF){4t=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]}1o(x=0;x<3;x++){1o(y=0;y<3;y++){1A=0;1o(z=0;z<3;z++){1A+=m[x][z]*4t[z][y]}2m[x][y]=1A}}J.a=2m[0][0];J.b=2m[1][0];J.c=2m[0][1];J.d=2m[1][1];J.e=2m[0][2];J.f=2m[1][2]};9d.lD=1a(){K me=J,x=me.a*me.d-me.b*me.c;1b 1S eF(me.d/ x, -me.b /x,-me.c/ x, me.a /x,(me.c*me.f-me.d*me.e)/ x, (me.b * me.e - me.a * me.f) /x)};9d.5P=1a(){1b 1S eF(J.a,J.b,J.c,J.d,J.e,J.f)};9d.fH=1a(x,y){J.51(1,0,0,1,x,y)};9d.8h=1a(x,y,cx,cy){y==1c&&(y=x);(cx||cy)&&J.51(1,0,0,1,cx,cy);J.51(x,0,0,y,0,0);(cx||cy)&&J.51(1,0,0,1,-cx,-cy)};9d.5t=1a(a,x,y){a=R.8V(a);x=x||0;y=y||0;K 8A=+3z.8A(a).4r(9),8w=+3z.8w(a).4r(9);J.51(8A,8w,-8w,8A,x,y);J.51(1,0,0,1,-x,-y)};9d.x=1a(x,y){1b x*J.a+y*J.c+J.e};9d.y=1a(x,y){1b x*J.b+y*J.d+J.f};9d.4y=1a(i){1b+J[3Z.wg(97+i)].4r(4)};9d.3r=1a(){1b R.45?"4t("+[J.4y(0),J.4y(1),J.4y(2),J.4y(3),J.4y(4),J.4y(5)].4G()+")":[J.4y(0),J.4y(2),J.4y(1),J.4y(3),0,0].4G()};9d.M3=1a(){1b"uU:EF.v9.eF(10D="+J.4y(0)+", 10C="+J.4y(2)+", 10r="+J.4y(1)+", Vk="+J.4y(3)+", Dx="+J.4y(4)+", Dy="+J.4y(5)+", Vj=\'5T Vm\')"};9d.2y=1a(){1b[J.e.4r(4),J.f.4r(4)]};1a pU(a){1b a[0]*a[0]+a[1]*a[1]}1a wG(a){K wf=3z.9y(pU(a));a[0]&&(a[0]/=wf);a[1]&&(a[1]/=wf)}9d.3u=1a(){K 2m={};2m.dx=J.e;2m.dy=J.f;K 1I=[[J.a,J.c],[J.b,J.d]];2m.f0=3z.9y(pU(1I[0]));wG(1I[0]);2m.hp=1I[0][0]*1I[1][0]+1I[0][1]*1I[1][1];1I[1]=[1I[1][0]-1I[0][0]*2m.hp,1I[1][1]-1I[0][1]*2m.hp];2m.eN=3z.9y(pU(1I[1]));wG(1I[1]);2m.hp/=2m.eN;K 8w=-1I[0][1],8A=1I[1][1];if(8A<0){2m.5t=R.4n(3z.D2(8A));if(8w<0){2m.5t=8m-2m.5t}}1i{2m.5t=R.4n(3z.pJ(8w))}2m.v7=!+2m.hp.4r(9)&&(2m.f0.4r(9)==2m.eN.4r(9)||!2m.5t);2m.Vh=!+2m.hp.4r(9)&&(2m.f0.4r(9)==2m.eN.4r(9)&&!2m.5t);2m.LZ=!+2m.hp.4r(9)&&!2m.5t;1b 2m};9d.Vu=1a(CY){K s=CY||J[3u]();if(s.v7){s.f0=+s.f0.4r(4);s.eN=+s.eN.4r(4);s.5t=+s.5t.4r(4);1b(s.dx||s.dy?"t"+[s.dx,s.dy]:E)+(s.f0!=1||s.eN!=1?"s"+[s.f0,s.eN,0,0]:E)+(s.5t?"r"+[s.5t,0,0]:E)}1i{1b"m"+[J.4y(0),J.4y(1),J.4y(2),J.4y(3),J.4y(4),J.4y(5)]}}})(eF.2W);K 5Q=aa.eK.3e(/Vo\\/(.*?)\\s/)||aa.eK.3e(/Vq\\/(\\d+)/);if(aa.CB=="Vp Ve, CQ."&&(5Q&&5Q[1]<4||aa.V3.3D(0,2)=="iP")||aa.CB=="V4 CQ."&&(5Q&&5Q[1]<8)){6a.ir=1a(){K 4m=J.4m(-99,-99,J.1r+99,J.1y+99).1k({1Y:"3t"});6t(1a(){4m.3w()})}}1i{6a.ir=q5}K 4d=1a(){J.V1=1j},CC=1a(){1b J.cW.4d()},7Y=1a(){J.V0=1l},D7=1a(){1b J.cW.7Y()},wK=1a(e){K e4=g.2Z.9F.5b||g.2Z.3S.5b,ec=g.2Z.9F.4Z||g.2Z.3S.4Z;1b{x:e.aM+ec,y:e.a7+e4}},D0=1a(){if(g.2Z.bA){1b 1a(1u,1w,fn,1g){K f=1a(e){K 3Y=wK(e);1b fn.2u(1g,e,3Y.x,3Y.y)};1u.bA(1w,f,1j);if(ma&&lB[1w]){K Df=1a(e){K 3Y=wK(e),CS=e;1o(K i=0,ii=e.q4&&e.q4.1e;i<ii;i++){if(e.q4[i].3m==1u){e=e.q4[i];e.cW=CS;e.4d=CC;e.7Y=D7;1p}}1b fn.2u(1g,e,3Y.x,3Y.y)};1u.bA(lB[1w],Df,1j)}1b 1a(){1u.o0(1w,f,1j);if(ma&&lB[1w]){1u.o0(lB[1w],f,1j)}1b 1l}}}1i{if(g.2Z.gw){1b 1a(1u,1w,fn,1g){K f=1a(e){e=e||g.5p.1H;K e4=g.2Z.9F.5b||g.2Z.3S.5b,ec=g.2Z.9F.4Z||g.2Z.3S.4Z,x=e.aM+ec,y=e.a7+e4;e.4d=e.4d||4d;e.7Y=e.7Y||7Y;1b fn.2u(1g,e,x,y)};1u.gw("on"+1w,f);K CV=1a(){1u.vV("on"+1w,f);1b 1l};1b CV}}}}(),5j=[],pl=1a(e){K x=e.aM,y=e.a7,e4=g.2Z.9F.5b||g.2Z.3S.5b,ec=g.2Z.9F.4Z||g.2Z.3S.4Z,7u,j=5j.1e;47(j--){7u=5j[j];if(ma&&e.gO){K i=e.gO.1e,9h;47(i--){9h=e.gO[i];if(9h.q1==7u.el.dI.id){x=9h.aM;y=9h.a7;(e.cW?e.cW:e).4d();1p}}}1i{e.4d()}K 1s=7u.el.1s,o,3k=1s.k5,1L=1s.3o,5q=1s.3b.5q;g.5p.w1&&1L.7h(1s);1s.3b.5q="3t";o=7u.el.2v.Gi(x,y);1s.3b.5q=5q;g.5p.w1&&(3k?1L.7a(1s,3k):1L.3J(1s));o&&2R("4a.5j.je."+7u.el.id,7u.el,o);x+=ec;y+=e4;2R("4a.5j.d1."+7u.el.id,7u.jK||7u.el,x-7u.el.dI.x,y-7u.el.dI.y,x,y,e)}},p6=1a(e){R.GM(pl).GP(p6);K i=5j.1e,7u;47(i--){7u=5j[i];7u.el.dI={};2R("4a.5j.4z."+7u.el.id,7u.pI||(7u.o6||(7u.jK||7u.el)),e)}5j=[]},3d=R.el={};1o(K i=4w.1e;i--;){(1a(c3){R[c3]=3d[c3]=1a(fn,ew){if(R.is(fn,"1a")){J.4w=J.4w||[];J.4w.1D({1z:c3,f:fn,7V:D0(J.cN||(J.1s||g.2Z),c3,fn,ew||J)})}1b J};R["un"+c3]=3d["un"+c3]=1a(fn){K 4w=J.4w||[],l=4w.1e;47(l--){if(4w[l].1z==c3&&(R.is(fn,"2O")||4w[l].f==fn)){4w[l].7V();4w.5f(l,1);!4w.1e&&3W J.4w}}1b J}})(4w[i])}3d.1f=1a(1q,1m){K 1f=hQ[J.id]=hQ[J.id]||{};if(2q.1e==0){1b 1f}if(2q.1e==1){if(R.is(1q,"1C")){1o(K i in 1q){if(1q[3p](i)){J.1f(i,1q[i])}}1b J}2R("4a.1f.4y."+J.id,J,1f[1q],1q);1b 1f[1q]}1f[1q]=1m;2R("4a.1f.5x."+J.id,J,1m,1q);1b J};3d.sR=1a(1q){if(1q==1c){hQ[J.id]={}}1i{hQ[J.id]&&3W hQ[J.id][1q]}1b J};3d.VS=1a(){1b 5P(hQ[J.id]||{})};3d.6D=1a(pZ,pX,wB,GB){1b J.gy(pZ,wB).eM(pX,GB||wB)};3d.VZ=1a(pZ,pX){1b J.VY(pZ).W0(pX)};K 6Q=[];3d.5j=1a(vP,vQ,vN,jK,o6,pI){1a 2H(e){(e.cW||e).4d();K x=e.aM,y=e.a7,e4=g.2Z.9F.5b||g.2Z.3S.5b,ec=g.2Z.9F.4Z||g.2Z.3S.4Z;J.dI.id=e.q1;if(ma&&e.gO){K i=e.gO.1e,9h;47(i--){9h=e.gO[i];J.dI.id=9h.q1;if(9h.q1==J.dI.id){x=9h.aM;y=9h.a7;1p}}}J.dI.x=x+ec;J.dI.y=y+e4;!5j.1e&&R.9I(pl).5w(p6);5j.1D({el:J,jK:jK,o6:o6,pI:pI});vQ&&2R.on("4a.5j.2H."+J.id,vQ);vP&&2R.on("4a.5j.d1."+J.id,vP);vN&&2R.on("4a.5j.4z."+J.id,vN);2R("4a.5j.2H."+J.id,o6||(jK||J),e.aM+ec,e.a7+e4,e)}J.dI={};6Q.1D({el:J,2H:2H});J.7c(2H);1b J};3d.VK=1a(f){f?2R.on("4a.5j.je."+J.id,f):2R.7V("4a.5j.je."+J.id)};3d.VJ=1a(){K i=6Q.1e;47(i--){if(6Q[i].el==J){J.VE(6Q[i].2H);6Q.5f(i,1);2R.7V("4a.5j.*."+J.id)}}!6Q.1e&&R.GM(pl).GP(p6);5j=[]};6a.9m=1a(x,y,r){K 2m=R.4C.9m(J,x||0,y||0,r||0);J.6M&&J.6M.1D(2m);1b 2m};6a.4m=1a(x,y,w,h,r){K 2m=R.4C.4m(J,x||0,y||0,w||0,h||0,r||0);J.6M&&J.6M.1D(2m);1b 2m};6a.az=1a(x,y,rx,ry){K 2m=R.4C.az(J,x||0,y||0,rx||0,ry||0);J.6M&&J.6M.1D(2m);1b 2m};6a.1G=1a(8y){8y&&(!R.is(8y,4e)&&(!R.is(8y[0],3L)&&(8y+=E)));K 2m=R.4C.1G(R.6z[3c](R,2q),J);J.6M&&J.6M.1D(2m);1b 2m};6a.8P=1a(4b,x,y,w,h){K 2m=R.4C.8P(J,4b||"GJ:vA",x||0,y||0,w||0,h||0);J.6M&&J.6M.1D(2m);1b 2m};6a.1Z=1a(x,y,1Z){K 2m=R.4C.1Z(J,x||0,y||0,3Z(1Z));J.6M&&J.6M.1D(2m);1b 2m};6a.5x=1a(p9){!R.is(p9,"3L")&&(p9=44.2W.5f.2u(2q,0,2q.1e));K 2m=1S iq(p9);J.6M&&J.6M.1D(2m);2m["2v"]=J;2m["1w"]="5x";1b 2m};6a.Ue=1a(5x){J.6M=5x||J.5x()};6a.Ud=1a(5x){K 2m=J.6M;3W J.6M;1b 2m};6a.ka=1a(1r,1y){1b R.4C.ka.2u(J,1r,1y)};6a.fD=1a(x,y,w,h,b5){1b R.4C.fD.2u(J,x,y,w,h,b5)};6a.1O=6a.4J=1c;6a.4a=R;K Gc=1a(6o){K 54=6o.vX(),2Z=6o.w5,3S=2Z.3S,dR=2Z.9F,iw=dR.iw||(3S.iw||0),iu=dR.iu||(3S.iu||0),1O=54.1O+(g.5p.Gj||(dR.5b||3S.5b))-iw,2b=54.2b+(g.5p.Uf||(dR.4Z||3S.4Z))-iu;1b{y:1O,x:2b}};6a.Gi=1a(x,y){K 2v=J,45=2v.1V,3m=g.2Z.pd(x,y);if(g.5p.w1&&3m.6j=="45"){K so=Gc(45),sr=45.Ub();sr.x=x-so.x;sr.y=y-so.y;sr.1r=sr.1y=1;K pC=45.Um(sr,1c);if(pC.1e){3m=pC[pC.1e-1]}}if(!3m){1b 1c}47(3m.3o&&(3m!=45.3o&&!3m.4a)){3m=3m.3o}3m==2v.1V.3o&&(3m=45);3m=3m&&3m.4a?2v.Ge(3m.uN):1c;1b 3m};6a.Uo=1a(2Y){K 5x=J.5x();J.8R(1a(el){if(R.vL(el.6y(),2Y)){5x.1D(el)}});1b 5x};6a.Ge=1a(id){K c9=J.4J;47(c9){if(c9.id==id){1b c9}c9=c9.3k}1b 1c};6a.8R=1a(1X,tL){K c9=J.4J;47(c9){if(1X.2u(tL,c9)===1j){1b J}c9=c9.3k}1b J};6a.Uh=1a(x,y){K 5x=J.5x();J.8R(1a(el){if(el.gS(x,y)){5x.1D(el)}});1b 5x};1a Uk(){1b J.x+S+J.y}1a wv(){1b J.x+S+J.y+S+J.1r+" \\Uj "+J.1y}3d.gS=1a(x,y){K rp=J.g3=bW[J.1w](J);if(J.1k("3A")&&J.1k("3A").1e){rp=R.tl(rp,J.1k("3A"))}1b R.Gu(rp,x,y)};3d.6y=1a(Gm){if(J.5e){1b{}}K 1U=J.1U;if(Gm){if(1U.82||!1U.nG){J.g3=bW[J.1w](J);1U.nG=pr(J.g3);1U.nG.3r=wv;1U.82=0}1b 1U.nG}if(1U.82||(1U.fs||!1U.2Y)){if(1U.82||!J.g3){1U.nG=0;J.g3=bW[J.1w](J)}1U.2Y=pr(nL(J.g3,J.4t));1U.2Y.3r=wv;1U.82=1U.fs=0}1b 1U.2Y};3d.5P=1a(){if(J.5e){1b 1c}K 2m=J.2v[J.1w]().1k(J.1k());J.6M&&J.6M.1D(2m);1b 2m};3d.bp=1a(bp){if(J.1w=="1Z"){1b 1c}bp=bp||{};K s={1r:(bp.1r||10)+(+J.1k("1Y-1r")||1),28:bp.28||1j,2K:bp.2K||0.5,wx:bp.wx||0,wM:bp.wM||0,3q:bp.3q||"#cP"},c=s.1r/2,r=J.2v,2m=r.5x(),1G=J.g3||bW[J.1w](J);1G=J.4t?nL(1G,J.4t):1G;1o(K i=1;i<c+1;i++){2m.1D(r.1G(1G).1k({1Y:s.3q,28:s.28?s.3q:"3t","1Y-hv":"4L","1Y-cC":"4L","1Y-1r":+(s.1r/ c * i).4r(3), 2K:+(s.2K /c).4r(3)}))}1b 2m.7a(J).fH(s.wx,s.wM)};K TU={},pW=1a(5F,64,6c,6i,74,76,7p,7n,1e){if(1e==1c){1b h6(5F,64,6c,6i,74,76,7p,7n)}1i{1b R.lw(5F,64,6c,6i,74,76,7p,7n,Hd(5F,64,6c,6i,74,76,7p,7n,1e))}},us=1a(v4,oJ){1b 1a(1G,1e,GR){1G=hN(1G);K x,y,p,l,sp="",kY={},6m,66=0;1o(K i=0,ii=1G.1e;i<ii;i++){p=1G[i];if(p[0]=="M"){x=+p[1];y=+p[2]}1i{l=pW(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);if(66+l>1e){if(oJ&&!kY.2H){6m=pW(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1e-66);sp+=["C"+6m.2H.x,6m.2H.y,6m.m.x,6m.m.y,6m.x,6m.y];if(GR){1b sp}kY.2H=sp;sp=["M"+6m.x,6m.y+"C"+6m.n.x,6m.n.y,6m.4z.x,6m.4z.y,p[5],p[6]].4G();66+=l;x=+p[5];y=+p[6];aH}if(!v4&&!oJ){6m=pW(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1e-66);1b{x:6m.x,y:6m.y,dn:6m.dn}}}66+=l;x=+p[5];y=+p[6]}sp+=p.bw()+p}kY.4z=sp;6m=v4?66:oJ?kY:R.lw(x,y,p[0],p[1],p[2],p[3],p[4],p[5],1);6m.dn&&(6m={x:6m.x,y:6m.y,dn:6m.dn});1b 6m}};K bh=us(1),lm=us(),ut=us(0,1);R.bh=bh;R.lm=lm;R.oq=1a(1G,2s,to){if(J.bh(1G)-to<1E-6){1b ut(1G,2s).4z}K a=ut(1G,to,1);1b 2s?ut(a,2s).4z:a};3d.bh=1a(){K 1G=J.bW();if(!1G){1b}if(J.1s.bh){1b J.1s.bh()}1b bh(1G)};3d.lm=1a(1e){K 1G=J.bW();if(!1G){1b}1b lm(1G,1e)};3d.bW=1a(){K 1G,bW=R.w4[J.1w];if(J.1w=="1Z"||J.1w=="5x"){1b}if(bW){1G=bW(J)}1b 1G};3d.oq=1a(2s,to){K 1G=J.bW();if(!1G){1b}1b R.oq(1G,2s,to)};K ef=R.FM={lW:1a(n){1b n},"<":1a(n){1b 5R(n,1.7)},">":1a(n){1b 5R(n,0.48)},"<>":1a(n){K q=0.48-n/ 1.UN, Q = 3z.9y(0.UM + q * q), x = Q - q, X = 5R(4f(x), 1 /3)*(x<0?-1:1),y=-Q-q,Y=5R(4f(y),1/3)*(y<0?-1:1),t=X+Y+0.5;1b(1-t)*3*t*t+t*t*t},Fs:1a(n){K s=1.F8;1b n*n*((s+1)*n-s)},Fk:1a(n){n=n-1;K s=1.F8;1b n*n*((s+1)*n+s)+1},UH:1a(n){if(n==!!n){1b n}1b 5R(2,-10*n)*3z.8w((n-0.Fa)*(2*PI)/0.3)+1},UG:1a(n){K s=7.UJ,p=2.75,l;if(n<1/p){l=s*n*n}1i{if(n<2/p){n-=1.5/p;l=s*n*n+0.75}1i{if(n<2.5/p){n-=2.25/p;l=s*n*n+0.UI}1i{n-=2.UU/p;l=s*n*n+0.UT}}}1b l}};ef.UW=ef["vg-in"]=ef["<"];ef.UV=ef["vg-2m"]=ef[">"];ef.UQ=ef["vg-in-2m"]=ef["<>"];ef["vf-in"]=ef.Fs;ef["vf-2m"]=ef.Fk;K 4W=[],wp=3N.UO||(3N.US||(3N.UR||(3N.UF||(3N.Uu||1a(1X){6t(1X,16)})))),6R=1a(){K Fj=+1S 5m,l=0;1o(;l<4W.1e;l++){K e=4W[l];if(e.el.5e||e.w9){aH}K eT=Fj-e.2H,ms=e.ms,5G=e.5G,2s=e.2s,5I=e.5I,to=e.to,t=e.t,6g=e.el,5x={},7d,80={},1q;if(e.kf){eT=(e.kf*e.2C.1O-e.3Q)/(e.a8-e.3Q)*ms;e.6s=e.kf;3W e.kf;e.5D&&4W.5f(l--,1)}1i{e.6s=(e.3Q+(e.a8-e.3Q)*(eT/ ms)) /e.2C.1O}if(eT<0){aH}if(eT<ms){K 3Y=5G(eT/ms);1o(K 1k in 2s){if(2s[3p](1k)){3s(tV[1k]){1n nu:7d=+2s[1k]+3Y*ms*5I[1k];1p;1n"9T":7d="3G("+[ue(4L(2s[1k].r+3Y*ms*5I[1k].r)),ue(4L(2s[1k].g+3Y*ms*5I[1k].g)),ue(4L(2s[1k].b+3Y*ms*5I[1k].b))].4G(",")+")";1p;1n"1G":7d=[];1o(K i=0,ii=2s[1k].1e;i<ii;i++){7d[i]=[2s[1k][i][0]];1o(K j=1,jj=2s[1k][i].1e;j<jj;j++){7d[i][j]=+2s[1k][i][j]+3Y*ms*5I[1k][i][j]}7d[i]=7d[i].4G(S)}7d=7d.4G(S);1p;1n"3A":if(5I[1k].Fw){7d=[];1o(i=0,ii=2s[1k].1e;i<ii;i++){7d[i]=[2s[1k][i][0]];1o(j=1,jj=2s[1k][i].1e;j<jj;j++){7d[i][j]=2s[1k][i][j]+3Y*ms*5I[1k][i][j]}}}1i{K 4y=1a(i){1b+2s[1k][i]+3Y*ms*5I[1k][i]};7d=[["m",4y(0),4y(1),4y(2),4y(3),4y(4),4y(5)]]}1p;1n"uG":if(1k=="68-4m"){7d=[];i=4;47(i--){7d[i]=+2s[1k][i]+3Y*ms*5I[1k][i]}}1p;5u:K hP=[][3y](2s[1k]);7d=[];i=6g.2v.8J[1k].1e;47(i--){7d[i]=+hP[i]+3Y*ms*5I[1k][i]}1p}5x[1k]=7d}}6g.1k(5x);(1a(id,6g,2C){6t(1a(){2R("4a.2C.tM."+id,6g,2C)})})(6g.id,6g,e.2C)}1i{(1a(f,el,a){6t(1a(){2R("4a.2C.tM."+el.id,el,a);2R("4a.2C.Ut."+el.id,el,a);R.is(f,"1a")&&f.2u(el)})})(e.1X,6g,e.2C);6g.1k(to);4W.5f(l--,1);if(e.jt>1&&!e.3k){1o(1q in to){if(to[3p](1q)){80[1q]=e.hO[1q]}}e.el.1k(80);jN(e.2C,e.el,e.2C.8b[0],1c,e.hO,e.jt-1)}if(e.3k&&!e.5D){jN(e.2C,e.el,e.3k,1c,e.hO,e.jt)}}}R.45&&(6g&&(6g.2v&&6g.2v.ir()));4W.1e&&wp(6R)},ue=1a(3q){1b 3q>eu?eu:3q<0?0:3q};3d.FZ=1a(el,2C,1v,ms,5G,1X){K 1g=J;if(1g.5e){1X&&1X.2u(1g);1b 1g}K a=1v dQ dt?1v:R.6R(1v,ms,5G,1X),x,y;jN(a,1g,a.8b[0],1c,1g.1k());1o(K i=0,ii=4W.1e;i<ii;i++){if(4W[i].2C==2C&&4W[i].el==el){4W[ii-1].2H=4W[i].2H;1p}}1b 1g};1a FI(t,5F,64,7p,7n,6S){K cx=3*5F,bx=3*(7p-5F)-cx,ax=1-cx-bx,cy=3*64,by=3*(7n-64)-cy,ay=1-cy-by;1a v0(t){1b((ax*t+bx)*t+cx)*t}1a FY(x,ls){K t=FX(x,ls);1b((ay*t+by)*t+cy)*t}1a FX(x,ls){K t0,t1,t2,x2,d2,i;1o(t2=x,i=0;i<8;i++){x2=v0(t2)-x;if(4f(x2)<ls){1b t2}d2=(3*ax*t2+2*bx)*t2+cx;if(4f(d2)<1E-6){1p}t2=t2-x2/d2}t0=0;t1=1;t2=x;if(t2<t0){1b t0}if(t2>t1){1b t1}47(t0<t1){x2=v0(t2);if(4f(x2-x)<ls){1b t2}if(x>x2){t0=t2}1i{t1=t2}t2=(t1-t0)/2+t0}1b t2}1b FY(t,1/(fG*6S))}3d.Up=1a(f){f?2R.on("4a.2C.tM."+J.id,f):2R.7V("4a.2C.tM."+J.id);1b J};1a dt(2C,ms){K 8b=[],uC={};J.ms=ms;J.bZ=1;if(2C){1o(K 1k in 2C){if(2C[3p](1k)){uC[3B(1k)]=2C[1k];8b.1D(3B(1k))}}8b.fW(G8)}J.2C=uC;J.1O=8b[8b.1e-1];J.8b=8b}dt.2W.fe=1a(fe){K a=1S dt(J.2C,J.ms);a.bZ=J.bZ;a.tn=+fe||0;1b a};dt.2W.jt=1a(bZ){K a=1S dt(J.2C,J.ms);a.tn=J.tn;a.bZ=3z.ge(4R(bZ,0))||1;1b a};1a jN(2C,1g,a8,6s,hO,bZ){a8=3B(a8);K 1v,gB,tG,8b=[],3k,3Q,lo,ms=2C.ms,2s={},to={},5I={};if(6s){1o(i=0,ii=4W.1e;i<ii;i++){K e=4W[i];if(e.el.id==1g.id&&e.2C==2C){if(e.a8!=a8){4W.5f(i,1);tG=1}1i{gB=e}1g.1k(e.hO);1p}}}1i{6s=+to}1o(K i=0,ii=2C.8b.1e;i<ii;i++){if(2C.8b[i]==a8||2C.8b[i]>6s*2C.1O){a8=2C.8b[i];3Q=2C.8b[i-1]||0;ms=ms/2C.1O*(a8-3Q);3k=2C.8b[i+1];1v=2C.2C[a8];1p}1i{if(6s){1g.1k(2C.2C[2C.8b[i]])}}}if(!1v){1b}if(!gB){1o(K 1k in 1v){if(1v[3p](1k)){if(tV[3p](1k)||1g.2v.8J[3p](1k)){2s[1k]=1g.1k(1k);2s[1k]==1c&&(2s[1k]=G1[1k]);to[1k]=1v[1k];3s(tV[1k]){1n nu:5I[1k]=(to[1k]-2s[1k])/ms;1p;1n"9T":2s[1k]=R.bt(2s[1k]);K tX=R.bt(to[1k]);5I[1k]={r:(tX.r-2s[1k].r)/ ms, g:(tX.g - 2s[1k].g) /ms,b:(tX.b-2s[1k].b)/ms};1p;1n"1G":K uB=hN(2s[1k],to[1k]),Ft=uB[1];2s[1k]=uB[0];5I[1k]=[];1o(i=0,ii=2s[1k].1e;i<ii;i++){5I[1k][i]=[0];1o(K j=1,jj=2s[1k][i].1e;j<jj;j++){5I[1k][i][j]=(Ft[i][j]-2s[1k][i][j])/ms}}1p;1n"3A":K 1U=1g.1U,eq=Fx(1U[1k],to[1k]);if(eq){2s[1k]=eq.2s;to[1k]=eq.to;5I[1k]=[];5I[1k].Fw=1l;1o(i=0,ii=2s[1k].1e;i<ii;i++){5I[1k][i]=[2s[1k][i][0]];1o(j=1,jj=2s[1k][i].1e;j<jj;j++){5I[1k][i][j]=(to[1k][i][j]-2s[1k][i][j])/ms}}}1i{K m=1g.4t||1S eF,eD={1U:{3A:1U.3A},6y:1a(){1b 1g.6y(1)}};2s[1k]=[m.a,m.b,m.c,m.d,m.e,m.f];uS(eD,to[1k]);to[1k]=eD.1U.3A;5I[1k]=[(eD.4t.a-m.a)/ ms, (eD.4t.b - m.b) /ms,(eD.4t.c-m.c)/ ms, (eD.4t.d - m.d) /ms,(eD.4t.e-m.e)/ ms, (eD.4t.f - m.f) /ms]}1p;1n"uG":K 2J=3Z(1v[1k])[3u](5s),hP=3Z(2s[1k])[3u](5s);if(1k=="68-4m"){2s[1k]=hP;5I[1k]=[];i=hP.1e;47(i--){5I[1k][i]=(2J[i]-2s[1k][i])/ms}}to[1k]=2J;1p;5u:2J=[][3y](1v[1k]);hP=[][3y](2s[1k]);5I[1k]=[];i=1g.2v.8J[1k].1e;47(i--){5I[1k][i]=((2J[i]||0)-(hP[i]||0))/ms}1p}}}}K 5G=1v.5G,eg=R.FM[5G];if(!eg){eg=3Z(5G).3e(FE);if(eg&&eg.1e==5){K g0=eg;eg=1a(t){1b FI(t,+g0[1],+g0[2],+g0[3],+g0[4],ms)}}1i{eg=FH}}lo=1v.2H||(2C.2H||+1S 5m);e={2C:2C,a8:a8,lo:lo,2H:lo+(2C.tn||0),6s:0,kf:6s||0,5D:1j,ms:ms,5G:eg,2s:2s,5I:5I,to:to,el:1g,1X:1v.1X,3Q:3Q,3k:3k,jt:bZ||2C.bZ,fb:1g.1k(),hO:hO};4W.1D(e);if(6s&&(!gB&&!tG)){e.5D=1l;e.2H=1S 5m-ms*6s;if(4W.1e==1){1b 6R()}}if(tG){e.2H=1S 5m-e.ms*6s}4W.1e==1&&wp(6R)}1i{gB.kf=6s;gB.2H=1S 5m-gB.ms*6s}2R("4a.2C.2H."+1g.id,1g,2C)}R.6R=1a(1v,ms,5G,1X){if(1v dQ dt){1b 1v}if(R.is(5G,"1a")||!5G){1X=1X||(5G||1c);5G=1c}1v=4D(1v);ms=+ms||0;K p={},eP,1k;1o(1k in 1v){if(1v[3p](1k)&&(3B(1k)!=1k&&3B(1k)+"%"!=1k)){eP=1l;p[1k]=1v[1k]}}if(!eP){1b 1S dt(1v,ms)}1i{5G&&(p.5G=5G);1X&&(p.1X=1X);1b 1S dt({100:p},ms)}};3d.4K=1a(1v,ms,5G,1X){K 1g=J;if(1g.5e){1X&&1X.2u(1g);1b 1g}K 2C=1v dQ dt?1v:R.6R(1v,ms,5G,1X);jN(2C,1g,2C.8b[0],1c,1g.1k());1b 1g};3d.UA=1a(2C,1m){if(2C&&1m!=1c){J.6s(2C,5X(1m,2C.ms)/2C.ms)}1b J};3d.6s=1a(2C,1m){K 2m=[],i=0,66,e;if(1m!=1c){jN(2C,J,-1,5X(1m,1));1b J}1i{66=4W.1e;1o(;i<66;i++){e=4W[i];if(e.el.id==J.id&&(!2C||e.2C==2C)){if(2C){1b e.6s}2m.1D({2C:e.2C,6s:e.6s})}}if(2C){1b 0}1b 2m}};3d.Fu=1a(2C){1o(K i=0;i<4W.1e;i++){if(4W[i].el.id==J.id&&(!2C||4W[i].2C==2C)){if(2R("4a.2C.Fu."+J.id,J,4W[i].2C)!==1j){4W[i].w9=1l}}}1b J};3d.FC=1a(2C){1o(K i=0;i<4W.1e;i++){if(4W[i].el.id==J.id&&(!2C||4W[i].2C==2C)){K e=4W[i];if(2R("4a.2C.FC."+J.id,J,e.2C)!==1j){3W e.w9;J.6s(e.2C,e.6s)}}}1b J};3d.5D=1a(2C){1o(K i=0;i<4W.1e;i++){if(4W[i].el.id==J.id&&(!2C||4W[i].2C==2C)){if(2R("4a.2C.5D."+J.id,J,4W[i].2C)!==1j){4W.5f(i--,1)}}}1b J};1a wa(2v){1o(K i=0;i<4W.1e;i++){if(4W[i].el.2v==2v){4W.5f(i--,1)}}}2R.on("4a.3w",wa);2R.on("4a.aQ",wa);3d.3r=1a(){1b"hw\\hW\\Uz 1C"};K iq=1a(1F){J.1F=[];J.1e=0;J.1w="5x";if(1F){1o(K i=0,ii=1F.1e;i<ii;i++){if(1F[i]&&(1F[i].4U==3d.4U||1F[i].4U==iq)){J[J.1F.1e]=J.1F[J.1F.1e]=1F[i];J.1e++}}}},6Y=iq.2W;6Y.1D=1a(){K 1h,66;1o(K i=0,ii=2q.1e;i<ii;i++){1h=2q[i];if(1h&&(1h.4U==3d.4U||1h.4U==iq)){66=J.1F.1e;J[66]=J.1F[66]=1h;J.1e++}}1b J};6Y.d7=1a(){J.1e&&3W J[J.1e--];1b J.1F.d7()};6Y.8R=1a(1X,tL){1o(K i=0,ii=J.1F.1e;i<ii;i++){if(1X.2u(tL,J.1F[i],i)===1j){1b J}}1b J};1o(K 46 in 3d){if(3d[3p](46)){6Y[46]=1a(ey){1b 1a(){K 4i=2q;1b J.8R(1a(el){el[ey][3c](el,4i)})}}(46)}}6Y.1k=1a(1z,1m){if(1z&&(R.is(1z,3L)&&R.is(1z[0],"1C"))){1o(K j=0,jj=1z.1e;j<jj;j++){J.1F[j].1k(1z[j])}}1i{1o(K i=0,ii=J.1F.1e;i<ii;i++){J.1F[i].1k(1z,1m)}}1b J};6Y.aQ=1a(){47(J.1e){J.d7()}};6Y.5f=1a(1P,6I,Xt){1P=1P<0?4R(J.1e+1P,0):1P;6I=4R(0,5X(J.1e-1P,6I));K tK=[],wH=[],2f=[],i;1o(i=2;i<2q.1e;i++){2f.1D(2q[i])}1o(i=0;i<6I;i++){wH.1D(J[1P+i])}1o(;i<J.1e-1P;i++){tK.1D(J[1P+i])}K l5=2f.1e;1o(i=0;i<l5+tK.1e;i++){J.1F[1P+i]=J[1P+i]=i<l5?2f[i]:tK[i-l5]}i=J.1F.1e=J.1e-=6I-l5;47(J[i]){3W J[i++]}1b 1S iq(wH)};6Y.vj=1a(el){1o(K i=0,ii=J.1e;i<ii;i++){if(J[i]==el){J.5f(i,1);1b 1l}}};6Y.4K=1a(1v,ms,5G,1X){(R.is(5G,"1a")||!5G)&&(1X=5G||1c);K 66=J.1F.1e,i=66,1h,5x=J,tN;if(!66){1b J}1X&&(tN=1a(){!--66&&1X.2u(5x)});5G=R.is(5G,4e)?5G:tN;K 2C=R.6R(1v,ms,5G,tN);1h=J.1F[--i].4K(2C);47(i--){J.1F[i]&&(!J.1F[i].5e&&J.1F[i].FZ(1h,2C,2C));J.1F[i]&&!J.1F[i].5e||66--}1b J};6Y.eJ=1a(el){K i=J.1F.1e;47(i--){J.1F[i].eJ(el)}1b J};6Y.6y=1a(){K x=[],y=[],x2=[],y2=[];1o(K i=J.1F.1e;i--;){if(!J.1F[i].5e){K 54=J.1F[i].6y();x.1D(54.x);y.1D(54.y);x2.1D(54.x+54.1r);y2.1D(54.y+54.1y)}}x=5X[3c](0,x);y=5X[3c](0,y);x2=4R[3c](0,x2);y2=4R[3c](0,y2);1b{x:x,y:y,x2:x2,y2:y2,1r:x2-x,1y:y2-y}};6Y.5P=1a(s){s=J.2v.5x();1o(K i=0,ii=J.1F.1e;i<ii;i++){s.1D(J.1F[i].5P())}1b s};6Y.3r=1a(){1b"hw\\hW\\Xr 5x"};6Y.bp=1a(G0){K 7Q=J.2v.5x();J.8R(1a(cN,1P){K g=cN.bp(G0);if(g!=1c){g.8R(1a(G7,XA){7Q.1D(G7)})}});1b 7Q};6Y.gS=1a(x,y){K gS=1j;J.8R(1a(el){if(el.gS(x,y)){gS=1l;1b 1j}});1b gS};R.Xw=1a(2M){if(!2M.8N){1b 2M}J.db=J.db||{};K gK={w:2M.w,8N:{},fg:{}},84=2M.8N["2M-84"];1o(K 6T in 2M.8N){if(2M.8N[3p](6T)){gK.8N[6T]=2M.8N[6T]}}if(J.db[84]){J.db[84].1D(gK)}1i{J.db[84]=[gK]}if(!2M.45){gK.8N["wI-wJ-em"]=9W(2M.8N["wI-wJ-em"],10);1o(K le in 2M.fg){if(2M.fg[3p](le)){K 1G=2M.fg[le];gK.fg[le]={w:1G.w,k:{},d:1G.d&&"M"+1G.d.3h(/[Xz]/g,1a(8f){1b{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[8f]||"M"})+"z"};if(1G.k){1o(K k in 1G.k){if(1G[3p](k)){gK.fg[le].k[k]=1G.k[k]}}}}}}1b 2M};6a.FP=1a(84,9v,3b,lx){lx=lx||"t5";3b=3b||"t5";9v=+9v||({t5:lf,Xb:Xe,Xd:s4,X8:sq}[9v]||lf);if(!R.db){1b}K 2M=R.db[84];if(!2M){K 1z=1S dv("(^|\\\\s)"+84.3h(/[^\\w\\d\\s+!~.:1U-]/g,E)+"(\\\\s|$)","i");1o(K t8 in R.db){if(R.db[3p](t8)){if(1z.9w(t8)){2M=R.db[t8];1p}}}}K gd;if(2M){1o(K i=0,ii=2M.1e;i<ii;i++){gd=2M[i];if(gd.8N["2M-9v"]==9v&&((gd.8N["2M-3b"]==3b||!gd.8N["2M-3b"])&&gd.8N["2M-lx"]==lx)){1p}}}1b gd};6a.Xj=1a(x,y,4e,2M,56,fb,tm,sW){fb=fb||"wd";tm=4R(5X(tm||0,1),-1);sW=4R(5X(sW||1,3),1);K iY=3Z(4e)[3u](E),bw=0,nE=0,1G=E,8h;R.is(2M,"4e")&&(2M=J.FP(2M));if(2M){8h=(56||16)/2M.8N["wI-wJ-em"];K bb=2M.8N.2Y[3u](5s),1O=+bb[0],sX=bb[3]-bb[1],wA=0,1y=+bb[1]+(fb=="Xi"?sX+ +2M.8N.Xh:sX/2);1o(K i=0,ii=iY.1e;i<ii;i++){if(iY[i]=="\\n"){bw=0;nH=0;nE=0;wA+=sX*sW}1i{K 3Q=nE&&2M.fg[iY[i-1]]||{},nH=2M.fg[iY[i]];bw+=nE?(3Q.w||2M.w)+(3Q.k&&3Q.k[iY[i]]||0)+2M.w*tm:0;nE=1}if(nH&&nH.d){1G+=R.tl(nH.d,["t",bw*8h,wA*8h,"s",8h,8h,1O,1y,"t",(x-1O)/ 8h, (y - 1y) /8h])}}}1b J.1G(1G).1k({28:"#cP",1Y:"3t"})};6a.51=1a(eP){if(R.is(eP,"3L")){K 1A=J.5x(),i=0,ii=eP.1e,j;1o(;i<ii;i++){j=eP[i]||{};9A[3p](j.1w)&&1A.1D(J[j.1w]().1k(j))}}1b 1A};R.6z=1a(cg,1v){K 2f=R.is(1v,3L)?[0][3y](1v):2q;cg&&(R.is(cg,4e)&&(2f.1e-1&&(cg=cg.3h(EZ,1a(7f,i){1b 2f[++i]==1c?E:2f[i]}))));1b cg||E};R.Y4=1a(){K EP=/\\{([^\\}]+)\\}/g,F7=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[(\'|")(.+?)\\2\\])(\\(\\))?/g,EU=1a(6n,1q,1u){K 1A=1u;1q.3h(F7,1a(6n,1z,F5,EQ,ER){1z=1z||EQ;if(1A){if(1z in 1A){1A=1A[1z]}2N 1A=="1a"&&(ER&&(1A=1A()))}});1A=(1A==1c||1A==1u?6n:1A)+"";1b 1A};1b 1a(7f,1u){1b 5n(7f).3h(EP,1a(6n,1q){1b EU(6n,1q,1u)})}}();R.XI=1a(){qc.wy?g.5p.aN=qc.is:3W aN;1b R};R.st=6Y;(1a(2Z,aK,f){if(2Z.nP==1c&&2Z.bA){2Z.bA(aK,f=1a(){2Z.o0(aK,f,1j);2Z.nP="Jy"},1j);2Z.nP="sl"}1a vJ(){/in/.9w(2Z.nP)?6t(vJ,9):R.2R("4a.ia")}vJ()})(2P,"XF");2R.on("4a.ia",1a(){aK=1l});(1a(){if(!R.45){1b}K 3p="7Z",3Z=5n,3B=d3,9W=6l,3z=3F,4R=3z.4v,4f=3z.4f,5R=3z.5R,5s=/[, ]+/,2R=R.2R,E="",S=" ";K dN="6B://mG.w3.sH/XE/dN",H1={71:"M5,0 0,2.5 5,5z",mh:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",r9:"M2.5,0 5,2.5 2.5,5 0,2.5z",6P:"M6,1 1,3.5 6,6",re:"M2.5,XH.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,XG"},bm={};R.3r=1a(){1b"DD qZ XR c4.\\Dj qK wt hw\\hW "+J.5Q};K $=1a(el,1k){if(1k){if(2N el=="4e"){el=$(el)}1o(K 1q in 1k){if(1k[3p](1q)){if(1q.g4(0,6)=="dN:"){el.mt(dN,1q.g4(6),3Z(1k[1q]))}1i{el.b4(1q,3Z(1k[1q]))}}}}1i{el=R.7v.2Z.XQ("6B://mG.w3.sH/D4/45",el);el.3b&&(el.3b.XT="vv(0,0,0,0)")}1b el},mz=1a(1g,3M){K 1w="lW",id=1g.id+3M,fx=0.5,fy=0.5,o=1g.1s,c4=1g.2v,s=o.3b,el=R.7v.2Z.dT(id);if(!el){3M=3Z(3M).3h(R.uQ,1a(6n,vu,vY){1w="rX";if(vu&&vY){fx=3B(vu);fy=3B(vY);K vZ=(fy>0.5)*2-1;5R(fx-0.5,2)+5R(fy-0.5,2)>0.25&&((fy=3z.9y(0.25-5R(fx-0.5,2))*vZ+0.5)&&(fy!=0.5&&(fy=fy.4r(5)-1E-5*vZ)))}1b E});3M=3M.3u(/\\s*\\-\\s*/);if(1w=="lW"){K 7q=3M.bw();7q=-3B(7q);if(aY(7q)){1b 1c}K 8o=[0,0,3z.8A(R.8V(7q)),3z.8w(R.8V(7q))],4v=1/(4R(4f(8o[2]),4f(8o[3]))||1);8o[2]*=4v;8o[3]*=4v;if(8o[2]<0){8o[0]=-8o[2];8o[2]=0}if(8o[3]<0){8o[1]=-8o[3];8o[3]=0}}K 5a=R.v3(3M);if(!5a){1b 1c}id=id.3h(/[\\(\\)\\s,\\vO#]/g,"1U");if(1g.3M&&id!=1g.3M.id){c4.d4.7h(1g.3M);3W 1g.3M}if(!1g.3M){el=$(1w+"Wo",{id:id});1g.3M=el;$(el,1w=="rX"?{fx:fx,fy:fy}:{x1:8o[0],y1:8o[1],x2:8o[2],y2:8o[3],Wq:1g.4t.lD()});c4.d4.3J(el);1o(K i=0,ii=5a.1e;i<ii;i++){el.3J($("5D",{2y:5a[i].2y?5a[i].2y:i?"100%":"0%","5D-3q":5a[i].3q||"#jT"}))}}}$(o,{28:"5c(#"+id+")",2K:1,"28-2K":1});s.28=E;s.2K=1;s.Wk=1;1b 1},mV=1a(o){K 2Y=o.6y(1);$(o.cA,{Wj:o.4t.lD()+" fH("+2Y.x+","+2Y.y+")"})},bM=1a(o,1m,eS){if(o.1w=="1G"){K 2J=3Z(1m).3P().3u("-"),p=o.2v,se=eS?"4z":"2H",1s=o.1s,2c=o.2c,1Y=2c["1Y-1r"],i=2J.1e,1w="mh",2s,to,dx,ov,1k,w=3,h=3,t=5;47(i--){3s(2J[i]){1n"71":;1n"mh":;1n"re":;1n"r9":;1n"6P":;1n"3t":1w=2J[i];1p;1n"DW":h=5;1p;1n"DU":h=2;1p;1n"DS":w=5;1p;1n"DT":w=2;1p}}if(1w=="6P"){w+=2;h+=2;t+=2;dx=1;ov=eS?4:1;1k={28:"3t",1Y:2c.1Y}}1i{ov=dx=w/2;1k={28:2c.1Y,1Y:"3t"}}if(o.1U.4B){if(eS){o.1U.4B.Fd&&bm[o.1U.4B.Fd]--;o.1U.4B.G9&&bm[o.1U.4B.G9]--}1i{o.1U.4B.H4&&bm[o.1U.4B.H4]--;o.1U.4B.H3&&bm[o.1U.4B.H3]--}}1i{o.1U.4B={}}if(1w!="3t"){K hE="4a-dk-"+1w,hK="4a-dk-"+se+1w+w+h;if(!R.7v.2Z.dT(hE)){p.d4.3J($($("1G"),{"1Y-cC":"4L",d:H1[1w],id:hE}));bm[hE]=1}1i{bm[hE]++}K dk=R.7v.2Z.dT(hK),hq;if(!dk){dk=$($("dk"),{id:hK,Ww:h,Wv:w,Wy:"5T",ov:ov,Ws:h/2});hq=$($("hq"),{"dN:59":"#"+hE,3A:(eS?"5t(cF "+w/ 2 + " " + h /2+") ":E)+"8h("+w/ t + "," + h /t+")","1Y-1r":(1/ ((w /t+h/ t) /2)).4r(4)});dk.3J(hq);p.d4.3J(dk);bm[hK]=1}1i{bm[hK]++;hq=dk.c8("hq")[0]}$(hq,1k);K qP=dx*(1w!="r9"&&1w!="re");if(eS){2s=o.1U.4B.GZ*1Y||0;to=R.bh(2c.1G)-qP*1Y}1i{2s=qP*1Y;to=R.bh(2c.1G)-(o.1U.4B.Hm*1Y||0)}1k={};1k["dk-"+se]="5c(#"+hK+")";if(to||2s){1k.d=R.oq(2c.1G,2s,to)}$(1s,1k);o.1U.4B[se+"lz"]=hE;o.1U.4B[se+"Ht"]=hK;o.1U.4B[se+"dx"]=qP;o.1U.4B[se+"4E"]=1w;o.1U.4B[se+"5n"]=1m}1i{if(eS){2s=o.1U.4B.GZ*1Y||0;to=R.bh(2c.1G)-2s}1i{2s=0;to=R.bh(2c.1G)-(o.1U.4B.Hm*1Y||0)}o.1U.4B[se+"lz"]&&$(1s,{d:R.oq(2c.1G,2s,to)});3W o.1U.4B[se+"lz"];3W o.1U.4B[se+"Ht"];3W o.1U.4B[se+"dx"];3W o.1U.4B[se+"4E"];3W o.1U.4B[se+"5n"]}1o(1k in bm){if(bm[3p](1k)&&!bm[1k]){K 1h=R.7v.2Z.dT(1k);1h&&1h.3o.7h(1h)}}}},9k={"":[0],"3t":[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},vC=1a(o,1m,1v){1m=9k[3Z(1m).3P()];if(1m){K 1r=o.2c["1Y-1r"]||"1",ip={4L:1r,w6:1r,ip:0}[o.2c["1Y-cC"]||1v["1Y-cC"]]||0,vz=[],i=1m.1e;47(i--){vz[i]=1m[i]*1r+(i%2?1:-1)*ip}$(o.1s,{"1Y-9k":vz.4G(",")})}},dB=1a(o,1v){K 1s=o.1s,2c=o.2c,Gt=1s.3b.hm;1s.3b.hm="79";1o(K 6E in 1v){if(1v[3p](6E)){if(!R.jO[3p](6E)){aH}K 1m=1v[6E];2c[6E]=1m;3s(6E){1n"4Q":o.4Q(1m);1p;1n"6f":K 6f=1s.c8("6f");if(6f.1e&&(6f=6f[0])){6f.7w.Hs=1m}1i{6f=$("6f");K 2h=R.7v.2Z.uA(1m);6f.3J(2h);1s.3J(6f)}1p;1n"59":;1n"3m":K pn=1s.3o;if(pn.6j.3P()!="a"){K hl=$("a");pn.7a(hl,1s);hl.3J(1s);pn=hl}if(6E=="3m"){pn.mt(dN,"5d",1m=="vA"?"1S":1m)}1i{pn.mt(dN,6E,1m)}1p;1n"jY":1s.3b.jY=1m;1p;1n"3A":o.3A(1m);1p;1n"aT-2H":bM(o,1m);1p;1n"aT-4z":bM(o,1m,1);1p;1n"68-4m":K 4m=3Z(1m).3u(5s);if(4m.1e==4){o.68&&o.68.3o.3o.7h(o.68.3o);K el=$("Wi"),rc=$("4m");el.id=R.n0();$(rc,{x:4m[0],y:4m[1],1r:4m[2],1y:4m[3]});el.3J(rc);o.2v.d4.3J(el);$(1s,{"68-1G":"5c(#"+el.id+")"});o.68=rc}if(!1m){K 1G=1s.vt("68-1G");if(1G){K 68=R.7v.2Z.dT(1G.3h(/(^5c\\(#|\\)$)/g,E));68&&68.3o.7h(68);$(1s,{"68-1G":E});3W o.68}}1p;1n"1G":if(o.1w=="1G"){$(1s,{d:1m?2c.1G=R.ln(1m):"M0,0"});o.1U.82=1;if(o.1U.4B){"iW"in o.1U.4B&&bM(o,o.1U.4B.iW);"iB"in o.1U.4B&&bM(o,o.1U.4B.iB,1)}}1p;1n"1r":1s.b4(6E,1m);o.1U.82=1;if(2c.fx){6E="x";1m=2c.x}1i{1p};1n"x":if(2c.fx){1m=-2c.x-(2c.1r||0)};1n"rx":if(6E=="rx"&&o.1w=="4m"){1p};1n"cx":1s.b4(6E,1m);o.cA&&mV(o);o.1U.82=1;1p;1n"1y":1s.b4(6E,1m);o.1U.82=1;if(2c.fy){6E="y";1m=2c.y}1i{1p};1n"y":if(2c.fy){1m=-2c.y-(2c.1y||0)};1n"ry":if(6E=="ry"&&o.1w=="4m"){1p};1n"cy":1s.b4(6E,1m);o.cA&&mV(o);o.1U.82=1;1p;1n"r":if(o.1w=="4m"){$(1s,{rx:1m,ry:1m})}1i{1s.b4(6E,1m)}o.1U.82=1;1p;1n"4b":if(o.1w=="8P"){1s.mt(dN,"59",1m)}1p;1n"1Y-1r":if(o.1U.sx!=1||o.1U.sy!=1){1m/=4R(4f(o.1U.sx),4f(o.1U.sy))||1}if(o.2v.mu){1m*=o.2v.mu}1s.b4(6E,1m);if(2c["1Y-9k"]){vC(o,2c["1Y-9k"],1v)}if(o.1U.4B){"iW"in o.1U.4B&&bM(o,o.1U.4B.iW);"iB"in o.1U.4B&&bM(o,o.1U.4B.iB,1)}1p;1n"1Y-9k":vC(o,1m,1v);1p;1n"28":K fQ=3Z(1m).3e(R.vq);if(fQ){el=$("cA");K ig=$("8P");el.id=R.n0();$(el,{x:0,y:0,W7:"W6",1y:1,1r:1});$(ig,{x:0,y:0,"dN:59":fQ[1]});el.3J(ig);(1a(el){R.v5(fQ[1],1a(){K w=J.fE,h=J.bD;$(el,{1r:w,1y:h});$(ig,{1r:w,1y:h});o.2v.ir()})})(el);o.2v.d4.3J(el);$(1s,{28:"5c(#"+el.id+")"});o.cA=el;o.cA&&mV(o);1p}K 3v=R.bt(1m);if(!3v.9p){3W 1v.3M;3W 2c.3M;!R.is(2c.2K,"2O")&&(R.is(1v.2K,"2O")&&$(1s,{2K:2c.2K}));!R.is(2c["28-2K"],"2O")&&(R.is(1v["28-2K"],"2O")&&$(1s,{"28-2K":2c["28-2K"]}))}1i{if((o.1w=="9m"||(o.1w=="az"||3Z(1m).bR()!="r"))&&mz(o,1m)){if("2K"in 2c||"28-2K"in 2c){K 3M=R.7v.2Z.dT(1s.vt("28").3h(/^5c\\(#|\\)$/g,E));if(3M){K jB=3M.c8("5D");$(jB[jB.1e-1],{"5D-2K":("2K"in 2c?2c.2K:1)*("28-2K"in 2c?2c["28-2K"]:1)})}}2c.3M=1m;2c.28="3t";1p}}3v[3p]("2K")&&$(1s,{"28-2K":3v.2K>1?3v.2K/100:3v.2K});1n"1Y":3v=R.bt(1m);1s.b4(6E,3v.62);6E=="1Y"&&(3v[3p]("2K")&&$(1s,{"1Y-2K":3v.2K>1?3v.2K/100:3v.2K}));if(6E=="1Y"&&o.1U.4B){"iW"in o.1U.4B&&bM(o,o.1U.4B.iW);"iB"in o.1U.4B&&bM(o,o.1U.4B.iB,1)}1p;1n"3M":(o.1w=="9m"||(o.1w=="az"||3Z(1m).bR()!="r"))&&mz(o,1m);1p;1n"2K":if(2c.3M&&!2c[3p]("1Y-2K")){$(1s,{"1Y-2K":1m>1?1m/100:1m})};1n"28-2K":if(2c.3M){3M=R.7v.2Z.dT(1s.vt("28").3h(/^5c\\(#|\\)$/g,E));if(3M){jB=3M.c8("5D");$(jB[jB.1e-1],{"5D-2K":1m})}1p};5u:6E=="2M-56"&&(1m=9W(1m,10)+"px");K Hi=6E.3h(/(\\-.)/g,1a(w){1b w.g4(1).8l()});1s.3b[Hi]=1m;o.1U.82=1;1s.b4(6E,1m);1p}}}Gs(o,1v);1s.3b.hm=Gt},vH=1.2,Gs=1a(el,1v){if(el.1w!="1Z"||!(1v[3p]("1Z")||(1v[3p]("2M")||(1v[3p]("2M-56")||(1v[3p]("x")||1v[3p]("y")))))){1b}K a=el.2c,1s=el.1s,dG=1s.7w?9W(R.7v.2Z.kp.uu(1s.7w,E).Gd("2M-56"),10):10;if(1v[3p]("1Z")){a.1Z=1v.1Z;47(1s.7w){1s.7h(1s.7w)}K vD=3Z(1v.1Z).3u("\\n"),hn=[],g6;1o(K i=0,ii=vD.1e;i<ii;i++){g6=$("g6");i&&$(g6,{dy:dG*vH,x:a.x});g6.3J(R.7v.2Z.uA(vD[i]));1s.3J(g6);hn[i]=g6}}1i{hn=1s.c8("g6");1o(i=0,ii=hn.1e;i<ii;i++){if(i){$(hn[i],{dy:dG*vH,x:a.x})}1i{$(hn[0],{dy:0})}}}$(1s,{x:a.x,y:a.y});el.1U.82=1;K bb=el.ly(),qj=a.y-(bb.y+bb.1y/2);qj&&(R.is(qj,"mi")&&$(hn[0],{dy:qj}))},9O=1a(1s,45){K X=0,Y=0;J[0]=J.1s=1s;1s.4a=1l;J.id=R.uM++;1s.uN=J.id;J.4t=R.4t();J.g3=1c;J.2v=45;J.2c=J.2c||{};J.1U={3A:[],sx:1,sy:1,4n:0,dx:0,dy:0,82:1};!45.4J&&(45.4J=J);J.3Q=45.1O;45.1O&&(45.1O.3k=J);45.1O=J;J.3k=1c},3d=R.el;9O.2W=3d;3d.4U=9O;R.4C.1G=1a(8y,c4){K el=$("1G");c4.1V&&c4.1V.3J(el);K p=1S 9O(el,c4);p.1w="1G";dB(p,{28:"3t",1Y:"#cP",1G:8y});1b p};3d.5t=1a(4n,cx,cy){if(J.5e){1b J}4n=3Z(4n).3u(5s);if(4n.1e-1){cx=3B(4n[1]);cy=3B(4n[2])}4n=3B(4n[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2Y=J.6y(1);cx=2Y.x+2Y.1r/2;cy=2Y.y+2Y.1y/2}J.3A(J.1U.3A.3y([["r",4n,cx,cy]]));1b J};3d.8h=1a(sx,sy,cx,cy){if(J.5e){1b J}sx=3Z(sx).3u(5s);if(sx.1e-1){sy=3B(sx[1]);cx=3B(sx[2]);cy=3B(sx[3])}sx=3B(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2Y=J.6y(1)}cx=cx==1c?2Y.x+2Y.1r/2:cx;cy=cy==1c?2Y.y+2Y.1y/2:cy;J.3A(J.1U.3A.3y([["s",sx,sy,cx,cy]]));1b J};3d.fH=1a(dx,dy){if(J.5e){1b J}dx=3Z(dx).3u(5s);if(dx.1e-1){dy=3B(dx[1])}dx=3B(dx[0])||0;dy=+dy||0;J.3A(J.1U.3A.3y([["t",dx,dy]]));1b J};3d.3A=1a(aC){K 1U=J.1U;if(aC==1c){1b 1U.3A}R.vs(J,aC);J.68&&$(J.68,{3A:J.4t.lD()});J.cA&&mV(J);J.1s&&$(J.1s,{3A:J.4t});if(1U.sx!=1||1U.sy!=1){K sw=J.2c[3p]("1Y-1r")?J.2c["1Y-1r"]:1;J.1k({"1Y-1r":sw})}1b J};3d.3K=1a(){!J.5e&&J.2v.ir(J.1s.3b.5q="3t");1b J};3d.5d=1a(){!J.5e&&J.2v.ir(J.1s.3b.5q="");1b J};3d.3w=1a(){if(J.5e||!J.1s.3o){1b}K 2v=J.2v;2v.6M&&2v.6M.vj(J);2R.7V("4a.*.*."+J.id);if(J.3M){2v.d4.7h(J.3M)}R.vh(J,2v);if(J.1s.3o.6j.3P()=="a"){J.1s.3o.3o.7h(J.1s.3o)}1i{J.1s.3o.7h(J.1s)}1o(K i in J){J[i]=2N J[i]=="1a"?R.mc(i):1c}J.5e=1l};3d.ly=1a(){if(J.1s.3b.5q=="3t"){J.5d();K 3K=1l}K 2Y={};7j{2Y=J.1s.6y()}7m(e){}W3{2Y=2Y||{}}3K&&J.3K();1b 2Y};3d.1k=1a(1z,1m){if(J.5e){1b J}if(1z==1c){K 1A={};1o(K a in J.2c){if(J.2c[3p](a)){1A[a]=J.2c[a]}}1A.3M&&(1A.28=="3t"&&((1A.28=1A.3M)&&3W 1A.3M));1A.3A=J.1U.3A;1b 1A}if(1m==1c&&R.is(1z,"4e")){if(1z=="28"&&(J.2c.28=="3t"&&J.2c.3M)){1b J.2c.3M}if(1z=="3A"){1b J.1U.3A}K 7o=1z.3u(5s),2m={};1o(K i=0,ii=7o.1e;i<ii;i++){1z=7o[i];if(1z in J.2c){2m[1z]=J.2c[1z]}1i{if(R.is(J.2v.8J[1z],"1a")){2m[1z]=J.2v.8J[1z].Mj}1i{2m[1z]=R.jO[1z]}}}1b ii-1?2m:2m[7o[0]]}if(1m==1c&&R.is(1z,"3L")){2m={};1o(i=0,ii=1z.1e;i<ii;i++){2m[1z[i]]=J.1k(1z[i])}1b 2m}if(1m!=1c){K 1v={};1v[1z]=1m}1i{if(1z!=1c&&R.is(1z,"1C")){1v=1z}}1o(K 1q in 1v){2R("4a.1k."+1q+"."+J.id,J,1v[1q])}1o(1q in J.2v.8J){if(J.2v.8J[3p](1q)&&(1v[3p](1q)&&R.is(J.2v.8J[1q],"1a"))){K 8I=J.2v.8J[1q].3c(J,[].3y(1v[1q]));J.2c[1q]=1v[1q];1o(K bB in 8I){if(8I[3p](bB)){1v[bB]=8I[bB]}}}}dB(J,1v);1b J};3d.Md=1a(){if(J.5e){1b J}if(J.1s.3o.6j.3P()=="a"){J.1s.3o.3o.3J(J.1s.3o)}1i{J.1s.3o.3J(J.1s)}K 45=J.2v;45.1O!=J&&R.uO(J,45);1b J};3d.Mf=1a(){if(J.5e){1b J}K 1L=J.1s.3o;if(1L.6j.3P()=="a"){1L.3o.7a(J.1s.3o,J.1s.3o.3o.7w)}1i{if(1L.7w!=J.1s){1L.7a(J.1s,J.1s.3o.7w)}}R.uF(J,J.2v);K 45=J.2v;1b J};3d.eJ=1a(1g){if(J.5e){1b J}K 1s=1g.1s||1g[1g.1e-1].1s;if(1s.k5){1s.3o.7a(J.1s,1s.k5)}1i{1s.3o.3J(J.1s)}R.uI(J,1g,J.2v);1b J};3d.7a=1a(1g){if(J.5e){1b J}K 1s=1g.1s||1g[0].1s;1s.3o.7a(J.1s,1s);R.uL(J,1g,J.2v);1b J};3d.4Q=1a(56){K t=J;if(+56!==0){K jS=$("4p"),4Q=$("W2");t.2c.4Q=56;jS.id=R.n0();$(4Q,{W5:+56||1.5});jS.3J(4Q);t.2v.d4.3J(jS);t.mZ=jS;$(t.1s,{4p:"5c(#"+jS.id+")"})}1i{if(t.mZ){t.mZ.3o.7h(t.mZ);3W t.mZ;3W t.2c.4Q}t.1s.W4("4p")}1b t};R.4C.9m=1a(45,x,y,r){K el=$("9m");45.1V&&45.1V.3J(el);K 1A=1S 9O(el,45);1A.2c={cx:x,cy:y,r:r,28:"3t",1Y:"#cP"};1A.1w="9m";$(el,1A.2c);1b 1A};R.4C.4m=1a(45,x,y,w,h,r){K el=$("4m");45.1V&&45.1V.3J(el);K 1A=1S 9O(el,45);1A.2c={x:x,y:y,1r:w,1y:h,r:r||0,rx:r||0,ry:r||0,28:"3t",1Y:"#cP"};1A.1w="4m";$(el,1A.2c);1b 1A};R.4C.az=1a(45,x,y,rx,ry){K el=$("az");45.1V&&45.1V.3J(el);K 1A=1S 9O(el,45);1A.2c={cx:x,cy:y,rx:rx,ry:ry,28:"3t",1Y:"#cP"};1A.1w="az";$(el,1A.2c);1b 1A};R.4C.8P=1a(45,4b,x,y,w,h){K el=$("8P");$(el,{x:x,y:y,1r:w,1y:h,Dd:"3t"});el.mt(dN,"59",4b);45.1V&&45.1V.3J(el);K 1A=1S 9O(el,45);1A.2c={x:x,y:y,1r:w,1y:h,4b:4b};1A.1w="8P";1b 1A};R.4C.1Z=1a(45,x,y,1Z){K el=$("1Z");45.1V&&45.1V.3J(el);K 1A=1S 9O(el,45);1A.2c={x:x,y:y,"1Z-wD":"wd",1Z:1Z,2M:R.jO.2M,1Y:"3t",28:"#cP"};1A.1w="1Z";dB(1A,1A.2c);1b 1A};R.4C.ka=1a(1r,1y){J.1r=1r||J.1r;J.1y=1y||J.1y;J.1V.b4("1r",J.1r);J.1V.b4("1y",J.1y);if(J.fI){J.fD.3c(J,J.fI)}1b J};R.4C.7R=1a(){K a0=R.wF.3c(0,2q),4c=a0&&a0.4c,x=a0.x,y=a0.y,1r=a0.1r,1y=a0.1y;if(!4c){9B 1S 98("c4 4c 5U 8O.")}K aE=$("45"),3a="gM:79;",wn;x=x||0;y=y||0;1r=1r||ML;1y=1y||MK;$(aE,{1y:1y,5Q:1.1,1r:1r,N8:"6B://mG.w3.sH/D4/45"});if(4c==1){aE.3b.g7=3a+"2I:8n;2b:"+x+"px;1O:"+y+"px";R.7v.2Z.3S.3J(aE);wn=1}1i{aE.3b.g7=3a+"2I:nO";if(4c.7w){4c.7a(aE,4c.7w)}1i{4c.3J(aE)}}4c=1S R.wL;4c.1r=1r;4c.1y=1y;4c.1V=aE;4c.aQ();4c.sB=4c.s5=0;wn&&(4c.qJ=1a(){});4c.qJ();1b 4c};R.4C.fD=1a(x,y,w,h,b5){2R("4a.fD",J,J.fI,[x,y,w,h,b5]);K 56=4R(w/ J.1r, h /J.1y),1O=J.1O,Dc=b5?"Wg":"Wb",vb,sw;if(x==1c){if(J.mu){56=1}3W J.mu;vb="0 0 "+J.1r+S+J.1y}1i{J.mu=56;vb=x+S+y+S+w+S+h}$(J.1V,{Wd:vb,Dd:Dc});47(56&&1O){sw="1Y-1r"in 1O.2c?1O.2c["1Y-1r"]:1;1O.1k({"1Y-1r":sw});1O.1U.82=1;1O.1U.fs=1;1O=1O.3Q}J.fI=[x,y,w,h,!!b5];1b J};R.2W.qJ=1a(){K aE=J.1V,s=aE.3b,3Y;7j{3Y=aE.Wc()||aE.Dg()}7m(e){3Y=aE.Dg()}K 2b=-3Y.e%1,1O=-3Y.f%1;if(2b||1O){if(2b){J.sB=(J.sB+2b)%1;s.2b=J.sB+"px"}if(1O){J.s5=(J.s5+1O)%1;s.1O=J.s5+"px"}}};R.2W.aQ=1a(){R.2R("4a.aQ",J);K c=J.1V;47(c.7w){c.7h(c.7w)}J.4J=J.1O=1c;(J.uz=$("uz")).3J(R.7v.2Z.uA("WU g5 hw\\hW "+R.5Q));c.3J(J.uz);c.3J(J.d4=$("d4"))};R.2W.3w=1a(){2R("4a.3w",J);J.1V.3o&&J.1V.3o.7h(J.1V);1o(K i in J){J[i]=2N J[i]=="1a"?R.mc(i):1c}};K 6Y=R.st;1o(K 46 in 3d){if(3d[3p](46)&&!6Y[3p](46)){6Y[46]=1a(ey){1b 1a(){K 4i=2q;1b J.8R(1a(el){el[ey].3c(el,4i)})}}(46)}}})();(1a(){if(!R.5K){1b}K 3p="7Z",3Z=5n,3B=d3,3z=3F,4L=3z.4L,4R=3z.4v,5X=3z.61,4f=3z.4f,g9="28",5s=/[, ]+/,2R=R.2R,ms=" uU:EF.v9",S=" ",E="",dZ={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},Eq=/([uD]),?([^uD]*)/gi,ME=/ uU:\\S+N2\\([^\\)]+\\)/g,2h=/-?[^,\\s-]+/g,ws="2I:8n;2b:0;1O:0;1r:jh;1y:jh",6C=WX,DX={1G:1,4m:1,8P:1},E2={9m:1,az:1},DK=1a(1G){K rO=/[WW]/ig,8f=R.ln;3Z(1G).3e(rO)&&(8f=R.rZ);rO=/[uD]/g;if(8f==R.ln&&!3Z(1G).3e(rO)){K 1A=3Z(1G).3h(Eq,1a(6n,8f,2f){K j8=[],Er=8f.3P()=="m",1A=dZ[8f];2f.3h(2h,1a(1m){if(Er&&j8.1e==2){1A+=j8+dZ[8f=="m"?"l":"L"];j8=[]}j8.1D(4L(1m*6C))});1b 1A+j8});1b 1A}K pa=8f(1G),p,r;1A=[];1o(K i=0,ii=pa.1e;i<ii;i++){p=pa[i];r=pa[i][0].3P();r=="z"&&(r="x");1o(K j=1,jj=p.1e;j<jj;j++){r+=4L(p[j]*6C)+(j!=jj-1?",":E)}1A.1D(r)}1b 1A.4G(S)},uT=1a(4n,dx,dy){K m=R.4t();m.5t(-4n,0.5,0.5);1b{dx:m.x(dx,dy),dy:m.y(dx,dy)}},mK=1a(p,sx,sy,dx,dy,4n){K 1U=p.1U,m=p.4t,bY=1U.bY,o=p.1s,s=o.3b,y=1,iF="",X2,kx=6C/ sx, ky = 6C /sy;s.hm="79";if(!sx||!sy){1b}o.qB=4f(kx)+S+4f(ky);s.X5=4n*(sx*sy<0?-1:1);if(4n){K c=uT(4n,dx,dy);dx=c.dx;dy=c.dy}sx<0&&(iF+="x");sy<0&&((iF+=" y")&&(y=-1));s.iF=iF;o.j4=dx*-kx+S+dy*-ky;if(bY||1U.gE){K 28=o.c8(g9);28=28&&28[0];o.7h(28);if(bY){c=uT(4n,m.x(bY[0],bY[1]),m.y(bY[0],bY[1]));28.2I=c.dx*y+S+c.dy*y}if(1U.gE){28.56=1U.gE[0]*4f(sx)+S+1U.gE[1]*4f(sy)}o.3J(28)}s.hm="6U"};R.3r=1a(){1b"DD qZ WY\\X1 cd c4. WP cU to hM.\\Dj qK wt hw\\hW "+J.5Q};K bM=1a(o,1m,eS){K 2J=3Z(1m).3P().3u("-"),se=eS?"4z":"2H",i=2J.1e,1w="mh",w="DV",h="DV";47(i--){3s(2J[i]){1n"71":;1n"mh":;1n"re":;1n"r9":;1n"6P":;1n"3t":1w=2J[i];1p;1n"DW":;1n"DU":h=2J[i];1p;1n"DS":;1n"DT":w=2J[i];1p}}K 1Y=o.1s.c8("1Y")[0];1Y[se+"aT"]=1w;1Y[se+"WL"]=w;1Y[se+"WO"]=h},dB=1a(o,1v){o.2c=o.2c||{};K 1s=o.1s,a=o.2c,s=1s.3b,xy,vE=DX[o.1w]&&(1v.x!=a.x||(1v.y!=a.y||(1v.1r!=a.1r||(1v.1y!=a.1y||(1v.cx!=a.cx||(1v.cy!=a.cy||(1v.rx!=a.rx||(1v.ry!=a.ry||1v.r!=a.r)))))))),E9=E2[o.1w]&&(a.cx!=1v.cx||(a.cy!=1v.cy||(a.r!=1v.r||(a.rx!=1v.rx||a.ry!=1v.ry)))),1A=o;1o(K 8I in 1v){if(1v[3p](8I)){a[8I]=1v[8I]}}if(vE){a.1G=R.w4[o.1w](o);o.1U.82=1}1v.59&&(1s.59=1v.59);1v.6f&&(1s.6f=1v.6f);1v.3m&&(1s.3m=1v.3m);1v.jY&&(s.jY=1v.jY);"4Q"in 1v&&o.4Q(1v.4Q);if(1v.1G&&o.1w=="1G"||vE){1s.1G=DK(~3Z(a.1G).3P().4S("r")?R.ln(a.1G):a.1G);if(o.1w=="8P"){o.1U.bY=[a.x,a.y];o.1U.gE=[a.1r,a.1y];mK(o,1,1,0,0,0)}}"3A"in 1v&&o.3A(1v.3A);if(E9){K cx=+a.cx,cy=+a.cy,rx=+a.rx||(+a.r||0),ry=+a.ry||(+a.r||0);1s.1G=R.6z("ar{0},{1},{2},{3},{4},{1},{4},{1}x",4L((cx-rx)*6C),4L((cy-ry)*6C),4L((cx+rx)*6C),4L((cy+ry)*6C),4L(cx*6C));o.1U.82=1}if("68-4m"in 1v){K 4m=3Z(1v["68-4m"]).3u(5s);if(4m.1e==4){4m[2]=+4m[2]+ +4m[0];4m[3]=+4m[3]+ +4m[1];K 2G=1s.nb||R.7v.2Z.c7("2G"),gG=2G.3b;gG.68=R.6z("4m({1}px {2}px {3}px {0}px)",4m);if(!1s.nb){gG.2I="8n";gG.1O=0;gG.2b=0;gG.1r=o.2v.1r+"px";gG.1y=o.2v.1y+"px";1s.3o.7a(2G,1s);2G.3J(1s);1s.nb=2G}}if(!1v["68-4m"]){1s.nb&&(1s.nb.3b.68="5T")}}if(o.cz){K iS=o.cz.3b;1v.2M&&(iS.2M=1v.2M);1v["2M-84"]&&(iS.Ob=\'"\'+1v["2M-84"].3u(",")[0].3h(/^[\'"]+|[\'"]+$/g,E)+\'"\');1v["2M-56"]&&(iS.dG=1v["2M-56"]);1v["2M-9v"]&&(iS.Oj=1v["2M-9v"]);1v["2M-3b"]&&(iS.Od=1v["2M-3b"])}if("aT-2H"in 1v){bM(1A,1v["aT-2H"])}if("aT-4z"in 1v){bM(1A,1v["aT-4z"],1)}if(1v.2K!=1c||(1v["1Y-1r"]!=1c||(1v.28!=1c||(1v.4b!=1c||(1v.1Y!=1c||(1v["1Y-1r"]!=1c||(1v["1Y-2K"]!=1c||(1v["28-2K"]!=1c||(1v["1Y-9k"]!=1c||(1v["1Y-oc"]!=1c||(1v["1Y-hv"]!=1c||1v["1Y-cC"]!=1c))))))))))){K 28=1s.c8(g9),NK=1j;28=28&&28[0];!28&&(NK=28=cS(g9));if(o.1w=="8P"&&1v.4b){28.4b=1v.4b}1v.28&&(28.on=1l);if(28.on==1c||(1v.28=="3t"||1v.28===1c)){28.on=1j}if(28.on&&1v.28){K fQ=3Z(1v.28).3e(R.vq);if(fQ){28.3o==1s&&1s.7h(28);28.5t=1l;28.4b=fQ[1];28.1w="Nc";K 2Y=o.6y(1);28.2I=2Y.x+S+2Y.y;o.1U.bY=[2Y.x,2Y.y];R.v5(fQ[1],1a(){o.1U.gE=[J.fE,J.bD]})}1i{28.3q=R.bt(1v.28).62;28.4b=E;28.1w="kX";if(R.bt(1v.28).9p&&((1A.1w in{9m:1,az:1}||3Z(1v.28).bR()!="r")&&mz(1A,1v.28,28))){a.28="3t";a.3M=1v.28;28.5t=1j}}}if("28-2K"in 1v||"2K"in 1v){K 2K=((+a["28-2K"]+1||2)-1)*((+a.2K+1||2)-1)*((+R.bt(1v.28).o+1||2)-1);2K=5X(4R(2K,0),1);28.2K=2K;if(28.4b){28.3q="3t"}}1s.3J(28);K 1Y=1s.c8("1Y")&&1s.c8("1Y")[0],wC=1j;!1Y&&(wC=1Y=cS("1Y"));if(1v.1Y&&1v.1Y!="3t"||(1v["1Y-1r"]||(1v["1Y-2K"]!=1c||(1v["1Y-9k"]||(1v["1Y-oc"]||(1v["1Y-hv"]||1v["1Y-cC"])))))){1Y.on=1l}(1v.1Y=="3t"||(1v.1Y===1c||(1Y.on==1c||(1v.1Y==0||1v["1Y-1r"]==0))))&&(1Y.on=1j);K wu=R.bt(1v.1Y);1Y.on&&(1v.1Y&&(1Y.3q=wu.62));2K=((+a["1Y-2K"]+1||2)-1)*((+a.2K+1||2)-1)*((+wu.o+1||2)-1);K 1r=(3B(1v["1Y-1r"])||1)*0.75;2K=5X(4R(2K,0),1);1v["1Y-1r"]==1c&&(1r=a["1Y-1r"]);1v["1Y-1r"]&&(1Y.9v=1r);1r&&(1r<1&&((2K*=1r)&&(1Y.9v=1)));1Y.2K=2K;1v["1Y-hv"]&&(1Y.WJ=1v["1Y-hv"]||"WK");1Y.oc=1v["1Y-oc"]||8;1v["1Y-cC"]&&(1Y.WH=1v["1Y-cC"]=="ip"?"WI":1v["1Y-cC"]=="w6"?"w6":"4L");if("1Y-9k"in 1v){K 9k={"-":"WN",".":"WM","-.":"WB","-..":"WC",". ":"6J","- ":"Wz","--":"WA","- .":"WF","--.":"WG","--..":"WD"};1Y.WE=9k[3p](1v["1Y-9k"])?9k[1v["1Y-9k"]]:E}wC&&1s.3J(1Y)}if(1A.1w=="1Z"){1A.2v.1V.3b.5q=E;K 2A=1A.2v.2A,m=100,dG=a.2M&&a.2M.3e(/\\d+(?:\\.\\d*)?(?=px)/);s=2A.3b;a.2M&&(s.2M=a.2M);a["2M-84"]&&(s.Ob=a["2M-84"]);a["2M-9v"]&&(s.Oj=a["2M-9v"]);a["2M-3b"]&&(s.Od=a["2M-3b"]);dG=3B(a["2M-56"]||dG&&dG[0])||10;s.dG=dG*m+"px";1A.cz.4e&&(2A.nC=3Z(1A.cz.4e).3h(/</g,"&#60;").3h(/&/g,"&#38;").3h(/\\n/g,"<br>"));K lC=2A.vX();1A.W=a.w=(lC.7P-lC.2b)/m;1A.H=a.h=(lC.4J-lC.1O)/m;1A.X=a.x;1A.Y=a.y+1A.H/2;("x"in 1v||"y"in 1v)&&(1A.1G.v=R.6z("m{0},{1}l{2},{1}",4L(a.x*6C),4L(a.y*6C),4L(a.x*6C)+1));K wE=["x","y","1Z","2M","2M-84","2M-9v","2M-3b","2M-56"];1o(K d=0,dd=wE.1e;d<dd;d++){if(wE[d]in 1v){1A.1U.82=1;1p}}3s(a["1Z-wD"]){1n"2H":1A.cz.3b["v-1Z-wq"]="2b";1A.rK=1A.W/2;1p;1n"4z":1A.cz.3b["v-1Z-wq"]="7P";1A.rK=-1A.W/2;1p;5u:1A.cz.3b["v-1Z-wq"]="wr";1A.rK=0;1p}1A.cz.3b["v-1Z-X0"]=1l}},mz=1a(o,3M,28){o.2c=o.2c||{};K 2c=o.2c,5R=3F.5R,2K,WZ,1w="lW",uW=".5 .5";o.2c.3M=3M;3M=3Z(3M).3h(R.uQ,1a(6n,fx,fy){1w="rX";if(fx&&fy){fx=3B(fx);fy=3B(fy);5R(fx-0.5,2)+5R(fy-0.5,2)>0.25&&(fy=3z.9y(0.25-5R(fx-0.5,2))*((fy>0.5)*2-1)+0.5);uW=fx+S+fy}1b E});3M=3M.3u(/\\s*\\-\\s*/);if(1w=="lW"){K 7q=3M.bw();7q=-3B(7q);if(aY(7q)){1b 1c}}K 5a=R.v3(3M);if(!5a){1b 1c}o=o.cN||o.1s;if(5a.1e){o.7h(28);28.on=1l;28.46="3t";28.3q=5a[0].3q;28.X4=5a[5a.1e-1].3q;K rL=[];1o(K i=0,ii=5a.1e;i<ii;i++){5a[i].2y&&rL.1D(5a[i].2y+S+5a[i].3q)}28.X3=rL.1e?rL.4G():"0% "+28.3q;if(1w=="rX"){28.1w="WS";28.2V="100%";28.WT="0 0";28.WQ=uW;28.7q=0}1i{28.1w="3M";28.7q=(WR-7q)%8m}o.3J(28)}1b 1},9O=1a(1s,5K){J[0]=J.1s=1s;1s.4a=1l;J.id=R.uM++;1s.uN=J.id;J.X=0;J.Y=0;J.2c={};J.2v=5K;J.4t=R.4t();J.1U={3A:[],sx:1,sy:1,dx:0,dy:0,4n:0,82:1,fs:1};!5K.4J&&(5K.4J=J);J.3Q=5K.1O;5K.1O&&(5K.1O.3k=J);5K.1O=J;J.3k=1c};K 3d=R.el;9O.2W=3d;3d.4U=9O;3d.3A=1a(aC){if(aC==1c){1b J.1U.3A}K h2=J.2v.Ne,Ml=h2?"s"+[h2.8h,h2.8h]+"-1-1t"+[h2.dx,h2.dy]:E,rB;if(h2){rB=aC=3Z(aC).3h(/\\.{3}|\\vp/g,J.1U.3A||E)}R.vs(J,Ml+aC);K 4t=J.4t.5P(),87=J.87,o=J.1s,3u,uZ=~3Z(J.2c.28).4S("-"),Ma=!3Z(J.2c.28).4S("5c(");4t.fH(1,1);if(Ma||(uZ||J.1w=="8P")){87.4t="1 0 0 1";87.2y="0 0";3u=4t.3u();if(uZ&&3u.LZ||!3u.v7){o.3b.4p=4t.M3();K bb=J.6y(),v8=J.6y(1),dx=bb.x-v8.x,dy=bb.y-v8.y;o.j4=dx*-6C+S+dy*-6C;mK(J,1,1,dx,dy,0)}1i{o.3b.4p=E;mK(J,3u.f0,3u.eN,3u.dx,3u.dy,3u.5t)}}1i{o.3b.4p=E;87.4t=3Z(4t);87.2y=4t.2y()}rB&&(J.1U.3A=rB);1b J};3d.5t=1a(4n,cx,cy){if(J.5e){1b J}if(4n==1c){1b}4n=3Z(4n).3u(5s);if(4n.1e-1){cx=3B(4n[1]);cy=3B(4n[2])}4n=3B(4n[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2Y=J.6y(1);cx=2Y.x+2Y.1r/2;cy=2Y.y+2Y.1y/2}J.1U.fs=1;J.3A(J.1U.3A.3y([["r",4n,cx,cy]]));1b J};3d.fH=1a(dx,dy){if(J.5e){1b J}dx=3Z(dx).3u(5s);if(dx.1e-1){dy=3B(dx[1])}dx=3B(dx[0])||0;dy=+dy||0;if(J.1U.2Y){J.1U.2Y.x+=dx;J.1U.2Y.y+=dy}J.3A(J.1U.3A.3y([["t",dx,dy]]));1b J};3d.8h=1a(sx,sy,cx,cy){if(J.5e){1b J}sx=3Z(sx).3u(5s);if(sx.1e-1){sy=3B(sx[1]);cx=3B(sx[2]);cy=3B(sx[3]);aY(cx)&&(cx=1c);aY(cy)&&(cy=1c)}sx=3B(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2Y=J.6y(1)}cx=cx==1c?2Y.x+2Y.1r/2:cx;cy=cy==1c?2Y.y+2Y.1y/2:cy;J.3A(J.1U.3A.3y([["s",sx,sy,cx,cy]]));J.1U.fs=1;1b J};3d.3K=1a(){!J.5e&&(J.1s.3b.5q="3t");1b J};3d.5d=1a(){!J.5e&&(J.1s.3b.5q=E);1b J};3d.ly=1a(){if(J.5e){1b{}}1b{x:J.X+(J.rK||0)-J.W/2,y:J.Y-J.H,1r:J.W,1y:J.H}};3d.3w=1a(){if(J.5e||!J.1s.3o){1b}J.2v.6M&&J.2v.6M.vj(J);R.2R.7V("4a.*.*."+J.id);R.vh(J,J.2v);J.1s.3o.7h(J.1s);J.cN&&J.cN.3o.7h(J.cN);1o(K i in J){J[i]=2N J[i]=="1a"?R.mc(i):1c}J.5e=1l};3d.1k=1a(1z,1m){if(J.5e){1b J}if(1z==1c){K 1A={};1o(K a in J.2c){if(J.2c[3p](a)){1A[a]=J.2c[a]}}1A.3M&&(1A.28=="3t"&&((1A.28=1A.3M)&&3W 1A.3M));1A.3A=J.1U.3A;1b 1A}if(1m==1c&&R.is(1z,"4e")){if(1z==g9&&(J.2c.28=="3t"&&J.2c.3M)){1b J.2c.3M}K 7o=1z.3u(5s),2m={};1o(K i=0,ii=7o.1e;i<ii;i++){1z=7o[i];if(1z in J.2c){2m[1z]=J.2c[1z]}1i{if(R.is(J.2v.8J[1z],"1a")){2m[1z]=J.2v.8J[1z].Mj}1i{2m[1z]=R.jO[1z]}}}1b ii-1?2m:2m[7o[0]]}if(J.2c&&(1m==1c&&R.is(1z,"3L"))){2m={};1o(i=0,ii=1z.1e;i<ii;i++){2m[1z[i]]=J.1k(1z[i])}1b 2m}K 1v;if(1m!=1c){1v={};1v[1z]=1m}1m==1c&&(R.is(1z,"1C")&&(1v=1z));1o(K 1q in 1v){2R("4a.1k."+1q+"."+J.id,J,1v[1q])}if(1v){1o(1q in J.2v.8J){if(J.2v.8J[3p](1q)&&(1v[3p](1q)&&R.is(J.2v.8J[1q],"1a"))){K 8I=J.2v.8J[1q].3c(J,[].3y(1v[1q]));J.2c[1q]=1v[1q];1o(K bB in 8I){if(8I[3p](bB)){1v[bB]=8I[bB]}}}}if(1v.1Z&&J.1w=="1Z"){J.cz.4e=1v.1Z}dB(J,1v)}1b J};3d.Md=1a(){!J.5e&&J.1s.3o.3J(J.1s);J.2v&&(J.2v.1O!=J&&R.uO(J,J.2v));1b J};3d.Mf=1a(){if(J.5e){1b J}if(J.1s.3o.7w!=J.1s){J.1s.3o.7a(J.1s,J.1s.3o.7w);R.uF(J,J.2v)}1b J};3d.eJ=1a(1g){if(J.5e){1b J}if(1g.4U==R.st.4U){1g=1g[1g.1e-1]}if(1g.1s.k5){1g.1s.3o.7a(J.1s,1g.1s.k5)}1i{1g.1s.3o.3J(J.1s)}R.uI(J,1g,J.2v);1b J};3d.7a=1a(1g){if(J.5e){1b J}if(1g.4U==R.st.4U){1g=1g[0]}1g.1s.3o.7a(J.1s,1g.1s);R.uL(J,1g,J.2v);1b J};3d.4Q=1a(56){K s=J.1s.WV,f=s.4p;f=f.3h(ME,E);if(+56!==0){J.2c.4Q=56;s.4p=f+S+ms+".N2(Wa="+(+56||1.5)+")";s.iM=R.6z("-{0}px 0 0 -{0}px",4L(+56||1.5))}1i{s.4p=f;s.iM=0;3W J.2c.4Q}1b J};R.4C.1G=1a(8y,5K){K el=cS("cN");el.3b.g7=ws;el.qB=6C+S+6C;el.j4=5K.j4;K p=1S 9O(el,5K),1k={28:"3t",1Y:"#cP"};8y&&(1k.1G=8y);p.1w="1G";p.1G=[];p.lz=E;dB(p,1k);5K.1V.3J(el);K 87=cS("87");87.on=1l;el.3J(87);p.87=87;p.3A(E);1b p};R.4C.4m=1a(5K,x,y,w,h,r){K 1G=R.wl(x,y,w,h,r),1A=5K.1G(1G),a=1A.2c;1A.X=a.x=x;1A.Y=a.y=y;1A.W=a.1r=w;1A.H=a.1y=h;a.r=r;a.1G=1G;1A.1w="4m";1b 1A};R.4C.az=1a(5K,x,y,rx,ry){K 1A=5K.1G(),a=1A.2c;1A.X=x-rx;1A.Y=y-ry;1A.W=rx*2;1A.H=ry*2;1A.1w="az";dB(1A,{cx:x,cy:y,rx:rx,ry:ry});1b 1A};R.4C.9m=1a(5K,x,y,r){K 1A=5K.1G(),a=1A.2c;1A.X=x-r;1A.Y=y-r;1A.W=1A.H=r*2;1A.1w="9m";dB(1A,{cx:x,cy:y,r:r});1b 1A};R.4C.8P=1a(5K,4b,x,y,w,h){K 1G=R.wl(x,y,w,h),1A=5K.1G(1G).1k({1Y:"3t"}),a=1A.2c,1s=1A.1s,28=1s.c8(g9)[0];a.4b=4b;1A.X=a.x=x;1A.Y=a.y=y;1A.W=a.1r=w;1A.H=a.1y=h;a.1G=1G;1A.1w="8P";28.3o==1s&&1s.7h(28);28.5t=1l;28.4b=4b;28.1w="Nc";1A.1U.bY=[x,y];1A.1U.gE=[w,h];1s.3J(28);mK(1A,1,1,0,0,0);1b 1A};R.4C.1Z=1a(5K,x,y,1Z){K el=cS("cN"),1G=cS("1G"),o=cS("cz");x=x||0;y=y||0;1Z=1Z||"";1G.v=R.6z("m{0},{1}l{2},{1}",4L(x*6C),4L(y*6C),4L(x*6C)+1);1G.Wh=1l;o.4e=3Z(1Z);o.on=1l;el.3b.g7=ws;el.qB=6C+S+6C;el.j4="0 0";K p=1S 9O(el,5K),1k={28:"#cP",1Y:"3t",2M:R.jO.2M,1Z:1Z};p.cN=el;p.1G=1G;p.cz=o;p.1w="1Z";p.2c.1Z=3Z(1Z);p.2c.x=x;p.2c.y=y;p.2c.w=1;p.2c.h=1;dB(p,1k);el.3J(o);el.3J(1G);5K.1V.3J(el);K 87=cS("87");87.on=1l;el.3J(87);p.87=87;p.3A(E);1b p};R.4C.ka=1a(1r,1y){K cs=J.1V.3b;J.1r=1r;J.1y=1y;1r==+1r&&(1r+="px");1y==+1y&&(1y+="px");cs.1r=1r;cs.1y=1y;cs.68="4m(0 "+1r+" "+1y+" 0)";if(J.fI){R.4C.fD.3c(J,J.fI)}1b J};R.4C.fD=1a(x,y,w,h,b5){R.2R("4a.fD",J,J.fI,[x,y,w,h,b5]);K 1r=J.1r,1y=J.1y,56=1/ 4R(w /1r,h/1y),H,W;if(b5){H=1y/h;W=1r/w;if(w*H<1r){x-=(1r-w*H)/ 2 /H}if(h*W<1y){y-=(1y-h*W)/ 2 /W}}J.fI=[x,y,w,h,!!b5];J.Ne={dx:-x,dy:-y,8h:56};J.8R(1a(el){el.3A("...")});1b J};K cS;R.4C.sg=1a(5p){K 2Z=5p.2P;2Z.We().Wf(".jz","Nb:5c(#5u#hM)");7j{!2Z.9f.jz&&2Z.9f.51("jz","N7:Na-N9-wh:5K");cS=1a(6j){1b 2Z.c7("<jz:"+6j+\' 2B="jz">\')}}7m(e){cS=1a(6j){1b 2Z.c7("<"+6j+\' N8="N7:Na-N9.wh:5K" 2B="jz">\')}}};R.4C.sg(R.7v.5p);R.4C.7R=1a(){K a0=R.wF.3c(0,2q),4c=a0.4c,1y=a0.1y,s,1r=a0.1r,x=a0.x,y=a0.y;if(!4c){9B 1S 98("hM 4c 5U 8O.")}K 1A=1S R.wL,c=1A.1V=R.7v.2Z.c7("2G"),cs=c.3b;x=x||0;y=y||0;1r=1r||ML;1y=1y||MK;1A.1r=1r;1A.1y=1y;1r==+1r&&(1r+="px");1y==+1y&&(1y+="px");1A.qB=6C*9b+S+6C*9b;1A.j4="0 0";1A.2A=R.7v.2Z.c7("2A");1A.2A.3b.g7="2I:8n;2b:-jw;1O:-jw;MJ:0;iM:0;bl-1y:1;";c.3J(1A.2A);cs.g7=R.6z("1O:0;2b:0;1r:{0};1y:{1};5q:MG-71;2I:nO;68:4m(0 {0} {1} 0);gM:79",1r,1y);if(4c==1){R.7v.2Z.3S.3J(c);cs.2b=x+"px";cs.1O=y+"px";cs.2I="8n"}1i{if(4c.7w){4c.7a(c,4c.7w)}1i{4c.3J(c)}}1A.qJ=1a(){};1b 1A};R.2W.aQ=1a(){R.2R("4a.aQ",J);J.1V.nC=E;J.2A=R.7v.2Z.c7("2A");J.2A.3b.g7="2I:8n;2b:-jw;1O:-jw;MJ:0;iM:0;bl-1y:1;5q:MG;";J.1V.3J(J.2A);J.4J=J.1O=1c};R.2W.3w=1a(){R.2R("4a.3w",J);J.1V.3o.7h(J.1V);1o(K i in J){J[i]=2N J[i]=="1a"?R.mc(i):1c}1b 1l};K 6Y=R.st;1o(K 46 in 3d){if(3d[3p](46)&&!6Y[3p](46)){6Y[46]=1a(ey){1b 1a(){K 4i=2q;1b J.8R(1a(el){el[ey].3c(el,4i)})}}(46)}}})();qc.wy?g.5p.aN=R:aN=R;1b R});K NV=1a(vG){J.3q=1c;J.w0=1c;J.bg=1c;J.bl=1c;J.w7=1c;J.2H=1c;J.w8=1c;J.4z=1c;J.1C=1c;J.6p=1c;J.wz=1a(vG){};J.wz(vG)};1a 6y(1u){K 54={x:0,y:0,1r:0,1y:0};if(!1u.1e){1b 54}K o=1u[0];1a qk(1g,MU){54={x:0,y:0,1r:1g.lF,1y:1g.qf};47(1g){if(1g.id==MU){1p}54.x+=1g.8q-1g.4Z+1g.iu;54.y+=1g.9r-1g.5b+1g.iw;1g=1g.ed}1b 54}if(o.6j=="TR"){54=qk(o,"qb-ui-1V")}1i{if(o.6j=="KR"){54=qk(o,"qb-ui-1V")}1i{if(o.6j=="W8"){54=qk(o,"qb-ui-1V")}}}1b 54}1a dS(x){1b 3F.4L(x*9b)/9b}1a MA(fV,fU){K MT=20;K p1=[{x:fV.x,y:fV.y+fV.1y/ 2}, {x:fV.x + fV.1r, y:fV.y + fV.1y /2}];K p2=[{x:fU.x,y:fU.y+fU.1y/ 2}, {x:fU.x + fU.1r, y:fU.y + fU.1y /2}];K d=[],mg=[];1o(K i1=0;i1<p1.1e;i1++){1o(K i2=0;i2<p2.1e;i2++){K dx=3F.4f(p1[i1].x-p2[i2].x);K dy=3F.4f(p1[i1].y-p2[i2].y);K 66=dx*dx+dy*dy;mg.1D(66);d.1D({i1:i1,i2:i2})}}K 1A={i1:0,i2:0};K qp=-1;K 61=-1;1o(K i=0;i<mg.1e;i++){if(61==-1||mg[i]<61){61=mg[i];qp=i}}if(qp>0){1A=d[qp]}K x1=p1[1A.i1].x,y1=p1[1A.i1].y,x4=p2[1A.i2].x,y4=p2[1A.i2].y,y2=y1,y3=y4;K dx=3F.4v(3F.4f(x1-x4)/2,MT);K x2=[x1-dx,x1+dx][1A.i1];K x3=[x4-dx,x4+dx][1A.i2];1b{x1:dS(x1),y1:dS(y1),x2:dS(x2),y2:dS(y2),x3:dS(x3),y3:dS(y3),x4:dS(x4),y4:dS(y4)}}1a W9(54,Mv){K R=aN==1c?d8:aN;K 4A=54;if(R.is(54,"1a")){1b Mv?4A():2R.on("4a.ia",4A)}1i{if(R.is(4A,1l)){1b R.4C.7R[54](R,4A.5f(0,3+R.is(4A[0],1c))).51(4A)}1i{K 2f=44.2W.3D.2u(2q,0);if(R.is(2f[2f.1e-1],"1a")){K f=2f.d7();1b 4A?f.2u(R.4C.7R[54](R,2f)):2R.on("4a.ia",1a(){f.2u(R.4C.7R[54](R,2f))})}1i{1b R.4C.7R[54](R,2q)}}}}aN.fn.BS=1a(1W){if(!1W.4X||!1W.4Y){1b 1j}if(!1W.4X.2i||!1W.4Y.2i){1b 1j}if(!1W.4X.2i.1g||!1W.4Y.2i.1g){1b 1j}K 7x=1W.6p;K vB=8;K 3q=7x.3q;K NJ=1W.4X.4E;K NX=1W.4Y.4E;1a vI(1W){K dJ=6y(1W.2i.1g);if(1W.1M){K e0=6y(1W.1M.1g);dJ.x=e0.x-1;dJ.1r=e0.1r+2;if(dJ.y<e0.y){dJ.y=e0.y}1i{if(dJ.y>e0.y+e0.1y-dJ.1y){dJ.y=e0.y+e0.1y-dJ.1y}}}1b dJ}K Mp=vI(1W.4X);K Mq=vI(1W.4Y);K 7r=MA(Mp,Mq);K vy=7r.x1<7r.x2?1:-1;K w2=7r.x4<7r.x3?1:-1;K 1G=["M",7r.x1,7r.y1,"L",7r.x1+vB*vy,7r.y1,"C",7r.x2,7r.y2,7r.x3,7r.y3,7r.x4+vB*w2,7r.y4,"L",7r.x4,7r.y4].4G(",");7x.2H=om(7x.2H,NX,3q,7r.x1,7r.y1,vy);7x.4z=om(7x.4z,NJ,3q,7r.x4,7r.y4,w2);if(7x.1G=1G&&(7x.bl&&7x.bg)){7x.bg.1k({1G:1G});7x.bl.1k({1G:1G});$(7x.bg.1s).2t("1W-3l")}1b 1l};aN.fn.BS;aN.fn.Ko=1a(1u,1k){K 1W=1S NV;1W.3q=1k.3u("|")[0]||"#NU";1W.w0=1k.3u("|")[1]||3;1W.NM=15;1W.bl=J.1G("M,0,0").1k({1Y:1W.3q,28:"3t","1Y-1r":1W.w0,"1Y-cC":"4L","1Y-hv":"4L"});1W.bg=J.1G("M,0,0").1k({1Y:1W.3q,28:"3t","1Y-1r":1W.NM,"1Y-2K":0.NO});1W.w7=1u.4Y.4E;1W.2H=om(1c,1W.w7,1W.3q);1W.w8=1u.4X.4E;1W.4z=om(1c,1W.w8,1W.3q);1W.1C=1u;1b 1W};1a om(1u,1w,3q,x,y,d){if(!x){x=0}if(!y){y=0}if(!d){d=1}K rl=1j;if(1u!=1c&&1u.1s){3s(1w){1n 1Q.7y.cH:rl=1u.1s.8C!="9m";1p;1n 1Q.7y.du:rl=1u.1s.8C!="1G";1p}}if(rl){if(1u&&1u.3w){1u.3w()}1u=1c}if(1u==1c){3s(1w){1n 1Q.7y.cH:1u=QB.1d.2e.r.9m(0,0,5);1u.1k({28:3q,"1Y-1r":0});1p;1n 1Q.7y.du:1u=QB.1d.2e.r.1G("M,0,0");1u.1k({28:3q,"1Y-1r":0});1p}}3s(1w){1n 1Q.7y.cH:1u.1k({cx:x,cy:y});1p;1n 1Q.7y.du:K dx=8;K dy=5;K 1G=["M",x,y,"L",x,y+1,x+dx*d,y+dy,x+dx*d,y-dy,x,y-1,"Z"].4G(",");1u.1k({1G:1G});1p}1b 1u};K NI=1l;1a Wt(1C,1H,7F){if(2N 1C.bA!="2O"){1C.bA(1H,7F,1j)}1i{if(2N 1C.gw!="2O"){1C.gw("on"+1H,7F)}1i{9B"Nz qZ"}}}1a Wu(1C,1H,7F){if(2N 1C.o0!="2O"){1C.o0(1H,7F,1j)}1i{if(2N 1C.vV!="2O"){1C.vV("on"+1H,7F)}1i{9B"Nz qZ"}}}1a Wr(fn){K 2p=3N.bA||3N.gw?3N:2P.bA?2P:2P.1L||1c;if(2p){if(2p.bA){2p.bA("vU",fn,1j)}1i{if(2p.gw){2p.gw("gs",fn)}}}1i{if(2N 3N.gs=="1a"){K 8p=3N.gs;3N.gs=1a(){8p();fn()}}1i{3N.gs=fn}}}K u4=[];K vS=1j;1a Wx(fn){if(!vS){u4.1D(fn)}1i{fn()}}1a O4(){vS=1l;1o(K i=0;i<u4.1e;i++){u4[i]()}};K O9=0;if(!44.4S){44.2W.4S=1a(1u){1o(K i=0;i<J.1e;i++){if(J[i]==1u){1b i}}1b-1}}3O={sQ:1a(){1b++O9},3r:1a(1u){if(1u==2O||1u==1c){1b""}1b 1u.3r()}};3O.iV=1a(4b,9P){K p,v;1o(p in 4b){if(2N 4b[p]==="1a"){9P[p]=4b[p]}1i{v=4b[p];9P[p]=v}}1b 9P};3O.KP=1a(4b,9P){K p,v;1o(p in 4b){if(9P[p]===2O){aH}if(2N 4b[p]==="1a"){9P[p]=4b[p]}1i{v=4b[p];9P[p]=v}}1b 9P};3O.yc=1a($1g,3x){if($1g.1e&&!1K(3x)){$1g.1k("5y-3x",3x.3h(/&2r;/g," ").3h(/&xK;/g,"&"))}};3O.Og=1a(4b,9P){K p,v;1o(p in 4b){if(2N 4b[p]==="1a"){9P[p]=4b[p]}1i{if(4b.7Z(p)){v=4b[p];if(v&&"1C"===2N v){9P[p]=3O.NW(v)}1i{9P[p]=v}}}}1b 9P};3O.NW=1a(o){if(!o||"1C"!==2N o){1b o}K c=o dQ 44?[]:{};1b 3O.Og(o,c)};3O.Wl=1a(el,1L){K 1J={2b:el.4Z,1r:el.Bd,1O:el.5b,1y:el.tu};1J.7P=1J.1r-1J.2b;1J.4J=1J.1y-1J.1O;if(1L){1J=3O.uK(1J,1L)}1b 1J};3O.eW=1a(el,1L){K r=el.vX();K 1J={2b:r.2b,7P:r.7P,1O:r.1O,4J:r.4J};if(!r.1r){1J.1r=r.7P-r.2b}1i{1J.1r=r.1r}if(!r.1y){1J.1y=r.4J-r.1O}1i{1J.1y=r.1y}if(1L){1J=3O.uK(1J,1L)}1b 1J};3O.uK=1a(r,p){1b{2b:r.2b-p.2b,1O:r.1O-p.1O,7P:r.7P-p.2b,4J:r.4J-p.1O,1y:r.1y,1r:r.1r}};3O.Wm=1a(3R){K 4v=0;$(3R).2g(1a(){4v=3F.4v(4v,$(J).1y())}).1y(4v)};3O.Wp=1a(3R){K 4v=0;$(3R).2g(1a(){4v=3F.4v(4v,$(J).1r())}).1r(4v)};3O.Wn=1a(1u){if(1u){if(2N 1u=="4e"){if(1u!=""){1b 1u}}}1b""};3O.9M=1a(oE,1u){if(1u){if(2N 1u=="4e"){if(1u!=""){oE.1D(1u)}}}};2w.fn.bi=1a(1m){K fJ=J.1k("1w");fJ=1K(fJ)?"":fJ.3P();if(1m===2O){if(fJ=="7U"){1b J[0].3C}1i{if(fJ=="8u"){if(J[0].3C){1b J.1k("1m")}1i{1b 1c}}}1b J.2h()}if(fJ=="7U"){if(1m==1l&&!J.1k("3C")){J.1k("3C","3C")}if(1m!=1l&&J.1k("3C")){J.jv("3C")}if(1m==1l&&!J.6T("3C")){J.6T("3C",1l)}if(1m!=1l&&J.6T("3C")){J.6T("3C",1j)}1b}1i{if(fJ=="8u"){K M7=J.1k("1m");if(M7==1m){J.1k("3C","1l");J[0].3C=1l}1i{J.jv("3C")}1b}1i{K 6j="";if(!1K(J[0])&&!1K(J[0].6j)){6j=J[0].6j}if(6j.3P()=="2n"){J.uf(1K(1m)?"0":1m.3r());1b}}}if(1m==1c){1m=""}J.2h(1m)};2w.fn.X6=1a(nr){if(!J[0]){1b{1O:0,2b:0}}if(J[0]===J[0].w5.3S){1b 2w.2y.XO(J[0])}2w.2y.nq||2w.2y.bK();if(2N nr=="4e"){if(nr!=""){K 1L=J.c0(nr);if(1L.1e){3W 1L}}}1i{K 1L=nr}K 6o=J[0],ed=6o.ed,MX=6o,2Z=6o.w5,fm,dR=2Z.9F,3S=2Z.3S,kp=2Z.kp,nh=kp.uu(6o,1c),1O=6o.9r,2b=6o.8q;47((6o=6o.3o)&&(6o!==3S&&6o!==dR)){fm=kp.uu(6o,1c);1O-=6o.5b,2b-=6o.4Z;if(6o===ed){1O+=6o.9r,2b+=6o.8q;if(2w.2y.XP&&!(2w.2y.XM&&/^t(HF|d|h)$/i.9w(6o.6j))){1O+=6l(fm.yq,10)||0,2b+=6l(fm.yB,10)||0}MX=ed,ed=6o.ed}if(2w.2y.XN&&fm.gM!=="6U"){1O+=6l(fm.yq,10)||0,2b+=6l(fm.yB,10)||0}nh=fm;if($.XS(6o,1L)>=0){1p}}if(nh.2I==="nO"||nh.2I==="vx"){1O+=3S.9r,2b+=3S.8q}if(nh.2I==="vw"){1O+=3F.4v(dR.5b,3S.5b),2b+=3F.4v(dR.4Z,3S.4Z)}1b{1O:1O,2b:2b}};1a XK(6g,vM){if(2q.1e>2){K vK=[];1o(K n=2;n<2q.1e;++n){vK.1D(2q[n])}1b 1a(){1b vM.3c(6g,vK)}}1i{1b 1a(){1b vM.2u(6g)}}}K za=1a(a,b){1b $.4j(a,b,a)};K 1K=1a(1u){if(1u===2O){1b 1l}if(1u==1c){1b 1l}if(1u===""){1b 1l}1b 1j};K i9=1a(7f){if(!1K(7f)){1b 7f.3P()}1b 7f};K XL=1a(7f){if(!1K(7f)){1b 7f.8l()}1b 7f};K 2r=1a(1u){if(1u===2O){1b""}if(1u==1c){1b""}if(1u==""){1b""}1b 1u.3h(/ /g,"&2r;")};1a MI(ee,e9,e8){1b 1a(a,b){if(!1K(ee)&&a[ee]<b[ee]){1b-1}if(!1K(ee)&&a[ee]>b[ee]){1b 1}if(!1K(e9)&&a[e9]<b[e9]){1b-1}if(!1K(e9)&&a[e9]>b[e9]){1b 1}if(!1K(e8)&&a[e8]<b[e8]){1b-1}if(!1K(e8)&&a[e8]>b[e8]){1b 1}1b 0}}44.2W.t4=1a(ee,e9,e8){1b J.fW(MI(ee,e9,e8))};K fF=1a(a,b){if(1K(a)&&1K(b)){1b 1l}if(1K(a)||1K(b)){1b 1j}1b a.3P()==b.3P()};3O.r0=1a(a,b){if(1K(a)&&1K(b)){1b 1l}1b a==b};1a 4j(nY,4k){K F=1a(){};F.2W=4k.2W;nY.2W=1S F;nY.2W.4U=nY;nY.XJ=4k.2W}1a XU(MM,9Z){1o(K 46 in 9Z){MM.2W[46]=9Z[46]}}5m.2W.6z=1a(6z){K ts="";K 3h=5m.kz;1o(K i=0;i<6z.1e;i++){K te=6z.bR(i);if(3h[te]){ts+=3h[te].2u(J)}1i{ts+=te}}1b ts};5m.kz={O0:["Y6","Y7","Y5","Ya","Me","Yb","Y8","Y9","XY","XZ","XV","XW"],O3:["Y2","Y3","Y0","Y1","Me","Xf","Xg","Xl","Xm","Xk","X9","Xa"],O8:["X7","Xc","Xn","Xy","Xx","XC","XD"],O6:["XB","Xq","Xo","Xp","Xu","Xv","Xs"],d:1a(){1b(J.ea()<10?"0":"")+J.ea()},D:1a(){1b 5m.kz.O8[J.tS()]},j:1a(){1b J.ea()},l:1a(){1b 5m.kz.O6[J.tS()]},N:1a(){1b J.tS()+1},S:1a(){1b J.ea()%10==1&&J.ea()!=11?"st":J.ea()%10==2&&J.ea()!=12?"nd":J.ea()%10==3&&J.ea()!=13?"rd":"th"},w:1a(){1b J.tS()},z:1a(){1b"g1 l6 gh"},W:1a(){1b"g1 l6 gh"},F:1a(){1b 5m.kz.O3[J.k1()]},m:1a(){1b(J.k1()<9?"0":"")+(J.k1()+1)},M:1a(){1b 5m.kz.O0[J.k1()]},n:1a(){1b J.k1()+1},t:1a(){1b"g1 l6 gh"},L:1a(){1b J.l7()%4==0&&J.l7()%100!=0||J.l7()%lf==0?"1":"0"},o:1a(){1b"g1 gh"},Y:1a(){1b J.l7()},y:1a(){1b(""+J.l7()).7e(2)},a:1a(){1b J.fR()<12?"am":"pm"},A:1a(){1b J.fR()<12?"AM":"PM"},B:1a(){1b"g1 l6 gh"},g:1a(){1b J.fR()%12||12},G:1a(){1b J.fR()},h:1a(){1b((J.fR()%12||12)<10?"0":"")+(J.fR()%12||12)},H:1a(){1b(J.fR()<10?"0":"")+J.fR()},i:1a(){1b(J.Ni()<10?"0":"")+J.Ni()},s:1a(){1b(J.Ng()<10?"0":"")+J.Ng()},e:1a(){1b"g1 l6 gh"},I:1a(){1b"g1 gh"},O:1a(){1b(-J.eC()<0?"-":"+")+(3F.4f(J.eC()/ 60) < 10 ? "0" : "") + 3F.4f(J.eC() /60)+"Ux"},P:1a(){1b(-J.eC()<0?"-":"+")+(3F.4f(J.eC()/ 60) < 10 ? "0" : "") + 3F.4f(J.eC() /60)+":"+(3F.4f(J.eC()%60)<10?"0":"")+3F.4f(J.eC()%60)},T:1a(){K m=J.k1();J.NP(0);K 1J=J.Uy().3h(/^.+ \\(?([^\\)]+)\\)?$/,"$1");J.NP(m);1b 1J},Z:1a(){1b-J.eC()*60},c:1a(){1b J.6z("Y-m-d")+"T"+J.6z("H:i:sP")},r:1a(){1b J.3r()},U:1a(){1b J.NE()/9b}};2w.fn.4M=1a(1w,1f,fn,bo){if(2N 1w==="1C"){1o(K 1q in 1w){J.2E(1q,1f,1w[1q],fn)}1b J}if(2w.eB(1f)){bo=fn;fn=1f;1f=2O}fn=bo===2O?fn:2w.1H.J0(fn,bo);1b 1w==="UD"?J.LV(1w,1f,fn,bo):J.2g(1a(){2w.1H.51(J,1w,fn,1f)})};2w.fn.UE=1a(1w,1f,fn,bo){if(2w.eB(1f)){if(fn!==2O){bo=fn}fn=1f;1f=2O}2w(J.3l).2E(UB(1w,J.3R),{1f:1f,3R:J.3R,UC:1w},fn,bo);1b J};2w.1H.J0=1a(fn,9L,bo){if(9L!==2O&&!2w.eB(9L)){bo=9L;9L=2O}9L=9L||1a(){1b fn.3c(bo!==2O?bo:J,2q)};9L.7s=fn.7s=fn.7s||(9L.7s||J.7s++);1b 9L};44.2W.3w=1a(2s,to){if(2N 2s=="1C"){2s=J.4S(2s)}J.5f(2s,!to||1+to-2s+(!(to<0^2s>=0)&&(to<0||-1)*J.1e));1b J.1e};K J2={"&":"&xK;","<":"&lt;",">":"&gt;",\'"\':"&Ur;","\'":"&#39;","/":"&#Us;"};Iz=1a(s){if(1K(s)){1b s}1b(s+"").3h(/[&<>"\'\\/]/g,1a(s){1b J2[s]})};if(!4D.7X){4D.7X=1a(){K 7Z=4D.2W.7Z,J8=!{3r:1c}.sS("3r"),uq=["3r","ve","IW","7Z","IX","sS","4U"],Jb=uq.1e;1b 1a(1u){if(2N 1u!=="1C"&&(2N 1u!=="1a"||1u===1c)){9B 1S Uq("4D.7X v6 on Uv-1C")}K 1J=[],6T,i;1o(6T in 1u){if(7Z.2u(1u,6T)){1J.1D(6T)}}if(J8){1o(i=0;i<Jb;i++){if(7Z.2u(1u,uq[i])){1J.1D(uq[i])}}}1b 1J}}()};QB={};QB.1d={};QB.1d.2S={};QB.1d.2d={};if(2N cK=="2O"){cK={k4:1a(){},zy:1a(){}}}K Uw=1l;3V={9J:0,gq:[],Ax:[],kd:"",uV:{},7N:1c,2e:{gj:[],70:[]},2D:{b8:[]},bL:1c,3g:1c,aF:1c,aI:{2Q:[],uy:0},cu:"",8Y:1c,Ja:[],h9:1c,fj:{},eO:1c,eR:1j,rW:1j,Jw:1j,Jv:1j,fz:[],gk:1c,8Z:1c,wj:1j,Aw:1c,9e:1c,jo:1c,gC:{},7I:1c,7g:1c,IR:1a(){J.kd="";J.uV={};J.7N=1c;J.ic=1c;J.2e={gj:[],70:[]};J.2D={b8:[]};J.gq=[];J.Ax=[];J.aI={2Q:[],uy:0};J.7g=1c;J.aF=1c;J.cu="";J.8Y=1c;J.Ja=[];J.eO=1c;J.fj={};J.gC={};J.7I=1c}};hh=1S 6d({dA:{},2E:1a(1H,1X,3l){J.dA||(J.dA={});K 4w=J.dA[1H]||(J.dA[1H]=[]);4w.1D({1X:1X,3l:3l,95:3l||J});1b J},29:1a(1H){if(!J.dA){1b J}K 2f=44.2W.3D.2u(2q,1);K 4w=J.dA[1H];K va=J.dA.6n;if(4w){J.vo(1H,4w,2f)}if(va){J.vo(1H,va,2q)}1b J},vo:1a(1H,4w,2f){K ev,i=-1,l=4w.1e,a1=2f[0],a2=2f[1],a3=2f[2];3s(2f.1e){1n 0:47(++i<l){(ev=4w[i]).1X.2u(ev.95,1H)}1b;1n 1:47(++i<l){(ev=4w[i]).1X.2u(ev.95,1H,a1)}1b;1n 2:47(++i<l){(ev=4w[i]).1X.2u(ev.95,1H,a1,a2)}1b;1n 3:47(++i<l){(ev=4w[i]).1X.2u(ev.95,1H,a1,a2,a3)}1b;5u:47(++i<l){(ev=4w[i]).1X.3c(ev.95,[1H].3y(2f))}1b}},bK:1a(){}});J7=1S 6d({bc:hh,2j:{6A:"6A"}});J6=1S 6d({bc:hh,2j:{6A:"6A"}});IK=1S 6d({bc:hh,2j:{mN:"mN",6A:"6A"}});IJ=1S 6d({bc:hh,2j:{6A:"6A"}});IL=1S 6d({bc:hh,2j:{6A:"6A"}});JG=1S 6d({bc:hh,9e:1S J7,2e:1S J6,2D:1S IJ,7I:1S IL,cE:1S IK,2j:{rI:"rI",6A:"6A",wm:"wm",rC:"rC",wk:"wk",wc:"wc",rs:"rs",rv:"rv",ru:"ru",xO:"xO"},3V:3V,jo:1c,cu:"",8Z:{},h9:1c,8Y:1c,gk:1c,eO:1c,7N:"",ic:"",rE:"",bL:"",nT:1j,3g:1c,aK:1j,aX:0,aI:[],eR:1j,oV:1j,9J:0,bK:1a(){J.IU=$.gP(J.Jz,tJ,J);J.JA=$.gP(J.IF,9b,J)},rJ:1a(1X){K me=J;if(J.aX<0){J.aX=0}if(J.aX>0){6t(1a(){me.rJ(1X)},100);1b}1b me.5i(1X)},IF:1a(1X){J.5i(1X,1l)},5i:1a(1X,IE){if(!QB.1d.2l.oV&&IE){1b}QB.1d.2l.oV=1j;K me=J;if(J.aX<0){J.aX=0}K cr=J.9J++;J.3V.9J=cr;J.3V.bL=J.bL;J.3V.3g=J.3g;if(1K(J.3V.2e)){J.3V.2e={}}J.3V.2e.sD={dz:QB.1d.2e.Lt()};QB.1d.5o.lT.2e.gm[cr]={};if(J.3V.2D!=1c&&(J.3V.2D.b8!=1c&&J.3V.2D.b8.1e)){QB.1d.5o.lT.2D.gm[cr]={}}if(J.aI.1e>0){J.3V.aI.uy=J.aI[J.aI.1e-1].Id}J.29(J.2j.rI,J.3V);K 1f=$.gR(J.3V);me.3V.IR();J.aX++;J.IU();$.vk({5c:s3+"?49=MZ",1w:"u8",UK:"eP",UL:"nQ/eP",7T:1j,1f:1f,uR:1a(1f){QB.1d.2l.29(QB.1d.2l.2j.6A,1f);if(1X&&7t(1X)=="1a"){1X(1f)}me.ih(1f)},9p:1a(MV,MO,U2){if(!nB){e6(O5)}},Jy:me.MW});me.eR=1j},83:1a(1X){J.3V.gq.1D("83");J.rJ(1X)},gX:1a(1X){J.3V.gq.1D("gX");J.5i(1X)},mA:1a(1X){J.3V.gq.1D("mA");J.5i(1X)},U3:1a(1X){QB.1d.2l.eR=1l;QB.1d.2l.oV=1l;1b J.JA(1X)},Jz:1a(){J.aX=0;1b},bf:1a(Ju,1H,vn,Jt){if(!1K(vn)){Ju.29(1H,vn,Jt)}},ih:1a(1f){if(1f!=1c&&1f!==2O){K me=J;if(1K(J.bL)){J.bL=1f.bL}if(1K(J.3g)){J.3g=1f.3g}if(1f.Jw||(1K(1f.bL)||J.bL!=1f.bL||(1K(1f.3g)||J.3g!=1f.3g))){if(1f.Jv){q8.U0()}1i{$.vk({5c:3N.q8.59,U1:1j});J.3g=1c;J.3V.7N=QB.1d.2l.ic;J.gX()}1b}J.jo=1f.jo;J.cu=1f.cu;J.8Y=1f.8Y;J.fz=1f.fz;J.8Z=1f.8Z;J.gk=1f.gk;if(!1K(1f.gC)&&4D.7X(1f.gC).1e>0){J.gC=1f.gC}if(!1K(1f.eO)){J.eO=1f.eO}J.bf(J.cE,J.cE.2j.6A,1f.7g);if(!1K(J.cE)&&!J.aK){J.aK=1l;J.cE.29(J.cE.2j.mN,1l)}J.bf(J,J.2j.rC,1f.7N,1f.9J);J.bf(J.7I,J.7I.2j.6A,1f.7I,1f.9J);J.bf(J.2e,J.2e.2j.6A,1f.2e,1f.9J);J.bf(J.2D,J.2D.2j.6A,1f.2D,1f.9J);J.bf(J,J.2j.rs,1f.h9,1f.9J);J.bf(J.9e,J.9e.2j.6A,1f.9e,1f.9J);J.bf(J,J.2j.ru,1f.fj,1f.9J);J.bf(J,J.2j.rv,1f.aI,1f.9J);J.bf(J,J.2j.wm,1f.aF,1f.9J);if(1f.wj!=1c&&1f.wj){J.29(J.2j.wk,1f.7N,1f.9J)}J.bf(J,J.2j.wc,1f.Aw)}J.aX--;J.9e.2j},MD:1a(8X){8X.6X=1l;J.3V.2e.gj.1D(8X)},MC:1a(8X){8X.7M=1l;J.3V.2e.gj.1D(8X)},KT:1a(8X){J.3V.2e.gj.1D(8X)},Mz:1a(1W){1W.6X=1l;J.3V.2e.70.1D(1W)},U6:1a(1W){1W.7M=1l;J.3V.2e.70.1D(1W)},Mo:1a(1W){J.3V.2e.70.1D(1W)},Au:1a(9z){J.3V.7N=9z},U7:1a(2X){1o(K i=0;i<2X.1e;i++){2X[i].6X=1l}QB.1d.2l.3V.2D.b8=QB.1d.2l.3V.2D.b8.3y(2X)},lZ:1a(2X){QB.1d.2l.3V.2D.b8=QB.1d.2l.3V.2D.b8.3y(2X)},U4:1a(2X){1o(K i=0;i<2X.1e;i++){2X[i].7M=1l}QB.1d.2l.3V.2D.b8=QB.1d.2l.3V.2D.b8.3y(2X)}});QB.1d.2l=1S JG;K 1Q={hU:{Cx:0,CA:1,cn:2,Cu:3,Ix:4,U5:5,bJ:6,hR:7},2k:{49:-1,jy:0,1R:1,3f:2,cc:3,af:4,8L:5,6W:6,cX:7,ch:8,81:9,lY:10,2g:1a(1X){1o(K i=-1;i<=9;i++){1X(i,J.ds(i))}1o(K i=0;i<QB.1d.2D.hk;i++){1X(10+i,"xo"+(i+1))}},ds:1a(2h){1o(K 1q in J){if(J[1q]==2h){1b 1q}}1b 1c}},7N:{ot:{xf:0,HK:1,TV:2,2g:1a(1X){1o(K i=0;i<=2;i++){1X(i,J.ds(i))}},ds:1a(2h){1o(K 1q in J){if(J[1q]==2h){1b 1q}}1b 1c}},eI:[" ","TS","TT","TY","TZ","TW","TX"],r3:{o8:"J5",vF:"U8",2g:1a(1X){1X(J.o8,J.ds(J.o8));1X(J.vF,J.ds(J.vF))},ds:1a(2h){if(2h==J.o8){1b"Jf 2J"}1b"Jf Ui"}}},7y:{cH:0,du:1,cL:1a(1u){K Un=1u;if(1u==1Q.7y.cH){1u=1Q.7y.du}1i{1u=1Q.7y.cH}1b 1u}},4D:1a(2T){J.hY={};J.lu="";J.vR="";J.1z="";J.af="";J.1w="";J.Js="";J.Jo=1c;J.id=3O.sQ();if(2T){3O.iV(2T,J)}},Ul:1a(2T){J.1z="Uc";J.Js="U9";J.1w="LO";J.56="4";J.fp="10";J.Ua="1";J.Ug=1j;if(2T){3O.iV(2T,J)}},UX:1a(1u){K 1J=[];if(1u.hY==1Q.hU.cn){3O.9M(1J,1u.vR);3O.9M(1J,1u.lu);3O.9M(1J,1u.1z)}if(1u.hY==1Q.hU.hR){K 1L=1u.1L;if(1L){3O.9M(1J,1L.vR);3O.9M(1J,1L.lu);3O.9M(1J,1L.1z);3O.9M(1J,1u.1z)}}1b 1J.4G(".")},vW:1a(2i,1M){K 1J=[];if(1M){1K(1M.8s)?3O.9M(1J,1M.3T):3O.9M(1J,1M.8s);3O.9M(1J,2i.6L)}1b 1J.4G(".")},VF:1a(1u){if(1u==1c){1b""}K 1J=[];if(1u.hY==1Q.hU.cn){3O.9M(1J,1u.1z)}if(1u.hY==1Q.hU.hR){K 1L=1u.Jo;if(1L){3O.9M(1J,1L.1z);3O.9M(1J,1u.1z)}}1b 1J.4G(".")},Kq:1a(3f,pg,oj,pf,oe){if(3f!=""){1b 3f}K 1J=1Q.vW(pg,oj)+" = "+1Q.vW(pf,oe);1b 1J},ID:1a(){J.5M=[];J.A2=1a(){3W J.5M;J.5M=[]};J.VG=1a(kb){if(!kb.5M){1b}J.A2();K me=J;1o(K i=0;i<kb.5M.1e;i++){J.5M.1D(kb.5M[i])}}}};VD=1S 1Q.ID;QB.1d.2d={};QB.1d.2d.VH=1a(){1b{"gj":1c,"70":1c,"sD":1c}};QB.1d.2d.VI=1a(){1b{"b8":1c}};QB.1d.2d.Ak=1a(){1b{"eI":1c,"8s":1c,"wY":1c,"5Y":[],"8Q":1c,"ha":1j,"3g":1c,"7M":1j,"6X":1j,"bs":1j,"kg":1c,"e2":1c,"9i":0,"69":1c,"I1":1c,"MR":1c,"zk":0,"zh":1c}};QB.1d.2d.Vx=1a(){1b{"8s":1c,"Vy":1c,"6H":1c,"jM":1c,"L5":0,"5J":[],"3g":1c,"3T":1c,"4D":1c,"KW":1l,"tO":1c,"nk":"","Vv":1j,"Cx":1c,"CA":1c,"7M":1j,"6X":1j,"69":1c,"Ld":1c,"yd":1c,"y6":{"Bq":{"7A":1l,"8d":0,"bj":"","cD":""},"Br":{"8d":1,"7A":1l,"bj":"","cD":""},"q9":{"8d":2,"7A":1l,"bj":"","cD":""},"lj":{"sY":1j,"8d":3,"7A":1l,"bj":"","cD":""},"xZ":1j,"e2":0,"xX":1l,"Bp":1j},"kF":[],"bJ":1c,"X":1c,"Y":1c,"AH":1c}};QB.1d.2d.Vw=1a(){1b{"kJ":2,"6H":"","VB":1c,"VC":1c,"tC":1j,"Al":1c,"Vz":1c}};QB.1d.2d.Kj=1a(){1b{"7M":1c,"6X":1c,"4X":1c,"ff":1c,"4Y":1c}};QB.1d.2d.KQ=1a(){1b{"VA":0,"4E":0,"cB":1c,"VL":1c,"aR":1c,"tB":1c}};QB.1d.2d.VW=1a(){1b{"5M":1c,"VX":1c}};QB.1d.2d.Lg=1a(){1b{"VU":1c,"8Q":1c,"Bs":1c,"3g":1c,"ej":1j,"yG":1c,"6L":1c,"tP":1c,"VV":1j,"W1":0,"lg":1j,"Le":1j,"VO":1j,"VP":0,"yH":1c,"VM":0}};QB.1d.2d.Ls=1a(){1b{"6H":1c,"X":1c,"Y":1c,"gf":1c,"gF":1c,"Ly":1c}};QB.1d.2d.mC=1a(){1b{"jb":[],"2Q":1c,"p8":1c,"VN":30,"pE":0,"c5":"","hZ":"","VT":1j,"lz":"","Ks":1j}};QB.1d.2d.KO=1a(){1b{"oF":[],"KA":1c,"3g":"VQ-ww-ww-ww-VR","V8":1c,"4E":0,"KB":1j}};QB.1d.2d.Bf=1a(){1b{"nv":1c,"9u":1c,"ej":1c,"tC":1j}};QB.1d.2d.fj=1a(){1b{"c5":1c,"aF":1c,"MB":1c,"2e":1c,"N6":1c,"fo":1c,"MY":1c,"V9":1c,"cn":1c,"2D":1c}};QB.1d.2d.V6=1a(){1b{"2Q":[]}};QB.1d.2d.HA=1a(){1b{"ck":"HA","6H":1c,"3g":1c,"aF":1c}};QB.1d.2d.Mn=1a(){1b{"2Q":[]}};QB.1d.2d.V7=1a(){1b{"ck":1c,"3T":1c,"aF":1c,"BL":1j,"2Q":[],"3g":1c,"c5":1c}};QB.1d.2d.Vc=1a(){1b{"3g":1c,"eA":1c,"L7":1c,"dz":1j,"Vd":1j,"7A":1l,"6H":1c,"6d":1c,"7N":1c,"Va":1j,"2Q":[]}};QB.1d.2d.A1=1a(){1b{"qC":[],"4E":3,"8W":0,"Vb":1c,"2Q":[],"6w":1c,"7B":0,"5V":1c,"72":1c}};QB.1d.2d.yQ=1a(){1b{"2Q":[],"6w":1c,"7B":0,"5V":1c,"72":1c,"4E":0}};QB.1d.2d.IM=1a(){1b{"4E":1,"2Q":[],"6w":1c,"7B":0,"5V":1c,"72":1c}};QB.1d.2d.Ac=1a(){1b{"4E":3,"8W":0,"2Q":[],"6w":1c,"7B":0,"5V":1c,"72":1c}};QB.1d.2d.Ab=1a(){1b{"4E":2,"aD":1c,"2Q":[],"6w":1c,"7B":0,"5V":1c,"72":1c}};QB.1d.2d.UY=1a(){1b{"3T":1c,"UZ":0,"V5":1,"lG":1}};QB.1d.2d.y6=1a(){1b{"Bq":{"7A":1l,"8d":0,"bj":"","cD":""},"Br":{"8d":1,"7A":1l,"bj":"","cD":""},"q9":{"8d":2,"7A":1l,"bj":"","cD":""},"lj":{"sY":1j,"8d":3,"7A":1l,"bj":"","cD":""},"xZ":1j,"e2":0,"xX":1l,"Bp":1j}};QB.1d.2d.58={"KZ":{"we":"V2&2r;j0","4D":"4D:","8s":"8s:","Ok":"OK","dO":"dO"},"Kp":{"we":"bJ&2r;j0","Vn":"4X&2r;4D","Vt":"4Y&2r;4D","Vr":"bs&2r;93&2r;HM&2r;4X","Vs":"bs&2r;93&2r;HM&2r;4Y","Vi":"4X&2r;6w","Vf":"4Y&2r;6w","Vg":"Vl&2r;8Q","Ok":"OK","dO":"dO"},"Ke":{"we":"Lf&2r;j0","Iq":"Iq","10G":"10x&2r;10w:","Ok":"OK","dO":"dO"},"5r":{"5Y":{"rb":"rb","8Q":"8Q","eI":"eI","8s":"8s","e2":"Io&2r;4E","kg":"Io&2r;10O","ha":"ha","10I":"qI&2r;By","xA":"5Y&2r;1o","qN":"5Y","HR":"Or..."},"oY":"oY","ZZ":"oY&2r;BO","102":"KY&2r;g5&2r;BO","103":"iV&2r;mY&2r;fk","10h":"Cb&2r;mY&2r;iI-pP","10q":"ie&2r;10o","10e":"ie&2r;10d","10c":"ie&2r;up","10f":"ie&2r;cU","108":"hL&2r;1h","107":"109&2r;cO&2r;1h","5J":"5J","Iv":"Iv","10b":"cn","10m":"Cu","10k":"Ix","ZV":"fY","ZO":"Mu&2r;2n&2r;ZP&2r;104&2r;to&2r;106.","105":"mN&2r;uV:&2r;{0}&2r;ZX,&2r;{1}&2r;10v,&2r;{2}&2r;10B.","j0":"j0","hL":"hL","YM":"bs&2r;93","bs":"bs...","93":"93","Ie":"Ie","Ih":"Ih","Ig":"Ig","JK":"JK","YC":"YB&2r;93","YG":"YF&2r;93","Co":"bs&2r;6n&2r;2X&2r;2s&2r;{0}","Mi":"Lf&2r;is&2r;YV,&2r;L9&2r;to&2r;be&2r;YT","Oa":"YX","pF":"pF...","Lh":"Lh","Ln":"Ln","jP":"aF&2r;aU","hR":"hR","ye":"ye","YW":"fo&2r;YP&2r;1M","YO":"fo&2r;Ll&2r;cn&2r;8Q","YS":"fo&2r;Cb&2r;Ll&2r;cn&2r;8Q","YR":"Mm","YQ":"Cb&2r;mY&2r;iI-pP","YA":"iV&2r;mY&2r;fk","Yj":"KY&2r;g5&2r;BO","Yh":"oY","Yf":"oX&2r;5g&2r;g5&2r;Yw&2r;1z&2r;Yv&2r;Yu&2r;in&2r;jA&2r;5H&2r;iI-pP."},"Yx":"en"};QB.1d.2S.Yq={Cx:0,CA:1,4E:2};QB.1d.2S.L5={cn:0,Cu:1,Yo:2,9l:3,L7:4,Zw:5};QB.1d.2S.Zy={fY:0,Zs:1,ZC:2};QB.1d.2S.ZA={cH:0,du:1};QB.1d.2S.ZF={hi:0,ZE:1,ZD:2};QB.1d.2S.x9={hi:0,Im:1,In:2};QB.1d.2S.Z8={Z1:1,Z0:2,l4:3};QB.1d.2S.YZ={Z4:0,Z3:1,Z2:2,kj:3,Zj:4,5m:5,z9:6,Zh:7,Zm:8,3g:9,Zl:10,LO:11,Zk:12,4D:13,Zd:14,Zc:15,5n:16,Lu:17,Zb:18,Zf:19,Ze:20,Zg:21,Zi:22,Z9:23,Z5:25,Z7:26,Zn:27};QB.1d.2S.6G={Jl:0,Jm:1,Jr:2,mj:3,Jq:4,Jk:5,Je:6,A7:7,A8:8,Jc:9,Jd:10,Ji:11,JD:12,Jj:13,Jg:14,JE:15,JF:16,JI:17};QB.1d.2S.6h={fY:0,9u:1,fZ:2,5m:3,kj:4};QB.1d.2S.ZB={fY:0,5n:1,ZJ:2,ZK:3,5m:4,Lu:5,z9:6,kj:7};QB.1d.2S.9U={93:0,qw:1,lP:2,hi:3};QB.1d.2S.xY={hi:0,3T:1,tO:2};K 9o=15;QB.1d.2e={6U:1j,1V:1c,6p:1c,5M:[],4V:[],r:1c,mr:1j,ty:1j,l4:1j,pN:1j,q0:1j,q7:1j,q3:1j,AF:1a(7s){1o(K i=0;i<J.5M.1e;i++){K 1u=J.5M[i];K kb=1u.1f("4s");if(3O.r0(7s,kb.AH)){1b 1u}}1b 1c},zc:1a(ki,kh){1b ki.3g==kh.3g||(ki.6X||kh.6X)&&ki.69==kh.69},zd:1a(ki,kh){1b ki.6H==kh.6H},m9:1a(8t){K 1J=1c;if(1K(8t)){1b 1J}$.2g(J.5M,1a(1P,1u){K 1M=1u.1f("1C");if(fF(1M.8s,8t)||(fF(1M.3T,8t)||(fF(1M.nk,8t)||fF(1M.jM,8t)))){1J=1u;1b 1j}});1b 1J},ZL:1a(jC){if(jC==1c){1b}K 8B=jC.3D();K kq=[];K ko=[];K km=[];K me=J;1o(K i=J.5M.1e-1;i>=0;i--){K 1u=J.5M[i];K ku=1u.1f("1C");K dw=1c;1o(K j=8B.1e-1;j>=0;j--){K 8e=8B[j];if(J.zc(ku,8e)){8B.3w(j);dw=8e;1p}}if(dw==1c){1o(K j=8B.1e-1;j>=0;j--){K 8e=8B[j];if(J.zd(ku,8e)){8B.3w(j);dw=8e;1p}}}if(dw!=1c){ko.1D({1N:8e,5O:1u})}1i{kq.1D(1u)}}$.2g(8B,1a(1P,8e){km.1D(8e)});K bX=1a(1x,5O){K 1u=J.bX(1x,5O);if(5O===2O||5O==1c){1u.4M(QB.1d.77.2j.mH,J.Ai,J);1u.4M(QB.1d.77.2j.mI,J.Aj,J);1u.4M(QB.1d.77.2j.mJ,J.As,J);1u.4M(QB.1d.77.2j.mF,J.iJ,J)}J.3U.8U("mB");1b 1u};K gb=1a(1x,5O,gD){K 1u=J.gb(1x,5O,gD);J.3U.8U("mB");1b 1u};$.2g(ko,1a(1P,1u){gb({1C:1u.1N},1u.5O,1l)});$.2g(kq,1a(1P,1u){J.ss(1u,1l)});$.2g(km,1a(1P,1u){bX({1C:1u})})},gb:1a(1x,5O,gD){K 2y=5O.2y();K p0={};K oZ=1c;if(5O!=1c){K fr=5O.1f("1C");K k9=1x.1C;if(fr&&k9){p0[fr.3g]=k9.3g;oZ=fr.3g;if(fr.5J&&k9.5J){$.2g(fr.5J,1a(i,2i){if(fr.5J[i]&&k9.5J[i]){p0[fr.5J[i].3g]=k9.5J[i].3g}})}}}1x.gD=gD;5O.6r("If",1x);if(oZ){$.2g(QB.1d.2e.70.KN(oZ),1a(i,1W){1W.ok(p0)})}7j{5O.2y(2y)}7m(e){}1b 5O},bX:1a(1x,5O){if(5O==1c){K 7L=$("<2G></2G>");if(J.1V!=1c&&J.1V.1e>0){J.1V.2U(7L)}1i{1x.6U=1j}7L.6r(1x);7L.4M(QB.1d.77.2j.u2,{1u:7L},J.Lx,J);7L.4M(QB.1d.77.2j.tZ,{1u:7L},J.Lr,J);if(!1x.2I&&!1x.92){K 2I=J.LD(7L);7L.8q=2I[0];7L.9r=2I[1];7L.6r("2I",2I)}J.5M.1D(7L);1b 7L}1i{5O.6r("83",1x);1b 5O}},ss:1a(1C,sU){1C.6r("5A",1c,sU)},Lx:1a(e,1f){K 1u=e.1f.1u;K Lw=1u.1f("f9");J.5M.3w(1u);QB.1d.2e.70.KI(Lw)},Lr:1a(e,1f){K 1u=e.1f.1u;J.1V.29(QB.1d.2e.2j.rR,1u)},KK:1a(3g){K 1u=1c;$.2g(J.5M,1a(1P,o){if(o.1f("f9")==3g){1u=o.1f("KU");1b 1j}});1b 1u},KJ:1a(1M,Lq){K 1J=1c;if(1M==1c){1b 1J}$.2g(1M.5h,1a(1P,2i){if(2i.1C.3g==Lq){1J=2i;1b 1j}});1b 1J},KM:1a(1M,8E){K 1J=1c;if(1M==1c){1b 1J}$.2g(1M.5h,1a(1P,2i){if(2i.1C.6L==8E){1J=2i;1b 1j}});1b 1J},Lt:1a(){K 1J=[];$.2g(J.5M,1a(1P,1u){K 1M=1u.1f("1C");if(1M==1c){1b 1l}K l=1S QB.1d.2d.Ls;K p=1u.2I();if(1M.5J){l.Ly=1M.5J.1e}l.6H=1M.6H;l.X=p.2b;l.Y=p.1O;l.gf=1u.6r("2T","1r");if(l.gf=="5T"){l.gf=1c}l.gF=1u.6r("2T","1y");if(l.gF=="5T"){l.gF=1c}1J.1D(l)});1b 1J},Mg:1a(mE){if(mE==1c){1b}if(mE.1e==0){1b}$.2g(J.5M,1a(1P,1u){K 1M=1u.1f("1C");if(1M==1c){1b 1l}K 9q=1c;1o(K 1P=0;1P<mE.1e;1P++){K l=mE[1P];if(l.6H==1M.6H){9q=l;1p}}if(9q!=1c){if(9q.X!=0&&(!1K(9q.X)&&(9q.Y!=0&&!1K(9q.Y)))){1u.6r("2I",[9q.X,9q.Y])}if(9q.gf!=0&&!1K(9q.gf)){1u.6r("2T","1r",9q.gf)}if(9q.gF!=0&&!1K(9q.gF)){1u.6r("2T","1y",9q.gF)}}})},KL:1a(1M){if(1M==1c){1b 1c}1b 1M.dD},LD:1a(7L){K 1r=J.1V.1r();if(1r<fG){1r=sq}K b1=[0,1r];K aV=[0,ZG];K hH=[];K ow=7L.1r();K oh=7L.1y();if(ow==0){ow=fG}if(oh==0){oh=Bj}K w=ow+9o*2;K h=oh+9o*2;J.LB(b1,aV,hH,7L);if(J.mr){1b J.LC(b1,aV,hH,w,h)}1i{1b J.LF(b1,aV,hH,w,h)}},LF:1a(xs,ys,eL,w,h){1o(K j=0;j<ys.1e;j++){1o(K i=0;i<xs.1e;i++){if(eL[i][j]==0){if(J.AY(xs,ys,eL,i,j,w,h)){1b[xs[i]+9o,ys[j]+9o]}}}}1b[9o,9o]},LC:1a(xs,ys,eL,w,h){1o(K j=0;j<ys.1e;j++){1o(K i=xs.1e-1;i>=0;i--){if(eL[i][j]==0){if(J.AY(xs,ys,eL,i,j,w,h)){if(i+1<xs.1e){1b[xs[i+1]+9o-w,ys[j]+9o]}}}}}1b[9o,9o]},LB:1a(b1,aV,hH,7L){$.2g(J.5M,1a(){if(J==7L){1b 1l}K 1u=J[0];b1.1D(1u.8q-9o);aV.1D(1u.9r-9o);K ow=1u.fE;K oh=1u.bD;if(ow==0){ow=fG}if(oh==0){oh=Bj}b1.1D(1u.8q+ow+9o);aV.1D(1u.9r+oh+9o)});b1.fW(1a(a,b){1b a-b});aV.fW(1a(a,b){1b a-b});1o(K i=0;i<b1.1e;i++){K 1I=[];1o(K j=0;j<aV.1e;j++){1I.1D(i==b1.1e-1||j==aV.1e-1?1:0)}hH.1D(1I)}$.2g(J.5M,1a(){K 1u=J[0];K K6=1u.8q;K K8=1u.9r;K ow=1u.fE;K oh=1u.bD;if(ow==0){ow=fG}if(oh==0){oh=Bj}K K9=1u.8q+ow;K K3=1u.9r+oh;K BF=0;K AU=0;1o(K i=0;i<b1.1e;i++){if(b1[i]<=K6){BF=i}if(K9<=b1[i]){AU=i;1p}}K AX=0;K B0=0;1o(K j=0;j<aV.1e;j++){if(aV[j]<=K8){AX=j}if(K3<=aV[j]){B0=j;1p}}1o(K i=BF;i<AU;i++){1o(K j=AX;j<B0;j++){hH[i][j]=1}}})},AY:1a(xs,ys,eL,pM,pL,w,h){if(eL[pM][pL]==1){1b 1j}1o(K j=pL;j<=ys.1e;j++){if(ys[j]-ys[pL]>=h){1p}1o(K i=pM;i<xs.1e;i++){if(xs[i]-xs[pM]>=w){1p}if(eL[i][j]==1){1b 1j}}}1b 1l},78:1a(){if(J.1V==1c||J.1V.1e==0){1b 1c}K c=J.1V[0];J.6p.1r(1);J.6p.1y(1);J.r.ka(1,1);K w=c.Bd-2;K h=c.tu-2;if(w<0){w=0}if(h<0){h=0}J.6p.1r(w);J.6p.1y(h);J.r.ka(w,h)},pY:1a(){K 3i=J.kR();if(3i){3i.3i("6P")}J.78()},JT:1a(49,1h,1x){3s(49){1n"e5":J.pY();1p;5u:J.1V.29(QB.1d.2e.2j.rN,{49:49,1h:1h})}},kR:1a(){if(QB.1d.5o.cu==""||QB.1d.5o.cu=="Zt"){1b 1c}K bF="#qb-ui-pP-Zv-"+QB.1d.5o.cu;K $gr=$(bF);if($gr.1e){if(1K(QB.1d.5o.ep[bF])){K 8K={};8K[" OK "]=1a(){$(J).2F("[1z]").2g(1a(i,2i){K $2i=$(2i);K 8E=$2i.1k("1z");K m5=$2i.bi();if(m5!=1c){QB.1d.5o.8Y[8E]=m5}});$(J).3i("5A");QB.1d.5o.M1();QB.1d.2l.5i()};8K[QB.1d.2d.58.Ke.dO]=1a(){$(J).3i("5A")};QB.1d.5o.ep[bF]=$gr.3i({tT:1j,5L:1j,xT:1l,4o:tJ,fB:y7,9j:Ys,1r:"Kk",6P:1a(e,ui){K $3i=$(e.3m);1o(K B3 in QB.1d.5o.8Y){K JP=QB.1d.5o.8Y[B3];K 5h=$3i.2F("[1z="+B3+"]");1o(K i=0;i<5h.1e;i++){K $2i=$(5h[i]);$2i.bi(JP)}K JL=$(\'2a[1z^="Yl"]\',$gr);JL.2g(1a(){J.2x=QB.1d.5o.8Y.Ym})}},8K:8K})}}1b QB.1d.5o.ep[bF]},il:1a(6K){if(6K==1c||6K.1e==0){1b 1c}K 1F={};K 4T;1o(K i=0;i<6K.1e;i++){4T=6K[i];if(4T.3T!=1c&&4T.3T.7e(0,1)=="-"){1F[4T.ck+i]=4T.3T}1i{1F[4T.ck]={1z:4T.3T,3E:4T.ck+(4T.BL?" 3C":""),1F:J.il(4T.2Q),1f:4T.3g,1q:4T.ck}}}1b 1F},fC:1a(1T){K me=J;if(J.BZ){1b}if(1K(1T)||1T.2Q.1e==0){1b}K 1F=J.il(1T.2Q);$.2L("67","#qb-ui-1V");$.2L({3R:"#qb-ui-1V",4o:cf,Yk:{6S:0},1X:1a(49,1x){K 1h=1c;7j{1h=1x.$1R.1f().2L.1F[49]}7m(e){}me.JT(49,1h,1x)},1F:1F})},N3:1a(1T){K me=J;if(1K(1T)||1T.2Q.1e==0){1b}if(J.Cz){1b}K 3R="#qb-ui-1V-7x 45 1G, #qb-ui-1V-7x .1W-3l";K 1F=J.il(1T.2Q);$.2L("67",3R);$.2L({3R:3R,4o:cf,6R:{6S:0},9S:1a($29,e){K me=$29.1f("me");if(2N me=="2O"){1b}K 1h=1F["6n-2s"];if(1h){1h.1z=QB.1d.2d.58.5r.Co.3h("{0}","<qa>"+me.4X.1M.4s.6H+"</qa>");if(me.4X.4E==1Q.7y.cH){1h.3E=1h.1q}1i{1h.3E=1h.1q+" 3C"}}1h=1F["6n-to"];if(1h){1h.1z=QB.1d.2d.58.5r.Co.3h("{0}","<qa>"+me.4Y.1M.4s.6H+"</qa>");if(me.4Y.4E==1Q.7y.cH){1h.3E=1h.1q}1i{1h.3E=1h.1q+" 3C"}}1b{1F:1F}},1X:1a(49,1x){K me=J.1f("me");if(me){me.io(49)}},1F:1F})},N5:1a(1T){K me=J;if(1K(1T)||1T.2Q.1e==0){1b}if(J.Cn){1b}K 3R=".qb-ui-1M";K 1F=J.il(1T.2Q);$.2L("67",3R);$.2L({3R:3R,4o:cf,6R:{6S:0},1X:1a(49,1x){K me=J.1f("me");if(me){me.io(49)}},1F:1F})},80:1a(){K me=J;K BT="qb-ui-1V-7x";J.1V=$("#qb-ui-1V");J.mr=J.1V.4F("mr");J.ty=J.1V.4F("ty");J.l4=J.1V.4F("l4");J.pN=J.1V.4F("pN");J.q0=J.1V.4F("q0");J.q7=J.1V.4F("q7");J.q3=J.1V.4F("q3");J.Cn=J.1V.4F("Cn");J.Cz=J.1V.4F("Cz");J.BZ=J.1V.4F("BZ");if(!J.1V.1e){1b 1c}J.6U=1l;J.6p=$("#"+BT);J.r=aN(BT,J.6p.1L().1r(),J.6p.1L().1y());K cv=J.1V.1k("cv");if(!1K(cv)){$.ui.6r.2W.1x.cv=cv}K e3=J.1V.1k("e3");if(!1K(e3)){$.ui.6r.2W.1x.e3=e3}J.1V.3I(1a(e){K jW=26;if(e.8i.id=="qb-ui-1V"||e.8i.6j=="45"){K Cc=$(J).2y();K x=e.6O-Cc.2b;K y=e.7l-Cc.1O;if(x>=J.lF-jW&&y<jW){me.pY()}}});$("#qb-ui-1V-7x").3I(1a(e){K jW=26;if(e.3m.id=="qb-ui-1V-7x"||e.3m.6j=="45"){K x=!1K(e.K1)?e.K1:e.YI;K y=!1K(e.JU)?e.JU:e.YJ;if(x>=J.lF-jW&&y<jW){me.pY()}}});J.1V.cG({qO:"qb-ui-1V-6D",wZ:".qb-ui-1V-cG",dl:"9h",x0:1a(e,ui){if(ui.4u.4F("qb-ui-42-2i-4u")){K 1C=ui.4u.1f("1C");K hT=ui.4u.1f("hT");K cY=3O.eW(ui.4u[0],3O.eW(J));$(J).29(QB.1d.2e.2j.rT,{1M:hT,2i:1C,92:[cY.2b,cY.1O]})}1i{K HD=$(J);K 1C=ui.4u.1f("1C");K cY=3O.eW(ui.4u[0],3O.eW(J));if(cY.2b<0){cY.2b=0}if(cY.1O<0){cY.1O=0}K qU={1C:1C,92:[cY.2b,cY.1O]};$(J).29(QB.1d.2e.2j.rQ,qU)}}});J.tg=$.Ci(J.78,9b,J);J.eZ=$.Ci(J.dE,5,J);J.KF=$.gP(J.dE,oi,J);J.1V.nI(1a(){me.eZ()});$(3N).78(1a(){me.eZ()});J.78();1b J},dE:1a(){if(J.1V==1c||J.1V.1e==0){1b 1c}QB.1d.2e.70.j6();if(kr===2O){1b}J.tg()},tg:1a(){},eZ:1a(){},KF:1a(){}};QB.1d.2e.2j={rQ:"rQ",AD:"AD",rR:"rR",KE:"KE",rT:"rT",rN:"rN"};QB.1d.2e.70={4V:[],sL:1a(1N){K 1W=1S QB.1d.2e.bJ(1N);QB.1d.2e.70.1D(1W);1b 1W},Aq:1a(1W,1N){1W.1N(1N)},j6:1a(){if(!QB.1d.2e.6U){1b 1c}$.2g(J.4V,1a(1P,1W){1W.j6()})},1D:1a(1u){J.4V.1D(1u)},10M:1a(1W){1o(K i=0;i<J.4V.1e;i++){if(J.4V[i].1W==1W){1b J.4V[i]}}1b 1c},Ap:1a(KD,KC){1o(K i=J.4V.1e-1;i>=0;i--){K 1W=J.4V[i];if(1W.4X&&1W.4Y){if(1W.4X.aR==KD&&1W.4Y.aR==KC){1b J.4V[i]}}}1b 1c},10K:1a(6p){1o(K i=0;i<J.4V.1e;i++){if(J.4V[i].6p==6p){J.iZ(i);1p}}},KI:1a(7s){1o(K i=J.4V.1e-1;i>=0;i--){K 1W=J.4V[i];if(1W.4X!=1c&&1W.4Y!=1c){if(1W.4X.cB==7s||1W.4Y.cB==7s){J.iZ(i)}}}},3w:1a(1W){if(1W===2O){1b}if(1W==1c){1b}1o(K i=0;i<J.4V.1e;i++){if(J.4V[i]==1W){J.iZ(i);1p}}1W=1c},101:1a(){1o(K i=J.4V.1e-1;i>=0;i--){J.iZ(i)}},zb:1a(){1o(K i=J.4V.1e-1;i>=0;i--){if(J.4V[i].sF){J.iZ(i)}}},iZ:1a(1P){K 1W=J.4V[1P];if(1W.6p!=1c){J.lX(1W.6p.bl);J.lX(1W.6p.bg);J.lX(1W.6p.2H);J.lX(1W.6p.4z);3W 1W.6p}3W 1W;J.4V.5f(1P,1)},KN:1a(7s){K 1J=[];1o(K i=J.4V.1e-1;i>=0;i--){K 1W=J.4V[i];if(1W.4X!=1c&&1W.4Y!=1c){if(1W.4X.cB==7s||1W.4Y.cB==7s){1J.1D(1W)}}}1b 1J},ZY:1a(4V){if(4V==1c){1b 1j}if(4V.1e==0){1b 1j}J.Ao();1o(K 1P=0;1P<4V.1e;1P++){K 9G=4V[1P];K dF=1c;if(9G.4X!=1c&&9G.4Y!=1c){dF=J.Ap(9G.4X.aR,9G.4Y.aR)}if(dF==1c){J.sL(9G)}1i{dF.sF=1j;J.Aq(dF,9G)}}J.zb()},Ao:1a(){1o(K i=J.4V.1e-1;i>=0;i--){J.4V[i].sF=1l}},lX:1a(1u){if(1u){if(1u.3w){1u.3w();1u=1c}}}};QB.1d.2e.C3=1a(1N){J.2i=1c;J.1M=1c;J.1N=1a(2h){if(2h===2O){K 1N=1S QB.1d.2d.KQ;3O.KP(J,1N);1b 1N}1i{J.1M=1c;J.2i=1c;3O.iV(2h,J);J.Ce()}};J.Ce=1a(){if(1K(J.1M)){J.1M=QB.1d.2e.KK(J.cB)}if(1K(J.2i)){J.2i=QB.1d.2e.KJ(J.1M,J.aR);if(J.2i==1c){J.2i=QB.1d.2e.KM(J.1M,J.tB)}if(J.2i==1c){J.2i={};J.2i.1g=QB.1d.2e.KL(J.1M)}}};J.ok=1a(eX){if(eX[J.cB]){J.1M=1c;J.cB=eX[J.cB]}if(eX[J.aR]){J.2i=1c;J.aR=eX[J.aR]}J.Ce()};if(1N!=1c){J.1N(1N)}};QB.1d.2e.bJ=1a(1N){if(!QB.1d.2e.6U){1b 1c}K me=J;J.ff="";J.7M=1j;J.6X=1N.6X==1l;J.4X=1S QB.1d.2e.C3;J.4Y=1S QB.1d.2e.C3;J.6p=1c;J.id=3O.sQ();J.Kr=1a(6v){if(me.6p!=1c){1b}me.6p=QB.1d.2e.6U?QB.1d.2e.r.Ko(me,"#ZW|2"):1c};J.j6=1a(){if(QB.1d.2e.6U){QB.1d.2e.r.BS(me)}};J.io=1a(49){K d9=1j;3s(49){1n"6n-2s":me.4X.4E=1Q.7y.cL(me.4X.4E);d9=1l;1p;1n"6n-to":me.4Y.4E=1Q.7y.cL(me.4Y.4E);d9=1l;1p;1n"3W":me.7M=1l;d9=1l;1p;1n"e5":K 3i=$("#1W-e5-3i");K pg=me.4X.2i.1C;K pf=me.4Y.2i.1C;K oj=me.4X.1M.4s;K oe=me.4Y.1M.4s;$("2a[1z=2s-1C]",3i).2h(oj.6H);$("2a[1z=to-1C]",3i).2h(oe.6H);$("2a[1z=2s-1C-2n]",3i)[0].3C=me.4X.4E==1Q.7y.du;$("2a[1z=to-1C-2n]",3i)[0].3C=me.4Y.4E==1Q.7y.du;$("2a[1z=1C-3f-2a]",3i).2h(1Q.Kq(me.ff,pg,oj,pf,oe));K 8K={};8K[" OK "]=1a(){me.4X.4E=$("2a[1z=2s-1C-2n]",3i).bi()?1Q.7y.du:1Q.7y.cH;me.4Y.4E=$("2a[1z=to-1C-2n]",3i).bi()?1Q.7y.du:1Q.7y.cH;me.ff=$("2a[1z=1C-3f-2a]",3i).2h();K 1g=me.6p.1G[0];$("#qb-ui-1V-7x").29(QB.1d.2e.bJ.2j.n9,me);QB.1d.2e.dE();$(J).3i("5A")};8K[QB.1d.2d.58.Kp.dO]=1a(){$(J).3i("5A")};3i.3i({5L:1j,4o:AV,fB:y7,1r:"Kk",xT:1l,8K:8K});1p}if(d9){K 1g=me.6p.1G[0];$("#qb-ui-1V-7x").29(QB.1d.2e.bJ.2j.n9,me)}QB.1d.2e.dE()};J.Km=1a(){K 1N=1S QB.1d.2d.Kj;1N.4X=J.4X.1N();1N.4Y=J.4Y.1N();1N.7M=J.7M;1N.6X=J.6X;1N.ff=J.ff;1b 1N};J.Kl=1a(1N){J.4X.1N(1N.4X);J.4Y.1N(1N.4Y);J.7M=1N.7M;J.6X=1N.6X;J.ff=1N.ff};J.1N=1a(2h){if(2h===2O){1b J.Km()}1i{J.Kl(2h)}};J.ok=1a(eX){J.4X.ok(eX);J.4Y.ok(eX)};J.80=1a(){J.1N(1N);J.Kr();K BR=$(J.6p.bg.1s);BR.1f("me",J);BR.oa()};J.80()};QB.1d.2e.bJ.2j={n9:"n9"};QB.1d.7g=1a(){J.ZT=10;J.42=1c;J.kT=1j;J.9V=1S 44;J.1F=1S 44;J.cT=J.1F;J.4p="";J.gv=6;J.cp=24;J.lc=3;J.pB=$("#qb-ui-42-1F");J.B1=$("#qb-ui-42-1h-sl-7z");J.nf=0;J.hj=1j;J.BG=0;J.cV=1;J.Ku=1j;J.pD=1a(){K me=J;K oB=1S 44;oB.1D("<ul>");J.pB.41("");if(!1K(J.cT)){K 6I=J.cT.1e;K 2H=3F.61((J.cV-1)*J.cp,6I);K 4z=3F.61(J.cV*J.cp,6I);K oA="";1o(K i=2H;i<4z;i++){K 1h=J.cT[i];K pq=i+1==4z?" 7b":"";if(1h!=1c){K BY=J.JS?\'<br><2A 2B="K4">\'+1h.tO+"</2A>":"";K NL=QB.1d.2d.58.5r.jP+" "+1h.nk;K 1z=1h.nk.3h(/ /g,"&2r;");K 2A=\'<2A 6b="0" 2B="qb-ui-1V-cG 1M" 5y-3x="\'+NL+\'">\'+1z+"</2A>";if(!J.kT){oA=\'<li 2B="qb-ui-1C qb-ui-1C-1M\'+pq+\'" id="qb-ui-42-1h-\'+i+\'">\'+2A+BY+"</li>"}1i{K o9="";K C2="";K 2i=1c;K BV="";1o(K j=0;j<1h.5J.1e;j++){2i=1h.5J[j];BV="<2A 2B=\'2i\'>"+2i.tP.3h(/ /g,"&2r;")+"</2A>";K Kv=j+1==1h.5J.1e?" 7b":"";C2=\'<li 2B="qb-ui-1C-2i qb-ui-3U-cG qb-ui-1V-cG Jp\'+Kv+\'" id="qb-ui-42-1h-2i-\'+j+\'">\'+BV+"</li>";o9+=C2}o9=\'<ul 2B="qb-ui-42 79">\'+o9+"</ul>";oA=\'<li 2B="qb-ui-1C qb-ui-1C-1M aW Jp\'+pq+\'" id="qb-ui-42-1h-\'+i+\'">\'+"<2G 2B=\\"4l qb-ui-1C-4l qb-ui-1C-1M-4l aW-4l\\" PE=\\"$J = $(J); if ($J.4F(\'bz-4l\')) { $J.1L().8F(\'bz\');$J.1L().8F(\'aW\'); $J.8F(\'bz-4l\'); $J.8F(\'aW-4l\'); $(\'~ul\', $(J)).3K(); } 1i {$J.1L().8F(\'bz\');$J.1L().8F(\'aW\'); $J.8F(\'bz-4l\'); $J.8F(\'aW-4l\'); $(\'~ul\', $(J)).5d(); }\\"></2G>"+2A+BY+o9+"</li>"}}1i{oA=\'<li 2B="qb-ui-1C qb-ui-1C-1M\'+pq+\'" id="qb-ui-42-1h-\'+i+\'">\'+\'<2A 2B="1M">\'+QB.1d.2d.58.5r.pF+"</2A></li>"}oB.1D(oA)}}oB.1D("</ul>");J.pB.41(oB.4G(""));J.BP();J.JZ();$("#qb-ui-42-1h-71").yk()};J.Kt=1a(1f){K ja=$("#qb-ui-42-9V");ja.41("");J.9V=1S 44;1o(K i=0;i<1f.jb.1e;i++){K 8r=1f.jb[i];K dY=J.Kx(i+1,8r);dY.1f("1w",8r.4E);dY.1f("7s",8r.3g);K jD=dY.bi();K Cy=1S 44;K bG=-1;1o(K j=0;j<8r.oF.1e;j++){K 2T=8r.oF[j];if(bG==-1&&(!1K(jD)&&fF(2T.nv,jD))){bG=j}if(bG==-1&&2T.ej){bG=j}}if(bG==-1){bG=0}1o(K j=0;j<8r.oF.1e;j++){K 2T=8r.oF[j];K 2x="";if(2T.tC==1l){2x=" 2x"}K 1R="";if(bG==j){1R=" 1R"}Cy.1D(\'<2T 1m="\'+2T.nv+\'"\'+2x+1R+">"+2T.9u+"</2T>")}dY.41(Cy.4G(""));dY.3j();J.9V.1D(dY)}};J.ih=1a(1f){if(1f==1c||1f===2O){1b}K me=J;J.nf=1f.p8;J.Ku=1f.Ks==1l;J.hj=1j;K nc=1j;if(1f.hZ!=""&&(1f.hZ!=2O&&1f.hZ!=1c)){nc=1l;J.hj=1l}if(1f.pE==0){J.cV=1;J.Kt(1f);J.1F=[];if(1f.2Q.1e!=1f.p8){J.hj=1l}}K Kw=1f.2Q.1e;K Ky=1f.pE;K Kz=1f.p8;1o(K jV=Ky,p7=0;jV<Kz;jV++,p7++){if(p7<Kw){J.1F[jV]=1f.2Q[p7]}1i{if(J.1F[jV]==2O){J.1F[jV]=1c;J.hj=1l}}}J.Ba(nc);J.pD();J.KG()};J.JM=1a(){if(J.1F.1e<J.nf){1b 1l}K 2H=3F.4v(0,(J.cV-1)*J.cp);K 4z=3F.61(J.nf,J.cV*J.cp);1o(K i=2H;i<4z;i++){if(J.1F[i]==1c){1b 1l}}1b 1j};J.Kx=1a(i,8r){K ja=$("#qb-ui-42-9V");K id="qb-ui-42-9V-2n-"+i;K 1g=$("#"+id);if(1g.6I){1b 1g}K me=J;K 41=$(\'<2G 2B="qb-ui-42-9V-71 PT-\'+i+" 2n-1w-"+8r.4E+\'">                         <2G 2B="qb-ui-42-9V-3x"></2G>                         <2G 2B="qb-ui-42-9V-2n">                             <2n id="\'+id+\'"></2n>                         </2G>                     </2G>\');ja.2U(41);1g=$("#"+id);1g.1f("1P",i);1g.1f("7s",8r.3g);1g.4M("dM",me.KH,me);1g.4M("PN",me.JX,me);1b 1g};J.pH=1a(B5){K Kn=$("#qb-ui-42-9V");K 9V=$("2n",Kn);K B4=[];9V.2g(1a(i,s){K 8r=1S QB.1d.2d.KO;8r.KA=s.1m;if(!1K(B5)){8r.KB=s.id==B5.id}8r.4E=$(s).1f("1w");8r.3g=$(s).1f("7s");B4.1D(8r)});1b B4};J.Pe=1a(2n,1x){K me=J;K 1g=2n[0];1o(K i=0;i<1g.1x.1e;i++){K 2T=1g.1x[i];K dC=1S QB.1d.2d.Bf;dC.nv=2T.1m;dC.9u=2T.1Z;dC.ej=2T.1R;1x.1D(dC)}};J.Pt=1a(2n,1x){K me=J;K 1g=2n[0];1o(K i=0;i<1g.1x.1e;i++){K 2T=1g.1x[i];K dC=1S QB.1d.2d.Bf;dC.nv=2T.1m;dC.9u=2T.1Z;dC.ej=2T.1R;1x.1D(dC)}};J.Kf=1a(){J.4p=$("#qb-ui-42-1h-4p-2a").2h()};J.Kh=1a(e){$("#qb-ui-42-1h-4p-2a").2h("");J.4p="";J.pe(e)};J.Ba=1a(nc){K pb=1c;K pc=!1K(J.4p);if(pc){7j{pb=1S dv(J.4p,"i")}7m(e){pb=1c;pc=1j}}if(!pc||nc){J.cT=J.1F;J.BG=J.nf}1i{if(!1K(J.1F)){J.cT=1S 44;1o(K i=0;i<J.1F.1e;i++){K 1h=J.1F[i];if(1h==1c){J.AP();1b}if(!pb.9w(1h.nk)){aH}J.cT.1D(1h)}}}};J.Kb=1a(e){if(e.3H==13){e.7Y();1b 1j}if(J.hj){J.Kg(e)}1i{J.pe(e)}};J.Kc=1a(e){if(e.3H==13){e.7Y();1b 1j}};J.pe=1a(e){J.cV=1;J.4p=e.8i.1m;if(!J.hj){J.Ba();J.pD()}1i{J.AP()}};J.pt=1a(){J.pB.41("");J.B1.5d()};J.KG=1a(){J.B1.3K()};J.AP=1a(){J.pt();K 1f=QB.1d.2l.3V;1f.7g=1S QB.1d.2d.mC;1f.7g.jb=J.pH();1f.7g.c5="4y";1f.7g.hZ=J.4p;QB.1d.2l.5i()};J.JR=1a(){J.pt();K 1f=QB.1d.2l.3V;1f.7g=1S QB.1d.2d.mC;1f.7g.jb=J.pH();1f.7g.c5="4y";1f.7g.hZ=J.4p;1f.7g.pE=(J.cV-1)*J.cp;QB.1d.2l.5i()};J.KH=1a(e){K me=J;K 1P=$(e.8i).1f("1P");K 1f=QB.1d.2l.3V;1f.7g=1S QB.1d.2d.mC;1f.7g.jb=J.pH(e.3m);J.JW(1P);QB.1d.2l.5i()};J.JW=1a(1P){1o(K i=1P;i<J.9V.1e;i++){K dY=J.9V[i];dY.41("<2T>pF...</2T>")}J.pt()};J.JX=1a(){};J.BP=1a(){K me=J;$(".qb-ui-1C>2A").6Q({2K:0.8,4x:"3S",JV:"qg",2H:1a(1H,ui){$(ui.4u).3a("iM-2b",1H.aM-$(1H.3m).2y().2b-$(ui.4u).1r()/2);$(ui.4u).3a("iM-1O",1H.a7-$(1H.3m).2y().1O-10)},4u:1a(e){K 1g=e.8i.3o;K pv=1g.id.7e("qb-ui-42-1h-".1e);K 1h=me.cT[pv];K 4u=$("<2G ></2G>");1h.6X=1l;4u.6r({1C:1h,4o:AV});4u.2t("qb-ui-1V-cG");1b 4u[0]}});$(".qb-ui-1C-2i").6Q({2K:0.8,4x:"3S",JV:"qg",4u:1a(e){K 1g=e.8i;K pv=1g.id.7e("qb-ui-42-1h-2i-".1e);K K0=$(1g).c0("li");K JY=K0.1k("id").7e("qb-ui-42-1h-".1e);K pA=me.cT[JY];if(pA==1c){1b}K 1h=pA.5J[pv];if(1h==1c){1b}K 4u=$(\'<2A 2B="qb-ui-42-2i-4u qb-ui-3U-cG qb-ui-1V-cG">\'+1h.6L.3h(/ /g,"&2r;")+"</2A>");4u.1f("1C",1h);4u.1f("hT",pA);1b 4u[0]}});$(".4l",J.42).3I(1a(e){})};J.JZ=1a(){K me=J;K 6I=3F.jF(J.BG/J.cp);K 1g=$("#qb-ui-42-1h-Pq-71");if(6I<=1){1g.41("");1b}1g.pw({6I:6I,2H:J.cV,5q:me.gv,eU:1j,iU:"#Pp",j1:"3t",iK:"#Qq",iR:"3t",BH:1l,pu:"JN",nA:1a(zS){me.cV=65(zS);me.JO();me.pD()}})};J.JO=1a(){if(!J.JM()){1b}J.JR()};J.Nv=1a(){K me=J;K 1g=$(".qb-ui-42");J.kT=1g.4F("kT");J.JS=1g.4F("Qk");if(1g.1k("JQ")!=""){J.cp=1g.1k("JQ")}if(J.cp<=0||J.cp==""){J.cp=24}if(1g.1k("Kd")!=""){J.lc=1g.1k("Kd")}if(J.lc<=0||J.lc==""){J.lc=3}K Bi=1g.1k("gv");if(Bi!=""){7j{K gv=65(Bi);if(gv>0){J.gv=gv}}7m(e){}}$("#qb-ui-42-1h-4p-2a").4M("z1",me.Kb,me);$("#qb-ui-42-1h-4p-2a").4M("7S",me.Kc,me);$("#qb-ui-42-1h-4p-aQ").4M("3I",me.Kh,me);1a bX(1g){K Ki=1g.id.7e("qb-ui-42-1h-".1e);K 1h=me.cT[Ki];me.42.29(QB.1d.7g.2j.rS,1h)}$(2P).on("y8","#qb-ui-42-1F .qb-ui-1C 2A",1a(e){if($(e.8i).4F("2i")){1b 1j}bX(e.8i.3o)});$(2P).on("7S","#qb-ui-42-1F .qb-ui-1C 2A",1a(e){if(e.3H==13){bX(e.8i.3o)}});J.Kf();J.42=1g;1b 1g};J.Kg=$.gP(J.pe,oi,J);1b J.42};QB.1d.7g.2j={Ka:"Ka",rS:"rS"};QB.1d.yI=1a(2i,5W,q2,1x){K me=J;J.hY=1Q.hU.hR;J.1C=2i;J.1M=q2;J.1L=5W;J.3C=2i.ej;J.1g=$(\'<tr 6b="-1" />\').2t("qb-ui-1M-2i 8D").1f("J",J).1f("1C",2i).1f("1M",q2).1f("f9",2i.3g).1f("1L",5W).1f("t6",5W.3g);3O.yc(J.1g,QB.1d.2d.58.5r.hR+" "+2i.6L);if(2i.6L=="*"){J.1g.2t("qb-ui-1M-2i-gQ")}J.pT=$(\'<2a 1w="7U" 1m="1" 6b="-1" \'+(2i.ej?" 3C":"")+"/>").3I(1a(){me.3C=J.3C;q2.t9([me])});J.1g.7S(1a(e){3s(e.3H){1n 13:;1n 32:me.pT.29("3I");e.4d()}});J.Bv=$(\'<2A 2B="qb-ui-1M-2i-3E"></2A>\');if(2i.lg){J.Bv.2t("qb-ui-1M-2i-3E-pk")}K kZ=1x.Bq;K lq=1x.Br;K Bh=1x.Bp;K pK=1x.q9;K pV=1x.lj;J.K5=$(\'<2A 2B="qb-ui-1M-2i-2n">\'+kZ.bj+"</2A>").2t(QB.1d.2e.q3?"79":"").2U(J.pT);J.8E=$(\'<2A 2B="qb-ui-1M-2i-1z">\'+lq.bj+2r(2i.tP)+lq.cD+"</2A>").2t(QB.1d.2e.q0?"79":"");J.K2=$(\'<2A 2B="qb-ui-1M-2i-1w">\'+(2i.6L!="*"&&2i.Bs!="1c"?pK.bj+2i.Bs+1x.q9.cD:"")+"</2A>").2t(QB.1d.2e.q7?"79":"");J.K7=$(\'<2A 2B="qb-ui-1M-2i-K4">\'+kZ.bj+(pV.sY?2i.yG:2r(2i.yH))+1x.lj.cD+"</2A>").2t(QB.1d.2e.pN?"79":"");K 5Z=[];5Z.1D({31:J.Bv,8d:-1,7A:1l});5Z.1D({31:J.K5,8d:kZ.8d,7A:kZ.7A});5Z.1D({31:J.8E,8d:lq.8d,7A:lq.7A});5Z.1D({31:J.K2,8d:pK.8d,7A:pK.7A});5Z.1D({31:J.K7,8d:pV.8d,7A:pV.7A});5Z.t4("8d");K 7D;if(Bh){7D=me.1g}1i{7D=$("<td Qu />");7D.4x(me.1g)}1o(K i=0;i<5Z.1e;i++){K 7k=5Z[i];if(Bh){7D.2U($("<td td"+(i+1)+\'" />\').2U(7k.31))}1i{7D.2U(7k.31)}}J.fN=1a(1m){J.3C=1m;J.pT[0].3C=J.3C};J.6y=1a(){K 54={x:0,y:0,1r:0,1y:0};K o=J.1g;K Bn=eW(QB.1d.2e.1V[0]);K fP=eW(o,Bn);K 1L=o;do{if(1L.6j.8l()=="KR"){1L=1L.3o;if(1L){1L=1L.3o}1p}1L=1L.3o}47(1L!=1c);K fM=fP;if(1L!=1c){fM=eW(1L,Bn)}if(fP.1O<fM.1O){54.y=fM.1O}1i{if(fP.1O>fM.4J-fP.1y/2){54.y=fM.4J-fP.1y/2}1i{54.y=fP.1O}}54.1y=fP.1y;54.1r=fM.1r;54.x=fM.2b;1b 54}};QB.1d.yI.2j={Lz:"Lz"};K Bx=20;QB.1d.9e=1a(){J.31=$("#qb-ui-1V-er");J.1T=1c;K gp=J;K hA=J.31;K ju=0;K kH=0;K kn=0;J.Mc=1a(9X){if(J.31.1k("LA")&&J.31.1k("LA").3P()=="1j"){1b}K $4c=$("#qb-ui-1V-er-9R");if(!$4c){1b}K $9A=[];1o(K i=0;i<9X.2Q.1e;i++){K 1h=9X.2Q[i];K 1Z=1h.9u;if(1K(1Z)){1Z="&2r;"}K $1g=$(\'<2G 2B="31" id="qb-ui-1V-er-9R\'+(i+1)+\'">\'+1Z+"</2G>").2t(1h.hz);$1g.3n();if(1h.dz){$1g.2t("ui-53-aj");$1g.1k("6b",-1)}1i{$1g.1k("6b",0);$1g.7S(1a(e){if(e.3H==32||e.3H==13){$(e.3m).29("3I")}})}$1g.1f("1h",1h);$1g.3I(1a(e){K $1g=$(e.8i);if($1g.1f("LG.fw")){1b}K 1h=$1g.1f("1h");if(1h&&1h.c5){QB.1d.5o.sK(1h.c5)}1i{$("#"+$1g[0].id).2L()}if(1h&&1h.dz){$1g.2t("ui-53-aj");e.4d();1b 1j}});$1g.6D(1a(e){K $1g=$(e.8i);K 1h=$1g.1f("1h");if(1h&&1h.dz){$1g.2t("ui-53-aj");e.4d();1b 1j}});$1g.4Q(1a(e){K $1g=$(e.8i);K 1h=$1g.1f("1h");if(1h&&1h.dz){$1g.2t("ui-53-aj");e.4d();1b 1j}});$1g.oa();J.LR($1g,1h.fj);$9A.1D($1g)}$4c.cO();$hA=$(\'<2G id="qb-ui-1V-er-9R-hA">\');$hA.4x($4c).2U($9A)};1a uh(8v,4K){if(8v<0){8v=0}1i{if(8v>kn){8v=kn}}LE(8v)}1a LE(8v){if(8v===2O){8v=Q3.2I().2b}Bl=8v;K Q4=Bl===0,Q1=Bl==kn,jx=8v/kn,Lv=-jx*(ju-kH);hA.3a("2b",Lv)}1a ti(){1b-hA.2I().2b}1a PW(kG,lV,bU){1b 1a(){LT(kG,lV,J,bU);J.4Q();1b 1j}}1a LT(kG,lV,aT,bU){aT=$(aT).2t("LU");K 2R,kP,C8=1l,BJ=1a(){if(kG!==0){gp.BN(kG*30)}if(lV!==0){gp.Cv(lV*30)}kP=6t(BJ,C8?s4:50);C8=1j};BJ();2R=bU?"eM.gp":"5w.gp";bU=bU||$("41");bU.2E(2R,1a(){aT.4h("LU");kP&&iH(kP);kP=1c;bU.7V(2R)})}J.BK=1a(6K){if(6K==1c||6K.1e==0){1b 1c}K 1F={};K 4T;1o(K i=0;i<6K.1e;i++){4T=6K[i];K 1q=4T.ck;if(4T.3T!=1c&&4T.3T.7e(0,1)=="-"){1F[1q]=4T.3T}1i{1F[1q]={1z:4T.3T,3E:1q+(4T.BL?" 3C":""),1F:J.BK(4T.2Q),1f:4T}}}1b 1F};J.LR=1a($1g,1T){K me=J;if(1K(1T)||1T.2Q.1e==0){1b}K 1F=J.BK(1T.2Q);K 3R="#"+$1g[0].id;$.2L("67",3R);$.2L({3R:3R,4o:cf,6R:{6S:0},1F:1F,1X:1a(49,1x){K 4T=1x.1F[49].1f;me.qD(49,4T)}});$.2L.ji.PZ=1a(1h,1B,2p){J.on("7S",1a(e){})}};J.qD=1a(1q,1h){K 49=1c;if(1h!=1c&&2N 1h.c5!="2O"){49=1h.c5}J.31.29(QB.1d.9e.2j.rP,49)};J.BD=1a(s){if(s==1c){1b s}if(s.1e<=Bx){1b s}1b s.7e(0,Bx)+"&Qe;"};J.LS=1a(1L){K 1F=[];$.2g(1L.2Q,1a(1P,1h){if(!1h.7A){1b}if(1h.dz){1b}1F.1D(1h)});1b 1F};J.LX=1a(1L){K eQ=1c;$.2g(1L.2Q,1a(1P,1h){if(1h.dz){eQ=1h}});1b eQ};J.AO=1a($3n){$3n.1k("6b",0);$3n.7S(1a(e){if(e.3H==32||e.3H==13){$(e.3m).29("3I")}})};J.AS=1a(1h,2x){K me=J;K 3E="ui-3E-qb-"+1h.6d;K $3n=$(\'<2G 2B="fk">\'+J.BD(1h.6H)+"</2G>").1f("BW",1h.3g).1f("eA",1h.eA).3n({2x:2x,aw:{nm:3E}}).3I(1a(e){me.AR(e)});if(2x){$3n.2t("ui-53-aj").2t("ui-53-6D")}1i{J.AO($3n)}1b $3n};J.LW=1a(1F){K me=J;K $ul=$("<ul/>");$.2g(1F,1a(1P,hf){K 3E="ui-3E-qb-"+hf.6d;K $3n=$(\'<li><a 59="#"><2A 2B="ui-3E \'+3E+\'"></2A>\'+me.BD(hf.6H)+"</a></li>").1f("BW",hf.3g).1f("eA",hf.eA);$ul.2U($3n)});$ul.1T({2n:1a(e,ui){$ul.3K();me.AR(e)}});1b $ul};J.Bc=1a(1h,1L){K me=J;K 9R=[];if(1h==1c){1b 9R}K 1F=J.LS(1h);K eQ=J.LX(1h);K LY=eQ===1c;K $3n=J.AS(1h,LY);9R.1D($3n);if(1F.1e>0){if(eQ!=1c){K $AN=$("<2G>&2r;</2G>").3n({1Z:1j,aw:{nm:"ui-3E-jd-1-s"}}).3I(1a(e){if(me.1T!=1c){me.1T.3K()}me.1T=$(J).3k().5d().2I({my:"2b 1O",at:"2b 4J",of:$(J).Qf(".ui-3n")[0]});$(2P).LV("3I",1a(){me.1T.3K()});1b 1j});J.AO($AN);9R.1D($AN);K $ul=J.LW(1F);9R.1D($ul)}1i{$3n.3n("2T","aw.BU","ui-3E-jd-1-e");$.2g(1F,1a(1P,hf){9R.1D(me.AS(hf))})}}1i{if(eQ!=1c){$3n.3n("2T","aw.BU","ui-3E-jd-1-e")}}if(eQ!=1c){9R=9R.3y(J.Bc(eQ,1h))}1b 9R};J.AR=1a(e){K $1g=$(e.8i);K 91=$1g.1f("eA");if(!1K(91)){J.31.29(QB.1d.9e.2j.rU,91)}1b 1j};J.N4=1a(cq){K me=J;K $31=$("#qb-ui-1V-er-Qg-4c");if(cq!=1c&&cq.2Q!=1c){$31.cO();K $1F=me.Bc(cq);$31.2U($1F);K LQ=$("<2G id=\'qb-ui-1V-fk-n5-3n\'>+</2G>").3n();$31.2U(LQ);$31.Q8({1F:"3n, 2a[1w=3n], 2a[1w=Q7], 2a[1w=la], 2a[1w=7U], 2a[1w=8u], :1f(ui-3n)"});$31.2F("ul").1k("6b",-1);$31.2F("a").1k("6b",0)}1b $31};$.4j(J,{Q9:1a(s){s=$.4j({},3X,s);Qb(s)},LK:1a(bU,LL,4K){LK(bU,LL,4K)},Pa:1a(8v,jq,4K){u7(8v,4K);ug(jq,4K)},u7:1a(8v,4K){u7(8v,4K)},ug:1a(jq,4K){ug(jq,4K)},Ov:1a(LH,4K){u7(LH*(ju-kH),4K)},OF:1a(LJ,4K){ug(LJ*(sV-Cj),4K)},B6:1a(kV,lr,4K){gp.BN(kV,4K);gp.Cv(lr,4K)},BN:1a(kV,4K){K 8v=ti()+3F[kV<0?"ge":"jF"](kV);K jx=8v/(ju-kH);uh(jx*kn,4K)},Cv:1a(lr,4K){K jq=Ck()+3F[lr<0?"ge":"jF"](lr),jx=jq/(sV-Cj);sZ(jx*LM,4K)},uh:1a(x,4K){uh(x,4K)},sZ:1a(y,4K){sZ(y,4K)},4K:1a(bU,6T,1m,LP){K 1v={};1v[6T]=1m;bU.4K(1v,{"6S":3X.OB,"5G":3X.OD,"jR":1j,"kM":LP})},Os:1a(){1b ti()},Oo:1a(){1b Ck()},Om:1a(){1b ju},P0:1a(){1b sV},P1:1a(){1b ti()/(ju-kH)},P2:1a(){1b Ck()/(sV-Cj)},OX:1a(){1b OZ},P8:1a(){1b P9},P4:1a(){1b hA},P5:1a(4K){sZ(LM,4K)},P6:$.BX,67:1a(){67()}});1b J};QB.1d.nV=1a(){J.42=1c;J.kT=1j;J.C0=1a(kS){if(kS==1c||kS.1e<=0){1b 1c}K C1=0;K $1g=$("<ul />");1o(K i=0;i<kS.1e;i++){K 1s=kS[i];if(!1s.7A){aH}C1++;K $li=$("<li />");$li.1f("BW",1s.3g);$li.1f("eA",1s.eA);$li.41(\'<2A 2B="\'+1s.6d+(1s.dz?" aj":"")+\'">\'+1s.6H+"</2A>");$li.2U(J.C0(1s.2Q));$1g.2U($li)}if(C1>0){1b $1g}1b 1c};J.yT=1a(cq){K me=J;K 31=$("#qb-ui-42-BQ");if(cq!=1c&&cq.2Q!=1c){31.41("");31.2U(me.C0([cq]));K 1g=$("#qb-ui-42-BQ>ul");J.42=1g.i7({});1g.2F("*").yk();$("#qb-ui-42-BQ 2A").3I(1a(){K $1g=1c;K 91=1c;if(J.ja!=1c){$1g=$(J.ja);91=$1g.1f("eA")}if(!1K(91)){me.42.29(QB.1d.nV.2j.s0,91)}1b 1j})}1b 31};J.BP=1a(){K me=J;$(".4l",J.42).3I(1a(e){})};$("#qb-ui-1V-er-n5-3n").3n({aw:{BU:"ui-3E-jd-1-s"}});1b J.42};QB.1d.nV.2j={s0:"s0"};QB.1d.9e.2j={rU:"rU",rP:"rP"};K gW=1c;QB.1d.77={4s:1c,1x:{OW:"<2M 2B=\'qb-ui-1M-bC-1Z-lu-1z\'>{lu}</2M>.<2M 2B=\'qb-ui-1M-bC-1Z-1M-1z\'>{1z}</2M>",tT:1l,dP:1j,L1:"",6Q:1l,3K:1c,1y:"5T",1r:"5T",6q:5,cl:60,9j:1j,fB:1j,6U:1l,2I:{my:"2b 1O",at:"2b+15 1O+15",of:"#qb-ui-1V",kD:"3t",OP:1a(3Y){K Cg=$(J).3a(3Y).2y().1O;if(Cg<0){$(J).3a("1O",3Y.1O-Cg)}}},5L:1l,5d:1c,OR:1l,6f:"",4o:9b,e3:Ox,cv:"5T"},OV:{yJ:"2H.6Q",5j:"5j.6Q",yL:"5D.6Q",9j:"9j.5L",6q:"6q.5L",fB:"fB.5L",cl:"cl.5L",I5:"2H.5L",78:"5j.5L",Ib:"5D.5L"},7D:1c,bP:1c,L4:"qb-ui-1M "+"ui-8M "+"ui-8M-ac "+"ui-aG-6n ",bV:1j,io:1a(49){K me=J;if(me.4s!=1c&&me.4s.6X){1b 1j}3s(49){1n"fN":me.yO(1l);1p;1n"OI":me.yO(1j);1p;1n"3W":me.5A();1p;1n"e5":K 3i=me.kR(me);if(3i!=1c){3i.3i("6P")}1p}},L3:1a(){K me=J;K 5B=".bC-3n.3n-1W";$.2L("67",5B);K 1F={};K c6=1c;1o(K i=0;i<me.4s.kF.1e;i++){K ei=me.4s.kF[i];if(c6==1c){c6=ei.kJ}if(c6!=ei.kJ){1F["5s-"+i]="---------";c6=ei.kJ}1F[ei.6H]={1z:ei.6H,3E:"OM-1C-c6-"+ei.kJ,1f:ei,bd:ei.tC?"sb":""}}$.2L({3R:5B,4o:cf,6R:{6S:0},1X:1a(49,1x){K LN=1x.$1R.1f().2L.1F[49];me.1g.29(QB.1d.77.2j.mJ,LN.1f)},1F:1F});1b 5B},L6:1a(3n){K me=J;K 5B=".bC-3n.3n-1W";if(me.4s==1c){1b}3n.7c(1a(){me.L3();$(5B).2L();K $1T=$(5B).2L("1g");if($1T){$1T.2I({my:"2b 1O",at:"2b 4J",of:J})}})},8D:".8D:6U",L2:".8D:6U:4A",L8:".8D:6U:7b",qQ:1a(83){K me=J;J.4s=me.1x.1C;J.eR=1j;if(!J.5h){J.5h=[]}K 5W=J.4s;if(J.4s!=1c&&!1K(J.4s.69)){J.69=J.4s.69}1i{J.69=zv()}5W.69=J.69;$(me.1g).1f("4s",5W);$(me.1g).1f("me",J);me.1g.2t(J.L4+me.1x.L1).3a({2I:"8n",4o:me.1x.4o});me.1g.1k("6b",0);if(!83){me.1g.2V(1a(e){me.bV=1j})}1a dV(2V){K 1J=1c;if(2V.4F("qb-ui-1M")){1J=2V}1i{1J=2V.3k()}47(1l){if(1J.1e==0){1p}if(1J.is(me.8D)){1b 1J}K 8O=1J.2F(me.L2);if(8O.1e){1b 8O}1J=1J.3k()}K 1L=2V.1L();if(1L.4F("qb-ui-1M")){1b $()}1b dV(1L)}1a dW(2V){K 1J=1c;if(2V.4F("qb-ui-1M")){1J=2V}1i{1J=2V.3Q()}47(1l){if(1J.1e==0){1p}if(1J.is(me.8D)){1b 1J}K 8O=1J.2F(me.L8);if(8O.1e){1b 8O}1J=1J.3Q()}K 1L=2V.1L();if(1L.4F("qb-ui-1M")){1b $()}1b dW(1L)}if(!83){me.1g.7S(1a(e){3s(e.3H){1n 13:if(me.bV){1b}me.bV=1l;dV(me.1g).2V();e.4d();1p;1n 9:if(!me.bV){1b}K 2V=me.1g.2F(":2V");if(!2V.1e){2V=me.1g}K 1g=1c;if(e.o5){1g=dW(2V)}1i{1g=dV(2V)}if(1g.1e){1g.2V();e.4d();1b 1j}1i{me.bV=1j}}})}J.6e=me.1g;if(me.1x.92){me.1x.2I.at="2b+"+me.1x.92[0]+" 1O+"+me.1x.92[1];me.2I.2y=me.1x.2I.2y;me.nD(me.2I);me.1x.92=1c}if(J.kl==1c){J.kl=$(\'<2A 2B="qb-ui-1M-bC-1Z"></2A>\')}K 6f=J.Lc();3O.yc(me.1g,QB.1d.2d.58.5r.jP+" "+6f);J.kl.41(6f);if(J.dD==1c){J.tF=[];if(!1K(J.4s)&&!1K(J.4s.yd)){J.kl.2t("Ou");J.tF=J.kB("fk","ui-3E-fk-tE").1k("5y-3x","").1k("5y-3x","OG to fk");J.tF.3I(1a(1H){me.1g.29(QB.1d.77.2j.mF,me.4s.yd);1b 1j})}J.lv=J.kB("1W","ui-3E-1W-tE").1k("5y-3x","").1k("5y-3x","On Ot");J.ya=J.kB("e5","ui-3E-e5-tE").1k("5y-3x",QB.1d.2d.58.5r.j0);J.y9=J.kB("5A","ui-3E-5A-tE").1k("5y-3x","").1k("5y-3x","ye");J.dD=$(\'<2G 2B="qb-ui-1M-bC ui-8M-85 ui-aG-6n ui-4u-OH 6z-1M"></2G>\').2U(J.tF).2U(J.kl).2U(J.lv).2U(J.ya).2U(J.y9).2E("y8",1a(){me.KV()});J.dD.4x(me.1g).2t("qb-ui-1M-2i-6f");J.dD.1f("hF",1j);J.y9.3I(1a(1H){me.5A(1H);1b 1j});J.ya.3I(1a(1H){if(me.4s!=1c&&me.4s.6X){1b 1j}K 3i=me.kR(me);if(3i!=1c){3i.3i("6P")}1b 1j});J.L6(J.lv)}if(J.4s!=1c&&J.4s.6X){J.dD.2F(".3n-e5").3K();J.dD.2F(".3n-1W").3K()}1i{J.dD.2F(".3n-e5").5d();J.dD.2F(".3n-1W").5d()}if(!QB.1d.5o.rW&&(5W!=1c&&(5W.kF!=1c&&5W.kF.1e>0))){J.lv.5d()}1i{J.lv.3K()}K iT=1l;if(83){if(5W&&5W.5J){if(J.5h.1e==5W.5J.1e+1){7j{if(J.5h.1e>1&&5W.5J.1e>1){K f3=J.5h[1].1C;K eY=5W.5J[1];if(f3.3g==eY.3g){iT=1j}1i{iT=1l}}}7m(e){iT=1l}}1i{iT=1l}}}if(iT){if(me.bP!=1c){me.bP.3w()}me.bP=$(\'<2G 2B="qb-ui-1M-2i-4c ui-3i-ac ui-8M-ac"></2G>\').nI(1a(){QB.1d.2e.eZ()}).1k("6b",-1);me.7D=me.bP;me.l8=$(\'<1M qV="1" qS="0"></1M>\').4x(me.bP);if(5W&&5W.5J){J.La(5W,me.l8)}me.bP.4x(me.1g);me.bP.oa()}if(J.4s.6X){me.bP.2t("tA")}1i{me.bP.4h("tA")}me.h5=me.1g.1y()-me.7D.1y();me.1x.6q=3F.4v(me.1x.6q,me.h5);me.2T.9j=1j;$(".qb-ui-1M-2i:L0",me.l8).2t("L0");me.1x.6Q&&($.fn.6Q&&J.yo());me.1x.5L&&($.fn.5L&&J.yy());J.nF=1j;me.1x.dP&&($.fn.dP&&me.7D.dP());me.1x.dP&&($.fn.dP&&me.1g.dP());me.KX();me.2T.9j=1j;me.1x.tT&&J.6P();J.hY=1Q.hU.cn;me.1g.1f("KU",me);me.1g.1f("1C",5W);me.1g.1f("f9",5W.3g);me.1g.2F("*").yk();me.1g.7c(1a(1H){me.yM(1j,1H)});J.KV=1a(){if(me.1g.1f("hF")){me.1g.1f("hF",1j);me.hF=1j;me.2T("1y",J.KS)}1i{me.1g.1f("hF",1l);me.hF=1l;J.KS=J.2T("1y");me.2T("1y",16)}QB.1d.2e.dE();1b 1j};K 5h=$(".qb-ui-1M-2i",me.1g).4p(":5U(.qb-ui-1M-2i-gQ)");if(!QB.1d.2e.ty&&!QB.1d.2e.l4){5h.6Q({4u:1a(1H){K 3m=1H.3m;K tr=1c;if(3m.6j.8l()=="TR"){tr=$(3m).5P()}1i{K 1L=3m;do{if(1L.6j.8l()=="TR"){1p}1L=1L.3o}47(1L!=1c);if(1L){tr=$(1L).5P()}}K 4u=$(\'<1M 2B="qb-ui-1M ui-8M ui-8M-ac qb-ui-6Q-4u-2i" qS="0" qV="0"></1M>\').2U(tr);gW=4u;1b 4u},4x:"#qb-ui-1V",2K:0.8,2H:1a(1H,ui){me.1g.1f("yg",1l);K 4u=$(ui.4u);K kK=$(J);ui.4u.1r($(J).1r());QB.1d.2e.70.3w(kr);kr=1S QB.1d.2e.bJ({4X:{2i:{1g:kK},1M:me},4Y:{2i:{1g:4u}}});QB.1d.2e.70.1D(kr);J.eR=1j},5D:1a(1H,ui){QB.1d.2e.70.3w(kr);QB.1d.2e.dE();me.1g.1f("yg",1j);gW=1c},5j:1a(1H,ui){QB.1d.2e.eZ()}}).cG({wZ:".qb-ui-1M-2i",qO:"qb-ui-1M-2i-sb",dl:"yl",x0:1a(1H,ui){if(me.4s.6X){1b 1j}K f3=$(ui.6Q);K eY=$(J);K yi="";if(f3.1f("1C")&&f3.1f("1C").6L){yi=f3.1f("1C").6L}K yf="";if(eY.1f("1C")&&eY.1f("1C").6L){yf=eY.1f("1C").6L}K 1W=QB.1d.2e.70.sL({6X:1l,4X:{cB:f3.1f("t6"),aR:f3.1f("f9"),tB:yi},4Y:{cB:eY.1f("t6"),aR:eY.1f("f9"),tB:yf}});QB.1d.2e.dE();K 1N=1W.1N();me.1g.29(QB.1d.77.2j.mI,1N);me.1g.1f("yg",1j);me.eR=1j},je:1a(1H,ui){if(me.4s.6X){$(ui.4u).2t("tA")}1i{$(ui.4u).4h("tA")}}})}},kR:1a(3l){K bF="#1M-e5-3i";if(1K(QB.1d.5o.ep[bF])){K $gr=$(bF);if($gr.1e){K 8K={};8K[" OK "]=1a(){K 4s=$(J).1f("4s");4s.8s=$("2a[1z=1C-af]",$(J)).bi();4s.4D=$("2a[1z=1C-1z]",$(J)).bi();$(J).3i("5A");QB.1d.2l.KT(4s);QB.1d.2l.5i()};8K[QB.1d.2d.58.KZ.dO]=1a(){$(J).3i("5A")};QB.1d.5o.ep[bF]=$gr.3i({5L:1j,4o:tJ,fB:y7,tT:1j,1r:lf,xT:1l,6P:1a(e,ui){K 4s=$(J).1f("4s");$("2a[1z=1C-1z]",$(J)).2h(4s.4D);$("2a[1z=1C-1z]").1k("P3",4s.KW);$("2a[1z=1C-af]",$(J)).2h(4s.8s)},8K:8K})}}if(!1K(QB.1d.5o.ep[bF])){QB.1d.5o.ep[bF].1f("4s",3l.4s)}1b QB.1d.5o.ep[bF]},KX:1a(){if(J.1g.1y()>J.1x.e3){J.2T("1y",J.1x.e3)}if(J.1g.1r()>J.1x.cv){J.2T("1r",J.1x.cv)}K Lm=40;K ac=J.l8;K xU=J.1g;K 6f=J.dD;K Lk=J.kl;K xP=ac.b7();K Lp=xU.b7();K Lo=6f.b7();K l3=ac.1r();K Li=xU.e1();K xS=6f.e1();K Oy=Lk.1r();if(xP==0&&l3==0){1b}K Lj=l3>Li-xS;if(Lj){l3+=16}K 1r=3F.4v(xS,l3);if(!1K(J.1x.cv)&&J.1x.cv!="5T"){1r=J.1x.cv}K Lb=xP+Lo;K 1y=3F.61(Lp,J.1x.e3);if(1r>Lm){J.2T("1r",65(1r));J.l8.1r("100%")}if(1y>0){J.2T("1y",1y);J.2T("9j",Lb)}},Lc:1a(){if(!1K(J.4s.6H)){1b J.4s.6H.3h(/ /g,"&2r;")}1i{1b""}},La:1a(5W,bP){K me=J;K 1x=5W.y6;if(1K(1x)){1x={}}K 5h=[];if(!1x.xZ){K gQ=1S QB.1d.2d.Lg;gQ.6L="*";gQ.tP="*";gQ.ej=5W.Ld;5h.1D(gQ)}K lg=1x.xX?"Le":"";3s(1x.e2){1n QB.1d.2S.xY.3T:5W.5J.t4(lg,"6L");1p;1n QB.1d.2S.xY.tO:5W.5J.t4(lg,1x.lj.sY?"yG":"yH");1p}me.5h=[];5h=5h.3y(5W.5J);$.2g(5h,1a(1q,2i){K f=1S QB.1d.yI(2i,5W,me,1x);me.5h.1D(f);bP.2U(f.1g)})},kB:1a(dH,t7){1b $(\'<a 59="#"></a>\').2t("ui-aG-6n bC-3n 3n-"+dH+" 8D").6D(1a(){$(J).2t("ui-53-6D")},1a(){$(J).4h("ui-53-6D")}).7c(1a(ev){ev.7Y()}).2U($("<2A/>").2t("ui-3E "+t7)).1k("6b",-1)},SF:1a(){if(!J.yF){J.yF=$("#qb-ui-3U")}1b J.yF},6y:1a(){1b{x:J.2y().2b,y:J.2y().1O,1r:J.1r(),1y:J.1y()}},83:1a(1f){if(!1K(gW)){gW.29("5w")}K me=J;K 1u=1f.1C;me.1g.1f("f9",1u.3g);$(".qb-ui-1M-2i",me.1g).2g(1a(){K 2i=$(J);2i.1f("t6",1u.3g);K 7s=1c;$.2g(1u.5J,1a(1q,yC){if(fF(yC.6L,2i.1f("1C").6L)){7s=yC.3g;1b 1j}});2i.1f("f9",7s)});J.1g.29(QB.1d.77.2j.xa)},If:1a(1x){if(!1K(gW)){gW.29("5w")}J.1x=$.4j(J.1x,1x);K Il=J.1g.1r();K Ii=J.7D.1y();K Ik=J.5h.1e;K yD=0;if(1x!=1c&&(1x.1C!=1c&&1x.1C.5J!=1c)){yD=1x.1C.5J.1e+1}K yE=yD!=Ik;if(yE){J.1x.1y="5T";J.1x.1r="5T"}K nI=J.7D.5b();J.qQ(1l);if(!yE){J.1g.1r(Il);J.7D.1y(Ii)}J.7D.5b(nI)},67:1a(){K me=J;J.1g.29(QB.1d.77.2j.u2);me.1g.41("").3K().7V(".6r").sR("6r").4x("3S").6F().3w()},5A:1a(1H,sU){K me=J;if(!sU){me.1g.29(QB.1d.77.2j.tZ)}if(1j===me.7H("I9",1H)){1b}me.1g.7V("hI.qb-ui-1M");me.1g.3K()&&me.7H("5A",1H);me.nF=1j;me.67()},j2:1a(){1b J.nF},yM:1a(f8,1H){K me=J;if(J.1x.4o>$.ui.6r.nl){$.ui.6r.nl=J.1x.4o}K Ij={5b:me.1g.1k("5b"),4Z:me.1g.1k("4Z")};me.1g.3a("z-1P",++$.ui.6r.nl).1k(Ij);J.7H("2V",1H)},t9:1a(5h){J.1g.29(QB.1d.77.2j.mH,{5h:5h})},yO:1a(3C){K me=J;K 5h=J.5h;K dX=[];$.2g(5h,1a(){K 2i=J;if(2i.1C.6L!="*"&&J.3C!=3C){J.fN(3C);dX.1D(J)}});me.t9(dX)},iD:1a(8E,3C,qX){K me=J;K 5h=J.5h;K yP=[];$.2g(5h,1a(1P,2i){if(2i.1C.6L==8E){$(".qb-ui-1M-2i-2n 2a",2i.1g).2g(1a(){if(J.3C!=3C){J.3C=3C;2i.3C=3C;yP.1D(2i)}})}});if(qX){me.t9(yP)}},6P:1a(){if(J.nF){1b}K 1x=J.1x;J.yA();J.nD(1x.2I);J.yM(1l);J.7H("6P");J.nF=1l},SZ:1a(){K 6g=J,1x=J.1x;1a bT(ui){1b{2I:ui.2I,2y:ui.2y}}J.6e.6Q({jc:".ui-3i-ac, .ui-3i-bC-5A",4N:".qb-ui-1M-bC",89:"2P",2H:1a(1H,ui){$(J).2t("ui-3i-tk");6g.uw();6g.7H("yJ",1H,bT(ui))},5j:1a(1H,ui){6g.7H("5j",1H,bT(ui))},5D:1a(1H,ui){1x.2I=[ui.2I.2b-6g.2P.4Z(),ui.2I.1O-6g.2P.5b()];$(J).4h("ui-3i-tk");6g.yu();6g.7H("yL",1H,bT(ui))}})},yo:1a(){K me=J;K 2Z=$(2P),yK;1a bT(ui){1b{2I:ui.2I,2y:ui.2y}}me.6e.6Q({SX:1j,Nx:1j,jc:".ui-3i-ac, .ui-3i-bC-5A",4N:".qb-ui-1M-bC",89:"1L",nI:1l,2H:1a(1H,ui){K c=$(J);yK=me.1x.1y==="5T"?"5T":c.1y();c.1y(c.1y()).2t("ui-3i-tk");if($.ui.hG.5H!=1c&&($.ui.hG.5H.89!=1c&&$.ui.hG.5H.89.1e>3)){$.ui.hG.5H.89[2]=tb;$.ui.hG.5H.89[3]=tb}me.uw();me.7H("yJ",1H,bT(ui))},5j:1a(1H,ui){QB.1d.2e.eZ();me.7H("5j",1H,bT(ui))},5D:1a(1H,ui){QB.1d.2e.78();QB.1d.2e.dE();me.1x.2I.at="2b+"+(ui.2I.2b-2Z.4Z())+" 1O+"+(ui.2I.1O-2Z.5b());$(J).4h("ui-3i-tk").1y(yK);me.1g.29(QB.1d.77.2j.u9,me);QB.1d.2l.5i();me.yu();me.7H("yL",1H,bT(ui))}})},T2:1a(){K ce,co,je,o=J.1x;if(o.89==="1L"){o.89=J.4u[0].3o}if(o.89==="2P"||o.89==="3N"){J.89=[0-J.2y.nO.2b-J.2y.1L.2b,0-J.2y.nO.1O-J.2y.1L.1O,$(o.89==="2P"?2P:3N).1r()-J.Ic.1r-J.tc.2b,($(o.89==="2P"?2P:3N).1y()||2P.3S.3o.tu)-J.Ic.1y-J.tc.1O]}if(!/^(2P|3N|1L)$/.9w(o.89)){ce=$(o.89)[0];co=$(o.89).2y();je=$(ce).3a("gM")!=="79";J.89=[co.2b+(6l($(ce).3a("yB"),10)||0)+(6l($(ce).3a("ST"),10)||0)-J.tc.2b,co.1O+(6l($(ce).3a("yq"),10)||0)+(6l($(ce).3a("SS"),10)||0)-J.tc.1O,tb,tb]}},yy:1a(ft){ft=ft===2O?J.1x.5L:ft;K me=J,1x=me.1x,2I=me.6e.3a("2I"),I4=2N ft==="4e"?ft:"n,e,s,w,se,sw,ne,nw";1a bT(ui){1b{I6:ui.I6,I7:ui.I7,2I:ui.2I,56:ui.56}}me.6e.5L({jc:".ui-3i-ac",89:"2P",SV:me.7D,9j:65(1x.9j),cl:1x.cl,6q:me.na(),ft:I4,2H:1a(1H,ui){$(J).2t("ui-3i-Ia");me.uw();me.7H("I5",1H,bT(ui))},78:1a(1H,ui){me.7H("78",1H,bT(ui));QB.1d.2e.tg();QB.1d.2e.eZ()},5D:1a(1H,ui){$(J).4h("ui-3i-Ia");1x.1y=$(J).1y();1x.1r=$(J).1r();me.7H("Ib",1H,bT(ui));me.1g.29(QB.1d.77.2j.u9,me);QB.1d.2l.5i()}}).3a("2I",2I).2F(".ui-5L-se").2t("ui-3E ui-3E-Sn-Sm-se")},na:1a(){K 1x=J.1x;K 1y=J.h5;if(1x.1y==="5T"){if(!aY(1x.6q)){1y=3F.4v(1y,1x.6q)}}1i{K h=0;if(!aY(1x.6q)){h=1x.6q}if(!aY(1x.1y)){1y=3F.61(h,1x.1y)}1y=3F.4v(1y,h)}1b 1y},2I:1a(3Y){J.nD(3Y)},nD:1a(3Y){if(!J.1x.6U){1b}if(!$("#qb-ui-1V").is(":6U")){1b}K e7=[],2y=[0,0];if(3Y){if(2N 3Y==="4e"||2N 3Y==="1C"&&"0"in 3Y){e7=3Y.3u?3Y.3u(" "):[3Y[0],3Y[1]];if(e7.1e===1){e7[1]=e7[0]}$.2g(["2b","1O"],1a(i,I8){if(+e7[i]===e7[i]){2y[i]=e7[i];e7[i]=I8}});3Y={my:"2b 1O",of:"#qb-ui-1V",at:"2b+"+2y[0]+" 1O+"+2y[1]}}3Y=$.4j({},J.1x.2I,3Y)}1i{3Y=J.1x.2I}J.1x.2I=3Y;if(J.1x.6U&&(J.1x.2I.of==1c||$(J.1x.2I.of).1e>0)){J.6e.5d();3Y.of="#qb-ui-1V";J.6e.2I(3Y)}},ng:1a(1q,1m){K me=J,6e=me.6e,fu=6e.is(":1f(ui-5L)"),78=1j;3s(1q){1n"I9":1q="Sr";1p;1n"8K":me.Sp(1m);78=1l;1p;1n"Si":me.Sh.1Z(""+1m);1p;1n"Iy":6e.4h(me.1x.Iy).2t(Sk+1m);1p;1n"2x":if(1m){6e.2t("ui-3i-2x")}1i{6e.4h("ui-3i-2x")}1p;1n"6Q":if(1m){me.yo()}1i{6e.6Q("67")}1p;1n"1y":78=1l;1p;1n"9j":if(fu){6e.5L("2T","9j",1m)}78=1l;1p;1n"fB":if(fu){6e.5L("2T","fB",1m)}78=1l;1p;1n"6q":if(fu){6e.5L("2T","6q",1m)}78=1l;1p;1n"cl":if(fu){6e.5L("2T","cl",1m)}78=1l;1p;1n"2I":me.nD(1m);1p;1n"5L":if(fu&&!1m){6e.5L("67")}if(fu&&2N 1m==="4e"){6e.5L("2T","ft",1m)}if(!fu&&1m!==1j){me.yy(1m)}1p;1n"6f":$(".ui-3i-6f",me.SA).41(""+(1m||"&#Sz;"));1p;1n"1r":78=1l;1p}$.wX.2W.ng.3c(me,2q);if(78){me.yA()}},Sy:1a(){K 1x=J.1x;J.7D.3a({1r:"5T",6q:0,1y:0});if(1x.cl>1x.1r){1x.1r=1x.cl}K nj=J.6e.3a({1y:"5T",1r:"5T"}).1y();K 6q=J.na();J.7D.3a(1x.1y==="5T"?{6q:6q,1y:$.cd.6q?"5T":6q}:{6q:0,1y:"5T"}).5d();if(J.6e.is(":1f(ui-5L)")){J.6e.5L("2T","6q",J.na())}},yA:1a(){K o=J.1x;J.7D.5d().3a({1r:"5T",6q:0,9j:"3t",1y:0,cl:o.cl});K nj=J.6e.3a({1y:"5T",1r:o.1r}).1y();K h5=0;if(aY(o.6q)){h5=nj}1i{h5=3F.4v(o.6q,nj)}if(o.1y==="5T"){J.7D.3a({6q:h5,1y:"5T"})}1i{J.7D.1y(3F.4v(0,o.1y-nj))}if(J.6e.is(":1f(ui-5L)")){J.6e.5L("2T","6q",J.na())}},uw:1a(){J.u6=J.2P.2F("d6").dZ(1a(){K d6=$(J);1b $("<2G>").3a({2I:"8n",1r:d6.e1(),1y:d6.b7()}).4x(d6.1L()).2y(d6.2y())[0]})},yu:1a(){if(J.u6){J.u6.3w();3W J.u6}},SC:1a(1H){if($(1H.3m).fl(".ui-3i").1e){1b 1l}1b!!$(1H.3m).fl(".ui-qh").1e}};(1a($){$.8M("ui.6r",QB.1d.77);$.4j($.ui.6r,{5Q:"1.8.2",HS:"2I",Ss:0,nl:0,6y:1a(){K 1V=$("#qb-ui-1V");1b{x:J.2y().2b-1V.2y().2b,y:J.2y().1O-1V.2y().1O,1r:J.1r(),1y:J.1y()}}})})(2w);QB.1d.77.2j={mH:"mH",Iw:"Iw",tZ:"tZ",u2:"u2",u9:"u9",xa:"xa",mI:"mI",IB:"IB",mJ:"mJ",mF:"mF"};QB.1d.IC={};QB.1d.IC.2j={nA:"nA"};QB.1d.kw=1a(1q,1L){J.31=1c;J.dr=1c;J.9a=1c;J.5N=1c;J.8a=1q;J.cQ=1L;J.bu=1c;J.TE=1a(43){J.fv=1l;if(J.5N){J.5N.bi(43)}J.cM()},J.1m=1a(43){if(43===2O){1b J.bu}J.bu=43};J.bO=1a(){K bO=J.bu;if(!1K(J.bu)){3s(J.8a){1n 1Q.2k.cc:bO=J.bu;1p;1n 1Q.2k.8L:bO=1Q.7N.ot.ds(J.bu);if(bO=="xf"){bO=""}1p;1n 1Q.2k.6W:K 1m=J.cQ.7i(1Q.2k.8L);if(1K(1m)||1m==0){bO=""}1p;1n 1Q.2k.ch:bO=1Q.7N.r3.ds(J.bu);1p}}if(1K(bO)){bO=" "}1b bO};J.3w=1a(){};J.83=1a(){if(J.dr!=1c){J.dr[0].nC=Iz(J.bO())}if(J.5N!=1c){J.5N.bi(J.bu)}};J.HL=1a(){if(J.dr!=1c){J.dr.3K()}if(J.9a!=1c){J.9a.5d()}if(J.5N!=1c){J.5N.2V()}};J.wS=1a(){if(J.dr==1c){1b}QB.1d.2D.qW=1l;J.dr.5d();if(J.9a!=1c){J.9a.3K()}QB.1d.2D.qW=1j};J.Ip=1a(){K 6x=1c;K me=J;3s(J.8a){1n 1Q.2k.jy:6x=$("<2G></2G>");6x.gz=1l;6x.2E("3I",1a(e){$(me).29(QB.1d.kw.2j.qY,{1q:me.8a,43:1l,5v:1j})});me.31.2E("7S",1a(e){if(e.3H==13||e.3H==32){me.5N.29("3I")}});1p;1n 1Q.2k.49:6x=$("<2G></2G>");6x.gz=1l;1p;1n 1Q.2k.1R:6x=$(\'<2a 1w="7U" 1m="1l" />\');6x.1k("6b",-1);6x.gz=1l;1p;1n 1Q.2k.cX:6x=$(\'<2a 1w="7U" 1m="1l" />\');6x.1k("6b",-1);6x.gz=1l;1p;1n 1Q.2k.3f:6x=$("<2n />");1p;1n 1Q.2k.cc:K 2n=["<2n>"];if(!1K(QB.1d.5o.8Z)&&!1K(QB.1d.5o.8Z.IA)){K 1R="";$.2g(QB.1d.5o.8Z.IA,1a(1P,2h){1R=2h==me.bu?\' 1R="1R" \':"";2n.1D(\'<2T 1m="\'+2h+\'"\'+1R+">"+(2h==1c?"":2h)+"</2T>")})}2n.1D("</2n>");6x=$(2n.4G(""));6x.2E("dM",1a(){me.cM()});1p;1n 1Q.2k.8L:K 2n=["<2n>"];1Q.7N.ot.2g(1a(1P,2h){2n.1D(\'<2T 1m="\'+1P+\'">\'+(2h==1c?"":2h)+"</2T>")});2n.1D("</2n>");6x=$(2n.4G(""));6x.2E("dM",1a(){me.cM()});1p;1n 1Q.2k.6W:6x=$("<2n />");1p;1n 1Q.2k.ch:K 2n=["<2n>"];1Q.7N.r3.2g(1a(1P,2h){2n.1D(\'<2T 1m="\'+1P+\'">\'+(2h==1c?"":2h)+"</2T>")});2n.1D("</2n>");6x=$(2n.4G(""));6x.2E("dM",1a(){me.cM()});1p;5u:6x=$(\'<2a 1w="1Z" 1m="" />\');6x.4M("7S",me.Iu,me);1p}6x.Tu(1a(e){me.31.4h("ui-wT-2V")});1b 6x};J.Iu=1a(e){if(e.3H==13){e.7Y();J.cM();1b 1j}};J.Is=1a(){K me=J;K $3n=$(\'<3n 2B="rh">\').3n({aw:{nm:"ui-3E-Ts"},1Z:1j}).7c(1a(1H){$(me.cQ).29(QB.1d.ht.2j.fa,{5g:me.8a,1m:me.bu,1N:me.cQ.1N(),7k:me});1H.4d();1b 1j}).3I(1a(1H){1H.4d();1b 1j});1b $3n};J.wQ=1a(){K me=J;if(J.9a==1c){J.9a=$(\'<2G 2B="ui-qb-3U-1I-7k-It-71"></2G>\');J.9a.4x(J.31)}J.5N=J.Ip(J.8a);if(J.8a==1Q.2k.3f&&(QB.1d.2D.o4&QB.1d.2S.x9.Im)!=0||J.8a>=1Q.2k.81&&(QB.1d.2D.o4&QB.1d.2S.x9.In)!=0){K $3n=J.Is();J.9a.2U($3n);K $2A=$(\'<2A 2B="TM"></2A>\');$2A.2U(J.5N);J.9a.2U($2A)}1i{J.9a.2U(J.5N)}J.5N.1k("5y-3x",QB.1d.2D.8x[J.8a]);if(!J.5N.gz){J.9a.3K()}if(J.8a==1Q.2k.3f){K ub=J.5N.x7({9E:"3U-3f",1m:me.bu,fS:1a(e){me.cM()}});K 8j=ub.x8()[0];J.5N=8j.xh();J.5N.nZ=1l}1i{if(J.8a==1Q.2k.6W){K ub=J.5N.x7({9E:"3U-6W",fS:1a(){me.cM()}});K 8j=ub.x8()[0];J.5N=8j.xh();J.5N.nZ=1l}}J.5N.2t("ui-qb-3U-1I-7k-It-31");if(!J.5N.nZ){if(J.5N.gz){J.5N.dM(1a(){me.cM()});J.5N.nZ=1l}1i{J.5N.4Q(1a(){me.cM()});J.5N.nZ=1l}}};J.xC=1a(){J.9a.6F().3w();J.9a.3w();J.9a=1c;J.wQ()};J.Hy=1a(){K me=J;3s(J.8a){1n 1Q.2k.jy:;1n 1Q.2k.49:;1n 1Q.2k.1R:;1n 1Q.2k.cX:1b 1c}K $xe=$("<2G></2G>").2t("ui-qb-3U-1I-7k-Ir-71").2t("ui-qb-3U-1I-7k-Ir-31");$xe.3I(1a(e){if(gH){1b}if(M4&&me.8a==1Q.2k.af){QB.1d.5o.rH("TL HG is jA TQ of jA Mx 5Q. HH HI 4y TO of TH mv HI be HF to jX TF HG in jA TJ 5Q.");1b 1j}me.rq()});1b $xe};J.rq=1a(){QB.1d.2D.bV=1l;if(QB.1d.2D.oo!=1c){QB.1d.2D.oo.cM()}if(J.8a==1Q.2k.3f||!J.cQ.1K()&&!J.cQ.Hz()){J.HL();QB.1d.2D.oo=J}J.31.2t("ui-wT-2V")};J.cM=1a(){K wR=1l;K 5v=J.1m();K 43=J.5N.bi();if(!3O.r0(5v,43)&&!(5v==1c&&(43==" "||43==0))){K x5=J.cQ.7i(1Q.2k.8L);3s(J.8a){1n 1Q.2k.6W:if(1K(43)||43==0){if(!1K(x5)){J.cQ.8k(1Q.2k.8L,1Q.7N.ot.xf)}}1i{5v=1K(5v)?HJ:65(5v);43=65(43);if(aY(43)){43=0}if(aY(5v)){5v=HJ}43+=43<5v?-0.5:+0.5;if(1K(x5)){J.cQ.8k(1Q.2k.8L,1Q.7N.ot.HK);J.cQ.ib(1Q.2k.8L)}wR=1j}1p}J.1m(43);if(wR){J.cQ.ib()}J.wS();$(J).29(QB.1d.kw.2j.qY,{1q:J.8a,43:43,5v:5v,fv:J.fv});J.fv=1j}1i{J.wS()}QB.1d.2D.oo=1c;if(!J.5N.gz){J.31.4h("ui-wT-2V")}};J.HE=1a(1q){K gx="ui-qb-3U-1I-";if(1q>=1Q.2k.lY){1b gx+"xo"}1b gx+1Q.2k.ds(1q)};J.dV=1a(2V){if(!2V.1e){1b $()}K 1J=2V.3k();if(1J.is(":8D")){1b 1J}1J=1J.2F(":8D:4A");if(1J.1e){1b 1J}K 1L=2V.1L();1b J.dV(1L)};J.dW=1a(2V){if(!2V.1e){1b $()}K 1J=2V.3Q();if(1J.is(":8D")){1b 1J}1J=1J.2F(":8D:7b");if(1J.1e){1b 1J}K 1L=2V.1L();1b J.dW(1L)};J.80=1a(1q,1L){K me=J;J.31=$(\'<td 2B="ui-8M-ac ui-qb-3U-1I-7k \'+J.HE(J.8a)+\'" />\');J.31.1k("6b",0);K uj=J.8a;if(uj>1Q.2k.81){uj=1Q.2k.81}J.31.1k("5y-3x",QB.1d.2D.8x[uj]);J.dr=J.Hy();if(J.dr!=1c){J.dr.4x(J.31)}J.wQ();J.31.Te(1a(e){if(QB.1d.2D!=1c&&QB.1d.2D.2x){1b}if(QB.1d.2D.qW){1b}if(me.31[0]!=e.3m){1b}me.rq()});J.31.7S(1a(e){3s(e.3H){1n 9:if(e.o5){me.dW(me.31).2V();e.4d()}}})};J.80(1q,1L)};QB.1d.kw.2j={qY:"Td",T5:"T4",fa:"fa"};QB.1d.ht=1a(1N){J.T3=1;J.5Z={};J.T8=3O.sQ();J.3g=1c;J.31=1c;J.ob=1j;J.69=zv();J.T7=1j;J.1K=1a(){1b 1K(J.5Z[1Q.2k.3f].1m())};J.Hz=1a(){K 2h=J.5Z[1Q.2k.3f].1m();if(1K(2h)){1b 1j}1b 2h.4S(".*")>=0};J.fN=1a(2h){K jD=J.5Z[1Q.2k.1R].1m();if(2h===2O){1b jD}1i{if(jD!=2h){J.5Z[1Q.2k.1R].1m(2h);J.wO(1c,{1q:1Q.2k.1R,43:2h});1b 1l}}1b 1j};J.7i=1a(1q){1b J.5Z[1q].1m()};J.M8=1a(){1b!1K(J.7i(1Q.2k.cc))||!1K(J.7i(1Q.2k.81))};J.8k=1a(1q,1m,qX){if(1m===2O){1m=1c}K 43=1m;K 5v=J.5Z[1q].1m();if(3O.r0(43,5v)){1b 1j}3s(1q){1n 1Q.2k.8L:J.8k(1Q.2k.6W,1c,qX);1p;1n 1Q.2k.6W:if(1K(43)||43==0){43=""}1p;5u:}J.5Z[1q].1m(43);1b 1l};J.wO=1a(e,1f){K 1q=1f.1q;K 43=1f.43;K 5v=1f.5v;$(J).29(QB.1d.ht.2j.wW,{1q:1q,43:43,5v:5v,1I:J,fv:1f.fv});J.kc()};J.kc=1a(){K me=J;K ri=me.1K();1o(K 1q in me.5Z){if(1q==1Q.2k.3f){aH}K 7k=me.5Z[1q];7k.31.1k("6b",ri?-1:0)}};J.Hx=1a(){K me=J;K 41=$(\'<tr 2B="ui-qb-3U-1I" />\');1Q.2k.2g(1a(1q){K 7k=1S QB.1d.kw(1q,me);$(7k).4M(QB.1d.kw.2j.qY,me.wO,me);7k.31.4x(41);me.5Z[1q]=7k});J.kc();41.1f("1C",J);41.1f("me",J);1b 41};J.3w=1a(){J.ob=1l;J.31.6F().3w();J.31.3w();J.31.41("")};J.ib=1a(k7){K me=J;1o(K 1q in me.5Z){K 7k=me.5Z[1q];if(k7===2O||k7==1q){7k.83()}}J.kc()};J.HQ=1a(k7){K me=J;1o(K 1q in me.5Z){K 7k=me.5Z[1q];if(k7===2O||k7==1q){7k.xC()}}J.kc()};J.HC=1a(){J.8k(1Q.2k.1R,!J.1K());J.8k(1Q.2k.cX,1j);J.8k(1Q.2k.ch,1Q.7N.r3.o8)};J.gN=1a(xB,wP,ro){if(3O.3r(J.7i(1Q.2k.3f)).3P()==3O.3r(xB).3P()){if(wP===2O||wP==3O.3r(J.7i(1Q.2k.cc)).3P()){if(ro===2O||ro==3O.3r(J.7i(1Q.2k.af)).3P()){1b 1l}}}1b 1j};J.1N=1a(1m){if(1m===2O){1b J.Hw()}1i{1b J.r2(1m)}};J.83=1a(1N){K 5E=J.r2(1N);if(5E){J.ib()}1b 5E};J.r2=1a(1N){K 5E=1j;if(1K(1N)){1b 5E}5E=J.8k(1Q.2k.3f,1N.8Q)||5E;5E=J.8k(1Q.2k.cc,1N.eI)||5E;5E=J.8k(1Q.2k.af,1N.8s)||5E;5E=J.8k(1Q.2k.cX,1N.ha)||5E;5E=J.8k(1Q.2k.ch,1N.wY)||5E;5E=J.8k(1Q.2k.8L,1N.e2)||5E;5E=J.8k(1Q.2k.6W,1N.kg)||5E;1o(K i=0;i<QB.1d.2D.hk+1;i++){5E=J.8k(1Q.2k.81+i,1N.5Y[i])||5E}if(J.3g!=1N.3g){J.3g=1N.3g;5E=1l}if(!1K(1N.69)&&J.69!=1N.69){J.69=1N.69;5E=1l}if(!1K(1N.3g)&&J.69!=1c){if(!1K(1N.3g)){J.69=1c}5E=1l}if(J.ob!=1N.7M){J.ob=1N.7M;5E=1l}if(J.9i!=1N.9i){J.9i=1N.9i;5E=1l}5E=J.8k(1Q.2k.1R,1N.bs&&!J.1K())||5E;J.kc();1b 5E};J.Hw=1a(){K 1N=1S QB.1d.2d.Ak;1N.bs=J.7i(1Q.2k.1R);1N.8Q=J.7i(1Q.2k.3f);1N.eI=J.7i(1Q.2k.cc);1N.8s=J.7i(1Q.2k.af);1N.ha=J.7i(1Q.2k.cX);1N.wY=J.7i(1Q.2k.ch);1N.e2=J.7i(1Q.2k.8L);1N.kg=J.7i(1Q.2k.6W);1N.5Y[0]=J.7i(1Q.2k.81);1o(K i=0;i<QB.1d.2D.hk;i++){1N.5Y[1+i]=J.7i(1Q.2k.lY+i)}1N.3g=J.3g;1N.7M=J.ob;1N.69=J.69;1N.9i=J.31==1c?0:J.31.1P();1b 1N};J.80=1a(1N){J.31=J.Hx();J.31.oa();J.HC();J.r2(1N);J.ib()};J.80(1N)};QB.1d.ht.2j={wW:"Tq",fa:"fa"};QB.1d.2D={2X:[],hk:2,qR:1j,Tp:1c,m7:1c,bV:1j,To:[],2x:1j,qW:1j,o4:0,rm:1j,dV:1a(2V){if(!2V.1e){1b $()}K 1J=2V.3k();if(1J.is(":8D")){1b 1J}1J=1J.2F(":8D:4A");if(1J.1e){1b 1J}K 1L=2V.1L();1b J.dV(1L)},dW:1a(2V){if(!2V.1e){1b $()}K 1J=2V.3Q();if(1J.is(":8D")){1b 1J}1J=1J.2F(":8D:7b");if(1J.1e){1b 1J}K 1L=2V.1L();1b J.dW(1L)},qQ:1a(){K me=J;QB.1d.2D.o4=J.1g.1k("o4");QB.1d.2D.rm=J.1g.1k("rm");K x=J.1g.1k("hk");if(x!=1c&&(x!=""&&!aY(x))){QB.1d.2D.hk=65(x)}if(J.1g.1k("qR")=="Th"){QB.1d.2D.qR=1l}J.1g.2t("ui-8M").2t("ui-qb-3U");J.1g.cG({qO:"qb-ui-3U-6D",wZ:".qb-ui-3U-cG",dl:"9h",x0:1a(e,ui){if(ui.4u.4F("qb-ui-42-2i-4u")){K 1C=ui.4u.1f("1C");K hT=ui.4u.1f("hT");$(J).29(QB.1d.2D.2j.rw,{1M:hT,2i:1C})}1i{K HD=$(J);K 1C=ui.4u.1f("1C");K qU={1C:1C};$(J).29(QB.1d.2D.2j.rz,qU)}}});J.1M=$(\'<1M qV="0" qS="0" eU="0" />\').2t("ui-8M-ac").2t("qT-HB").4x(J.1g);J.HT().4x(J.1M);J.iL();J.hD();J.HY();me.1g.2V(1a(e){QB.1d.2D.bV=1j});me.1g.1k("6b",0);me.1g.7S(1a(e){3s(e.3H){1n 13:if(QB.1d.2D.bV){1b}QB.1d.2D.bV=1l;me.1g.2F("[6b]:6U:4A").2V();e.4d();1p;1n 9:if(!QB.1d.2D.bV){if(!e.o5){me.dV(me.1g).2V()}1i{me.dW(me.1g).2V()}e.4d()}}})},HY:1a(){K me=J;me.1M.4g({r5:1a(1M,1I){K 1u=$(1I).1f("1C");if(!1u.1K()){me.1g.29(QB.1d.2D.2j.eV,{1I:1u})}},ol:"ui-qb-3U-1I-49"})},67:1a(){J.1g.4h("ui-qb-3U").7V(".8U");J.1M.3w();$.wX.2W.67.3c(J,2q)},iL:1a(1I){K wU=1j;$.2g(J.2X,1a(1q,1I){if(1I.1K()){wU=1l;1b 1j}});if(!wU){J.k0(1c)}},fC:1a(1T){K me=J;if(1K(1T)||1T.2Q.1e==0){1b}K 3R=".ui-qb-3U-1I";K 1F=QB.1d.2e.il(1T.2Q);$.2L("67",3R);$.2L({3R:3R,4o:cf,6R:{6S:0},1X:1a(49,1x){K 1I=J.1f("me");me.io(49,1I)},1F:1F})},io:1a(49,1I){K me=J;K el=1I.31;3s(49){1n"d1-up":if(el.3k().1e){el.7a(el.3Q());if(!1I.1K()){me.1g.29(QB.1d.2D.2j.eV,{1I:1I})}}1p;1n"d1-cU":K 3k=el.3k();if(3k.1e&&3k.3k().1e){el.eJ(3k);if(!1I.1K()){me.1g.29(QB.1d.2D.2j.eV,{1I:1I})}}1p;1n"1I-3W":if(me.2X.1e>1){me.gu(1I)}1i{if(1I.1K()){1b}1i{me.gu(1I);me.iL()}}me.iL(1I);me.hD();me.1g.29(QB.1d.2D.2j.eV,{1I:1I,1q:1Q.2k.jy,43:1l,5v:1j});1p;1n"1I-Ti":me.k0(1c,el);1p}},k0:1a(4q,iA,57,i8){K d9=1j;K 1I=J.HX(4q);if(1I==1c){d9=1l;1I=1S QB.1d.ht(4q);$(1I).4M(QB.1d.ht.2j.wW,{1I:1I},J.I0,J);$(1I).4M(QB.1d.ht.2j.fa,1I,J.fa,J);if(1I!=1c&&(!1I.1K()&&1K(iA))){iA=J.HW()}if(57===0||!1K(57)){57=65(57)+1;K iy=$("tr",J.1M).eq(57);if(iy.1e){iy.AB(1I.31)}1i{1I.31.4x(J.1M)}}1i{if(iA!=1c&&iA.1e){1I.31.7a(iA)}1i{1I.31.4x(J.1M)}}if(!i8){J.1g.29(QB.1d.2D.2j.zE,{1I:1I})}J.2X.1D(1I)}1i{if(57===0||!1K(57)){57=65(57)+1;K HZ=1I.31[0].Rd;if(57!=HZ){K iy=$("tr",J.1M).eq(57);if(iy.1e){iy.AB(1I.31)}}}d9=1I.83(4q);if(!i8&&d9){J.1g.29(QB.1d.2D.2j.eV,{1I:1I})}}if(1I!=1c&&1I.31!=1c){K nK=$(".ui-qb-3U-1I-ch",1I.31);if(nK.1e>0){nK.3a("5q",J.m7?"":"3t")}}if(!i8&&d9){J.hD()}1b 1I},MQ:1a(){1b J.2X},Rf:1a(){K xF=1c;$.2g(J.2X,1a(1q,1I){K ri=1I.1K();if(ri){xF=1I;1b 1j}});1b xF},gu:1a(xG,i8){K 4q;1o(K i=J.2X.1e-1;i>=0;i--){K 1I=J.2X[i];if(1I.3g==xG.3g){if(!1K(1I.3g)||1K(1I.3g)&&1I.31==xG.31){J.2X.3w(1I);1I.7M=1l;1I.3w();4q=1I.1N()}}}J.hD();if(4q){4q.7M=1l;if(!i8){J.1g.29(QB.1d.2D.2j.zF,{4q:4q})}}},Re:1a(1N){K 2X=J.xE(1N);1o(K 1I in 2X){1I.3w();J.2X.3w(1I);3W 1I}J.hD()},R7:1a(7s){K 1J=1c;$.2g(J.2X,1a(1q,1I){if(1I.3g==7s){1J=1I;1b 1j}});1b 1J},HW:1a(){1b J.1M.2F("tr:7b:5U(.ui-qb-3U-1I-85)")},HX:1a(4q){K 2X=J.xE(4q);if(2X.1e>0){1b 2X[0]}1b 1c},xE:1a(4q){K 1J=[];if(4q==1c){1b 1J}K xB=3O.3r(4q.8Q).3P();K ro=3O.3r(4q.8s).3P();1o(K i=0;i<J.2X.1e;i++){K 1I=J.2X[i];if(!1K(1I.3g)&&(!1K(4q.3g)&&1I.3g==4q.3g)){1J.1D(1I)}1i{if(!1K(1I.69)&&(!1K(4q.69)&&1I.69==4q.69)){1J.1D(1I)}1i{if(1I.gN(4q.8Q,4q.eI,4q.8s)){1J.1D(1I)}}}}1b 1J},mB:1a(){$.2g(J.2X,1a(1q,1I){1I.5Z[1Q.2k.3f].xC();if(QB.1d.2D.oo==1I.5Z[1Q.2k.3f]){1I.5Z[1Q.2k.3f].rq()}})},Jn:1a(3f){K 2X=J.sI(3f);if(2X.1e>0){1b 2X[0]}1b 1c},sI:1a(3f){K 1J=[];$.2g(J.2X,1a(1q,1I){if(1I.gN(3f,"")){1J.1D(1I)}});1b 1J},MF:1a(1N){K 2V=$(":2V");$("#qb-ui-3U").2V();QB.1d.2D.2x=1l;K me=J;if(1K(1N)){1b}K xM=[];$.2g(1N.b8,1a(1P,I2){xM.1D(me.k0(I2,1c,1P,1l))});1o(K i=J.2X.1e-1;i>=0;i--){if(i>J.2X.1e-1){aH}K og=J.2X[i];if(og!=1c){if(xM.4S(og)==-1&&!og.1K()){J.gu(og,1l)}}}QB.1d.2D.2x=1j},MH:1a(){K 2J=[];if(QB.1d.2e.5M!=1c&&QB.1d.2e.5M.1e!=1c){1o(K i=0;i<QB.1d.2e.5M.1e;i++){K 1u=QB.1d.2e.5M[i];K 1M=1u.1f("1C");K 8t=!1K(1M.jM)?1M.jM:1M.3T;K xN=8t+".*";2J.1D({1R:1j,1Z:xN,1m:xN,dH:"1M"});$(1M.5J).2g(1a(){K 2i=J;K m5=8t+"."+2i.6L;K I3=2i.6L;2J.1D({1R:1j,1Z:I3,1m:m5,dH:"2i"})})}}9Q.xL("3U-3f",2J)},Rp:1a(1I,3C){1I.fN(3C)},fa:1a(e,1f){1f.1I=e.1f.1I;J.1g.29(QB.1d.2D.2j.xp,1f)},xO:1a(e,1f){},I0:1a(e,1f){K 1I=e.1f.1I;K 1q=1c;K 43=1c;K 5v=1c;if(1f){1q=1f.1q;43=1f.43;5v=1f.5v}1b J.HV(1I,1q,5v,43,1f.fv)},Ro:1a(4q,5g,3f,1X){if(J.rm!="1l"){if(1X&&7t(1X)=="1a"){1X()}1b}4q.I1=1l;4q.zk=5g;4q.zh=3f;QB.1d.2l.lZ([4q]);QB.1d.2l.5i(1X)},HV:1a(1I,5g,5v,43,rh){if(5g==1Q.2k.jy&&43){if(J.2X.1e>1){J.gu(1I,1l)}1i{if(1I.1K()){1b}1i{J.gu(1I,1l);J.iL()}}}J.iL(1I);J.hD(1I);J.1g.29(QB.1d.2D.2j.eV,{1I:1I,1q:5g,43:43,5v:5v,rh:rh})},hD:1a(1I){J.HO(1I);J.HP(1I)},HP:1a(){K m6=[];1o(K i=0;i<J.2X.1e;i++){K 1I=J.2X[i];K 1m=1I.7i(1Q.2k.8L);if(1m!=1c&&1m>0){m6.1D({1I:1I,6W:1I.7i(1Q.2k.6W)})}}m6.fW(J.HN);K 2J=[];1o(K i=0;i<m6.1e;i++){2J.1D({1R:1j,1Z:5n(i+1),1m:5n(i+1),dH:"6W"});K 1I=m6[i].1I;1I.8k(1Q.2k.6W,i+1,1l);1I.ib(1Q.2k.6W)}2J.1D({1R:1j,1Z:5n(i+1),1m:5n(i+1),dH:"6W"});9Q.xL("3U-6W",2J)},MN:1a(){1o(K i=0;i<J.2X.1e;i++){K 1I=J.2X[i];1I.HQ(1Q.2k.cc)}},HN:1a(a,b){K k8=b.6W;K jH=a.6W;if(1K(jH)||jH<0){1b 1}if(1K(k8)||k8<0){1b-1}jH=65(jH);k8=65(k8);1b jH-k8},HO:1a(1I){K r6=1j;1o(K i=0;i<J.2X.1e;i++){if(J.2X[i].7i(1Q.2k.cX)){r6=1l;1p}}if(J.m7==r6){1b 1j}J.m7=r6;K nK=$(".ui-qb-3U-1I-ch",J.1M);nK.3a("5q",J.m7?"":"3t");1b 1l},HT:1a(){K 85=$("<Rq />");K tr=$("<tr />").2t("ui-qb-3U-1I-85").4x(85);K 4A=1l;K rf="";QB.1d.2D.8x={};QB.1d.2D.8x[1Q.2k.49]="";QB.1d.2D.8x[1Q.2k.jy]=QB.1d.2d.58.5r.hL;QB.1d.2D.8x[1Q.2k.1R]=QB.1d.2d.58.5r.5Y.rb;QB.1d.2D.8x[1Q.2k.3f]=QB.1d.2d.58.5r.5Y.8Q;QB.1d.2D.8x[1Q.2k.cc]=QB.1d.2d.58.5r.5Y.eI;QB.1d.2D.8x[1Q.2k.af]=QB.1d.2d.58.5r.5Y.8s;QB.1d.2D.8x[1Q.2k.8L]=QB.1d.2d.58.5r.5Y.e2;QB.1d.2D.8x[1Q.2k.6W]=QB.1d.2d.58.5r.5Y.kg;QB.1d.2D.8x[1Q.2k.cX]=QB.1d.2d.58.5r.5Y.ha;QB.1d.2D.8x[1Q.2k.ch]=QB.1d.2d.58.5r.5Y.xA;QB.1d.2D.8x[1Q.2k.81]=QB.1d.2d.58.5r.5Y.qN;QB.1d.2D.8x[1Q.2k.lY]=QB.1d.2d.58.5r.5Y.qN;$.2g(QB.1d.2D.8x,1a(i,7k){QB.1d.2D.8x[i]=7k.3h("&2r;"," ").3h("&xK;","&")});$.2g(J.HU(),1a(){if(4A){rf=\'Rj="3"\';4A=1j}1i{rf=""}$(\'<th 2B="ui-53-5u ui-qb-3U-1I-\'+J.1z+\'" \'+rf+">"+J.85+"</th>").4x(tr)});1b 85},HU:1a(){K 2X={};2X[1Q.2k.1R]={cJ:1,1z:"1R",85:QB.1d.2d.58.5r.5Y.rb,1w:"7U"};2X[1Q.2k.3f]={cJ:2,1z:"3f",85:QB.1d.2d.58.5r.5Y.8Q,1w:"3f"};2X[1Q.2k.cc]={cJ:3,1z:"cc",85:QB.1d.2d.58.5r.5Y.eI,1w:"2n"};2X[1Q.2k.af]={cJ:4,1z:"af",85:QB.1d.2d.58.5r.5Y.8s,1w:"1Z"};2X[1Q.2k.8L]={cJ:5,1z:"8L",85:QB.1d.2d.58.5r.5Y.e2,1w:"2n"};2X[1Q.2k.6W]={cJ:6,1z:"6W",85:QB.1d.2d.58.5r.5Y.kg,1w:"2n"};2X[1Q.2k.cX]={cJ:7,1z:"cX",85:QB.1d.2d.58.5r.5Y.ha,1w:"7U"};2X[1Q.2k.ch]={cJ:8,1z:"ch",85:QB.1d.2d.58.5r.5Y.xA,1w:"2n"};2X[1Q.2k.81]={cJ:9,1z:"81",85:QB.1d.2d.58.5r.5Y.qN,1w:"1Z"};1o(K i=0;i<QB.1d.2D.hk;i++){2X[1Q.2k.lY+i]={cJ:10+i,1z:"xo",85:QB.1d.2d.58.5r.5Y.HR,1w:"1Z"}}1b 2X}};QB.1d.2D.2j={zE:"Rh",zF:"Rm",eV:"z0",rz:"rz",rw:"rw",xp:"xp"};(1a($){$.8M("ui.8U",QB.1d.2D);$.4j($.ui.8U,{HS:"Rk Jn sI k0 fC",5Q:"1.7.1"})})(2w);QB.1d.2d.ez={fY:0,6w:1,Aa:2,qI:3,J4:4};QB.1d.2d.6u={};QB.1d.2d.6u[QB.1d.2S.6G.Jl]={3T:"QO g5",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.Jm]={3T:"h7",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.Jr]={3T:"Qw g5",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.mj]={3T:"is gN to",7J:1,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.Jq]={3T:"xk 5U 2H g5",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.Jk]={3T:"xk 5U QJ",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.Je]={3T:"xk 5U 4z g5",7J:1,6Z:[QB.1d.2S.6h.9u]};QB.1d.2d.6u[QB.1d.2S.6G.A7]={3T:"is in 4O",7J:1,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.Jc]={3T:"is 5U gN to",7J:1,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.A8]={3T:"is 5U in 4O",7J:1,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.Jd]={3T:"is 1c",7J:0,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.Ji]={3T:"is 5U 1c",7J:0,6Z:[]};QB.1d.2d.6u[QB.1d.2S.6G.Jj]={3T:"is Jh qq",7J:1,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.6u[QB.1d.2S.6G.Jg]={3T:"is Jh qq or gN to",7J:1,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.6u[QB.1d.2S.6G.JE]={3T:"is JC qq",7J:1,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.6u[QB.1d.2S.6G.JF]={3T:"is JC qq or gN to",7J:1,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.6u[QB.1d.2S.6G.JD]={3T:"is JJ",7J:2,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.6u[QB.1d.2S.6G.JI]={3T:"is 5U JJ",7J:2,6Z:[QB.1d.2S.6h.fZ,QB.1d.2S.6h.5m]};QB.1d.2d.hX={};QB.1d.2d.hX[QB.1d.2S.9U.93]={3T:"93",hz:"6n"};QB.1d.2d.hX[QB.1d.2S.9U.qw]={3T:"g1 93",hz:"R1"};QB.1d.2d.hX[QB.1d.2S.9U.lP]={3T:"lP",hz:"QT"};QB.1d.2d.hX[QB.1d.2S.9U.hi]={3T:"hi",hz:"3t"};QB.1d.qF=1a(){J.$1w=1c};QB.1d.lR=1S 6d({$1w:"dh.lO.1d.de.lK.yQ, dh.lJ.1d.de",4k:1c,2Q:[],4E:QB.1d.2d.ez.fY,6w:1c,7B:QB.1d.2S.6G.mj,5V:1c,72:1c,dq:1j,g8:1j,1g:1c,9D:1a(){K 9D=J;47(9D.4k!=1c){9D=9D.4k}1b 9D},qG:1a(1N){1N.$1w=J.$1w;1N.4E=J.4E;1N.6w=J.6w;1N.7B=J.7B;1N.5V=J.5V;1N.72=J.72},qL:1a(1N){1N.2Q=[];$.2g(J.2Q,1a(1P,1h){1N.2Q.1D(1h.hB())})},hB:1a(){K 1N=$.4j(1S QB.1d.qF,1S QB.1d.2d.yQ);J.qG(1N);J.qL(1N);1b 1N},JH:1a(1N){K 1J=1c;if(1N==1c){1b 1J}3s(1N.4E){1n QB.1d.2d.ez.6w:1J=1S QB.1d.A4(J);1J.lN(1N);1p;1n QB.1d.2d.ez.Aa:1J=1S QB.1d.Ad(J);1J.lN(1N);1p;1n QB.1d.2d.ez.qI:1J=1S QB.1d.qv(J);1J.lN(1N);1p}1b 1J},lN:1a(1N){K me=J;J.4E=1N.4E;J.6w=1N.6w;J.7B=1N.7B;J.aD=1N.aD;J.8W=1N.8W;J.5V=1N.5V;J.72=1N.72;$.2g(1N.2Q,1a(1P,1h){me.2Q.1D(me.JH(1h))})},zR:1a(5g){J.6w=5g;if(J.6w!=1c){if(QB.1d.2d.6u[J.7B].6Z.1e!=0&&!QB.1d.2d.6u[J.7B].6Z.h7(J.7B)){J.7B=QB.1d.2S.6G.mj}}1i{J.7B=QB.1d.2S.6G.mj}},9i:1a(){if(J.4k==1c){1b-1}1b J.4k.2Q.4S(J)},QW:1a(){if(J.4k==1c){1b 1c}K i=J.4k.2Q.4S(J);if(i>=J.4k.2Q.1e-1){1b 1c}1b J.4k.2Q[i+1]},mQ:1a(){if(J.4k==1c){1b 1c}K i=J.4k.2Q.4S(J);if(i<=0){1b 1c}1b J.4k.2Q[i-1]},JB:1a(){if(J.4k==1c){1b 0}1b J.4k.2Q.1e},Af:1a(){1b QB.1d.2d.6u[J.7B]},qE:1a(){K 1J="";if(!J.9D().mP){1b 1J}if(J.mQ()==1c){1b 1J}if(J.4k==1c){1b 1J}3s(65(J.4k.8W)){1n QB.1d.2S.9U.93:;1n QB.1d.2S.9U.qw:1J=$("<2A> mv </2A>");1p;1n QB.1d.2S.9U.lP:;1n QB.1d.2S.9U.hi:1J=$("<2A> or </2A>");1p}1b 1J},J1:1a(){K 1F={};$.2g(J.9D().qC,1a(1P,5g){1F[5g.3T]={1z:5g.3T,3E:"2i",1f:5g}});1b 1F},J9:1a(1h){K 1F={};$.2g(QB.1d.2d.6u,1a(1P,1g){if(1h.6w!=1c){if(1g.6Z.1e!=0){if(1h.6w!=1c&&1g.6Z.h7(1h.6w.lG)){1F[1P]={1z:1g.3T,3E:"",1f:1g}}}1i{1F[1P]={1z:1g.3T,3E:"",1f:1g}}}});1b 1F},IY:1a(1h){K 1F={};$.2g(QB.1d.2d.hX,1a(1P,1g){1F[1P]={1z:1g.3T,3E:"",1f:1g}});1b 1F},qM:1a(){K 1F={};1F["d1-up"]={1z:"ie up",3E:"d1-up",2x:J.9i()<=0};1F["d1-cU"]={1z:"ie cU",3E:"d1-cU",2x:J.9i()>=J.JB()-1};1F["5s"]="---------";1b 1F},7E:1a(){J.lH()},jm:1a(){1b 1l},lH:1a(){if(J.6w==1c){J.dq=1l;J.g8=1l;1b}if(J.7B==QB.1d.2S.6G.A7||J.7B==QB.1d.2S.6G.A8){1b!1K(J.5V)}3s(J.6w.lG){1n QB.1d.2S.6h.kj:;1n QB.1d.2S.6h.5m:;1n QB.1d.2S.6h.9u:;1n QB.1d.2S.6h.fY:J.dq=!1K(J.5V);J.g8=!1K(J.72);1p;1n QB.1d.2S.6h.fZ:J.dq=!1K(J.5V)&&$.Jx(J.5V);J.g8=!1K(J.72)&&$.Jx(J.72);1p}},f6:1a(){J.7E()},i4:1a(){1b{}},IP:1a(){K 1P=J.9i();K 1h=J.4k.2Q[1P];if(1P<=0||(J.4k==1c||J.1g==1c)){1b 1j}K A9=1P-1;K gl=J.4k.2Q[A9];if(gl==1c||gl.1g==1c){1b 1j}J.1g.7a(gl.1g);J.4k.2Q[1P]=gl;J.4k.2Q[A9]=1h;1b 1l},IQ:1a(){K 1P=J.9i();K 1h=J.4k.2Q[1P];if(J.4k==1c||(J.1g==1c||1P>=J.4k.2Q.1e-1)){1b 1j}K d0=1P+1;K gg=J.4k.2Q[d0];if(gg==1c||gg.1g==1c){1b 1j}gg.1g.7a(J.1g);J.4k.2Q[1P]=gg;J.4k.2Q[d0]=1h;1b 1l},IN:1a(){K 1P=J.9i();J.4k.2Q.3w(1P);J.1g.3w();1b 1l},IO:1a(){$.2g(J.2Q,1a(1P,1h){1h.1g.3w()});J.2Q=[];1b 1l},iz:1a(1h){K 1P=1h.9i();if(1P==0){J.1g.iE(1h.7E())}1i{1h.mQ().1g.rr(1h.7E())}},zU:1a(){K 1h=1S QB.1d.A4(J.4k);J.4k.2Q.1D(1h);J.4k.iz(1h);1b 1h},IT:1a(){K 1h=1S QB.1d.Ad(J.4k);J.4k.2Q.1D(1h);J.4k.iz(1h);1b 1h},IS:1a(){K 1h=1S QB.1d.qv(J.4k);J.4k.2Q.1D(1h);J.4k.iz(1h);1b 1h},qD:1a(1q){3s(1q){1n"d1-up":1b J.IP();1p;1n"d1-cU":1b J.IQ();1p;1n"3W":1b J.IN();1p;1n"aQ":1b J.IO();1p;1n"51-81-1o-5g":1b J.zU();1p;1n"51-qz-81":1b J.IT();1p;1n"51-bN-of-qu":1b J.IS();1p}1b 1j},zQ:1a(1q,5g){J.zR(5g);J.f6();1b 1l},J3:1a(1q){J.7B=1q;J.f6();1b 1l},IV:1a(1q){J.8W=1q;J.f6();1b 1l},bK:1a(1L){if(1L!==2O){J.4k=1L}}});QB.1d.A4=1S 6d({bc:QB.1d.lR,4E:QB.1d.2d.ez.6w,$1w:"dh.lO.1d.de.lK.IM, dh.lJ.1d.de",i4:1a(){K 1F=J.qM();1F["3W"]={1z:"hL",3E:"zT"};1b 1F},jm:1a(){if(J.6w==1c){1b 1j}K A5=J.Af();if(A5!=1c){3s(A5.7J){1n 2:1b J.dq&&J.g8;1p;1n 1:1b J.dq;1p;1n 0:1b 1l;1p}}1b 1l},i0:1a($1g,da,5g){K me=J;if(1K(da)){da=1}K 2h="";if(da==2){if(!1K(J.72)){2h=J.72}}1i{if(!1K(J.5V)){2h=J.5V}}K $2a=$(\'<2a 1m="\'+2h+\'">\').hI(1a(1H){if(1H.3H==10||1H.3H==13){1H.4d();J.4Q()}});if(!1K(5g)&&5g.lG==QB.1d.2S.6h.5m){$2a.qh({fS:1a(2h,Sf){$2a.2h(2h);if(da==2){me.72=2h}1i{me.5V=2h}me.lH(2h,da)},Se:1a(){2h=$2a.2h();if(da==2){me.72=2h}1i{me.5V=2h}me.f6()}});$2a.eJ($1g).2V()}1i{$2a.eJ($1g);$2a.2V();6t(1a(){$2a.4Q(1a(){K 2h=$2a.2h();if(da==2){me.72=2h}1i{me.5V=2h}me.lH(2h,da);me.f6()})},9b)}},7E:1a(){K me=J;J.1L(2q);if(J.1g==1c){J.1g=$(\'<2G 2B="qb-ui-4I-4H-71 1h">\')}J.1g.cO();J.1g.1f("1h",J);J.1g.2U($(\'<2G 2B="qb-ui-4I-4H-3n 6J">\'));J.1g.2U(" ");J.1g.2U(J.qE());K 5g=J.6w;if(1K(5g)){J.1g.2U($(\'<a 2B="qb-ui-4I-4H-1W-2i-2n 9n" 59="#">[2n 5g]</a>\'))}1i{J.1g.2U($(\'<a 2B="qb-ui-4I-4H-1W-2i-2n" 59="#">\'+5g.3T+"</a>"))}J.1g.2U(" ");K IG=QB.1d.2d.6u[J.7B].3T;J.1g.2U($(\'<a 2B="qb-ui-4I-4H-1W-7K" 59="#">\'+IG+"</a>"));J.1g.2U(" ");K IH=J.Af();K $9Y;K $eh;3s(65(IH.7J)){1n 1:if(1K(J.5V)){$9Y=$(\'<a 2B="qb-ui-4I-4H-1W-1m 9n" 59="#">[qt 1m]</a>\')}1i{$9Y=$(\'<a 2B="qb-ui-4I-4H-1W-1m" 59="#">\'+J.5V+"</a>")}$9Y.3I(1a(e){K $1g=$(J);$1g.3K();me.i0($1g,1,5g)});J.1g.2U($9Y);if(!1K(J.5V)&&!J.dq){$9Y.2t("9n");J.1g.2U(\' <2A 2B="qg-1m">II 1m</2A>\')}1p;1n 2:if(1K(J.5V)){$9Y=$(\'<a 2B="qb-ui-4I-4H-1W-1m 9n" 59="#">[qt 1m]</a>\')}1i{$9Y=$(\'<a 2B="qb-ui-4I-4H-1W-1m" 59="#">\'+J.5V+"</a>")}if(!J.dq){$9Y.2t("9n")}$9Y.3I(1a(e){K $1g=$(J);$1g.3K();me.i0($1g,1,5g)});J.1g.2U($9Y);J.1g.2U($("<2A> mv </2A>"));if(1K(J.72)){$eh=$(\'<a 2B="qb-ui-4I-4H-1W-1m 9n" 59="#">[qt 1m]</a>\')}1i{$eh=$(\'<a 2B="qb-ui-4I-4H-1W-1m" 59="#">\'+J.72+"</a>")}if(!J.g8){$eh.2t("9n")}$eh.3I(1a(e){K $1g=$(J);$1g.3K();me.i0($1g,2,5g)});J.1g.2U($eh);if(!1K(J.5V)&&!J.dq||!1K(J.72)&&!J.g8){if(!1K(J.5V)&&!J.dq){$9Y.2t("9n")}if(!1K(J.72)&&!J.g8){$eh.2t("9n")}J.1g.2U(\' <2A 2B="qg-1m">II 1m</2A>\')}1p}if(!1K(5g)&&5g.lG==QB.1d.2S.6h.5m){if(!1K($9Y)){$9Y.qh()}if(!1K($eh)){$eh.qh()}}1b J.1g},bK:1a(1L){J.1L(1L)}});QB.1d.Ad=1S 6d({bc:QB.1d.lR,4E:QB.1d.2d.ez.Aa,$1w:"dh.lO.1d.de.lK.Ab, dh.lJ.1d.de",aD:"",qH:1j,i4:1a(){K 1F=J.qM();1F["3W"]={1z:"hL",3E:"zT"};1b 1F},hB:1a(){K 1N=$.4j(1S QB.1d.qF,1S QB.1d.2d.Ab);J.qG(1N);1N.aD=J.aD;J.qL(1N);1b 1N},jm:1a(){1b J.qH},lH:1a(2h,da){J.qH=!1K(J.aD)},i0:1a($1g){K me=J;K 2h="";if(!1K(J.aD)){2h=J.aD}K $2a=$(\'<2a 1m="\'+2h+\'">\').hI(1a(1H){if(1H.3H==10||1H.3H==13){1H.4d();J.4Q()}}).4Q(1a(){me.aD=$2a.2h();me.5V=me.aD;me.f6()}).eJ($1g).2V()},7E:1a(){K me=J;J.1L(2q);if(J.1g==1c){J.1g=$(\'<2G 2B="qb-ui-4I-4H-71 1h">\')}J.1g.1f("1h",J);J.1g.cO();J.1g.2U($(\'<2G 2B="qb-ui-4I-4H-3n 6J">\'));K $j9;J.1g.2U(J.qE());if(1K(J.aD)){$j9=$(\'<a 2B="qb-ui-4I-4H-1W-1m 9n" 59="#">[qt 81]</a>\')}1i{$j9=$(\'<a 2B="qb-ui-4I-4H-1W-1m" 59="#">\'+J.aD+"</a>")}if(!J.qH){$j9.2t("9n")}$j9.3I(1a(e){K $1g=$(J);$1g.3K();me.i0($1g)});J.1g.2U($j9);1b J.1g},bK:1a(1L){J.1L(1L)}});QB.1d.qv=1S 6d({bc:QB.1d.lR,4E:QB.1d.2d.ez.qI,$1w:"dh.lO.1d.de.lK.Ac, dh.lJ.1d.de",8W:QB.1d.2S.9U.93,hB:1a(){K 1N=$.4j(1S QB.1d.qF,1S QB.1d.2d.Ac);J.qG(1N);1N.8W=J.8W;J.qL(1N);1b 1N},jm:1a(){K 1J=1l;if(J.2Q.1e==0&&J.4k!=1c){1b 1j}$.2g(J.2Q,1a(1P,1h){if(!1h.jm()){1J=1j;1b 1j}});1b 1J},i4:1a(){K 1F=J.qM();1F["aQ"]={1z:"A2",3E:"zS",2x:J.2Q.1e<=0};1F["3W"]={1z:"hL",3E:"zT"};1b 1F},iz:1a(1h){K 1P=1h.9i();if(1P==0){J.1g.6F(".qb-ui-4I-4H-4l").iE(1h.7E())}1i{1h.mQ().1g.rr(1h.7E())}},zZ:1a(){1b QB.1d.2d.hX[J.8W]},7E:1a(){J.1L(2q);if(J.1g==1c){J.1g=$(\'<2G 2B="qb-ui-4I-4H-71 bN">\')}J.1g.1f("1h",J);J.1g.cO();J.1g.2U($(\'<2G 2B="qb-ui-4I-4H-3n aG">\'));K k2=J.zZ();K $3x=$(\'<2G id="qb-ui-4I-4H-3x">\');$3x.2U(J.qE());K $a=$(\'<a 2B="qb-ui-4I-4H-1W-A0" 59="#">\'+k2.3T+"</a>");$3x.2U($a);$3x.2U($("<2A> "+J.9D().kv+"</2A>"));J.1g.2U($3x);K $4l=$(\'<2G 2B="qb-ui-4I-4H-4l \'+k2.hz+\'">\');$.2g(J.2Q,1a(1P,1h){$4l.2U(1h.7E())});K sj=1S QB.1d.si(J);$4l.2U(sj.7E());J.1g.2U($4l);1b J.1g},bK:1a(1L){J.1L(1L);if(1L!=1c){3s(65(1L.8W)){1n QB.1d.2S.9U.93:;1n QB.1d.2S.9U.qw:J.8W=QB.1d.2S.9U.lP;1p;5u:J.8W=QB.1d.2S.9U.93}}}});QB.1d.si=1S 6d({bc:QB.1d.lR,4E:QB.1d.2d.ez.J4,i4:1a(){K 1F={"51-81-1o-5g":{1z:"fo 81 1o 5g",3E:"51-81-1o-5g"},"51-qz-81":{1z:"fo qz 81",3E:"51-qz-81"},"5s":"---------","51-bN-of-qu":{1z:"fo bN of qu",3E:"51-bN-of-qu"}};1b 1F},7E:1a(){if(J.1g==1c){J.1g=$(\'<2G 2B="qb-ui-4I-4H-71 51">\')}J.1g.1f("1h",J);J.1g.cO();J.1g.2U($(\'<2G 2B="qb-ui-4I-4H-3n n5">\'));J.1g.2U($(\'<a 2B="qb-ui-4I-4H-1W-2i-2n" 59="#">[...]</a>\'));1b J.1g},zQ:1a(1q,5g){K 1h=J.zU();1h.zR(5g);1h.f6();1b 1l},bK:1a(1L){J.1L(1L)}});QB.1d.7I=1S 6d({bc:QB.1d.qv,$1w:"dh.lO.1d.de.lK.A1, dh.lJ.1d.de",4k:1c,mL:"J5",kv:"of jA Ru Rw",mP:1l,2Q:[],ih:1a(1f){J.qC=1f.qC;J.2Q=[];J.lN(1f);J.zY()},ND:1a(){K me=J;K 5B=".qb-ui-4I-4H-3n";$.2L("67",5B);$.2L({3R:5B,4o:cf,6R:{6S:0},29:"2b",1F:{},9S:1a($29,e){K 1h=$29.c0(".qb-ui-4I-4H-71:4A").1f("1h");if(1h==1c){1b 1j}K 1F=1h.i4();if(1F==1c||4D.7X(1F).1e==0){1b 1j}1b{1X:1a(1q){1h.qD(1q,1F[1q].1f)},1F:1F}}})},NF:1a(){K me=J;K 5B=".qb-ui-4I-4H-1W-7K";$.2L("67",5B);$.2L({3R:5B,4o:cf,6R:{6S:0},29:"2b",1F:{},9S:1a($29,e){K 1h=$29.c0(".qb-ui-4I-4H-71:4A").1f("1h");if(1h==1c){1b 1j}K 6K=1h.J9(1h);if(6K==1c||4D.7X(6K).1e==0){1b 1j}1b{1X:1a(1q){1h.J3(1q)},1F:6K}}})},NS:1a(){K me=J;K 5B=".qb-ui-4I-4H-1W-A0";$.2L("67",5B);$.2L({3R:5B,4o:cf,6R:{6S:0},29:"2b",1F:{},9S:1a($29,e){K 1h=$29.c0(".qb-ui-4I-4H-71:4A").1f("1h");if(1h==1c){1b 1j}K 6K=1h.IY(1h);if(6K==1c||4D.7X(6K).1e==0){1b 1j}1b{1X:1a(1q){1h.IV(1q)},1F:6K}}})},NC:1a(){K me=J;K 5B=".qb-ui-4I-4H-1W-2i-2n";$.2L("67",5B);K 1T=$.2L({3R:5B,4o:cf,6R:{6S:0},29:"2b",1F:{},bd:"RP",9S:1a($29,e){K 1h=$29.c0(".qb-ui-4I-4H-71:4A").1f("1h");if(1h==1c){1b 1j}K 1F=1h.J1();if(1F==1c||4D.7X(1F).1e==0){1b 1j}1b{1X:1a(1q){1h.zQ(1q,1F[1q].1f)},1F:1F}}})},zY:1a(){K me=J;J.2p.cO();J.2p.2U(J.7E());1b;K $4l=$(\'<2G 2B="qb-ui-4I-4H-4l 6n">\');$.2g(J.2Q,1a(1P,1h){$4l.2U(1h.7E())});K IZ=1S QB.1d.si(J);$4l.2U(IZ.7E());J.2p.2U($4l);J.1g=$4l},iz:1a(1h){K 1P=1h.9i();if(1P==0){J.1g.6F(".qb-ui-4I-4H-4l").iE(1h.7E())}1i{1h.mQ().1g.rr(1h.7E())}},7E:1a(){if(J.1g==1c){J.1g=$(\'<2G 2B="qb-ui-4I-4H-71 bN 2p">\')}J.1g.1f("1h",J);J.1g.cO();K k2=J.zZ();K $3x=$(\'<2G id="qb-ui-4I-4H-3x">\');$3x.2U("<2A>"+J.9D().mL+" </2A>");K $a=$(\'<a 2B="qb-ui-4I-4H-1W-A0" 59="#">\'+k2.3T+"</a>");$3x.2U($a);$3x.2U($("<2A> "+J.9D().kv+"</2A>"));J.1g.2U($3x);K $4l=$(\'<2G 2B="qb-ui-4I-4H-4l \'+k2.hz+\'">\');$.2g(J.2Q,1a(1P,1h){$4l.2U(1h.7E())});K sj=1S QB.1d.si(J);$4l.2U(sj.7E());J.1g.2U($4l);1b J.1g},hB:1a(){K 1N=1S QB.1d.2d.A1;1N.8W=J.8W;1N.2Q=[];$.2g(J.2Q,1a(1P,1h){1N.2Q.1D(1h.hB())});1b 1N},5i:1a(1X){QB.1d.2l.3V.7I=J.hB();QB.1d.2l.5i(1X)},83:1a(1X){QB.1d.2l.3V.7I=1c;QB.1d.2l.5i(1X)},bK:1a(1L){J.2p=$("#qb-ui-4I-4H");if(J.2p.1e){if(!1K(J.2p.1k("kv"))){J.kv=J.2p.1k("kv")}if(!1K(J.2p.1k("mL"))){J.mL=J.2p.1k("mL")}if(!1K(J.2p.1k("mP"))){J.mP=J.2p.1k("mP").3P()=="1l"}}J.1L(1c);J.zY();J.ND();J.NC();J.NF();J.NS()}});QB.1d.7I.2j={NR:"NR",NN:"NN"};K 5Q=4;K Oh=1l;K s3="mw/";K zo="1.11.0";K N1="1.99.99";K zn="1.11.0";K Ms="1.99.99";K N0="zV sh O2.js is 5U aK.";K zr="2w Nm is 5U 8O.";K Mr="sk Nm is 5U 8O.";K My="Nq 2w 5Q v.$1 Np! 2w v.$2 or Nh 2s 1.XX NA is O1.";K Oc="Nq sk 5Q v.$1 Np! sk v.$2 or Nh 2s 1.XX NA is O1.";K NZ=\'S1 S2 sl cJ. 2w mv sk S3 be aK AB sl jA "O2.js"\';K O5=\'QV mw QX is QU. Mu fN Mt "R3.6v" QY.\';K nB=1j;K 5o=1a(){J.42=1c;J.z5=1c;J.1V=1c;J.3U=1c;J.4V=[];J.ep={};J.5M=[];J.7N=1c;J.rE=1c;J.nT=1j;J.3g=1c;J.h0=1c;J.cu="";J.8Z={};J.h9=1c;J.8Y=1c;J.7I=1c;J.Aw=1c;J.mr=1j;J.aX=0;J.rD=1l;J.lT={2D:{gm:{},aF:{}},2e:{gm:{},aF:{}}};J.rV=1a(91){K s6=QB.1d.2l.gC[91];if(!1K(s6)){J.zB(1c,s6.2e);J.zA(1c,s6.2D)}QB.1d.2l.eO=91};J.sK=1a(49){K me=J;if(49.ck=="Mn-Mm-QZ"){J.rV(49.3g)}if(QB.1d.2l.eR){6t(1a(){me.sK(49)},50);1b}QB.1d.2l.3V.Ax.1D(49);QB.1d.2l.5i()};J.Nw=1a(e,1W){K 1N=1W.1N();if(1W.7M){QB.1d.2e.70.3w(1W)}QB.1d.2l.Mo(1N);QB.1d.2l.5i()};J.yZ=1a(e,1f){K 49=1f.49;K 1h=1f.1h;QB.1d.2l.3V.fj.c5=49;QB.1d.2l.3V.fj.aF=1h.1f;QB.1d.2l.3V.fj.MB="1V";QB.1d.2l.5i()};J.zD=1a(e,1x){K 1M=1x.1M;K 2i=1x.2i;K 92=1x.92;K AI=QB.1d.2e.AF(1M.AH);if(AI==1c){$.2g(1M.5J,1a(i,f){if(fF(f.6L,2i.6L)){f.ej=1l}});K 1x={1C:1M,92:92};J.nJ(e,1x)}1i{AI.6r("iD",2i.6L,1l,1l)}};J.nJ=1a(e,1x){1x.1C.6X=1l;K 1u=J.bX(1x);K 8X=1x.1C;if(1x.92&&1x.92.1e>=2){8X.X=1x.92[0];8X.Y=1x.92[1]}K 59=$(1u).1f("me");if(59!=1c){8X.69=59.69}if(J.1V!=1c){J.1V.29(QB.1d.2e.2j.AD,1u)}QB.1d.2l.MD(8X);QB.1d.2l.5i()};J.zG=1a(e,1f){K 1u=$(1f);K 8X=1u.1f("4s");QB.1d.2l.MC(8X);QB.1d.2l.5i()};J.Nj=1a(e,1f){QB.1d.2l.lZ([1f.1I.1N()]);QB.1d.2l.5i()};J.Nn=1a(e,1f){K 4q=1f.4q;QB.1d.2l.lZ([4q]);QB.1d.2l.5i()};J.M9=1a(1M,2i){K 3f="";3f+=!1K(1M.jM)?1M.jM:1M.3T;3f+="."+2i.6L;1b 3f};J.Aj=1a(e,1f){QB.1d.2l.Mz(1f);QB.1d.2l.5i()};J.As=1a(e,1W){K 8p=QB.1d.2e.AF(1W.Al);if(8p!=1c){K $1V=$("#qb-ui-1V");if(8p[0].8q<$1V.4Z()||(8p[0].9r<$1V.5b()||(8p[0].8q+8p.1r()>$1V.4Z()+$1V.1r()||8p[0].9r+8p.1y()>$1V.5b()+$1V.1y()))){K x=8p[0].8q+8p.1r()/ 2 - $1V.1r() /2;K y=8p[0].9r+8p.1y()/ 2 - $1V.1y() /2;$1V.4K({4Z:x,5b:y},oi)}8p.2F(".qb-ui-1M-bC").Mw("sb",{},sq).Mw("sb",{},sq);1b}K 1x=1c;if(1W.jP==1c){1x={1C:{3g:1W.Al,6H:1W.6H,bJ:1W}}}1i{1W.jP.bJ=1W;1x={1C:1W.jP}}J.nJ(1c,1x)};J.Ai=1a(e,d){K 5h=d.5h;K 2X=[];1o(K i=0;i<5h.1e;i++){K 1f=5h[i];K 3C=1f.3C;K 3f=J.M9(1f.1L,1f.1C);K sJ=J.3U.8U("sI",3f);1o(K j=0;j<sJ.1e;j++){K 1I=sJ[j];if(3C){if(1I.fN(3C)){2X.1D(1I.1N())}}1i{if(1I.M8()){if(1I.fN(3C)){2X.1D(1I.1N())}}1i{2X.1D(1I.1N());J.3U.8U("gu",1I)}}}if(3C&&sJ.1e==0){K sG=1S QB.1d.2d.Ak;sG.8Q=3f;sG.bs=3C;K Mb=J.3U.8U("k0",sG);2X.1D(Mb.1N())}}};J.bX=1a(1x,5O){K 1u=QB.1d.2e.bX(1x,5O);if(5O===2O||5O==1c){1u.4M(QB.1d.77.2j.mH,J.Ai,J);1u.4M(QB.1d.77.2j.mI,J.Aj,J);1u.4M(QB.1d.77.2j.mJ,J.As,J);1u.4M(QB.1d.77.2j.mF,J.iJ,J)}J.3U.8U("mB");1b 1u};J.gb=1a(1x,5O,gD){K 1u=QB.1d.2e.gb(1x,5O,gD);J.3U.8U("mB");1b 1u};J.ss=1a(1u){};J.mA=1a(){QB.1d.2l.3V.gq.1D("mA");J.At();J.yV();QB.1d.2l.5i()};J.Nu=1a(){QB.1d.2l.3V.gq.1D("mA");J.At();QB.1d.2l.Au(1c);QB.1d.2l.5i()};J.At=1a(){QB.1d.2l.3V.7g=1S QB.1d.2d.mC;QB.1d.2l.3V.7g.c5="4y"};J.Ny=1a(){J.rD=1l;J.Nl()};J.yV=1a(){K 9z=1c;if(J.a6!=1c&&(J.a6.1e>0&&J.a6.is(":6U"))){9z=J.a6.2h()}1i{9z=J.rE}J.7N=9z;QB.1d.2l.Au(J.7N);1b 1l};J.M1=1a(){QB.1d.2l.3V.8Y=J.8Y;1b 1l};J.rH=1a(1Z){J.9H.4h("9n 9p");J.9H.2t("sa");J.9H.41(1Z)};J.QN=1a(1Z){J.9H.4h("9p sa");J.9H.2t("9n");J.9H.41(1Z)};J.R4=1a(1Z){J.9H.4h("9n sa");J.9H.2t("9p");J.9H.41(1Z)};J.NQ=1a(){if(J.rD){if(QB.1d.2l.ic!=J.a6.2h()){J.rH(QB.1d.2d.58.5r.Mi);QB.1d.2l.ic=J.a6.2h()}}};J.Nt=1a(e,1C){K 1x={1C:1C};J.nJ(1c,1x)};J.iJ=1a(e,91){K me=J;if(QB.1d.2l.eR){6t(1a(){me.iJ(e,91)},50);1b}if(!1K(91)){J.rV(91);QB.1d.2l.3V.eO=91;QB.1d.2l.5i()}};J.Oe=1a(e,49){QB.1d.5o.sK(49)};J.NT=1a(e,1f){J.42.ih(1f)};J.Mk=1a(4V){if(4V==1c){1b 1j}if(4V.1e==0){1b 1j}QB.1d.2e.70.Ao();1o(K 1P=0;1P<4V.1e;1P++){K 9G=4V[1P];K dF=1c;if(9G.4X!=1c&&9G.4Y!=1c){dF=QB.1d.2e.70.Ap(9G.4X.aR,9G.4Y.aR)}if(dF==1c){QB.1d.2e.70.sL(9G)}1i{dF.sF=1j;QB.1d.2e.70.Aq(dF,9G)}}QB.1d.2e.70.zb()};J.Mh=1a(jC){if(jC==1c){1b}K 8B=jC.3D();K kq=[];K ko=[];K km=[];K me=J;1o(K i=QB.1d.2e.5M.1e-1;i>=0;i--){K 1u=QB.1d.2e.5M[i];K ku=1u.1f("1C");K dw=1c;1o(K j=8B.1e-1;j>=0;j--){K 8e=8B[j];if(QB.1d.2e.zc(ku,8e)){8B.3w(j);dw=8e;1p}}if(dw==1c){1o(K j=8B.1e-1;j>=0;j--){K 8e=8B[j];if(QB.1d.2e.zd(ku,8e)){8B.3w(j);dw=8e;1p}}}if(dw!=1c){ko.1D({1N:8e,5O:1u})}1i{kq.1D(1u)}}$.2g(8B,1a(1P,8e){km.1D(8e)});$.2g(ko,1a(1P,1u){me.gb({1C:1u.1N},1u.5O,1l)});$.2g(kq,1a(1P,1u){QB.1d.2e.ss(1u,1l)});$.2g(km,1a(1P,1u){me.bX({1C:1u})})};J.zi=1a(go,1f,cr){if(!1K(go.gm[cr])){za(go.aF,1f);3W go.gm[cr]}if(4D.7X(go.gm).1e){1b 1c}za(go.aF,1f);1b go.aF};J.zB=1a(e,1f,cr){K 1V=J.zi(QB.1d.5o.lT.2e,1f,cr);if(1V==1c){1b}J.Mh(1V.gj);J.Mk(1V.70);if(1V.sD!=1c){QB.1d.2e.Mg(1V.sD.dz)}if($("#qb-ui-1V").is(":6U")){QB.1d.2e.dE()}};J.NG=1a(e,9X){if(J.9X!=1c){J.9X.Mc(9X)}};J.NB=1a(e,cq){K me=J;if(1K(cq)){1b}J.h9=cq;if(J.h0!=1c){J.h0.yT(J.h9)}if(J.9X!=1c){J.9X.N4(J.h9)}};J.Nr=1a(e,1T){if(J.2e!=1c){J.2e.fC(1T.2e);J.2e.N3(1T.N6);J.2e.N5(1T.cn)}J.3U.8U("fC",1T.2D);J.fC(1T.MY,"#qb-ui-1V-er-n5-3n");J.fC(1T.fo,"#qb-ui-1V-fk-n5-3n")};J.Ns=1a(e,sE){if(sE==1c){1b}K me=J;K sC=0;if(J.aI.1e>0){sC=J.aI[J.aI.1e-1].Id}1o(K 1P=0;1P<sE.2Q.1e;1P++){K cw=sE.2Q[1P];if(sC==1c||cw.Id>sC){J.aI.1D(cw);K z8="Ra";if(cw.4E==2){z8="Tf"}if(cw.4E==3){z8="98"}K T6=rG(cw.z9).6z("H:i:s")}}};J.zA=1a(e,1f,cr){if(1f==1c||1f.b8==1c){1b}K 3U=J.zi(QB.1d.5o.lT.2D,1f,cr);if(3U==1c){1b}K me=J;me.3U.8U("MF",3U);me.3U.8U("MH")};J.Oi=1a(e,9z){if(7t(e)=="4e"&&9z===2O){9z=e}if(9z!==" "&&1K(9z)){1b}J.a6.2h(9z);J.rE=9z;J.ic=9z};J.NH=1a(e,9D){if(1K(9D)){1b}if(J.7I==1c){1b}J.7I.ih(9D)};J.TK=1a(1X){J.yW(1a(1f){if(1X&&7t(1X)=="1a"){1X(1f.fz)}})};J.TG=1a(1v,1X){QB.1d.2l.3V.fz=1v;1b QB.1d.2l.rJ(1X)};J.MW=1a(MV,MO){};J.z0=1a(e,1f){K 1I=1f.1I;K 1q=1f.1q;K 5v=1f.5v;K 43=1f.43;K 2X=[];K 4q=1I.1N();4q.MR=1f.fv;4q.zk=1q;4q.zh=43;if(1I.7M){K 3f=4q.8Q;if(!1K(3f)&&3f.4S(".")!=-1){K 8t=3f.7e(0,3f.4S("."));K 8E=3f.7e(3f.4S(".")+1);K 1M=QB.1d.2e.m9(8t);if(1M!=1c){1M.6r("iD",8E,1j)}}}3s(1q){1n 1Q.2k.1R:K 3f=4q.8Q;if(!1K(3f)&&3f.4S(".")!=-1){K 8t=3f.7e(0,3f.4S("."));K 8E=3f.7e(3f.4S(".")+1);K 1M=QB.1d.2e.m9(8t);if(1M!=1c){1M.6r("iD",8E,43)}}2X.1D(4q);1p;1n 1Q.2k.3f:K 1R=4q.bs;if(1K(5v)&&5v!=43){1R=1l;4q.bs=1l}K 3f=5v;if(!1K(3f)&&3f.4S(".")!=-1){K 8t=3f.7e(0,3f.4S("."));K 8E=3f.7e(3f.4S(".")+1);K 1M=QB.1d.2e.m9(8t);if(1M!=1c){1M.6r("iD",8E,1j)}}3f=43;if(1R&&(!1K(3f)&&3f.4S(".")!=-1)){K 8t=3f.7e(0,3f.4S("."));K 8E=3f.7e(3f.4S(".")+1);K 1M=QB.1d.2e.m9(8t);if(1M!=1c){1M.6r("iD",8E,1R)}}2X.1D(4q);1p;1n 1Q.2k.8L:;1n 1Q.2k.6W:K zf=J.3U.8U("MQ");1o(K i=0;i<zf.1e;i++){2X.1D(zf[i].1N())}1p;5u:2X.1D(4q)}QB.1d.2l.lZ(2X);QB.1d.2l.5i()};J.zg=1a(6K){if(6K==1c||6K.1e==0){1b 1c}K 1F={};K 4T;1o(K i=0;i<6K.1e;i++){4T=6K[i];if(4T.3T!=1c&&4T.3T.7e(0,1)=="-"){1F[4T.ck]=4T.3T}1i{1F[4T.ck]={1z:4T.3T,3E:4T.ck,1F:J.zg(4T.2Q),1f:4T.3g}}}1b 1F};J.fC=1a(1T,5B){K me=J;if(1K(1T)||1T.2Q.1e==0){1b}K 1F=J.zg(1T.2Q);K $5B=$(5B);if($5B.1e>0){$5B[0].MS=0}$5B.3n().1k("MS",0).7S(1a(e){if(e.3H==13||e.3H==32){$(e.3m).29("3I")}});$.2L("67",5B);$.2L({3R:5B,4o:cf,6R:{6S:0},1X:1a(49,1x){K 1h=1c;7j{1h=1x.$1R.1f().2L.1F[49]}7m(e){}6t(1a(){me.yZ(J,{49:49,1h:1h})},0)},1F:1F});$5B.3I(1a(){$(5B).2L();$1T=$(5B).2L("1g");if($1T){$1T.2I({my:"2b 1O",at:"2b 4J",of:J})}})};J.TA=1a(1X){if(J.7I.jm()){J.7I.5i(1X);1b 1l}1i{1b 1j}};J.MZ=1a(1X){QB.1d.2l.5i(1X)};J.Sg=1a(1X){J.rV(QB.1d.2l.jo);QB.1d.2l.3V.eO=QB.1d.2l.jo;QB.1d.2l.5i(1X)};J.Sq=1a(1X){QB.1d.2l.3V.7I=1c;QB.1d.2l.5i(1X)};J.yY=1a(1X){J.yV();QB.1d.2l.5i(1X)};J.yW=1a(1X){K me=J;if(J.aX<0){J.aX=0}if(J.aX>0){6t(1a(){me.yW(1X)},100);1b}J.yY(1X)};J.83=1a(1X){QB.1d.2l.83(1X)};J.gX=1a(1X){QB.1d.2l.gX(1X)};J.80=1a(){nB=!($(".nS").1k("nB")===2O);if(!nB){J.Nd()}QB.1d.2l.bL=$(".nS").1k("bL");M4=$(".nS").1k("Mx")=="1l";J.nT=$(".nS").1k("nT")=="1l";K yR=$(".nS").1k("SE");if(!1K(yR)){s3=yR}J.rW=$("#qb-ui-1V").4F("rW");K me=J;J.aI=[];J.aK=1j;if(!J.nT){$.iX(s3+"?49=SR",s4,1a(1f){})}J.9H=$("#qb-ui-a6-SI-SK");J.3U=$("#qb-ui-3U").8U();J.2e=QB.1d.2e.80();J.1V=J.2e!=1c?J.2e.1V:1c;J.42=1S QB.1d.7g;J.h0=1c;J.9X=1c;if(Oh){J.h0=1S QB.1d.nV;J.9X=1S QB.1d.9e}if(J.h0!=1c){J.Ol=J.h0.yT();J.Ol.4M(QB.1d.nV.2j.s0,J.iJ,J)}if(J.9X!=1c){J.9X.31.4M(QB.1d.9e.2j.rU,J.iJ,J);J.9X.31.4M(QB.1d.9e.2j.rP,J.Oe,J)}J.z5=J.42.Nv();J.z5.4M(QB.1d.7g.2j.rS,J.Nt,J);J.a6=$("#qb-ui-a6 7O");J.a6.4M("z1",J.Ny,J);$("#qb-ui-a6-9R-iX").4M("3I",J.yY,J);$("#qb-ui-a6-9R-gX").4M("3I",1a(){QB.1d.2l.gX()},J);if(J.1V!=1c){J.1V.4M(QB.1d.2e.2j.rQ,J.nJ,J);J.1V.4M(QB.1d.2e.2j.rR,J.zG,J);J.1V.4M(QB.1d.2e.2j.rT,J.zD,J);J.1V.4M(QB.1d.2e.2j.rN,J.yZ,J);$("#qb-ui-1V-7x").4M(QB.1d.2e.bJ.2j.n9,J.Nw,J)}J.3U.4M(QB.1d.2D.2j.eV,J.z0,J);J.3U.4M(QB.1d.2D.2j.zE,J.Nj,J);J.3U.4M(QB.1d.2D.2j.zF,J.Nn,J);J.3U.4M(QB.1d.2D.2j.rz,J.zG,J);J.3U.4M(QB.1d.2D.2j.rw,J.zD,J);J.Nl=$.gP(J.NQ,oi,J);J.7I=1S QB.1d.7I;QB.1d.2l.cE.2E(QB.1d.2l.cE.2j.6A,J.NT,J);QB.1d.2l.9e.2E(QB.1d.2l.9e.2j.6A,J.NG,J);QB.1d.2l.2D.2E(QB.1d.2l.2D.2j.6A,J.zA,J);QB.1d.2l.2e.2E(QB.1d.2l.2e.2j.6A,J.zB,J);QB.1d.2l.7I.2E(QB.1d.2l.7I.2j.6A,J.NH,J);QB.1d.2l.2E(QB.1d.2l.2j.rs,J.NB,J);QB.1d.2l.2E(QB.1d.2l.2j.rv,J.Ns,J);QB.1d.2l.2E(QB.1d.2l.2j.ru,J.Nr,J);QB.1d.2l.2E(QB.1d.2l.2j.rC,J.Oi,J);QB.1d.2l.cE.2E(QB.1d.2l.2j.rI,1a(e,1f){J.rH(QB.1d.2d.58.5r.Oa)},J);QB.1d.2l.2E(QB.1d.2l.2j.6A,1a(e,1f){if(1K(1f)){1b}J.rD=1j;J.cu=1f.cu;if(!1K(1f.8Y)){J.8Y=1f.8Y}if(!1K(1f.fz)){J.fz=1f.fz}if(!1K(1f.8Z)){J.8Z=1f.8Z;if(!1K(1f.8Z.Of)&&!1f.8Z.Of){$("#qb-ui-1V-er-mY-MP").3K()}if(!1K(1f.8Z.Nf)&&!1f.8Z.Nf){$("#qb-ui-1V-er-Op-MP").3K()}me.3U.8U("MN")}if(!1K(1f.gk)){J.gk=1f.gk}J.9H.4h("9n 9p sa");J.9H.2t(1f.kd.6d);J.9H.41("");J.9H.41(1f.kd.9u)},J);QB.1d.2l.cE.2E(QB.1d.2l.cE.2j.mN,1a(e,1f){K zI=$("#d6-7z",1L.2P.3S);if(zI.1e){zI.3K()}},J)};J.ex=1a(7f){1b 65(7f.3h(/(\\.|^)(\\d)(?=\\.|$)/g,"$10$2").3h(/(\\d+)\\.(?:(\\d+)\\.*)/,"$1.$2"))};J.Nd=1a(){if(7t(NI)=="2O"){e6(N0)}if(!($&&($.fn&&$.fn.k3))){e6(zr)}if(!($&&($.fn&&$.fn.k3))){e6(zr)}1i{if(J.ex($.fn.k3)<J.ex(zo)||J.ex($.fn.k3)>J.ex(N1)){e6(My.3h("$1",$.fn.k3).3h("$2",zo))}}if(!($&&($.ui&&$.ui.5Q))){e6(Mr)}1i{if(J.ex($.ui.5Q)<J.ex(zn)||J.ex($.ui.5Q)>J.ex(Ms)){e6(Oc.3h("$1",$.ui.5Q).3h("$2",zn))}}if($&&($.fn&&$.fn.k3)){if($.fn.bi===2O){e6(NZ)}}}};QB.1d.Pw={O7:"O7",NY:"NY"};if(!3N.cK){3N.cK={}}if(!3N.cK.k4){3N.cK.k4=1a(){}}if(!3N.cK.zy){3N.cK.zy=1a(){}}K nQ;K kr=1c;K u5=0;1a zv(){if(u5==1c){u5=0}1b u5++}2w(2P).Ps(1a(){QB.1d.5o=1S 5o;QB.1d.5o.80();nQ=QB.1d.5o;O4();nQ.Nu()});$.ui.6Q.2W.Px=1a(1H,Nk){J.2I=J.PO(1H);J.PK=J.PL("8n");if(J.1x.Nx){if(J.1x.5j){J.1x.5j()}}1i{if(!Nk){K ui=J.f5();if(J.7H("5j",1H,ui)===1j){J.PB({});1b 1j}J.2I=ui.2I}}if(!J.1x.uc||J.1x.uc!="y"){J.4u[0].3b.2b=J.2I.2b+"px"}if(!J.1x.uc||J.1x.uc!="x"){J.4u[0].3b.1O=J.2I.1O+"px"}if($.ui.hG){$.ui.hG.5j(J,1H)}1b 1j};',62,3896,'|||||||||||||||||||||||||||||||||||||||||||||this|var||||||||||||||||||||||||||function|return|null|Web|length|data|element|item|else|false|attr|true|value|case|for|break|key|width|node||obj|params|type|options|height|name|res|opt|object|push||items|path|event|row|result|isEmpty|parent|table|dto|top|index|MetaData|selected|new|menu|_|canvas|link|callback|stroke|text|||||||||fill|trigger|input|left|attrs|Dto|Canvas|args|each|val|field|Events|FieldParamType|Core|out|select|self|root|arguments|nbsp|from|addClass|call|paper|jQuery|disabled|offset||span|class|anim|Grid|bind|find|div|start|position|values|opacity|contextMenu|font|typeof|undefined|document|Items|eve|Enum|option|append|focus|prototype|rows|bbox|doc||control|||||||||css|style|apply|elproto|match|expression|Guid|replace|dialog|selectmenu|next|context|target|button|parentNode|has|color|toString|switch|none|split|clr|remove|label|concat|math|transform|toFloat|checked|slice|icon|Math|rgb|keyCode|click|appendChild|hide|array|gradient|window|Utils|toLowerCase|prev|selector|body|Name|grid|ExchangeObject|delete|settings|pos|Str||html|tree|newValue|Array|svg|method|while||action|raphael|src|container|preventDefault|string|abs|tableDnD|removeClass|arg|extend|Parent|hitarea|rect|deg|zIndex|filter|rowDto|toFixed|metaDataObject|matrix|helper|max|events|appendTo|get|end|first|arrows|_engine|Object|Type|hasClass|join|builder|criteria|bottom|animate|round|bindEx|handle|list|CLASSES|blur|mmax|indexOf|dtoItem|constructor|links|animationElements|Left|Right|scrollLeft||add||state|box||size|newIndex|Localizer|href|dots|scrollTop|url|show|removed|splice|column|fields|sendDataToServer|drag|contextmenu|pathArray|Date|String|Application|win|display|Strings|separator|rotate|default|oldValue|mouseup|set|aria||close|menuSelector|textControl|stop|rowChanged|p1x|easing|current|diff|Fields|vml|resizable|Objects|_editControl|existingObject|clone|version|pow|wrapper|auto|not|Value1|mdo|mmin|Criteria|cells||min|hex|newelement|p1y|Number|len|destroy|clip|TempId|paperproto|tabindex|c1x|Class|uiDialog|title|that|KindOfField|c1y|tagName|layer|parseInt|point|all|elem|graphics|minHeight|qbtable|status|setTimeout|CriteriaBuilderConditionOperator|config|Column|editControl|getBBox|format|DataReceived|http|zoom|hover|att|children|ConditionOperator|Caption|count|dot|menuItems|NameStr|__set__|bbox2|pageX|open|draggable|animation|duration|prop|visible|bbox1|sortingOrder|IsNew|setproto|ValueKinds|Links|block|Value2|implement|c2x||c2y|TableObject|resize|hidden|insertBefore|last|mousedown|now|substr|str|Tree|removeChild|getValue|try|cell|pageY|catch|p2y|names|p2x|angle|lineCoord|guid|typeOf|dragi|_g|firstChild|graph|JoinType|overlay|Visible|Operator|crp|subElement|buildElement|handler|pth|_trigger|CriteriaBuilder|ValuesCount|operation|newObject|IsDeleted|SQL|textarea|right|ret|create|keydown|cache|checkbox|unbind|currentTrigger|keys|stopPropagation|hasOwnProperty|init|condition|dirty|update|family|header|_ulwrapdiv|skew|selectOptionData|containment|_key|percents|path2|DrawOrder|newDatasourceDto|command|_optionLis|scale|currentTarget|tmp|setValue|toUpperCase|360|absolute|vector|existing|offsetLeft|selectDto|Alias|tableName|radio|destX|sin|cellName|pathString|timer|cos|newObjects|nodeName|tabbable|fieldName|toggleClass|bez1|bez2|par|customAttributes|buttons|sorting|widget|face|found|image|Expression|forEach|bg_iframe|matches|QBGrid|rad|JunctionType|dataSource|QueryProperties|SyntaxProviderData||unionSubQuery|coordinates|All|namespace|ctx|contextMenuRoot||Error||_editBlock|1E3|jPag|matrixproto|NavBar|namespaces|red|touch|Index|maxHeight|dasharray|Function|circle|warning|objectBorder|error|currentLayout|offsetTop|mooType|caller|Text|weight|test|path1|sqrt|sql|elements|throw|amt|criteriaBuilder|wrapperId|documentElement|linkDto|statusBar|mousemove|RequestID|dragObject|proxy|SmartPush|el2|Element|trg|EditableSelectStatic|controls|build|colour|JunctionItemType|selects|toInt|navBar|valueElement1|methods|con||||x09|u200a|editor|clientY|percent|u180e|navigator|x0d|content|xa0|x0c|alias|u2000|x20|u202f|active||u1680|||x0b|x0a|u2009||||hoveract|u3000|icons|||ellipse|u2001|u2004|tstr|Condition|cnvs|Data|corner|continue|Messages|u2002|loaded|u2028|clientX|Raphael|blue|green|clear|FieldGuid|u2003|arrow|source|meshY|expandable|Lock|isNaN|tt1|u2008|meshX|u205f|u2005|setAttribute|fit|u2029|outerHeight|Rows|u2006|u2007||Extends|className||checkTrigger||getTotalLength|valEx|Prefix|currentTable|line|markerCounter|tableDnDConfig|thisObject|glow|counter||Select|getRGB|_value|current_value|shift|||collapsable|addEventListener|subkey|titlebar|offsetHeight|cacher|dialogId|selectedIndex|pathClone|editable|Link|initialize|SessionID|addArrow|group|valueHTML|fieldsContainer|instances|charAt|_selectedOptionLi|filteredUi|ele|inFocus|getPath|addObject|fillpos|times|parents|||eventName|SVG|Action|direction|createElement|getElementsByTagName|bot||stopImmediatePropagation|aggregate|support||6E3|token|groupingCriterion|||Key|minWidth|previous|Table||itemsPageSize|queryStructure|requestID|||SyntaxProviderName|defaultWidth|msg|||textpath|pattern|DatasourceGuid|linecap|Postfix|MetadataTree|180|droppable|Inner|number|order|console|toggle|_cellEditEnd|shape|empty|000|_parent|img|createNode|filtredItems|down|currentPage|originalEvent|grouping|rec|tt2|nextIndex|move||parseFloat|defs|listeners|iframe|pop|defaults|hasChanges|valueNumber|fonts|editableSelectOverlay||Server||ids|ActiveDatabaseSoftware|||marker|tolerance|JSON|alpha||isInput|Value1IsValid|_viewBlock|getKeyName|Animation|Outer|RegExp|matchDatasourceDto|||Active|_events|setFillAndStroke|optionDto|titleBar|redraw|existingLink|fontSize|cssClass|_drag|linkBox|attrs2|tlen|change|xlink|Cancel|bgiframe|instanceof|docElem|round1000|getElementById|sib|getNextTabbable|getPrevTabbable|results|selectElement|map|tableBox|outerWidth|SortType|defaultHeight|scrollY|properties|alert|myAt|property3|property2|getDate|off|scrollX|offsetParent|property1||easyeasy|valueElement2|linkedObject|IsSelected|a_css||||hover_css|dialogs||navbar||pathi|255||scope|versionToNumber|methodname|CriteriaBuilderItemType|UnionSubQuery|isFunction|getTimezoneOffset|to2||Matrix|_moveFocus|inver|Aggregate|insertAfter|userAgent|marked|mouseout|scaley|ActiveUnionSubQuery|json|activeItem|wait|isEnd|time|border|GridOnRowChanged|getRec|guidHash|obj2|redrawT|scalex|||obj1|simulateMouseEvent|_uiHash|updateElement|filtered|force|objectGuid|BeforeCustomEditCell|origin|justCount|overloadSetter|delay|LinkExpression|glyphs|milli|intr|ContextMenu|subquery|closest|computedStyle||Add|precision|thisLi|oldObj|dirtyT|handles|isResizable|afterCustomEdit|longclick|||QueryParams|isDropDown|maxWidth|updateContextMenu|setViewBox|offsetWidth|strcmp|200|translate|_viewBox|attrType|userEdit|paths|pRec|check|classes|oRec|isURL|getHours|onSelect||bb2|bb1|sort|animated|Unknown|Numeric|curve|Not|keyStop|realPath|substring|with|tspan|cssText|Value2IsValid|fillString|mousePos|updateObject|listWrap|thefont|floor|Width|nextItem|Supported||DataSources|QueryTransformerSQL|prevItem|Requests|cur|pendingObject|jsp|Actions|dialogTarget|onload||removeRow|VisiblePaginationLinksCount|attachEvent|base|mouseover|instantEdit|menus|isInAnim|QueryStructureContainer|skipEvents|fillsize|Height|dstyle|_global_timer_|_ul|list_is_visible|fontcopy|selecter|overflow|equal|touches|debounce|asterisk|toJSON|isPointInside|lastCollapsable|lastExpandable|dropdown|globalFieldDragHelper|reconnect|_typeAhead_chars|branches|treeStructure|indexed|vbs|enumerables|replaceClass|minContentHeight|bezlen|contains|optionClasses|QueryStructure|Grouping|iLen|role|current_event|recursive|subItem|newClass|QBWebCoreBindable|None|itemsListIncomplete|orColumnCount||visibility|tspans|accesskeys|shear|use|||GridRow|buffer|linejoin|Rapha|||CssClass|pane|getDto|currentRow|updateTable|pathId|collapsed|ddmanager|markedMeshCells|keypress|__args|markerId|Delete|VML|path2curve|totalOrigin|from2|eldata|Field|strings|parentObject|ObjectType|getFormat|u00ebl|CriteriaBuilderJunctionItemType|objectType|Filter|showEditor|||isActive|getButtonContextMenuItems|getSelectedListItem|sweep_flag|treeview|skipEvent|toLower|DOMload|updateRowControl|ClientSQL||Move|||importData||seg|TString|updateContextMenuItems|activeID||linkMenuCallback|butt|Set|safari|||clientLeft|popup|clientTop||wrongRow|appendElement|appendBefore|endString|seg2|checkField|prepend|flip|toggler|clearTimeout|sub|onTreeStructureClick|text_hover_color|tryAddEmptyRow|margin|rowId|_path2string||editEnd|background_hover_color|textpathStyle|updateFields|text_color|Copy|startString|refresh|letters|removeByIndex|Properties|background_color|isOpen|getListValue|coordorigin|hooks|draw|related|vals|valueElement|parentElement|Selects|cancel|triangle|over|di1|dj1|1px|types||random|mouseProto|isValid|touchHandled|RootQuery|hook|destY|proto||repeat|contentWidth|removeAttr|9999em|percentScrolled|deleting|rvml|the|stops|dataSources|currentValue|strConversion|ceil|glob|valueA|__pad|activeClass|move_scope|newf|NameInQuery|runAnimation|_availableAttrs|DataSource|__getType|queue|fltr|fff|which|globalIndex|propSize|define|cursor|inputLabel|addOrUpdateRow|getMonth|joinType|jquery|log|nextSibling|background|keyToUpdate|valueB|newObj|setSize|metadata|updateTabindex|Message|_moveSelection|initstatus|SortOrder|dto2|dto1|Boolean||titleBarText|objectsToAdd|dragMaxX|objectsToUpdate|defaultView|objectsToRemove|globalTempLink|list_item|selectable|canvasDatasourceDto|JunctionPostfix|GridRowCell|||replaceChars|parentOptGroup|_createTitleButton|_typeAhead_cycling|collision|bgImage|LinkedObjects|dirX|paneWidth|_refreshValue|Direction|original|_focusedOptionLi|step|opts|onDragClass|scrollTimeout|numPerPage|GetPropertyDialog|nodes|showFields|_disabled|deltaX|yOffset|solid|subpaths|optionsMarkColumnOptions|setInterval|||contentW|AllowJoinTypeChanging|arglen|Yet|getFullYear|fieldsTable|onDragStart|reset|menuWidth|itemsPagePreload|typeahead|glyph|400|PrimaryKey|_typeAhead_timer||DescriptionColumnOptions|matchee||getPointAtLength|_pathToAbsolute|timestamp|scrollAmount|optionsNameColumnOptions|deltaY|epsilon||schema|buttonLink|findDotsAtSegment|stretch|_getBBox|Path|seglen|touchMap|brect|invert|l2c|clientWidth|ValueKind|validateValue|rem|ActiveQueryBuilder2|Models|hsb2rgb|bod|setDto|ActiveQueryBuilder|Any|paramCounts|CriteriaBuilderItem|getColor|pendingChanges|relatedTarget|dirY|linear|_removeGraph|conditionOr1|updateGridRows|callbacks|||||fieldValue|rowItems|showGrouping|clrToString|findTableByName|supportsTouch|swapClass|_removedFactory|pcom||findDotAtSegment|dis|classic|finite|IsEqualTo|rectPath|trim|_divwrapright|tdata|selobj|toHex|postprocessor|RightToLeft||setAttributeNS|_vbSize|and|handlers|||addGradientFill|fullUpdate|updateExpressionControl|ExchangeTreeDto|tear|layout|TableObjectOnSubqueryClick|www|TableObjectOnCheckField|TableObjectOnLinkCreate|TableObjectOnLinkedObjectSelected|setCoords|RootJunctionPrefix|month|Loaded|seg2len|ShowPrefixes|PreviousItem|minutes|seconds|hours|day|updatePosition|_obj|__def_precision|union|_blur|createUUID|||getPaddingLength|selectedpage|plus|isAlternate|getPaddingString|getString|CanvasLinkOnChanged|_minHeight|clipRect|serverSideFilter|||itemsCount|_setOption|prevComputedStyle|items_then_scroll|nonContentHeight|NameNotQuoted|maxZ|primary|list_height||funcs|initialized|parentSelector||||Value||||x1m|onChange|suppressConfigurationWarning|innerHTML|_position|notfirst|_isOpen|bboxwt|curr|scroll|onAddTableToCanvas|groupColumns|mapPath|dim|lowerCase|relative|readyState|application|y1m|QueryBuilderControl|DisableSessionKeeper|y2m|TreeStructure|showList|x2m|Child|binded|removeEventListener|||abortevent|UseCustomExpressionBuilder|shiftKey|start_scope|mouseenter|forValues|fieldsHtml|longClickContextMenu|deleted|miterlimit|_23|mdoToTable||testRow||500|mdoFromTable|UpdateGuids|dragHandle|configEnds||CurrentEditCell||getSubpath||boolean|Sorting|mouseleave|refX||touchstart|touchend|touchmove|itemHtml|itemsHtml|_13|px2|arr|Options|py2|denominator|ymin|subpath|dots2||ry2|dots1|interPathHelper|rx2|hsl2rgb|sleep|001|retainFocus|currIndex|delayedSend|interHelper|The|Remove|oldGuid|updateGuidHash|||||1e12|dragUp|localIndex|ItemsCount|itemsArray||filterRegExp|needFilter|elementFromPoint|filterChangeRoutine|mdoTo|mdoFrom|flag||||dragMove|||_selectedIndex||lastI|pathDimensions||ShowLoadingItems|mouse|itemIndex|paginate|||positionDefault|parentItem|itemsElement|hits|buildItems|ItemsStart|Loading|nes|fillSelects|end_scope|asin|optionsTypeColumnOptions|yi1|xi1|HideColumnDescription|docum|query|parseTransformString|recIndex|commaSpaces|fieldCheckbox|norm|optionsDescriptionColumnOptions|getPointAtSegmentLength|f_out|ShowPropertyDialog|f_in|HideColumnName|identifier|parentTable|HideColumnMark|targetTouches|fun|ActiveXObject|HideColumnType|location|TypeColumnOptions|strong||oldRaphael|o2t|isType|clientHeight|invalid|datepicker|o1t|dif|getBoxToParent|selectors|zin|itemdata|hideshow|idx|than|lastCollapsableHitarea|lastExpandableHitarea|enter|conditions|CriteriaBuilderItemGroup|NotAll|||general|parse|coordsize|Columns|contextMenuCallback|getJoinPrefix|TypedObject|fillDto|ConditionIsValid|Group|renderfix|are|fillDtoItems|getButtonContextMenuItemsMove|CriteriaItem|hoverClass|delta|_create|QuickFilterInExpressionMatchFromBeginning|cellpadding|disable|objectOptions|cellspacing|blockFocus|generateEvent|GridRowCellOnChanged|browser|isEqual|itemMouseenter|_importDto|GroupingCriterion|itemMouseleave|onDrop|newShowGrouping|globalMenu|commands|diamond|hovering|Output|||oval|collspan||customEdit|rowIsEmpty|Event|nextcommand|typeMismatch|UseCustomExpressionBuilderServerEvents|_name|srcAlias||_cellEditStart|after|QueryStructureChanged|instanceOf|ContextMenuReceived|MessagesReceived|GridOnAddTableField|||GridOnAddTable|protected|oldt|SQLReceived|editorChangesEnabled|hiddenSQL|_fired_|eval|MessageInfo|DataSending|sendDataToServerWithLock|bbx|clrs|klass|CanvasContextMenuCommand|total|NavBarAction|CanvasOnAddTable|CanvasOnRemoveTable|TreeDoubleClickNode|CanvasOnAddTableField|NavBarBreadCrumbSelectNode|ChangeActiveUnionSubquery|DisableLinkedObjectsButton|radial|_mouseInit|_path2curve|TreeStructureSelectNode|||QBHandlers|300|_top|structureItem|ie7|needInvoke|insidewidth|information|highlight|ver|thumbs_mouse_interval||timeout|initWin|module|CriteriaBuilderItemPlus|plusButton|jQueryUI|loading|getKey|getPrecision|||800||removeObject||regex|bit||||leftcol||_left|lastId|Layout|messages|ToDelete|gridItemDto|org|findRowsByExpression|gridRows|DoAction|CreateLink|_outer|rightcol|||GetUID|removeData|propertyIsEnumerable|overlays|doNotGenerateEvent|contentHeight|line_spacing|lineHeight|UseLongDescription|positionDragY|||||sortBy|normal|parentGuid|iconClass|fontName|onFieldCheck||1E5|margins||curChar|hideList|resizeT||contentPositionX|checkScroll|dragging|transformPath|letter_spacing|del||thisAAttr|||returnStr||scrollHeight|getPosition|selectmenuId|rowY|DenyLinkManipulations|dragObj|cursorWait|FieldName|Disabled|droppedRow|small|buttonSubquery|isInAnimSet|rowHeight|parameters|5E3|tail|thisArg|frame|collector|Description|NameStrNotQuoted|clearInterval|oldY|getDay|autoOpen|altKey|availableAnimAttrs|mouseOffset|toColour|_safemouseup|TableObjectOnClose|usePlural|xmin|TableObjectOnDestroy|instance|OnApplicationReadyHandlers|GlobalTempId|iframeBlocks|scrollToX|POST|TableObjectOnMoved|selectListItem|editableSelectControl|axis|getMatchItems|upto255|selectOptions|scrollToY|positionDragX||cellNameKey|optGroupName||pickListItem||currentContext||dontEnums|visibleMenu|getLengthFactory|getSubpathsAtLength|getComputedStyle|inputs|_blockFrames|wrappers|LastItemId|desc|createTextNode|pathes|newAnim|clmz|upperCase|_toback|csv|rel|_insertafter|newres|relativeRec|_insertbefore|_oid|raphaelid|_tofront|parsePathString|_radial_gradient|success|extractTransform|compensation|progid|Metadata|fxfy|pathToAbsolute|a2c|isGrad|sampleCurveX|curveDim|_120|_parseDots|istotal|_preload|called|isSimple|bbt|Microsoft|allEvents||processPath|fixArc|toLocaleString|back|ease|_tear|fixM|exclude|ajax|q2c|crz|data1|triggerEvents|u2026|_ISURL|catmullRom2bezier|_extractTransform|getAttribute|_fx|rgba|fixed|static|startD|dashes|blank|shortLeg|addDashes|texts|newpath|forGroup|param|leading|calculateBox|isLoaded|_params|isBBoxIntersect|thatMethod|onend|xb0|onmove|onstart|database|OnApplicationReadyFlag||load|detachEvent|GetFullFieldName|getBoundingClientRect|_fy|dir|thin|opera|endD||_getPath|ownerDocument|square|startType|endType|paused|stopAnimation|getEmpty|SQLError|middle|Title|mag|fromCharCode|com|pathToRelative|SQLUpdatedServerFlag|SQLChanged|_rectPath|UserDataReceived|isFloating|toMatrix|requestAnimFrame|align|center|cssDot|running|strokeColor|x_y_w_h|0000|offsetx|was|_init|shifty|scope_in|newstroke|anchor|dirtyattrs|_getContainer|normalize|todel|units|per|getEventPosition|_Paper|offsety|contextMenuAutoHide|onCellChanged|srcAggregate|_createEditBlock|needUpdate|_switchToView|global|hasEmpty|prevcommand|GridRowOnChanged|Widget|ConditionType|accept|drop|||||currentSorting|selectFirstListItem|editableSelect|editableSelectInstances|AffectedColumns|TableObjectOnUpdated|domElement|inited|menuChildren|viewBlock|NONE|list_item_height|getControl|li_value|li_text|does|collapsableHitarea|expandableHitarea|built|conditionOr|GridBeforeCustomEditCell|contextMenuActive|cookie||stored|cookieId|toggleCallback|closed|applyClasses||prepareBranches|CriteriaType|srcExpression|_reCreateEditBlock|andSelf|findRowsByDto|emptyRow|rowToDelete|contextMenuKey|submenu|accesskey|amp|UpdateWrapper|newRows|tableValue|AfterCustomEditCell|contentH|docPos|getMouseOffset|titleW|modal|component|mouseCoords|setup|KeyFieldsFirst|FieldListSortType|HideAsteriskItem|makeDraggable|||||lastReturn|FieldListOptions|600|dblclick|buttonClose|buttonProperties|nodrop|AriaLabel|QueryGuid|Close|obj2FieldName|busy|movingDown|obj1FieldName|draggedRow|disableSelection|intersect|selectNewListItem|editStart|_makeDraggable|listIsVisible|borderTopWidth|highlightSelected||adjustWrapper|_unblockFrames|GetWrapper|EditableSelect|UpdateValues|_makeResizable|clearSelectedListItem|_size|borderLeftWidth|newField|newFieldsCount|needResize|_grid|LongDescription|ShortDescription|TableObjectField|dragStart|heightBeforeDrag|dragStop|moveToTop|dispatchEvent|checkAllField|checkedFields|CriteriaBuilderItemDto|handlersPath|Mutators|buildTree|simulatedEvent|prepareSyncSQL|refreshSqlWithLock|_touchMoved|refreshSql|onCanvasContextMenuCommand|onGridRowChanged|keyup||prototyping|merge|treeControl|schedule|centercol|msgType|DateTime|mergeObj|removeAllMarked|dtoIsEqual|dtoIsSimilar|annul|allRows|generateContextMenuItems|ChangedCellValue|checkPending|_click_|ChangedCellIndex|protect|generic|jQueryUIMinVersion|jQueryMinVersion|mergeOne|mHide|errNoJQ|setRequestHeader|parts|srcUrl|GetTempId|hooksOf|lower|debug|cloneOf|importGrid|importCanvas|periodical|onAddTableFieldToCanvas|GridOnAddRow|GridOnRemoveRow|onRemoveObjectFromCanvas|hexToRgb|iFrameOverlay|extended|rgbToHex|pass|bound|regexp|quoteString|pairs|fieldContextMenuCallback|setColumn|page|cross|actionAddItem|JavaScript|__arg|__repr|buildControlItems|getJunctionItemType|junctionType|CriteriaBuilderDto|Clear|addOption|CriteriaBuilderItemRow|operator|selectedOptions|IsInList|IsNotInList|prevIndex|General|CriteriaBuilderItemGeneralDto|CriteriaBuilderItemGroupDto|CriteriaBuilderItemGeneral|ascending|getOperatorObject|_escapeable|testWidth|onCheckFieldInTable|onLinkCreate|GridRowDto|MetadataObjectGuid|border_hover_color|border_color|markAllForDelete|getByGuid|UpdateLink|test_interval|onLinkedObjectSelected|prepareSyncMetadata|updateSQL|_rotright|SqlErrorEventArgs|Actions1|applystyle|outsidewidth_tmp|toExponential|before|invokeAsap|MetadataObjectAdded|_rotleft|findTableByDataSourceGuid|currval|MetadataGuid|tableObj|outsidewidth|serialize|maxH||childButton|acces|LoadDataByFilter|packageRGB|breadcrumbClick|createButton|subname|freeX2|4E3|atan2|freeY1|getNextEmptyPlaceRoutine_Test|_typeAhead|freeY2|loadingItemsOverlay|nogo|propertyName|selectsDto|currentSelect|scrollBy|newwin|presentation|wildcard|applyFilter|winH|buildBreadcrumbElements|scrollWidth|base3|SelectOptionDto|rgbtoString|optionsFixedColumnMode|VisiblePaginationLinksCountAttr|150|newOptionClasses|horizontalDragPosition|_toggle|cRec|optgroup|FixedColumnMode|MarkColumnOptions|NameColumnOptions|FieldTypeName|_toggleEnabled|_scrollPage|fieldIcon|newelementWrap|MAX_CAPTION_LENGTH||eventType|pathValues|oldstop|t12|trimCaption|t13|freeX1|filtredItemsCount|images|_refreshPosition|doScroll|generateNavBarContextMenuItems|Checked|prepareRGB|scrollByX|brackets|bindItemsEvents|structure|linkNode|UpdateConnection|targetId|secondary|spanField|GUID|noop|descriptionHtml|DisableQueryPropertiesDialog|buildElements|nodeCount|fieldElement|LinkPart|xmax|serializeTable|isArray|ymax|isFirst|every|serializeRegexp|New|parentOffset|ellipsePath|UpdateObjects|Paper|topOffset|prependTo|throttle|paneHeight|contentPositionY|sum|bezierBBox|DisableDatasourcePropertiesDialog|SelectAllRowsFrom|ybase|thisLiAttr|touchcancel|xbase|factory|View|scrollByY|isPointInsideBBox|Database|optionsHtml|DisableLinkPropertiesDialog|Schema|vendor|preventTouch|spreviousclass|rgb2hsb|previousclass|snextclass|uuidRegEx|sprevious|__formatToken|uuidReplacer|hsltoString|p2s|isObject|objectToString|Argument|Inc|_touchcancel_|olde|setWindow|bVer|detacher|__getInput|hsbtoString|shorter|rgb2hsl|addEvent|showArrow|acos|hideArrow|2000|callee|carat|stopTouch|_divwrapleft|snext|nextclass|range|aspectRatio|preserveAspectRatio|maxlength|_f|createSVGMatrix|some|UID|nYou|include|methodName|Cvalues|lastIndexOf|methodsEnumerable|isFinite|comb|large_arc_flag|collection|tan|attempt|Tvalues|1069|||0472|f2old|clean|flatten|Your|y2old|x2old|error_alert|Line|Errors|post_error|path2vml|Url|XMLHttpRequest|XMLHTTP|getHTTPObject|responseText|Content|nodeType|long|short|narrow|medium|wide|pathTypes|you|pathBBox|typeCheck|isEnumerable|ovalTypes|hsb|touch_enabled|hsla|u00b0|scheduled|_fn_click|isOval|hsl|_touchStart|_touchEnd|_touchMove|hsba|_touchstart_|_contextmenu_|_touchend_|_touchmove_|repush|_mouseout_|hsrg|colourRegExp|_mousedown_|_mouseup_|_mousemove_|bites|isMove|owner|7699|9041|9816|2032|1601|cannot|2491|2335|retain|changedTouches|tCommand|pathCommand|DXImageTransform|16777216|simulatedType|wrap|5873|3678|getInstance|1252|adjustWrapperSize|adjustWrapperPosition|tokenRegex|quotedName|isFunc|onTextboxChanged|initInputEvents|replacer|handleWidth|current_options_value|selectmenuIcon|hasIcon|formatrg|createEvent|optionValue|initMouseEvent|positionElements|hideOtherLists|quote|setWidths|objNotationRegex|70158|getMatchItemPrev|075|code|thisText|endPath|adjustHeight|clearHighlightMatches|getMatchItemNext|textContent|unselectListItem|Now|backOut|duplicateOptions|listH|autoShow|initEvents|scrollToListItem|EditableSelectWrapper|refreshTimeout|backIn|toPath|pause|onDragStyle|real|equaliseTransform|innerHeight|compatMode|windowHeight|LEFT|resume|DOWN|bezierrg|tableId|onDropStyle|pipe|CubicBezierAtTime|serializeTables|findDropTargetRow|onAllowDrop|easing_formulas|updateTables|TAB|getFont|SPACE|END|ENTER|screenX|thisA|screenY|fireEvent|solveCurveX|solve|animateWith|glowConfig|availableAttrs|RIGHT|HOME|rest|PAGE_DOWN|PAGE_UP|shape2|sortByNumber|endMarker|treeController|deserialize|getOffset|getPropertyValue|getById|exports|heightToggle|heightHide|getElementByPoint|pageYOffset|determinePosition|contextMenuShow|isWithoutTransform|numsort|positionSubmenu|siblings|triggerIsFixed|maintain|tuneText|vis|isPointInsidePath|charCodeAt|adj|whitespace|1e9|Arial|arguments2Array|scope_out|stringify|year|isnan|_meta|selectedValues|DocumentTouch|c1Elements|about|prerendered|removeOption|unmousemove|Infinity|sel|unmouseup|itemClick|onlystart|focusItem|escapeHtml|blurItem|menuMouseenter|hideMenu|menuMouseleave|inputClick|startdx|_formatText|markers|typeAhead|startMarker|startPath|fromMenu|htmlMenuitem|htmlCommand|selectelement|menuitem|_closeOthers|blurInput|focusInput|getTatLen|eventSelectstart|hasTypes|autoHide|zindex|cssrule|aks|positionOptions|activedescendant|enddx|splitAccesskey|specified|sepcified|isEmptyObject|currentOptionClasses|nodeValue|Marker|layerClick|enable|_exportDto|createRowControl|_createViewBlock|isAsterisk|ActionDto|selection|fillDefaultValues|targetPlace|_getCssClass|able|aliases|You|will|9999|ASC|_switchToEdit|From|rowSorter|toggleGroupColumn|updateSortingOrderColumn|reCreateEditBlock|CriteriaOr|getter|generateHeaders|getRowHeaderList|RowChanged|getLastRowControl|findRowByDto|tableDragConfig|oldIndex|onRowChanged|BeforeCustomEdit|itemDto|fieldText|resizeHandles|resizeStart|originalPosition|originalSize|offsetPosition|beforeclose|resizing|resizeStop|helperProportions||Tables|reCreate|Procedures|Views|oldHeight|saveScroll|oldFieldsCount|oldWidth|ExpressionColumn|ConditionColumns|Sort|_createEditControl|Default|view|createCustomEditButton|edit|suppressEnter|Relations|TableObjectOnCreate|Procedure|dialogClass|escapeHTML|AggregateList|TableObjectOnLinkDelete|Editor|Container|delayed|sendDataToServerInternal|operatorText|operatorObj|Invalid|QBWebCoreGrid|QBWebCoreMetadataTree|QBWebCoreCriteriaBuilder|CriteriaBuilderItemRowDto|actionDelete|actionClear|actionMoveUp|actionMoveDown|flush|actionAddGroup|actionAddGeneral|clearSyncDebounce|junctionTypeContextMenuCallback|valueOf|isPrototypeOf|getJunctionTypeContextMenuItems|plusItem|proxyEx|getFieldsContextMenuItems|__entityMap|operationContextMenuCallback|Plus|Where|QBWebCoreCanvas|QBWebCoreNavBar|hasDontEnumBug|getOperationContextMenuItems|SubQueries|dontEnumsLength|IsNotEqualTo|IsNull|DoesNotEndWith|For|IsLessThanOrEqualTo|less|IsNotNull|IsLessThan|DoesNotContain|StartsWith|Contains|findRowByExpression|parentObj|lined|DoesNotStartWith|EndsWith|typeName|data2|triggerObject|MultipleQueriesPerSession|NeedRebindUserInit|isNumeric|complete|clearSync|sendDataToServerDelayedWrapper|TotalCount|greater|IsBetween|IsGreaterThan|IsGreaterThanOrEqualTo|QBWebCore|createFromDto|IsNotBetween|between|Synonyms|IntoControls|needLoadItems|press|TryLoadItems|propertyValue|ItemsPerPage|LoadDataByPager|showDescriptions|canvasMenuCallback|layerY|revert|ShowLoadingSelect|selectDataRefresh|parentIndexId|buildPager|elementParent|layerX|fieldType|objY2|description|fieldSelect|objX1|fieldDescription|objY1|objX2|TreeSelectNode|filterChange|filterChangeStub|PreloadedPagesCount|QueryPropertiesForm|updateFilter|filterChangeRoutineT|filterClear|itemId|DataSourceLinkDto|500px|_setDto|_getDto|selectsParent|CreateConnection|LinkPropertiesForm|GetLinkExpression|createGraph|ShowAllItemInGroupingSelectLists|buildSelects|showAllItemInGroupingSelectLists|lastJ|localCount|recreateSelect|globalStart|globalCount|SelectedValue|IsChanged|rightGuid|leftGuid|CanvasOnDropObject|redrawD|HideLoadingItems|selectChange|removeByTableGuid|getObjectFieldByGuid|getObjectByGuid|getObjectHeader|getObjectFieldByName|findByTableGuid|TreeSelectDto|CopyInner|DataSourceLinkPartDto|TABLE|lastHeight|updateDataSource|classObject|collapseTable|ObjectReadOnly|adjustSize|Enclose|DataSourcePropertiesForm|odd|qbtableClass|tabbableFirst|updateLinkObjectsMenu|uiQBTableClasses|DataSourceType|createLinkObjectsMenu|SubQuery|tabbableLast|need|generateFields|heightMax|generateTitle|AllFieldsSelected|NotPrimaryKey|Query|MetadataFieldDto|Refresh|componentW|hasScroll|titleText|Common|titleButtonW|Reconnect|titleH|componentH|fieldGuid|onObjectClose|DataSourceLayoutDto|getLayout|Time|destLeft|objGuid|onObjectDestroy|FieldCount|TableObjectFieldOnCheckField|UnionNavBarVisible|getNextEmptyPlaceRoutine_Fill|getNextEmptyPlaceRoutine_Find_RTL|getEmptyPlaceCoord|_positionDragX|getNextEmptyPlaceRoutine_Find|fired|destPercentX||destPercentY|scrollToElement|stickToTop|dragMaxY|menuItem|Int32|stepCallback|subqueryPlusButton|updateNavBarContextMenu|getInactiveItems|arrowScroll|jspActive|one|createChildMenu|getActiveItem|isCurrentQuery|noRotation||prepareSyncQueryProperties||toFilter|QBTRIAL|||tagValue|hasAggregateOrCriteria|getTableFieldExpression|isPatt|newRow|updateUnionControls|toFront|May|toBack|setLayout|importCanvasObjects|SqlChanged|def|importCanvasLinks|vbt|Union|UnionNavBar|updateLink|leftBox|rightBox|errNoJQUI|jQueryUIMaxVersion|your|Please|parentBox|effect|trial|errWrongJQ|addLink|getLineCoord|ActiveMenu|removeDataSource|addDataSource|blurregexp|importDto|inline|updateExpression|dynamicSort|padding|342|512|cls|updateAggregateColumn|textStatus|panel|getAllRows|AfterCustomEdit|tabIndex|minLeg|parentId|jqXHR|ajaxFinish|prevOffsetParent|CTE|sync|errNoScript|jQueryMaxVersion|Blur|updateLinkContextMenu|updateBreadcrumb|updateTableContextMenu|CanvasLink|urn|xmlns|microsoft|schemas|behavior|tile|checkProjectConfigure|_viewBoxShift|IsSupportCTE|getSeconds|higher|getMinutes|onGridRowAdded|noPropagation|onEditorChangeDebouncedCall|library|onGridRowRemoved||detected|Incorrect|importContextMenu|importMessages|onTreeDoubleClick|updateOnLoad|buildNewTree|onCanvasLinkChanged|fastDrag|onEditorChange|Incompatible|branch|importQueryStructure|createFieldSelect|createButtonMenu|getTime|createOperationMenu|importNavBar|importCriteriaBuilder|check_usr|fromType|newfill|ariaName|thinBg|CriteriaBuilderChanged|01|setMonth|onEditorChangeDebounced|CriteriaBuilderItemAdded|createJunctionTypeMenu|importMetadata|000000|QBWebCanvasLink|Clone|toType|sqlError|errWrongScriptOrder|shortMonths|required|usr_vXXX|longMonths|OnApplicationReadyTrigger|errHandlersConfiguration|longDays|sqlChanged|shortDays|GlobalUID|Updating|fontFamily|errWrongJQUI|fontStyle|onNavBarAction|IsSupportUnions|DeepCopy|SUBQUERY_ENABLED|importSQL|fontWeight||treeStructureElement|getContentWidth|Linked|getContentPositionY|cte|transparent||getContentPositionX|objects|left16|scrollToPercentX|escapeRegExp|144|titleTextW|limit|capitalize|animateDuration|hyphenate|animateEase|pick|scrollToPercentY|Switch|clearfix|uncheck|tableDnDUpdate||substitute|linked|labelledby|listbox|using|tableDnDSerialize|stack|uniqueId|owns|haspopup|setDataSwitch|tableNameTemplate|getIsScrollableH|camelCase|isScrollableH|getContentHeight|getPercentScrolledX|getPercentScrolledY|readonly|getContentPane|scrollToBottom|hijackInternalLinks|ESCAPE|getIsScrollableV|isScrollableV|scrollTo|ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0|once|textnode|fillSelectOptions2|overloadGetter|Eve|amd|clientError|axd|MooTools|encodeURI|errors|search|reverse|79B5E3|pager|forEachMethod|ready|fillSelectOptions1|nts|mirror|ApplicationEvents|_mouseDrag|uid|Msxml2|form|_mouseUp|urlencoded|ISURL|onclick|10px|bezier|NaN||cubic|positionAbs|_convertPositionTo||dataRefresh|_generatePosition|errordialog|ff0066|ontouchstart|Connection|level|send|onreadystatechange|getArrowScroll|associate|getLast|myType|getRandom|isAtRight|Arguments|horizontalDrag|isAtLeft|invoke|uniqueID|submit|buttonset|reinitialise|erase|initialise|Android|combine|hellip|nextAll|breadcrumb|widgetName|Collection|defineProperty|showDescriptons|defineProperties|getOwnPropertyDescriptor|getPrototypeOf|exec|unshift|2573AF|reduce|toPrecision|reduceRight|nowrap|isFrozen|ends|TextNode|WhiteSpace|freeze|preventExtensions||getOwnPropertyNames|isExtensible|isSealed|seal|HTMLCommandElement|onselectstart|jPaginate|contain|Treeview|HTMLMenuItemElement|999|MessageWarning|starts|6001|slideDown|slideUp|binary|any|incorrect|HTTP|NextItem|configuration|file|Click|left2|notall|persist|web|MessageError|slide|fixedPosition|findRowByGuid|selectstart|disableTextSelect|Info|reserved|black|rowIndex|removeRowByDto|findEmptyRow|Cannot|onAddRow|pages|colspan|findRow|front|onRemoveRow|wrapper1|OnBeforeCustomEditCell|checkRow|thead|maincol|wrapper2|parsing|following|valid|succeed|SyntaxError|getFlags|x1f|x7f|x9f|u00|__max_precision|x00|getUTCMinutes|getUTCSeconds|getUTCMilliseconds|getUTCDate|getUTCFullYear|getUTCHours|evalJSON|secureEvalJSON|bfnrtu|getUTCMonth|criteriaBuilderFieldSelect|matc|isString|selectedTexts|calc|child|unescape|containsOption|UTF8encode|0x|date|unique|Wrong|script|must|ajaxAddOption|getJSON|decodeURIComponent|render|tpl|escape|UTF8decode|encodeURIComponent|copyOptions|sortOptions|onClose|inst|switchToRootQuery|uiDialogTitlebarCloseText|closeText|reset_options_value|uiDialogClasses|me2|diagonal|grip|_mouseCapture|_createButtons|updateCriteriaBuilder|beforeClose|uuid|autocomplete|_hidden_select|hide_on_blur_timeout|padding_right|options_value|_size1|160|uiDialogTitlebar|frameborder|_allowInteraction|wrapperCleared|HandlersPath|getGrid|Read|GET|statusbar|err|message|exp|BackCompat|atan|178|tDnD_whileDrag|serializeParamName|ping|paddingTop|paddingLeft|MouseEvents|alsoResize|ontouchend|addClasses|MouseEvent|_makeDraggableOriginal|oldInstances|Implements|_setContainment|sortOrder|onDeleted|GridRowCellOnDeleted|msgTime|isEmptyRow|_UID|_timer_|setInputValues|getInputValues|html5|onChanged|focusin|Warning|appVersion|True|insert|8cc59d|MSIE|appName|bName|meta|rowsHeaders|currentEdit|onGridRowCellChanged|_duration_|pencil|ipod|focusout|trigger_jquery_event|teardown|WebkitUserSelect|case_sensitive|special|syncCriteriaBuilder|ipad|iphone||updateValue|own|setQueryParamValues|them|radiogroup|paid|getQueryParams|Random|inputSpan|dispatch|rid|innerText|limitation||COUNT|FIRST|curveslengths|DESC|MIN|SUM|LAST|MAX|reload|async|errorThrown|sendDataToServerDelayed|removeGridRows|Synonym|removeLink|addGridRows|Having|int|primaryKey|createSVGRect|objid|setFinish|setStart|pageXOffset|nullable|getElementsByPoint|groups|u00d7|x_y|ObjectField|getIntersectionList|old|getElementsByBBox|onAnimation|TypeError|quot|x2F|finish|msRequestAnimationFrame|non|GLOBAL_DEBUG|00|toTimeString|u2019s|setTime|liveConvert|live|unload|liveEx|oRequestAnimationFrame|bounce|elastic|9375|5625|dataType|contentType|1734|04|requestAnimationFrame||easeInOut|mozRequestAnimationFrame|webkitRequestAnimationFrame|984375|625|easeOut|easeIn|GetFullName|OutputColumnDto|FieldType|cancelBubble|returnValue|Datasource|platform|Google|Kind|ContextMenuDto|ContextMenuItemDto|Label|UnionsAdd|Expanded|Test|QueryStructureDto|Selected|Computer|RightColumn|JoinExpression|isSuperSimple|LeftColumn|sizingmethod|M22|Join|expand|LeftObject|Version|Apple|Chrome|SelectAllFromLeft|SelectAllFromRight|RightObject|toTransformString|System|LinkObjectDto|DataSourceDto|AliasNotQuoted|DataSourceGuid|Cardinality|LeftFields|RightFields|mdc|unmousedown|GetName|LoadFromObject|CanvasDto|GridDto|undrag|onDragOver|DatasourceName|Size|ItemsPacketSize|ReadOnly|Scale|00000000|000000000000|getData|ItemsListIncomplete|AltName|Nullable|MetaDataDto|Command|unmouseover|unhover|unmouseout|Precision|feGaussianBlur|finally|removeAttribute|stdDeviation|userSpaceOnUse|patternUnits|DIV|fixOutsideBounds|pixelradius|xMinYMin|getScreenCTM|viewBox|createStyleSheet|addRule|meet|textpathok|clipPath|patternTransform|fillOpacity|getRec1|equalHeight|SmartAdd|Gradient|equalWidth|gradientTransform|setGlobalOnLoad|refY|addHandler|removeHandler|markerWidth|markerHeight|OnApplicationReady|orient|dash|longdash|shortdashdot|shortdashdotdot|longdashdotdot|dashstyle|dashdot|longdashdot|endcap|flat|joinstyle|miter|arrowlength|shortdot|shortdash|arrowwidth|Falling|focusposition|270|gradientTitle|focussize|Created|runtimeStyle|ahqstv|21600|doesn|oindex|kern|u2019t|dxdy|colors|color2|rotation|offsetWithParent|Sun|bolder|November|December|bold|Mon|lighter|700|June|July|descent|baseline|print|October|August|September|Tue|Tuesday|Wednesday|Monday|u2018s|Saturday|insertion|Thursday|Friday|registerFont|Thu|Wed|mlcxtrv|index2|Sunday|Fri|Sat|1999|DOMContentLoaded|0z|0A2|ninja|superclass|delegate|toUpper|doesAddBorderForTableAndCells|subtractsBorderForOverflowNotVisible|bodyOffset|doesNotAddBorder|createElementNS|supports|inArray|webkitTapHighlightColor|GenerateClass|Nov|Dec||Sep|Oct|March|April|January|February|fullfill|Mar|Jan|Feb|Jul|Aug|Apr|Jun|write|calling|htmlfile|strColumnNameAlreadyUsed|createPopup|strRemove|u201d|strEncloseWithBrackets|animportCanvasimation|Into|DenyIntoClause|u201c|StoredProc|createTextRange|TreeSelectTypeDto|pathIntersection|350|pathIntersectionNumber|exists|already|same|currentLanguage|segment1|segment2|strCopyToNewUnionSubQuery|Check|CheckAll|4xxx|120|Uncheck|UncheckAll|snapTo|offsetX|offsetY|xxxx|xxxxxxxx|SelectAll|_pathToRelative|strAddCTE|derived|strNewUnionSubQuery|strUnionSubMenu|strAddNewCTE|updated|yxxx|changed|strAddSubQuery|Update|xxxxxxxxxxxx|DbType|Deny|Allow|Byte|Binary|AnsiString|Xml|interCount|DateTime2|LinkManipulations|StringFixedLength|inter|UInt16|Single|SByte|UInt64|UInt32|VarNumeric|Decimal|AnsiStringFixedLength|Currency|Int64|Int16|Double|DateTimeOffset|Picker|Colour|16711680|u2400|One|Universal|queryCommandValue|props|Other|65280|LinkCardinality|ForeColor|LinkSideType|KindOfType|Many|Desc|Asc|ItemSortType|32E3|onerror|preload|NumericFrac|NumericInt|updateObjects|insertbefore|insertafter|SelectSyntaxProvider|Syntax|spacing|_blank|check_lib|MAX_SELECTS|toback|ObjectTypeUnknown|000B9D|tables|updateLinks|RemoveBrackets||removeAll|EncloseWithBrackets|CopyToNewUnionSubQuery|Provider|MetadataObjectCount|proceed|InsertEmptyItem|RemoveItem|Insert|achlmqrstvxz|ObjectTypeTable|MoveUp|forward|MoveForward|MoveDown|_availableAnimAttrs|NewUnionSubQuery|rstm|tofront|ObjectTypeProcedure|radial_gradient|ObjectTypeView|achlmrqstvz|backward|parseDots|MoveBackward|M21|pixelWidth|hasFeature|implementation|views|Option|Cache|SVGAngle|pixelHeight|_id|procedures|M12|M11|feature|SVG11|CacheOptions|BasicStructure|GroupBy|sortByKey|removeByGraphics|letter|getByLink|raphaeljs|Order|_equaliseTransform'.split('|'),0,{}))

