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() {
    var context = this.wrapper.currentContext;
    if (typeof context.handler == "function") {
      context.handler.call(context, context.textControl);
    }
  }, 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() {
    if (!this.isActive) {
      return;
    }
    this.wrapper.clearSelectedListItem();
    this.hideList();
    this.onSelect();
    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();
      }
    }).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_5_17.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 Ou=1n;K Ez={G7:1a(){K 6G=1c;if(2M pD!="2N"){7q{6G=1S pD("Pd.FD")}7h(e){7q{6G=1S pD("xQ.FD")}7h(E){6G=1j}}}1i{if(3M.Fn){7q{6G=1S Fn}7h(e){6G=1c}}}1b 6G},v0:1a(B1,1Z,44){K 6G=J.G7();if(!6G||!B1){1b}K 5a=B1;5a+=5a.4Y("?")+1?"&":"?";5a+="OA="+(1S 5i).L2();K pT=1c;if(44=="sT"){K B9=5a.3q("?");5a=B9[0];pT=B9[1]}6G.6Y(44,5a,1n);if(44=="sT"){6G.Bo("EC-1x","nP/x-m6-OI-Pj");6G.Bo("EC-1e",pT.1e);6G.Bo("Pk","5w")}6G.Pm=1a(){if(6G.o4==4){if(6G.6I==fO){K 1J="";if(6G.EN){1J=6G.EN}if(1Z){1Z(1J)}}}};6G.P3(pT)},7x:1a(c8,5a,bH){K 9q=\'<b 3b="3t:#Pb">yH 9j</b>\\n<br/>\\n\'+"kr: "+c8+"\\n<br>\\n"+"Eo: "+5a+"\\n<br>\\n"+"Ep: "+bH+"\\n<br>\\n";K Ey="yH 9j\\n"+"kr: "+c8+"\\n\\n"+"Eo: "+5a+"\\n\\n"+"Ep: "+bH+"\\n\\n";if(aI&&aI.dU){9q=9q+"dU: "+aI.dU}K 3h=2O.cp("2E");3h.bJ="O6";3h.mL=9q;if(2O&&(2O.3S&&2O.3S.3D)){2O.3S.3D(3h)}1i{dV(Ey)}Ez.Ex({c8:c8,5a:5a,bH:bH,dU:aI.dU});1b 1n},Ex:1a(1v){K 5a="lv/O9.Ra?";1o(K i in 1v){if(1v.7U(i)){5a+=i+"="+Rd(1v[i])+"&"}}J.v0(5a,1c,"sT")}};(1a(){J.R6={5S:"1.4.5",9P:"QW"};K 7E=J.7E=1a(1g){if(1g==1c){1b"1c"}if(1g.$8b!=1c){1b 1g.$8b()}if(1g.8y){if(1g.F2==1){1b"1f"}if(1g.F2==3){1b/\\S/.9F(1g.Dw)?"QF":"HO"}}1i{if(2M 1g.1e=="ch"){if(1g.II){1b"2q"}if("1g"in 1g){1b"CL"}}}1b 2M 1g};K rs=J.rs=1a(1g,1C){if(1g==1c){1b 1j}K 4V=1g.$4V||1g.4V;45(4V){if(4V===1C){1b 1n}4V=4V.1L}if(!1g.7U){1b 1j}1b 1g ea 1C};K 9i=J.9i;K hN=1n;1o(K i in{3s:1}){hN=1c}if(hN){hN=["7U","JU","JV","sv","uX","3s","4V"]}9i.2T.f9=1a(uj){K 2o=J;1b 1a(a,b){if(a==1c){1b J}if(uj||2M a!="4d"){1o(K k in a){2o.2u(J,k,a[k])}if(hN){1o(K i=hN.1e;i--;){k=hN[i];if(a.7U(k)){2o.2u(J,k,a[k])}}}}1i{2o.2u(J,a,b)}1b J}};9i.2T.QT=1a(uj){K 2o=J;1b 1a(a){K 2f,1J;if(2M a!="4d"){2f=a}1i{if(2q.1e>1){2f=2q}1i{if(uj){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}};9i.2T.4l=1a(1q,1l){J[1q]=1l}.f9();9i.2T.74=1a(1q,1l){J.2T[1q]=1l}.f9();K 3G=41.2T.3G;9i.2s=1a(1g){1b 7E(1g)=="1a"?1g:1a(){1b 1g}};41.2s=1a(1g){if(1g==1c){1b[]}1b 9h.Hb(1g)&&2M 1g!="4d"?7E(1g)=="3J"?1g:3G.2u(1g):[1g]};66.2s=1a(1g){K ch=du(1g);1b GS(ch)?ch:1c};5j.2s=1a(1g){1b 1g+""};9i.74({zM:1a(){J.$71=1n;1b J},zy:1a(){J.$rn=1n;1b J}});K 9h=J.9h=J.9h=1a(1z,1C){if(1z){K zz=1z.3R();K Hl=1a(1g){1b 7E(1g)==zz};9h["is"+1z]=Hl;if(1C!=1c){1C.2T.$8b=1a(){1b zz}.zM()}}if(1C==1c){1b 1c}1C.4l(J);1C.$4V=9h;1C.2T.$4V=1C;1b 1C};K 3s=4E.2T.3s;9h.Hb=1a(1g){1b 1g!=1c&&(2M 1g.1e=="ch"&&3s.2u(1g)!="[1C 9i]")};K jY={};K zr=1a(1C){K 1x=7E(1C.2T);1b jY[1x]||(jY[1x]=[])};K 74=1a(1z,44){if(44&&44.$71){1b}K jY=zr(J);1o(K i=0;i<jY.1e;i++){K jV=jY[i];if(7E(jV)=="1x"){74.2u(jV,1z,44)}1i{jV.2u(J,1z,44)}}K bS=J.2T[1z];if(bS==1c||!bS.$rn){J.2T[1z]=44}if(J[1z]==1c&&7E(44)=="1a"){4l.2u(J,1z,1a(1g){1b 44.3d(1g,3G.2u(2q,1))})}};K 4l=1a(1z,44){if(44&&44.$71){1b}K bS=J[1z];if(bS==1c||!bS.$rn){J[1z]=44}};9h.74({74:74.f9(),4l:4l.f9(),ae:1a(1z,8r){74.2u(J,1z,J.2T[8r])}.f9(),RF:1a(jV){zr(J).1D(jV);1b J}});1S 9h("9h",9h);K fm=1a(1z,1C,b0){K ud=1C!=4E,2T=1C.2T;if(ud){1C=1S 9h(1z,1C)}1o(K i=0,l=b0.1e;i<l;i++){K 1q=b0[i],zu=1C[1q],jT=2T[1q];if(zu){zu.zy()}if(ud&&jT){1C.74(1q,jT.zy())}}if(ud){K HT=2T.sv(b0[0]);1C.PR=1a(fn){if(!HT){1o(K i=0,l=b0.1e;i<l;i++){fn.2u(2T,2T[b0[i]],b0[i])}}1o(K 1q in 2T){fn.2u(2T,2T[1q],1q)}}}1b fm};fm("5j",5j,["b7","KE","3y","4Y","HB","3e","Dd","3g","PT","3G","3q","73","fa","nM","3R","8l"])("41",41,["dp","1D","PS","bA","g4","5g","PN","3y","4I","3G","4Y","HB","4s","8E","yr","eJ","GK","Py","Oa"])("66",66,["z6","4p","uX","Pu"])("9i",9i,["3d","2u","2B"])("cY",cY,["PA","9F"])("4E",4E,["7P","PG","PJ","89","PC","PB","PE","PD","Qp","Qo","Qu","Qz","Qw"])("5i",5i,["7b"]);4E.4l=4l.f9();5i.4l("7b",1a(){1b+1S 5i});1S 9h("kh",kh);66.2T.$8b=1a(){1b GS(J)?"ch":"1c"}.zM();66.4l("kp",1a(5U,4w){1b 3H.gg(3H.kp()*(4w-5U+1)+5U)});K 7U=4E.2T.7U;4E.4l("8E",1a(1C,fn,2B){1o(K 1q in 1C){if(7U.2u(1C,1q)){fn.2u(2B,1C[1q],1q,1C)}}});4E.2g=4E.8E;41.74({8E:1a(fn,2B){1o(K i=0,l=J.1e;i<l;i++){if(i in J){fn.2u(2B,J[i],i,J)}}},2g:1a(fn,2B){41.8E(J,fn,2B);1b J}});K zR=1a(1g){3r(7E(1g)){1m"3J":1b 1g.5O();1m"1C":1b 4E.5O(1g);5r:1b 1g}};41.74("5O",1a(){K i=J.1e,5O=1S 41(i);45(i--){5O[i]=zR(J[i])}1b 5O});K zQ=1a(aA,1q,5A){3r(7E(5A)){1m"1C":if(7E(aA[1q])=="1C"){4E.Bi(aA[1q],5A)}1i{aA[1q]=4E.5O(5A)}1p;1m"3J":aA[1q]=5A.5O();1p;5r:aA[1q]=5A}1b aA};4E.4l({Bi:1a(aA,k,v){if(7E(k)=="4d"){1b zQ(aA,k,v)}1o(K i=1,l=2q.1e;i<l;i++){K 1C=2q[i];1o(K 1q in 1C){zQ(aA,1q,1C[1q])}}1b aA},5O:1a(1C){K 5O={};1o(K 1q in 1C){5O[1q]=zR(1C[1q])}1b 5O},2Z:1a(o6){1o(K i=1,l=2q.1e;i<l;i++){K Aa=2q[i]||{};1o(K 1q in Aa){o6[1q]=Aa[1q]}}1b o6}});["4E","Q8","Qa","Q5","Q4"].2g(1a(1z){1S 9h(1z)});K GF=5i.7b();5j.4l("Q7",1a(){1b(GF++).3s(36)})})();41.74({yr:1a(fn,2B){1o(K i=0,l=J.1e>>>0;i<l;i++){if(i in J&&!fn.2u(2B,J[i],i,J)){1b 1j}}1b 1n},4s:1a(fn,2B){K ep=[];1o(K 1l,i=0,l=J.1e>>>0;i<l;i++){if(i in J){1l=J[i];if(fn.2u(2B,1l,i,J)){ep.1D(1l)}}}1b ep},4Y:1a(1g,2s){K 1e=J.1e>>>0;1o(K i=2s<0?3H.4w(0,1e+2s):2s||0;i<1e;i++){if(J[i]===1g){1b i}}1b-1},eJ:1a(fn,2B){K 1e=J.1e>>>0,ep=41(1e);1o(K i=0;i<1e;i++){if(i in J){ep[i]=fn.2u(2B,J[i],i,J)}}1b ep},GK:1a(fn,2B){1o(K i=0,l=J.1e>>>0;i<l;i++){if(i in J&&fn.2u(2B,J[i],i,J)){1b 1n}}1b 1j},Di:1a(){1b J.4s(1a(1g){1b 1g!=1c})},Qc:1a(GP){K 2f=41.3G(2q,1);1b J.eJ(1a(1g){1b 1g[GP].3d(1g,2f)})},Qk:1a(89){K 1u={},1e=3H.5U(J.1e,89.1e);1o(K i=0;i<1e;i++){1u[89[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];3X 1C[1q];1p}}}1b 1J},hj:1a(1g,2s){1b J.4Y(1g,2s)!=-1},2Z:1a(3J){J.1D.3d(J,3J);1b J},Qj:1a(){1b J.1e?J[J.1e-1]:1c},Qg:1a(){1b J.1e?J[66.kp(0,J.1e-1)]:1c},CI:1a(1g){if(!J.hj(1g)){J.1D(1g)}1b J},Qe:1a(3J){1o(K i=0,l=3J.1e;i<l;i++){J.CI(3J[i])}1b J},Qi:1a(1g){1o(K i=J.1e;i--;){if(J[i]===1g){J.5g(i,1)}}1b J},cI:1a(){J.1e=0;1b J},Cp:1a(){K 3J=[];1o(K i=0,l=J.1e;i<l;i++){K 1x=7E(J[i]);if(1x=="1c"){aN}3J=3J.3y(1x=="3J"||(1x=="CL"||(1x=="2q"||rs(J[i],41)))?41.Cp(J[i]):J[i])}1b 3J},Qx:1a(){1o(K i=0,l=J.1e;i<l;i++){if(J[i]!=1c){1b J[i]}}1b 1c},zs:1a(3J){if(J.1e!=3){1b 1c}K 3F=J.eJ(1a(1l){if(1l.1e==1){1l+=1l}1b 1l.9D(16)});1b 3J?3F:"3F("+3F+")"},zH:1a(3J){if(J.1e<3){1b 1c}if(J.1e==4&&(J[3]==0&&!3J)){1b"Pt"}K 6b=[];1o(K i=0;i<3;i++){K r5=(J[i]-0).3s(16);6b.1D(r5.1e==1?"0"+r5:r5)}1b 3J?6b:"#"+6b.4I("")}});5j.74({9F:1a(ra,1v){1b(7E(ra)=="zo"?ra:1S cY(""+ra,1v)).9F(J)},hj:1a(4d,5n){1b 5n?(5n+J+5n).4Y(5n+4d+5n)>-1:5j(J).4Y(4d)>-1},nM:1a(){1b 5j(J).3g(/^\\s+|\\s+$/g,"")},Di:1a(){1b 5j(J).3g(/\\s+/g," ").nM()},PK:1a(){1b 5j(J).3g(/-\\D/g,1a(3e){1b 3e.b7(1).8l()})},PW:1a(){1b 5j(J).3g(/[A-Z]/g,1a(3e){1b"-"+3e.b7(0).3R()})},Q1:1a(){1b 5j(J).3g(/\\b[a-z]/g,1a(3e){1b 3e.8l()})},Q0:1a(){1b 5j(J).3g(/([-.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},9D:1a(gw){1b 6n(J,gw||10)},3z:1a(){1b du(J)},zs:1a(3J){K 6b=5j(J).3e(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);1b 6b?6b.3G(1).zs(3J):1c},zH:1a(3J){K 3F=5j(J).3e(/\\d{1,3}/g);1b 3F?3F.zH(3J):1c},RC:1a(1C,zo){1b 5j(J).3g(zo||/\\\\?\\{([^{}]+)\\}/g,1a(3e,1z){if(3e.b7(0)=="\\\\"){1b 3e.3G(1)}1b 1C[1z]!=1c?1C[1z]:""})}});9i.4l({CP:1a(){1o(K i=0,l=2q.1e;i<l;i++){7q{1b 2q[i]()}7h(e){}}1b 1c}});9i.74({CP:1a(2f,2B){7q{1b J.3d(2B,41.2s(2f))}7h(e){}1b 1c},2B:1a(6i){K 2o=J,2f=2q.1e>1?41.3G(2q,1):1c,F=1a(){};K C0=1a(){K 3k=6i,1e=2q.1e;if(J ea C0){F.2T=2o.2T;3k=1S F}K 1J=!2f&&!1e?2o.2u(3k):2o.3d(3k,2f&&1e?2f.3y(41.3G(2q)):2f||2q);1b 3k==6i?1J:3k};1b C0},C8:1a(2f,2B){K 2o=J;if(2f!=1c){2f=41.2s(2f)}1b 1a(){1b 2o.3d(2B,2f||2q)}},eW:1a(eW,2B,2f){1b 6F(J.C8(2f==1c?[]:2f,2B),eW)},C2:1a(C2,2B,2f){1b kJ(J.C8(2f==1c?[]:2f,2B),C2)}});66.74({On:1a(5U,4w){1b 3H.5U(4w,3H.4w(5U,J))},4K:1a(fU){fU=3H.5W(10,fU||0).4p(fU<0?-fU:0);1b 3H.4K(J*fU)/fU},cJ:1a(fn,2B){1o(K i=0;i<J;i++){fn.2u(2B,i,J)}},3z:1a(){1b du(J)},9D:1a(gw){1b 6n(J,gw||10)}});66.ae("2g","cJ");(1a(3w){K b0={};3w.2g(1a(1z){if(!66[1z]){b0[1z]=1a(){1b 3H[1z].3d(1c,[J].3y(41.2s(2q)))}}});66.74(b0)})(["49","Hw","u5","O4","wc","jx","8A","P9","gg","iB","4w","5U","5W","8p","9x","F6"]);(1a(){K 62=J.62=1S 9h("62",1a(1v){if(rs(1v,9i)){1v={bP:1v}}K gN=1a(){mB(J);if(gN.$AX){1b J}J.$9b=1c;K 1l=J.bP?J.bP.3d(J,2q):J;J.$9b=J.9b=1c;1b 1l}.4l(J).74(1v);gN.$4V=62;gN.2T.$4V=gN;gN.2T.1L=1L;1b gN});K 1L=1a(){if(!J.$9b){9w 1S 9j(\'tN 44 "1L" Dv be uO.\')}K 1z=J.$9b.$1z,1L=J.$9b.$DF.1L,bS=1L?1L.2T[1z]:1c;if(!bS){9w 1S 9j(\'tN 44 "\'+1z+\'" 3o no 1L.\')}1b bS.3d(J,2q)};K mB=1a(1C){1o(K 1q in 1C){K 1l=1C[1q];3r(7E(1l)){1m"1C":K F=1a(){};F.2T=1l;1C[1q]=mB(1S F);1p;1m"3J":1C[1q]=1l.5O();1p}}1b 1C};K DJ=1a(2o,1q,44){if(44.$fj){44=44.$fj}K 5P=1a(){if(44.$rn&&J.$9b==1c){9w 1S 9j(\'tN 44 "\'+1q+\'" Dv be uO.\')}K 9b=J.9b,5A=J.$9b;J.9b=5A;J.$9b=5P;K 1J=44.3d(J,2q);J.$9b=5A;J.9b=9b;1b 1J}.4l({$DF:2o,$fj:44,$1z:1q});1b 5P};K 74=1a(1q,1l,DN){if(62.Bp.7U(1q)){1l=62.Bp[1q].2u(J,1l);if(1l==1c){1b J}}if(7E(1l)=="1a"){if(1l.$71){1b J}J.2T[1q]=DN?1l:DJ(J,1q,1l)}1i{4E.Bi(J.2T,1q,1l)}1b J};K E0=1a(tU){tU.$AX=1n;K jT=1S tU;3X tU.$AX;1b jT};62.74("74",74.f9());62.Bp={b9:1a(1L){J.1L=1L;J.2T=E0(1L)},P0:1a(1F){41.2s(1F).2g(1a(1g){K sL=1S 1g;1o(K 1q in sL){74.2u(J,1q,sL[1q],1n)}},J)}}})();(1a($){$.cE.91="OZ"in 2O;if(!$.cE.91){1b}K jq=$.ui.p0.2T;K uh=jq.uh;K jt;1a fu(1H,Cq){if(1H.cV.g5.1e>1){1b}1H.4g();K t=1H.cV.Cy[0];K BT=2O.JE("OU");BT.Jz(Cq,1n,1n,3M,1,t.Jx,t.IT,t.aM,t.az,1j,1j,1j,1j,0,1c);1H.3l.xr(BT)}jq.CE=1a(1H){K me=J;if(jt||!me.O8(1H.cV.Cy[0])){1b}jt=1n;me.BV=1j;fu(1H,"gR");fu(1H,"9O");fu(1H,"7l")};jq.CA=1a(1H){if(!jt){1b}J.BV=1n;fu(1H,"9O")};jq.Cs=1a(1H){if(!jt){1b}fu(1H,"5t");fu(1H,"ed");if(!J.BV){fu(1H,"3K")}jt=1j};jq.uh=1a(){K me=J;me.1f.2B("n8",$.9y(me,"CE")).2B("n3",$.9y(me,"CA")).2B("oj",$.9y(me,"Cs"));uh.2u(me)}})(2w);K gm=1c;(1a($){$.fn.mh=1a(){$(J).eR(1a(e){K t=e.83;K o=$(e.83).2y();if(e.6T-o.2b>t.oo){1b}K 1f=$(e.3l);1f.2L({x:e.aM,y:e.az})})};K $D3=$.fn.3K;$.fn.3K=1a 3K(6K,7x){if(!7x){1b $D3.3d(J,2q)}1b $(J).2B(1x,7x)};$.fn.eR=1a eR(){K 2f=[].5g.2u(2q,0),7x=2f.dp(),6K=2f.dp(),$J=$(J);1b 7x?$J.3K(6K,7x):$J.2c(1x)};$.eR={6K:98};$.1H.Pp.eR={wW:1a(1h,9p){if(!/Pq|NZ|Ob/i.9F(aI.dU)){$(J).2B(LD,BQ).2B([Lz,LA,Ma,MP].4I(" "),BM).2B(AZ,3K)}1i{NG(J).2B(MS,BQ).2B([Me,Mn,Mr].4I(" "),BM).2B(AZ,3K).31({Oj:"3p"})}},Oc:1a(9p){$(J).7Q(9f)}};1a NG(1f){$.2g("n8 n3 oj vx".3q(/ /),1a 2B(ix,it){1f.bB(it,1a P1(1H){$(1f).2c(it)},1j)});1b $(1f)}1a BQ(1H){if(gm){1b}K 1f=J;K 2f=2q;$(J).1h(pb,1j);gm=6F(NI,$.eR.6K);1a NI(){$(1f).1h(pb,1n);1H.1x=1x;2w.1H.OS.3d(1f,2f)}}1a BM(1H){if(gm){hW(gm);gm=1c}}1a 3K(1H){if($(J).1h(pb)){1b 1H.cr()||1j}}K 1x="eR";K 9f="."+1x;K LD="7l"+9f;K AZ="3K"+9f;K Lz="9O"+9f;K LA="5t"+9f;K Ma="ed"+9f;K MP="5l"+9f;K MS="n8"+9f;K Me="oj"+9f;K Mn="n3"+9f;K Mr="vx"+9f;K QI="6K"+9f;K Re="8K"+9f;K pb="MC"+9f})(2w);(1a($){$.fn.oS=1a(1w){K l8=$.4l({},$.fn.oS.d6,1w);1b J.2g(1a(){$J=$(J);K o=$.RJ?$.4l({},l8,$J.1h()):l8;K nO=o.2J;$.fn.jy(o,$J,nO)})};K yS=0;K qG=0;K Rw=aI.Rj;K Lp=aI.Rn;if(Lp.4Y("Pw 7.0")>0){K oP="pc"}$.fn.oS.d6={6z:5,2J:12,5q:5,fl:1n,AQ:"#j9",iQ:"#Pz",j2:"Ps",Al:"#j9",j5:"#j9",j4:"#j9",5p:1n,zF:1n,p0:"Pv",mI:1a(){1b 1j}};$.fn.jy=1a(o,1u,nO){if(o.5q>o.6z){o.5q=o.6z}$J.cI();if(o.zF){K NQ="92-N2-bW";K Nv="92-bS-bW";K Ns="92-Nt-bW";K Nr="92-3m-bW"}1i{K NQ="92-N2";K Nv="92-bS";K Ns="92-Nt";K Nr="92-3m"}if(o.5p){K At=$("<2E>&lt;</2E>").3B({bz:{tg:"ui-3L-IX-1-w"},1Y:1j})}$J.3Y(\'<2E id="Qf">\'+\'<2E id="Qd">\'+\'<2E id="Q6">\'+\'<2E id="pM"></2E>\'+\'<2E id="qq"></2E>\'+\'<2E id="zL"></2E>\'+"</2E>"+"</2E>"+"</2E>");K IQ=$("#pM").2t("92-3a-vc");IQ.2Z(At);K 82=$(\'<1M t4="0" sZ="0">\').31("hO","71");K ho=$("<tr>").2t("92-Qb");K c=(o.5q-1)/2;K 4t=nO-c;K nT;1o(K i=0;i<o.6z;i++){K 2h=i+1;if(2h==nO){K nR=$(\'<td 2C="li">\').3Y(\'<2F 2C="92-5A">\'+2h+"</2F>");nT=nR;ho.2Z(nR)}1i{K nR=$(\'<td 2C="li">\').3Y("<a>"+2h+"</a>");ho.2Z(nR)}}82.2Z(ho);if(o.5p){K Ax=$("<2E>&gt;</2E>").3B({bz:{tg:"ui-3L-IX-1-e"},1Y:1j})}K nl=$("#qq").2t("92-3a-Ql");nl.2Z(Ax);$("#zL").2Z(82);K qJ=$("#zL");K AB=1c;1a JA(){$("#pM").3I();$("#qq").3I()}1a JC(){$("#pM").5e();$("#qq").5e()}1a AE(){if(qJ.1r()==0){1b}qv(AB);if(82.1r()<=qJ.1r()){JA()}1i{JC()}}if(qJ.1r()==0){AB=kJ(AE,lc)}1i{AE()}$J.2t("Qr");if(!o.fl){if(o.j2=="3p"){K eA={"3t":o.iQ}}1i{K eA={"3t":o.iQ,"jH-3t":o.j2}}if(o.j4=="3p"){K ez={"3t":o.j5}}1i{K ez={"3t":o.j5,"jH-3t":o.j4}}}1i{if(o.j2=="3p"){K eA={"3t":o.iQ,"fl":"iE lp "+o.AQ}}1i{K eA={"3t":o.iQ,"jH-3t":o.j2,"fl":"iE lp "+o.AQ}}if(o.j4=="3p"){K ez={"3t":o.j5,"fl":"iE lp "+o.Al}}1i{K ez={"3t":o.j5,"jH-3t":o.j4,"fl":"iE lp "+o.Al}}}$.fn.yP(o,$J,eA,ez,ho,82,nl);K yT=yS-1;if(oP=="pc"){}1i{}if(o.p0=="LB"){Ax.7l(1a(){oY=kJ(1a(){K 2b=82.1L().4X()+5;82.1L().4X(2b)},20)}).5t(1a(){qv(oY)});At.7l(1a(){oY=kJ(1a(){K 2b=82.1L().4X()-5;82.1L().4X(2b)},20)}).5t(1a(){qv(oY)})}82.2D(".li").3K(1a(e){nT.3Y("<a>"+nT.2D(".92-5A").3Y()+"</a>");K yW=$(J).2D("a").3Y();$(J).3Y(\'<2F 2C="92-5A">\'+yW+"</2F>");nT=$(J);$.fn.yP(o,$(J).1L().1L().1L(),eA,ez,ho,82,nl);K 2b=J.8k/2;K PZ=82.4X()+2b;K 8f=2b-yT/2;if(oP=="pc"){82.4F({4X:2b+8f+52+"px"})}1i{82.4F({4X:2b+8f+"px"})}o.mI(yW)});K 6Z=82.2D(".li").eq(o.2J-1);6Z.1k("id","8f");K 2b=2O.dT("8f").8k/2;6Z.iZ("id");K 8f=2b-yT/2;if(oP=="pc"){82.4F({4X:2b+8f+52+"px"})}1i{82.4F({4X:2b+8f+"px"})}};$.fn.yP=1a(o,1u,eA,ez,ho,82,nl){1u.2D("a").31(eA);1u.2D("2F.92-5A").31(ez);1u.2D("a").6v(1a(){$(J).31(ez)},1a(){$(J).31(eA)});qG=0;1u.2D(".li").2g(1a(i,n){if(i==o.5q-1){yS=J.8k+J.fI}qG+=J.fI});qG+=3}})(2w);(1a($){$.4l({gy:1a(fn,pK,9g,yR){K 8K;1b 1a(){K 2f=2q;9g=9g||J;yR&&(!8K&&fn.3d(9g,2f));hW(8K);8K=6F(1a(){!yR&&fn.3d(9g,2f);8K=1c},pK)}},zN:1a(fn,pK,9g){K 8K,2f,qI;1b 1a(){2f=2q;qI=1n;9g=9g||J;if(!8K){(1a(){if(qI){fn.3d(9g,2f);qI=1j;8K=6F(2q.II,pK)}1i{8K=1c}})()}}}})})(2w);(1a($){K hn={iS:{yZ:1a(i){3r(J.iN(i)){1m"3J":;1m"PL":;1m"ch":1b i.3s();1m"1C":K o=[];1o(x=0;x<i.1e;i++){o.1D(i+": "+J.yZ(i[x]))}1b o.4I(", ");1m"4d":1b i;5r:1b i}},iN:1a(i){if(!i||!i.4V){1b 2M i}K 3e=i.4V.3s().3e(/41|66|5j|4E|5i/);1b 3e&&3e[0].3R()||2M i},jr:1a(76,l,s,t){K p=s||" ";K o=76;if(l-76.1e>0){o=(1S 41(3H.jx(l/ p.1e))).4I(p).73(0, t = !t ? l : t == 1 ? 0 : 3H.jx(l /2))+76+p.73(0,l-t)}1b o},IE:1a(4i,2f){K 1q=4i.oB();3r(J.iN(2f)){1m"1C":K 89=1q.3q(".");K 1u=2f;1o(K bI=0;bI<89.1e;bI++){1u=1u[89[bI]]}if(2M 1u!="2N"){if(hn.iS.iN(1u)=="3J"){1b 4i.h3().3e(/\\.\\*/)&&1u[1]||1u}1b 1u}1i{}1p;1m"3J":1q=6n(1q,10);if(4i.h3().3e(/\\.\\*/)&&2M 2f[1q+1]!="2N"){1b 2f[1q+1]}1i{if(2M 2f[1q]!="2N"){1b 2f[1q]}1i{1b 1q}}1p}1b"{"+1q+"}"},IN:1a(cC,2f){K 4i=1S IM(cC,2f);1b hn.iS[4i.h3().3G(-1)](J.IE(4i,2f),4i)},d:1a(29,4i){K o=6n(29,10);K p=4i.lW();if(p){1b J.jr(o.3s(),p,4i.lP(),0)}1i{1b o}},i:1a(29,2f){1b J.d(29,2f)},o:1a(29,4i){K o=29.3s(8);if(4i.lX()){o=J.jr(o,o.1e+1,"0",0)}1b J.jr(o,4i.lW(),4i.lP(),0)},u:1a(29,2f){1b 3H.49(J.d(29,2f))},x:1a(29,4i){K o=6n(29,10).3s(16);o=J.jr(o,4i.lW(),4i.lP(),0);1b 4i.lX()?"PQ"+o:o},X:1a(29,4i){1b J.x(29,4i).8l()},e:1a(29,4i){1b du(29,10).z6(4i.oK())},E:1a(29,4i){1b J.e(29,4i).8l()},f:1a(29,4i){1b J.jr(du(29,10).4p(4i.oK()),4i.lW(),4i.lP(),0)},F:1a(29,2f){1b J.f(29,2f)},g:1a(29,4i){K o=du(29,10);1b o.3s().1e>6?3H.4K(o.z6(4i.oK())):o},G:1a(29,2f){1b J.g(29,2f)},c:1a(29,2f){K 3e=29.3e(/\\w|\\d/);1b 3e&&3e[0]||""},r:1a(29,2f){1b J.yZ(29)},s:1a(29,2f){1b 29.3s&&29.3s()||""+29}},6x:1a(76,2f){K 4y=0;K 2J=0;K 3e=1j;K hJ=[];K cC="";K 8f=(76||"").3q("");1o(2J=0;2J<8f.1e;2J++){if(8f[2J]=="{"&&8f[2J+1]!="{"){4y=76.4Y("}",2J);cC=8f.3G(2J+1,4y).4I("");hJ.1D(hn.iS.IN(cC,2M 2q[1]!="1C"?Ir(2q,2):2f||[]))}1i{if(2J>4y||hJ.1e<1){hJ.1D(8f[2J])}}}1b hJ.1e>1?hJ.4I(""):hJ[0]},QE:1a(76,2f){1b pr(6x(76,2f))},ik:1a(s,n){1b(1S 41(n+1)).4I(s)},Rr:1a(s){1b Rp(Rv(s))},Rs:1a(s){1b Rt(Rh(s))},Rf:1a(){K 2k="",Rl=1n;if(2q.1e==2&&$.wE(2q[1])){J[2q[0]]=2q[1].4I("");1b 2w}if(2q.1e==2&&$.Rm(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&&$.IL(2q[1])){1b $($.6x(J[2q[0]],2q[1]))}if(2q.1e==3&&$.IL(2q[1])){1b 2q[2]==1n?$.6x(J[2q[0]],2q[1]):$($.6x(J[2q[0]],2q[1]))}}};K IM=1a(4i,2f){J.yN=4i;J.hk=2f;J.Rk=du("1."+(1S 41(32)).4I("1"),10).3s().1e-3;J.ls=6;J.lJ=1a(){1b J.yN};J.oB=1a(){1b J.yN.3q(":")[0]};J.h3=1a(){K 3e=J.lJ().3q(":");1b 3e&&3e[1]?3e[1]:"s"};J.oK=1a(){K 3e=J.h3().3e(/\\.(\\d+|\\*)/g);if(!3e){1b J.ls}1i{3e=3e[0].3G(1);if(3e!="*"){1b 6n(3e,10)}1i{if(hn.iS.iN(J.hk)=="3J"){1b J.hk[1]&&J.hk[0]||J.ls}1i{if(hn.iS.iN(J.hk)=="1C"){1b J.hk[J.oB()]&&J.hk[J.oB()][0]||J.ls}1i{1b J.ls}}}}};J.lW=1a(){K 3e=1j;if(J.lX()){3e=J.lJ().3e(/0?#0?(\\d+)/);if(3e&&3e[1]){1b 6n(3e[1],10)}}3e=J.lJ().3e(/(0|\\.)(\\d+|\\*)/g);1b 3e&&6n(3e[0].3G(1),10)||0};J.lP=1a(){K o="";if(J.lX()){o=" "}if(J.h3().3e(/#0|0#|^0|\\.\\d+/)){o="0"}1b o};J.RN=1a(){K 3e=J.lJ().RK(/^(0|\\#|\\-|\\+|\\s)+/);1b 3e&&3e[0].3q("")||[]};J.lX=1a(){1b!!J.h3().3e(/^0?#/)}};K Ir=1a(2f,bA){K o=[];1o(l=2f.1e,x=(bA||0)-1;x<l;x++){o.1D(2f[x])}1b o};$.4l(hn)})(2w);(1a($){$.hz=1a(o){if(2M d4=="1C"&&d4.IA){1b d4.IA(o)}K 1x=2M o;if(o===1c){1b"1c"}if(1x=="2N"){1b 2N}if(1x=="ch"||1x=="mJ"){1b o+""}if(1x=="4d"){1b $.Cf(o)}if(1x=="1C"){if(2M o.hz=="1a"){1b $.hz(o.hz())}if(o.4V===5i){K m5=o.RL()+1;if(m5<10){m5="0"+m5}K kD=o.Rz();if(kD<10){kD="0"+kD}K KO=o.RA();K ku=o.Rx();if(ku<10){ku="0"+ku}K la=o.Ry();if(la<10){la="0"+la}K lm=o.RE();if(lm<10){lm="0"+lm}K fi=o.RB();if(fi<100){fi="0"+fi}if(fi<10){fi="0"+fi}1b\'"\'+KO+"-"+m5+"-"+kD+"T"+ku+":"+la+":"+lm+"."+fi+\'Z"\'}if(o.4V===41){K 7S=[];1o(K i=0;i<o.1e;i++){7S.1D($.hz(o[i])||"1c")}1b"["+7S.4I(",")+"]"}K z8=[];1o(K k in o){K 1z;K 1x=2M k;if(1x=="ch"){1z=\'"\'+k+\'"\'}1i{if(1x=="4d"){1z=$.Cf(k)}1i{aN}}if(2M o[k]=="1a"){aN}K 2h=$.hz(o[k]);z8.1D(1z+":"+2h)}1b"{"+z8.4I(", ")+"}"}};$.QL=1a(4c){if(2M d4=="1C"&&d4.rD){1b d4.rD(4c)}1b pr("("+4c+")")};$.QM=1a(4c){if(2M d4=="1C"&&d4.rD){1b d4.rD(4c)}K fr=4c;fr=fr.3g(/\\\\["\\\\\\/R9]/g,"@");fr=fr.3g(/"[^"\\\\\\n\\r]*"|1n|1j|1c|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,"]");fr=fr.3g(/(?:^|:|,)(?:\\s*\\[)+/g,"");if(/^[\\],:{}\\s]*$/.9F(fr)){1b pr("("+4c+")")}1i{9w 1S R7("9j Rb d4, aA is 5Q R5.")}};$.Cf=1a(4d){if(4d.3e(C5)){1b\'"\'+4d.3g(C5,1a(a){K c=Lb[a];if(2M c==="4d"){1b c}c=a.KE();1b"\\\\R2"+3H.gg(c/16).3s(16)+(c%16).3s(16)})+\'"\'}1b\'"\'+4d+\'"\'};K C5=/["\\\\\\Ow-\\Ov\\Od-\\Oe]/g;K Lb={"\\b":"\\\\b","\\t":"\\\\t","\\n":"\\\\n","\\f":"\\\\f","\\r":"\\\\r",\'"\':\'\\\\"\',"\\\\":"\\\\\\\\"}})(2w);(1a($){$.fn.Ce=1a(){K 4Z=1a(el,v,t,sO){K 2Q=2O.cp("2Q");2Q.1l=v,2Q.1Y=t;K o=el.1w;K oL=o.1e;if(!el.7W){el.7W={};1o(K i=0;i<oL;i++){el.7W[o[i].1l]=i}}if(2M el.7W[v]=="2N"){el.7W[v]=oL}el.1w[el.7W[v]]=2Q;if(sO){2Q.1Q=1n}};K a=2q;if(a.1e==0){1b J}K sO=1n;K m=1j;K 1F,v,t;if(2M a[0]=="1C"){m=1n;1F=a[0]}if(a.1e>=2){if(2M a[1]=="mJ"){sO=a[1]}1i{if(2M a[2]=="mJ"){sO=a[2]}}if(!m){v=a[0];t=a[1]}}J.2g(1a(){if(J.8y.3R()!="2n"){1b}if(m){1o(K 1g in 1F){4Z(J,1g,1F[1g],sO)}}1i{4Z(J,v,t,sO)}});1b J};$.fn.Ot=1a(5a,1v,2n,fn,2f){if(2M 5a!="4d"){1b J}if(2M 1v!="1C"){1v={}}if(2M 2n!="mJ"){2n=1n}J.2g(1a(){K el=J;$.Oo(5a,1v,1a(r){$(el).Ce(r,2n);if(2M fn=="1a"){if(2M 2f=="1C"){fn.3d(el,2f)}1i{fn.2u(el)}}})});1b J};$.fn.Lf=1a(){K a=2q;if(a.1e==0){1b J}K ta=2M a[0];K v,1O;if(ta=="4d"||(ta=="1C"||ta=="1a")){v=a[0];if(v.4V==41){K l=v.1e;1o(K i=0;i<l;i++){J.Lf(v[i],a[1])}1b J}}1i{if(ta=="ch"){1O=a[0]}1i{1b J}}J.2g(1a(){if(J.8y.3R()!="2n"){1b}if(J.7W){J.7W=1c}K 3v=1j;K o=J.1w;if(!!v){K oL=o.1e;1o(K i=oL-1;i>=0;i--){if(v.4V==cY){if(o[i].1l.3e(v)){3v=1n}}1i{if(o[i].1l==v){3v=1n}}if(3v&&a[1]===1n){3v=o[i].1Q}if(3v){o[i]=1c}3v=1j}}1i{if(a[1]===1n){3v=o[1O].1Q}1i{3v=1n}if(3v){J.3v(1O)}}});1b J};$.fn.O5=1a(C1){K Ll=$(J).Lg();K a=2M C1=="2N"?1n:!!C1;J.2g(1a(){if(J.8y.3R()!="2n"){1b}K o=J.1w;K oL=o.1e;K sA=[];1o(K i=0;i<oL;i++){sA[i]={v:o[i].1l,t:o[i].1Y}}sA.g4(1a(o1,o2){rQ=o1.t.3R(),rT=o2.t.3R();if(rQ==rT){1b 0}if(a){1b rQ<rT?-1:1}1i{1b rQ>rT?-1:1}});1o(K i=0;i<oL;i++){o[i].1Y=sA[i].t;o[i].1l=sA[i].v}}).qC(Ll,1n);1b J};$.fn.qC=1a(1l,aD){K v=1l;K vT=2M 1l;if(vT=="1C"&&v.4V==41){K $J=J;$.2g(v,1a(){$J.qC(J,aD)})}K c=aD||1j;if(vT!="4d"&&(vT!="1a"&&vT!="1C")){1b J}J.2g(1a(){if(J.8y.3R()!="2n"){1b J}K o=J.1w;K oL=o.1e;1o(K i=0;i<oL;i++){if(v.4V==cY){if(o[i].1l.3e(v)){o[i].1Q=1n}1i{if(c){o[i].1Q=1j}}}1i{if(o[i].1l==v){o[i].1Q=1n}1i{if(c){o[i].1Q=1j}}}}});1b J};$.fn.O7=1a(to,iG){K w=iG||"1Q";if($(to).56()==0){1b J}J.2g(1a(){if(J.8y.3R()!="2n"){1b J}K o=J.1w;K oL=o.1e;1o(K i=0;i<oL;i++){if(w=="6l"||w=="1Q"&&o[i].1Q){$(to).Ce(o[i].1l,o[i].1Y)}}});1b J};$.fn.Pa=1a(1l,fn){K 8N=1j;K v=1l;K vT=2M v;K fT=2M fn;if(vT!="4d"&&(vT!="1a"&&vT!="1C")){1b fT=="1a"?J:8N}J.2g(1a(){if(J.8y.3R()!="2n"){1b J}if(8N&&fT!="1a"){1b 1j}K o=J.1w;K oL=o.1e;1o(K i=0;i<oL;i++){if(v.4V==cY){if(o[i].1l.3e(v)){8N=1n;if(fT=="1a"){fn.2u(o[i],i)}}}1i{if(o[i].1l==v){8N=1n;if(fT=="1a"){fn.2u(o[i],i)}}}}});1b fT=="1a"?J:8N};$.fn.Lg=1a(){K v=[];J.Ba().2g(1a(){v[v.1e]=J.1l});1b v};$.fn.Pc=1a(){K t=[];J.Ba().2g(1a(){t[t.1e]=J.1Y});1b t};$.fn.Ba=1a(){1b J.2D("2Q:1Q")}})(2w);(1a($){$.4l($.fn,{mT:1a(c1,c2){K L6=J.4s("."+c1);J.4s("."+c2).4h(c2).2t(c1);L6.4h(c1).2t(c2);1b J},gz:1a(c1,c2){1b J.4s("."+c1).4h(c1).2t(c2).4y()},t5:1a(bJ){bJ=bJ||"6v";1b J.6v(1a(){$(J).2t(bJ)},1a(){$(J).4h(bJ)})},JT:1a(fb,1Z){fb?J.4F({1y:"bU"},fb,1Z):J.2g(1a(){2w(J)[2w(J).is(":71")?"5e":"3I"]();if(1Z){1Z.3d(J,2q)}})},K3:1a(fb,1Z){if(fb){J.4F({1y:"3I"},fb,1Z)}1i{J.3I();if(1Z){J.2g(1Z)}}},B3:1a(3V){if(!3V.JX){J.4s(":6Z-Pl:5Q(ul)").2t(4P.6Z);J.4s((3V.hM?"":"."+4P.BI)+":5Q(."+4P.6Y+")").2D(">ul").3I()}1b J.4s(":3o(>ul)")},B4:1a(3V,kd){if(!3V.JX){J.4s(":3o(>ul:71)").2t(4P.aP).gz(4P.6Z,4P.h0);J.5Q(":3o(>ul:71)").2t(4P.bM).gz(4P.6Z,4P.gV);J.ke(\'<2E 2C="\'+4P.4j+\'"/>\').2D("2E."+4P.4j).2g(1a(){K fw="";$.2g($(J).1L().1k("2C").3q(" "),1a(){fw+=J+"-4j "});$(J).2t(fw)})}J.2D("2E."+4P.4j).3K(kd)},jC:1a(3V){3V=$.4l({AV:"jC"},3V);if(3V.4Z){1b J.2c("4Z",[3V.4Z])}if(3V.bU){K 1Z=3V.bU;3V.bU=1a(){1b 1Z.3d($(J).1L()[0],2q)}}1a JL(42,3a){1a 7x(4s){1b 1a(){kd.3d($("2E."+4P.4j,42).4s(1a(){1b 4s?$(J).1L("."+4s).1e:1n}));1b 1j}}$("a:eq(0)",3a).3K(7x(4P.bM));$("a:eq(1)",3a).3K(7x(4P.aP));$("a:eq(2)",3a).3K(7x())}1a kd(){$(J).1L().2D(">.4j").mT(4P.BS,4P.BU).mT(4P.tO,4P.tI).4y().mT(4P.bM,4P.aP).mT(4P.gV,4P.h0).2D(">ul").JT(3V.fb,3V.bU);if(3V.OC){$(J).1L().Kf().2D(">.4j").gz(4P.BS,4P.BU).gz(4P.tO,4P.tI).4y().gz(4P.bM,4P.aP).gz(4P.gV,4P.h0).2D(">ul").K3(3V.fb,3V.bU)}}1a yt(){1a OF(4i){1b 4i?1:0}K 1h=[];gF.2g(1a(i,e){1h[i]=$(e).is(":3o(>ul:6P)")?1:0});$.B7(3V.AV,1h.4I(""))}1a JK(){K AW=$.B7(3V.AV);if(AW){K 1h=AW.3q("");gF.2g(1a(i,e){$(e).2D(">ul")[6n(1h[i])?"5e":"3I"]()})}}J.2t("jC");K gF=J.2D("li").B3(3V);3r(3V.OY){1m"B7":K B8=3V.bU;3V.bU=1a(){yt();if(B8){B8.3d(J,2q)}};JK();1p;1m"oy":K 5A=J.2D("a").4s(1a(){1b J.5d.3R()==oy.5d.3R()});if(5A.1e){5A.2t("1Q").cF("ul, li").4Z(5A.3m()).5e()}1p}gF.B4(3V,kd);if(3V.3a){JL(J,3V.3a);$(3V.3a).5e()}1b J.2B("4Z",1a(1H,gF){$(gF).3Q().4h(4P.6Z).4h(4P.gV).4h(4P.h0).2D(">.4j").4h(4P.tO).4h(4P.tI);$(gF).2D("li").uo().B3(3V).B4(3V,kd)})}});K 4P=$.fn.jC.fw={6Y:"6Y",BI:"BI",aP:"aP",BU:"aP-4j",tI:"h0-4j",bM:"bM",BS:"bM-4j",tO:"gV-4j",gV:"gV",h0:"h0",6Z:"6Z",4j:"4j"};$.fn.OW=$.fn.jC})(2w);(1a($,2N){$.cE.L9="OX"in 3M;$.cE.La="OD"in 3M;$.cE.Km="Pf"in 2O.9I;K $80=1c,m7=1j,$5h=$(3M),bL=0,9p={},gD={},iJ={},d6={3U:1c,4q:1c,2c:"7L",Kg:1j,eW:fO,Kv:1a($1T){if($.ui&&$.ui.2G){$1T.31("5q","70").2G({my:"yh 1P",at:"yh 4D",of:J,2y:"0 5",lf:"ac"}).31("5q","3p")}1i{K 2y=J.2y();2y.1P+=J.ad();2y.2b+=J.ey()/ 2 - $1T.ey() /2;$1T.31(2y)}},2G:1a(1B,x,y){K $J=J,2y;if(!x&&!y){1B.Kv.2u(J,1B.$1T);1b}1i{if(x==="Kq"&&y==="Kq"){2y=1B.$1T.2G()}1i{K Ks=1B.$2c.cF().uo().4s(1a(){1b $(J).31("2G")=="ur"}).1e;if(Ks){y-=$5h.5b();x-=$5h.4X()}2y={1P:y,2b:x}}}K 4D=$5h.5b()+$5h.1y(),7L=$5h.4X()+$5h.1r(),1y=1B.$1T.1y(),1r=1B.$1T.1r();if(2y.1P+1y>4D){2y.1P-=1y}if(2y.2b+1r>7L){2y.2b-=1r}1B.$1T.31(2y)},Ke:1a($1T){if($.ui&&$.ui.2G){$1T.31("5q","70").2G({my:"2b 1P",at:"7L 1P",of:J,lf:"ac"}).31("5q","")}1i{K 2y={1P:0,2b:J.ey()};$1T.31(2y)}},4n:Pn,6Q:{6K:0,5e:"P6",3I:"P2"},4u:{5e:$.AU,3I:$.AU},1Z:1c,1F:{}},aC={8K:1c,6T:1c,7j:1c},Kd=1a($t){K pY=0,$tt=$t,z=0;1o(K i=0;i<P7;i++){z=6n($tt.31("z-1O"),10);if(aE(z)){z=0}pY=3H.4w(pY,z);$tt=$tt.1L();if(!$tt||(!$tt.1e||"3Y 3S".4Y($tt.6N("8y").3R())>-1)){1p}}1b pY},4L={nQ:1a(e){e.4g();e.cr()},5l:1a(e){K $J=$(J);e.4g();e.cr();if(e.1h.2c!="7L"&&e.cV){1b}if(!$J.4H("3k-1T-2x")){$80=$J;if(e.1h.9P){K Bw=e.1h.9P($80,e);if(Bw===1j){1b}e.1h=$.4l(1n,{},d6,e.1h,Bw||{});if(!e.1h.1F||$.L5(e.1h.1F)){if(3M.cq){(cq.9q||cq.iB)("No 1F JW to 5e in 2L")}9w 1S 9j("No 2P L8")}e.1h.$2c=$80;op.7P(e.1h)}op.5e.2u($J,e.1h,e.6T,e.7j)}},3K:1a(e){e.4g();e.cr();$(J).2c($.rK("5l",{1h:e.1h,6T:e.6T,7j:e.7j}))},7l:1a(e){K $J=$(J);if($80&&($80.1e&&!$80.is($J))){$80.1h("2L").$1T.2c("5l:3I")}if(e.3B==2){$80=$J.1h("Bt",1n)}},5t:1a(e){K $J=$(J);if($J.1h("Bt")&&($80&&($80.1e&&($80.is($J)&&!$J.4H("3k-1T-2x"))))){e.4g();e.cr();$80=$J;$J.2c($.rK("5l",{1h:e.1h,6T:e.6T,7j:e.7j}))}$J.sE("Bt")},nn:1a(e){K $J=$(J),$ka=$(e.nf),$2O=$(2O);if($ka.is(".3k-1T-4N")||$ka.fv(".3k-1T-4N").1e){1b}if($80&&$80.1e){1b}aC.6T=e.6T;aC.7j=e.7j;aC.1h=e.1h;$2O.on("9O.Kb",4L.9O);aC.8K=6F(1a(){aC.8K=1c;$2O.eC("9O.Kb");$80=$J;$J.2c($.rK("5l",{1h:aC.1h,6T:aC.6T,7j:aC.7j}))},e.1h.eW)},9O:1a(e){aC.6T=e.6T;aC.7j=e.7j},nH:1a(e){K $ka=$(e.nf);if($ka.is(".3k-1T-4N")||$ka.fv(".3k-1T-4N").1e){1b}7q{hW(aC.8K)}7h(e){}aC.8K=1c},K1:1a(e){K $J=$(J),2p=$J.1h("94"),5t=1j,3B=e.3B,x=e.6T,y=e.7j,3l,2y,pF;e.4g();e.cr();$J.on("5t",1a(){5t=1n});6F(1a(){K $3M,qD;if(2p.2c=="2b"&&3B==0||2p.2c=="7L"&&3B==2){if(2O.qV){2p.$6o.3I();3l=2O.qV(x-$5h.4X(),y-$5h.5b());2p.$6o.5e();pF=[];1o(K s in 9p){pF.1D(s)}3l=$(3l).fv(pF.4I(", "));if(3l.1e){if(3l.is(2p.$2c[0])){2p.2G.2u(2p.$2c,2p,x,y);1b}}}1i{2y=2p.$2c.2y();$3M=$(3M);2y.1P+=$3M.5b();if(2y.1P<=e.7j){2y.2b+=$3M.4X();if(2y.2b<=e.6T){2y.4D=2y.1P+2p.$2c.ad();if(2y.4D>=e.7j){2y.7L=2y.2b+2p.$2c.ey();if(2y.7L>=e.6T){2p.2G.2u(2p.$2c,2p,x,y);1b}}}}}}qD=1a(e){if(e){e.4g();e.cr()}2p.$1T.2c("5l:3I");if(3l&&3l.1e){6F(1a(){3l.2L({x:x,y:y})},50)}};if(5t){qD()}1i{$J.on("5t",qD)}},50)},fK:1a(e,1B){if(!1B.d8){e.4g()}e.7Z()},1q:1a(e){K 1B=$80.1h("2L")||{},$6u=1B.$1T.6u(),$4K;3r(e.3E){1m 9:;1m 38:4L.fK(e,1B);if(1B.d8){if(e.3E==9&&e.lE){e.4g();1B.$1Q&&1B.$1Q.2D("29, 7O, 2n").4Q();1B.$1T.2c("uu");1b}1i{if(e.3E==38&&1B.$1Q.2D("29, 7O, 2n").6N("1x")=="7K"){e.4g();1b}}}1i{if(e.3E!=9||e.lE){1B.$1T.2c("uu");1b}};1m 40:4L.fK(e,1B);if(1B.d8){if(e.3E==9){e.4g();1B.$1Q&&1B.$1Q.2D("29, 7O, 2n").4Q();1B.$1T.2c("s8");1b}1i{if(e.3E==40&&1B.$1Q.2D("29, 7O, 2n").6N("1x")=="7K"){e.4g();1b}}}1i{1B.$1T.2c("s8");1b}1p;1m 37:4L.fK(e,1B);if(1B.d8||(!1B.$1Q||!1B.$1Q.1e)){1p}if(!1B.$1Q.1L().4H("3k-1T-2p")){K $1L=1B.$1Q.1L().1L();1B.$1Q.2c("5l:4Q");1B.$1Q=$1L;1b}1p;1m 39:4L.fK(e,1B);if(1B.d8||(!1B.$1Q||!1B.$1Q.1e)){1p}K qf=1B.$1Q.1h("2L")||{};if(qf.$1T&&1B.$1Q.4H("3k-1T-uG")){1B.$1Q=1c;qf.$1Q=1c;qf.$1T.2c("s8");1b}1p;1m 35:;1m 36:if(1B.$1Q&&1B.$1Q.2D("29, 7O, 2n").1e){1b}1i{(1B.$1Q&&1B.$1Q.1L()||1B.$1T).6u(":5Q(.2x, .5Q-k7)")[e.3E==36?"4t":"6Z"]().2c("5l:2S");e.4g();1b}1p;1m 13:4L.fK(e,1B);if(1B.d8){if(1B.$1Q&&!1B.$1Q.is("7O, 2n")){e.4g();1b}1p}1B.$1Q&&1B.$1Q.2c("5t");1b;1m 32:;1m 33:;1m 34:4L.fK(e,1B);1b;1m 27:4L.fK(e,1B);1B.$1T.2c("5l:3I");1b;5r:K k=5j.wt(e.3E).8l();if(1B.hf[k]){1B.hf[k].$1s.2c(1B.hf[k].$1T?"5l:2S":"5t");1b}1p}e.7Z();1B.$1Q&&1B.$1Q.2c(e)},gx:1a(e){e.7Z();K 1B=$(J).1h("2L")||{};if(1B.$1Q){K $s=1B.$1Q;1B=1B.$1Q.1L().1h("2L")||{};1B.$1Q=$s}K $6u=1B.$1T.6u(),$3Q=!1B.$1Q||!1B.$1Q.3Q().1e?$6u.6Z():1B.$1Q.3Q(),$4K=$3Q;45($3Q.4H("2x")||$3Q.4H("5Q-k7")){if($3Q.3Q().1e){$3Q=$3Q.3Q()}1i{$3Q=$6u.6Z()}if($3Q.is($4K)){1b}}if(1B.$1Q){4L.s7.2u(1B.$1Q.4v(0),e)}4L.s9.2u($3Q.4v(0),e);K $29=$3Q.2D("29, 7O, 2n");if($29.1e){$29.2S()}},ha:1a(e){e.7Z();K 1B=$(J).1h("2L")||{};if(1B.$1Q){K $s=1B.$1Q;1B=1B.$1Q.1L().1h("2L")||{};1B.$1Q=$s}K $6u=1B.$1T.6u(),$3m=!1B.$1Q||!1B.$1Q.3m().1e?$6u.4t():1B.$1Q.3m(),$4K=$3m;45($3m.4H("2x")||$3m.4H("5Q-k7")){if($3m.3m().1e){$3m=$3m.3m()}1i{$3m=$6u.4t()}if($3m.is($4K)){1b}}if(1B.$1Q){4L.s7.2u(1B.$1Q.4v(0),e)}4L.s9.2u($3m.4v(0),e);K $29=$3m.2D("29, 7O, 2n");if($29.1e){$29.2S()}},Kr:1a(e){K $J=$(J).fv(".3k-1T-1g"),1h=$J.1h(),1B=1h.2L,2p=1h.94;2p.$1Q=1B.$1Q=$J;2p.d8=1B.d8=1n},Ku:1a(e){K $J=$(J).fv(".3k-1T-1g"),1h=$J.1h(),1B=1h.2L,2p=1h.94;2p.d8=1B.d8=1j},KY:1a(e){K 2p=$(J).1h().94;2p.qa=1n},KX:1a(e){K 2p=$(J).1h().94;if(2p.$6o&&2p.$6o.is(e.nf)){2p.qa=1j}},s9:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2L,2p=1h.94;2p.qa=1n;if(e&&(2p.$6o&&2p.$6o.is(e.nf))){e.4g();e.cr()}(1B.$1T?1B:2p).$1T.6u(".6v").2c("5l:4Q");if($J.4H("2x")||$J.4H("5Q-k7")){1B.$1Q=1c;1b}$J.2c("5l:2S")},s7:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2L,2p=1h.94;if(2p!==1B&&(2p.$6o&&2p.$6o.is(e.nf))){2p.$1Q&&2p.$1Q.2c("5l:4Q");e.4g();e.cr();2p.$1Q=1B.$1Q=1B.$1s;1b}$J.2c("5l:4Q")},L1:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2L,2p=1h.94,1q=1h.ux,1Z;if(!1B.1F[1q]||($J.4H("2x")||$J.4H("3k-1T-uG"))){1b}e.4g();e.cr();if($.eB(2p.kT[1q])){1Z=2p.kT[1q]}1i{if($.eB(2p.1Z)){1Z=2p.1Z}1i{1b}}if(1Z.2u(2p.$2c,1q,2p)!==1j){2p.$1T.2c("5l:3I")}1i{if(2p.$1T.1L().1e){op.7N.2u(2p.$2c,2p)}}},KW:1a(e){e.cr()},L7:1a(e,1h){K 2p=$(J).1h("94");op.3I.2u(2p.$2c,2p,1h&&1h.fm)},L0:1a(e){e.7Z();K $J=$(J),1h=$J.1h(),1B=1h.2L,2p=1h.94;$J.2t("6v").Kf(".6v").2c("5l:4Q");1B.$1Q=2p.$1Q=$J;if(1B.$1s){2p.Ke.2u(1B.$1s,1B.$1T)}},Li:1a(e){e.7Z();K $J=$(J),1h=$J.1h(),1B=1h.2L,2p=1h.94;$J.4h("6v");1B.$1Q=1c}},op={5e:1a(1B,x,y){if(2M qd!="2N"&&qd){1b}qd=1n;K $J=$(J),2y,31={};$("#3k-1T-6o").2c("7l");1B.$2c=$J;if(1B.4u.5e.2u($J,1B)===1j){$80=1c;1b}op.7N.2u($J,1B);1B.2G.2u($J,1B,x,y);if(1B.4n){31.4n=Kd($J)+1B.4n}op.6o.2u(1B.$1T,1B,31.4n);1B.$1T.2D("ul").31("4n",31.4n+1);1B.$1T.31(31)[1B.6Q.5e](1B.6Q.6K);$J.1h("2L",1B);$(2O).eC("81.2L").on("81.2L",4L.1q);if(1B.Kg){K 3W=$J.2G();3W.7L=3W.2b+$J.ey();3W.4D=3W.1P+J.ad();$(2O).on("9O.uL",1a(e){if(1B.$6o&&(!1B.qa&&(!(e.6T>=3W.2b&&e.6T<=3W.7L)||!(e.7j>=3W.1P&&e.7j<=3W.4D)))){1B.$1T.2c("5l:3I")}})}},3I:1a(1B,fm){K $J=$(J);if(!1B){1B=$J.1h("2L")||{}}if(!fm&&(1B.4u&&1B.4u.3I.2u($J,1B)===1j)){1b}if(1B.$6o){6F(1a($6o){1b 1a(){$6o.3v()}}(1B.$6o),10);7q{3X 1B.$6o}7h(e){1B.$6o=1c}}$80=1c;1B.$1T.2D(".6v").2c("5l:4Q");1B.$1Q=1c;$(2O).eC(".uL").eC("81.2L");1B.$1T&&1B.$1T[1B.6Q.3I](1B.6Q.6K,1a(){if(1B.9P){1B.$1T.3v();$.2g(1B,1a(1q,1l){3r(1q){1m"ns":;1m"3U":;1m"9P":;1m"2c":1b 1n;5r:1B[1q]=2N;7q{3X 1B[1q]}7h(e){}1b 1n}})}});qd=1j},7P:1a(1B,2p){if(2p===2N){2p=1B}1B.$1T=$(\'<ul 2C="3k-1T-4N \'+(1B.bJ||"")+\'"></ul>\').1h({"2L":1B,"94":2p});$.2g(["kT","q4","r1"],1a(i,k){1B[k]={};if(!2p[k]){2p[k]={}}});2p.hf||(2p.hf={});$.2g(1B.1F,1a(1q,1g){K $t=$(\'<li 2C="3k-1T-1g \'+(1g.bJ||"")+\'"></li>\'),$3x=1c,$29=1c;1g.$1s=$t.1h({"2L":1B,"94":2p,"ux":1q});if(1g.uU){K K8=K4(1g.uU);1o(K i=0,ak;ak=K8[i];i++){if(!2p.hf[ak]){2p.hf[ak]=1g;1g.q0=1g.1z.3g(1S cY("("+ak+")","i"),\'<2F 2C="3k-1T-uU">$1</2F>\');1p}}}if(2M 1g=="4d"){$t.2t("3k-1T-5n 5Q-k7")}1i{if(1g.1x&&iJ[1g.1x]){iJ[1g.1x].2u($t,1g,1B,2p);$.2g([1B,2p],1a(i,k){k.q4[1q]=1g;if($.eB(1g.1Z)){k.kT[1q]=1g.1Z}})}1i{if(1g.1x=="3Y"){$t.2t("3k-1T-3Y 5Q-k7")}1i{if(1g.1x){$3x=$("<3x></3x>").4q($t);$("<2F></2F>").3Y(1g.q0||1g.1z).4q($3x);$t.2t("3k-1T-29");1B.Kn=1n;$.2g([1B,2p],1a(i,k){k.q4[1q]=1g;k.r1[1q]=1g})}1i{if(1g.1F){1g.1x="iX"}}}3r(1g.1x){1m"1Y":$29=$(\'<29 1x="1Y" 1l="1" 1z="3k-1T-29-\'+1q+\'" 1l="">\').2h(1g.1l||"").4q($3x);1p;1m"7O":$29=$(\'<7O 1z="3k-1T-29-\'+1q+\'"></7O>\').2h(1g.1l||"").4q($3x);if(1g.1y){$29.1y(1g.1y)}1p;1m"7K":$29=$(\'<29 1x="7K" 1l="1" 1z="3k-1T-29-\'+1q+\'" 1l="">\').2h(1g.1l||"").6N("3A",!!1g.1Q).yo($3x);1p;1m"8v":$29=$(\'<29 1x="8v" 1l="1" 1z="3k-1T-29-\'+1g.8v+\'" 1l="">\').2h(1g.1l||"").6N("3A",!!1g.1Q).yo($3x);1p;1m"2n":$29=$(\'<2n 1z="3k-1T-29-\'+1q+\'">\').4q($3x);if(1g.1w){$.2g(1g.1w,1a(1l,1Y){$("<2Q></2Q>").2h(1l).1Y(1Y).4q($29)});$29.2h(1g.1Q)}1p;1m"iX":$("<2F></2F>").3Y(1g.q0||1g.1z).4q($t);1g.4q=1g.$1s;op.7P(1g,2p);$t.1h("2L",1g).2t("3k-1T-uG");1g.1Z=1c;1p;1m"3Y":$(1g.3Y).4q($t);1p;5r:$.2g([1B,2p],1a(i,k){k.q4[1q]=1g;if($.eB(1g.1Z)){k.kT[1q]=1g.1Z}});$("<2F></2F>").3Y(1g.q0||(1g.1z||"")).4q($t);1p}if(1g.1x&&(1g.1x!="iX"&&1g.1x!="3Y")){$29.on("2S",4L.Kr).on("4Q",4L.Ku);if(1g.4u){$29.on(1g.4u,1B)}}if(1g.3L){$t.2t("3L 3L-"+1g.3L)}}}1g.$29=$29;1g.$3x=$3x;$t.4q(1B.$1T);if(!1B.Kn&&$.cE.Km){$t.on("OV.OP",4L.nQ)}});if(!1B.$1s){1B.$1T.31("5q","3p").2t("3k-1T-2p")}1B.$1T.4q(1B.4q||2O.3S)},7N:1a(1B,2p){K $J=J;if(2p===2N){2p=1B;1B.$1T.2D("ul").uo().31({2G:"uB",5q:"70"}).2g(1a(){K $J=$(J);$J.1r($J.31("2G","8n").1r()).31("2G","uB")}).31({2G:"",5q:""})}1B.$1T.6u().2g(1a(){K $1g=$(J),1q=$1g.1h("ux"),1g=1B.1F[1q],2x=$.eB(1g.2x)&&1g.2x.2u($J,1q,2p)||1g.2x===1n;$1g[2x?"2t":"4h"]("2x");if(1g.1x){$1g.2D("29, 2n, 7O").6N("2x",2x);3r(1g.1x){1m"1Y":;1m"7O":1g.$29.2h(1g.1l||"");1p;1m"7K":;1m"8v":1g.$29.2h(1g.1l||"").6N("3A",!!1g.1Q);1p;1m"2n":1g.$29.2h(1g.1Q||"");1p}}if(1g.$1T){op.7N.2u($J,1g,2p)}})},6o:1a(1B,4n){$l=$("#3k-1T-6o");if($l){$l.3v()}K $6o=1B.$6o=$(\'<2E id="3k-1T-6o" 3b="2G:ur; z-1O:\'+4n+\'; 1P:0; 2b:0; 2H: 0; 4s: dv(2H=0); jH-3t: #c0;"></2E>\').31({1y:$5h.1y(),1r:$5h.1r(),5q:"70"}).1h("94",1B).79(J).on("5l",4L.nQ).on("7l",4L.K1);if(!$.cE.OE){$6o.31({"2G":"8n","1y":$(2O).1y()})}1b $6o}};1a K4(2h){K t=2h.3q(/\\s+/),89=[];1o(K i=0,k;k=t[i];i++){k=k[0].8l();89.1D(k)}1b 89}$.fn.2L=1a(7V){if(7V===2N){J.4t().2c("5l")}1i{if(7V.x&&7V.y){J.4t().2c($.rK("5l",{6T:7V.x,7j:7V.y}))}1i{if(7V==="3I"){K $1T=J.1h("2L").$1T;$1T&&$1T.2c("5l:3I")}1i{if(7V==="1f"){if(J.1h("2L")!=1c){1b J.1h("2L").$1T}1b[]}1i{if(7V){J.4h("3k-1T-2x")}1i{if(!7V){J.2t("3k-1T-2x")}}}}}}1b J};$.2L=1a(7V,1w){if(2M 7V!="4d"){1w=7V;7V="7P"}if(2M 1w=="4d"){1w={3U:1w}}1i{if(1w===2N){1w={}}}K o=$.4l(1n,{},d6,1w||{}),$2O=$(2O);3r(7V){1m"7P":if(!o.3U){9w 1S 9j("No 3U JW")}if(o.3U.3e(/.3k-1T-(4N|1g|29)($|\\s)/)){9w 1S 9j(\'Pg 2B to 3U "\'+o.3U+\'" as it hj a Po bJ\')}if(!o.9P&&(!o.1F||$.L5(o.1F))){9w 1S 9j("No 2P L8")}bL++;o.ns=".2L"+bL;9p[o.3U]=o.ns;gD[o.ns]=o;if(!o.2c){o.2c="7L"}if(!m7){$2O.on({"5l:3I.2L":4L.L7,"uu.2L":4L.gx,"s8.2L":4L.ha,"5l.2L":4L.nQ,"nn.2L":4L.KY,"nH.2L":4L.KX},".3k-1T-4N").on("5t.2L",".3k-1T-29",4L.KW).on({"5t.2L":4L.L1,"5l:2S.2L":4L.L0,"5l:4Q.2L":4L.Li,"5l.2L":4L.nQ,"nn.2L":4L.s9,"nH.2L":4L.s7},".3k-1T-1g");m7=1n}$2O.on("5l"+o.ns,o.3U,o,4L.5l);3r(o.2c){1m"6v":$2O.on("nn"+o.ns,o.3U,o,4L.nn).on("nH"+o.ns,o.3U,o,4L.nH);1p;1m"2b":$2O.on("3K"+o.ns,o.3U,o,4L.3K);1p}if(!o.9P){op.7P(o)}1p;1m"6d":if(!o.3U){$2O.eC(".2L .uL");$.2g(9p,1a(1q,1l){$2O.eC(1l)});9p={};gD={};bL=0;m7=1j;$("#3k-1T-6o, .3k-1T-4N").3v()}1i{if(9p[o.3U]){K $si=$(".3k-1T-4N").4s(":6P");if($si.1e&&$si.1h().94.$2c.is(o.3U)){$si.2c("5l:3I",{fm:1n})}7q{if(gD[9p[o.3U]].$1T){gD[9p[o.3U]].$1T.3v()}3X gD[9p[o.3U]]}7h(e){gD[9p[o.3U]]=1c}$2O.eC(9p[o.3U])}}1p;1m"Of":if(!$.cE.La&&!$.cE.L9||2M 1w=="mJ"&&1w){$(\'1T[1x="3k"]\').2g(1a(){if(J.id){$.2L({3U:"[5l="+J.id+"]",1F:$.2L.KG(J)})}}).31("5q","3p")}1p;5r:9w 1S 9j(\'fZ 7V "\'+7V+\'"\')}1b J};$.2L.O3=1a(1B,1h){if(1h===2N){1h={}}$.2g(1B.r1,1a(1q,1g){3r(1g.1x){1m"1Y":;1m"7O":1g.1l=1h[1q]||"";1p;1m"7K":1g.1Q=1h[1q]?1n:1j;1p;1m"8v":1g.1Q=(1h[1g.8v]||"")==1g.1l?1n:1j;1p;1m"2n":1g.1Q=1h[1q]||"";1p}})};$.2L.Pr=1a(1B,1h){if(1h===2N){1h={}}$.2g(1B.r1,1a(1q,1g){3r(1g.1x){1m"1Y":;1m"7O":;1m"2n":1h[1q]=1g.$29.2h();1p;1m"7K":1h[1q]=1g.$29.6N("3A");1p;1m"8v":if(1g.$29.6N("3A")){1h[1g.8v]=1g.1l}1p}});1b 1h};1a jf(1s){1b 1s.id&&$(\'3x[1o="\'+1s.id+\'"]\').2h()||1s.1z}1a uM(1F,$6u,bL){if(!bL){bL=0}$6u.2g(1a(){K $1s=$(J),1s=J,8y=J.8y.3R(),3x,1g;if(8y=="3x"&&$1s.2D("29, 7O, 2n").1e){3x=$1s.1Y();$1s=$1s.6u().4t();1s=$1s.4v(0);8y=1s.8y.3R()}3r(8y){1m"1T":1g={1z:$1s.1k("3x"),1F:{}};bL=uM(1g.1F,$1s.6u(),bL);1p;1m"a":;1m"3B":1g={1z:$1s.1Y(),2x:!!$1s.1k("2x"),1Z:1a(){1b 1a(){$1s.3K()}}()};1p;1m"KF":;1m"86":3r($1s.1k("1x")){1m 2N:;1m"86":;1m"KF":1g={1z:$1s.1k("3x"),2x:!!$1s.1k("2x"),1Z:1a(){1b 1a(){$1s.3K()}}()};1p;1m"7K":1g={1x:"7K",2x:!!$1s.1k("2x"),1z:$1s.1k("3x"),1Q:!!$1s.1k("3A")};1p;1m"8v":1g={1x:"8v",2x:!!$1s.1k("2x"),1z:$1s.1k("3x"),8v:$1s.1k("R4"),1l:$1s.1k("id"),1Q:!!$1s.1k("3A")};1p;5r:1g=2N}1p;1m"hr":1g="-------";1p;1m"29":3r($1s.1k("1x")){1m"1Y":1g={1x:"1Y",1z:3x||jf(1s),2x:!!$1s.1k("2x"),1l:$1s.2h()};1p;1m"7K":1g={1x:"7K",1z:3x||jf(1s),2x:!!$1s.1k("2x"),1Q:!!$1s.1k("3A")};1p;1m"8v":1g={1x:"8v",1z:3x||jf(1s),2x:!!$1s.1k("2x"),8v:!!$1s.1k("1z"),1l:$1s.2h(),1Q:!!$1s.1k("3A")};1p;5r:1g=2N;1p}1p;1m"2n":1g={1x:"2n",1z:3x||jf(1s),2x:!!$1s.1k("2x"),1Q:$1s.2h(),1w:{}};$1s.6u().2g(1a(){1g.1w[J.1l]=$(J).1Y()});1p;1m"7O":1g={1x:"7O",1z:3x||jf(1s),2x:!!$1s.1k("2x"),1l:$1s.2h()};1p;1m"3x":1p;5r:1g={1x:"3Y",3Y:$1s.5O(1n)};1p}if(1g){bL++;1F["1q"+bL]=1g}});1b bL}$.2L.KG=1a(1f){K $J=$(1f),1F={};uM(1F,$J.6u());1b 1F};$.2L.d6=d6;$.2L.iJ=iJ})(2w);K KU=1a(id){J.id=id;J.1f=1c;J.2I=1S 41;J.kQ=0;J.v4=20;J.uI=1a(2I){3X J.2I;J.2I=1S 41;K li=1S 41;1o(K i=0;i<2I.1e;i++){K 1l=2I[i];li.1D(\'<li 1l="\'+i+\'" 2C="\'+1l.db+\'">\'+1l.1Y+"</li>");J.2I.1D(1l.1l)}J.1f.3Y("<ul>"+li.4I("\\n")+"</ul>");K me=J;J.1f.4M("5t",1a(e){K li=e.3l;if(li.67.8l()!="LI"){1b}K $li=$(e.3l);e.7Z();J.oO.oR($li.1Y(),me.oO.il(li.1l))},J).4M("7l",1a(e){e.7Z()},J);J.Ky();J.p7(10)};J.Ky=1a(){J.1f.31("hp","71");J.1f.5e();K 9S=J.1f.2D("li");if(9S.1e>0){J.v4=9S[0].bu}J.1f.31("hp","6P");J.1f.3I()};J.p7=1a(lz){if(J.1f.2D("li").1e>lz){J.kQ=J.v4*lz;J.1f.31("1y",J.kQ+"px");J.1f.31("hO","5N")}1i{J.1f.31("1y","5N");J.1f.31("hO","6P")}};J.il=1a(1O){1b J.2I[1O]};J.Kx=1a(){J.1f.2D("li").4h("3e")};J.xl=1a(1Y){K bO=iw(1Y);J.Kx();K 8F=J.rH(bO);$(8F).2t("3e");if(8F.1e>0){J.rj($(8F[0]))}1i{J.uv()}};J.KB=1a(1Y){K bO=iw(1Y);K 8F=J.rH(bO);K 5A=J.iL();if(5A.1e>0&&8F.1e>1){K 1O=8F.4Y(5A[0]);if(1O<8F.1e-1){1b $(8F[1O+1])}1i{1b $(8F[0])}}1b 1c};J.KA=1a(1Y){K bO=iw(1Y);K 8F=J.rH(bO);K 5A=J.iL();if(5A.1e>0&&8F.1e>1){K 1O=8F.4Y(5A[0]);if(1O>0){1b $(8F[1O-1])}1i{1b $(8F[8F.1e-1])}}1b 1c};J.rH=1a(1Y){K 1J=[];if(1K(1Y)){1b 1J}K cG=1Y.3g(/([$-/:-?{-~!"^1U`\\[\\]\\\\])/g, "\\\\$1");K 9S=J.1f.2D("li");1o(K i=0;i<9S.1e;i++){K li=9S[i];K v7=iw(!1K(li.Kw)?li.Kw:li.Rc);K uW=iw(J.il(li.1l));if(QB.1d.2V.tl){cG="(^"+1Y+")|([.]"+1Y+")"}if(1Y==v7||1Y==uW){1J.1D(li)}1i{if(v7.9F(cG)||uW.9F(cG)){1J.1D(li)}}}1b 1J};J.ut=1a(){J.1f.2D("li.1Q").4h("1Q")};J.v3=1a(1Y,cA,fE){K li=J.iL();if(!li.1e){li=J.uv()}K dL=1c;if(cA=="dw"){if(fE){dL=J.KB(1Y)}if(dL==1c){dL=li.3m()}}1i{if(cA=="up"){if(fE){dL=J.KA(1Y)}if(dL==1c){dL=li.3Q()}}}if(dL!=1c){J.rj(dL);J.Kz(li)}};J.rj=1a(li){J.ut();li.2t("1Q");J.KS(li)};J.uv=1a(){K 4t=J.1f.2D("li:4t");J.rj(4t);1b 4t};J.Kz=1a(j7){j7.4h("1Q")};J.iL=1a(){1b J.1f.2D("li.1Q")};J.KS=1a(j7){if(J.kQ&&(j7!=1c&&j7.1e>0)){J.1f.5b(j7[0].9c-J.kQ/2)}};J.7Y=1a(){J.1f=$(\'<2E 2C="bo-2n-1w"></2E>\').4q($(2O.3S))};J.7Y()};K 9v={rt:{},bm:[],lv:{},uE:1j,3k:1c,7Y:1a(){J.KQ();J.uE=1n},KQ:1a(){},uP:1a(9C){if(1K(9C)||1K(J.rt[9C])){J.rt[9C]=1S KU(9C)}1b J.rt[9C]},Cc:1a(id,2I){J.uP(id).uI(2I)}};(1a($){$.fn.zI=1a(1w){if(!9v.uE){9v.7Y()}K me=J;K d6={8R:1j,fW:1n,lz:10,QH:1j};K 3V=$.4l(d6,1w);K sL=1j;$(J).2g(1a(i,uw){K 1f=$(uw);if(1f.1h("bo-g6")==2N){9v.bm.1D(1S uS(uw,3V));1f.1h("bo-g6",9v.bm.1e-1)}});1b $(J)};$.fn.yV=1a(){K 7S=[];$(J).2g(1a(){if($(J).1h("bo-g6")!==2N){7S[7S.1e]=9v.bm[$(J).1h("bo-g6")]}});1b 7S};K uS=1a(2n,3V){J.7Y(2n,3V)};uS.2T={iC:1j,3V:1j,5E:1j,2n:1j,5P:1j,9C:1c,gq:1j,QV:1j,8R:1j,QU:13,bO:"",QP:[],fE:1j,Is:1j,7Y:1a(2n,3V){J.3V=3V;J.9C=J.3V.9C;J.5P=9v.uP(J.9C);J.7x=J.3V.fW;if(!1K(J.9C)){9v.lv[J.9C]=J.3V.fW}J.1w=[];if(!1K(J.3V.1w)){J.1w=J.3V.1w}J.2n=$(2n);J.5E=$(\'<29 1x="1Y">\');J.5E.1k("5u-3x",J.2n.1k("5u-3x"));J.5E.2h(J.3V.1l);J.5E.1k("1z",J.2n.1k("1z"));J.5E.1h("bo-g6",J.2n.1h("bo-g6"));J.2n.1k("2x","2x");K id=J.2n.1k("id");if(!id){id="bo-2n"+9v.bm.1e}J.id=id;J.5E.1k("id",id);J.5E.1k("QO","eC");J.5E.2t("bo-2n");J.2n.1k("id",id+"QR");J.Iu(J.5E,J);J.KN();J.Jq();J.Jm();if(J.3V.8R){K 8R=$(\'<dA QQ="0" 2C="bo-2n-dA" 4c="HA:xU;"></dA>\');$(2O.3S).2Z(8R);8R.1r(J.2n.1r()+2);8R.1y(J.5P.1f.1y());8R.31({1P:J.5P.1f.31("1P"),2b:J.5P.1f.31("2b")});J.8R=8R}},KN:1a(){K me=J;K RD=1j;K 2I=1S 41;J.2n.2D("2Q").2g(1a(1O,2Q){K $2Q=$(2Q);K 1Y=$2Q.1Y();K 2h=$2Q.1k("1l");K 1Q=1j;if($2Q.1k("1Q")||2Q.1Q){me.5E.2h(1Y);me.bO=1Y;me.I7=2h;1Q=1n}K db=$2Q.1k("2C");2I.1D({1Q:1Q,1Y:1Y,1l:2h,db:db})});if(2I.1e>0){J.5P.uI(2I);J.5P.1f.2t("sX-EZ");J.5P.p7(J.3V.lz)}},yX:1a(){1b J.5E},fW:1a(){K 3k=J.5P.oO;if(2M 3k.7x=="1a"){3k.7x.2u(3k,3k.5E)}},uT:1a(){if(J.iC){1b}J.iC=1n;J.bO=J.5E.2h();J.fE=1j;J.xm(J);if(J.Is){J.nY()}},iq:1a(){if(!J.iC){1b}J.5P.ut();J.qh();J.fW();J.iC=1j},IH:1a(RG){if(J.5E.2h()!=J.bO){J.fE=1n;J.bO=J.5E.2h();J.5P.xl(J.5E.2h())}},Iu:1a(5E,RI){K me=J;K 8K=1j;5E.2S(1a(e){me.uT()}).4Q(1a(e){if(!me.gq){me.iq()}}).3K(1a(e){e.7Z();me.uT();if(e.6T-$(J).2y().2b>$(J).1r()-16){if(me.gq){me.qh()}1i{me.nY()}}}).81(1a(e){me.iC=1n;3r(e.3E){1m 40:if(!me.xn()){me.nY()}1i{e.4g();me.5P.v3(me.5E.2h(),"dw",me.fE)}1p;1m 38:if(!me.xn()){me.nY()}1i{e.4g();me.5P.v3(me.5E.2h(),"up",me.fE)}1p;1m 9:K $li=me.5P.iL();if($li.1e){me.oR($li.1Y(),me.il($li[0].1l))}1p;1m 27:e.4g();me.iq();1b 1j;1p;1m 13:e.4g();if(!me.gq){me.iq()}1i{K $li=me.5P.iL();if($li.1e){me.oR($li.1Y(),me.il($li[0].1l))}}1b 1j;1p}}).vN($.gy(me.IH,100,me)).hH(1a(e){if(e.3E==13){e.4g();1b 1j}})},oR:1a(1Y,2h){J.bO=1Y;J.I7=2h;J.5E.2h(2h);J.iq()},xn:1a(){1b J.gq},xm:1a(3k){J.I9();J.I5();9v.3k=3k;J.5P.oO=3k},I9:1a(){K 2y=J.5E.2y();2y.1P+=J.5E[0].bu;J.5P.1f.31({1P:2y.1P+"px",2b:2y.2b+"px"})},I5:1a(){K 1r=J.5E[0].oo;J.5P.1f.1r(1r);J.5E.1r(1r)},nY:1a(){J.Jo();J.7A=1S $.ui.d7.7A(J);J.5P.1f.5e();J.xm(J);J.gq=1n;if(J.3V.8R){J.8R.5e()}J.5P.p7(10);J.5P.xl(J.5E.2h())},il:1a(1O){1b J.5P.2I[1O]},qh:1a(){if(J.7A!=1c){J.7A.6d()}J.5P.1f.3I();J.gq=1j;if(J.3V.8R){J.8R.3I()}},Jo:1a(){1o(K i=0;i<9v.bm.1e;i++){if(i!=J.2n.1h("bo-g6")){9v.bm[i].qh()}}},Jq:1a(){J.2n.rZ(J.5E);J.2n.3I();$(2O.3S).2Z(J.5P.1f)},Jm:1a(){K 1r=J.2n.1r()+2*0;if(J.8R){J.8R.1r(1r+4)}}};$.ui.d7={7A:1a(3h){J.$el=$.ui.d7.7A.7P(3h)}};$.4l($.ui.d7.7A,{2o:J,bm:[],PH:[],ni:yK,4u:$.eJ("2S,7l,81,hH".3q(","),1a(1H){1b 1H+".3h-7A"}).4I(" "),7P:1a(3h){if(J.bm.1e===0){$(3M).2B("78.3h-7A",$.ui.d7.7A.78)}K $el=$(\'<2E 2C="bo-2n-1w-7A"></2E>\').4q(3h.5E.1L()).31({1r:J.1r(),1y:J.1y()});$el.2B("7l.3h-7A",1a(1H){3h.iq();K 1f=2O.qV(1H.aM,1H.az);if(1f!=1c){7q{K bV="3K";if(1f.xr){K e=2O.JE("QC");e.Jz(bV,1n,1n,3M,0,1H.Jx,1H.IT,1H.aM,1H.az,1j,1j,1j,1j,0,1c);1f.xr(e)}1i{if(1f.Jd){1f.Jd("on"+bV)}}}7h(Qh){}}});if($.fn.ej){$el.ej()}J.bm.1D($el);1b $el},6d:1a($el){if($el!=1c){$el.3v()}if(J.bm.1e===0){$([2O,3M]).7Q(".3h-7A")}},1y:1a(){K rL,bu;1b $(2O).1y()+"px"},1r:1a(){K AD,fI;1b $(2O).1r()+"px"},78:1a(){K $pA=$([]);$.2g($.ui.d7.7A.bm,1a(){$pA=$pA.4Z(J)});$pA.31({1r:0,1y:0}).31({1r:$.ui.d7.7A.1r(),1y:$.ui.d7.7A.1y()})}});$.4l($.ui.d7.7A.2T,{6d:1a(){$.ui.d7.7A.6d(J.$el)}})})(2w);(1a($){K R=$.io=$.fn.io=1a(a,b,c){1b R.wW(l8.3d(J,2q))};1a l8(a,b,c){K r=$.4l({},R);if(2M a=="4d"){r.5a=a;if(b&&!$.eB(b)){r.eQ=b}1i{c=b}if(c){r.us=c}}1i{$.4l(r,a)}if(!r.44){r.44=$.Nq?"Q9":"v6"}if(!r.3l){r.3l=J?J:$}if(!r.1x&&!$.Nq){r.1x="Qv"}1b r}$.4l(R,{5S:"0.5",5a:1c,eQ:QD,us:1c,44:1c,wW:1a(r){if(r.i8){r.i8()}r.id=kJ(1a(){r.io(r)},r.eQ*98);r.i8=1a(){qv(r.id);1b r};1b r},io:1a(r){if(r.wP){3X r.wP}r.wP=r.3l[r.44](r)}})})(2w);2w.4e={bl:1c,9G:1c,oA:1c,pd:0,9P:1a(1w){J.2g(1a(){J.bk=2w.4l({MQ:1c,Mw:1c,lQ:"Qs",tF:1c,mj:1c,lY:5,yq:/[^\\-]*$/,Qt:1c,lr:1c},1w||{});2w.4e.wQ(J)});2w(2O).2B("9O",2w.4e.9O).2B("5t",2w.4e.5t);1b J},wQ:1a(1M){K 6D=1M.bk;if(1M.bk.lr){$(2O).on("7l","#qb-ui-3P td."+1M.bk.lr,1a(ev){2w.4e.9G=J.3n;2w.4e.bl=1M;2w.4e.oA=2w.4e.xb(J,ev);if(6D.mj){6D.mj(1M,J)}1b 1j})}1i{K 2U=2w("tr",1M);$(2O).on("7l","#qb-ui-3P 1M td."+1M.bk.lr,1a(ev){if(ev.3l.67=="TD"){2w.4e.9G=J;2w.4e.bl=1M;2w.4e.oA=2w.4e.xb(J,ev);if(6D.mj){6D.mj(1M,J)}1b 1j}})}},Mi:1a(){J.2g(1a(){if(J.bk){2w.4e.wQ(J)}})},xd:1a(ev){if(ev.6T||ev.7j){1b{x:ev.6T,y:ev.7j}}1b{x:ev.aM+2O.3S.4X-2O.3S.jl,y:ev.az+2O.3S.5b-2O.3S.jn}},xb:1a(3l,ev){ev=ev||3M.1H;K xe=J.ty(3l);K gY=J.xd(ev);1b{x:gY.x-xe.x,y:gY.y-xe.y}},ty:1a(e){K 2b=0;K 1P=0;if(e.bu==0){e=e.7F}45(e.e4){2b+=e.8k;1P+=e.9c;e=e.e4}2b+=e.8k;1P+=e.9c;1b{x:2b,y:1P}},9O:1a(ev){if(2w.4e.9G==1c){1b}K oE=2w(2w.4e.9G);K 6D=2w.4e.bl.bk;K gY=2w.4e.xd(ev);K y=gY.y-2w.4e.oA.y;K lS=3M.HJ;if(2O.6l){if(2M 2O.Lm!="2N"&&2O.Lm!="Rq"){lS=2O.9I.5b}1i{if(2M 2O.3S!="2N"){lS=2O.3S.5b}}}if(gY.y-lS<6D.lY){3M.Bv(0,-6D.lY)}1i{K Lx=3M.LG?3M.LG:2O.9I.pJ?2O.9I.pJ:2O.3S.pJ;if(Lx-(gY.y-lS)<6D.lY){3M.Bv(0,6D.lY)}}if(y!=2w.4e.pd){K yj=y>2w.4e.pd;2w.4e.pd=y;if(6D.lQ){oE.2t(6D.lQ)}1i{oE.31(6D.MQ)}K h1=2w.4e.MJ(oE,y);if(h1&&h1.bJ!="ui-qb-3P-1I-84"){if(yj&&2w.4e.9G!=h1){2w.4e.9G.3n.79(2w.4e.9G,h1.iz)}1i{if(!yj&&2w.4e.9G!=h1){2w.4e.9G.3n.79(2w.4e.9G,h1)}}}}1b 1j},MJ:1a(yd,y){K 2U=2w.4e.bl.2U;1o(K i=0;i<2U.1e;i++){K 1I=2U[i];K tx=J.ty(1I).y;K tB=6n(1I.bu)/2;if(1I.bu==0){tx=J.ty(1I.7F).y;tB=6n(1I.7F.bu)/2}if(y>tx-tB&&y<tx+tB){if(1I==yd){1b 1c}K 6D=2w.4e.bl.bk;if(6D.Mg){if(6D.Mg(yd,1I)){1b 1I}1i{1b 1c}}1i{K yc=2w(1I).4H("yc");if(!yc){1b 1I}1i{1b 1c}}1b 1I}}1b 1c},5t:1a(e){if(2w.4e.bl&&2w.4e.9G){K tu=2w.4e.9G;K 6D=2w.4e.bl.bk;if(6D.lQ){2w(tu).4h(6D.lQ)}1i{2w(tu).31(6D.Mw)}2w.4e.9G=1c;if(6D.tF){6D.tF(2w.4e.bl,tu)}2w.4e.bl=1c}},yt:1a(){if(2w.4e.bl){1b 2w.4e.yv(2w.4e.bl)}1i{1b"9j: No c4 id 5v, EO KJ to 5v an id on MR 1M kw yr 1I"}},yv:1a(1M){K 1J="";K Mp=1M.id;K 2U=1M.2U;1o(K i=0;i<2U.1e;i++){if(1J.1e>0){1J+="&"}K iM=2U[i].id;if(iM&&(iM&&(1M.bk&&1M.bk.yq))){iM=iM.3e(1M.bk.yq)[0]}1J+=Mp+"[]="+iM}1b 1J},MO:1a(){K 1J="";J.2g(1a(){1J+=2w.4e.yv(J)});1b 1J}};2w.fn.4l({4e:2w.4e.9P,O0:2w.4e.Mi,O1:2w.4e.MO});(1a($){$.8Q("ui.3i",{1w:{4q:"3S",CC:98,3b:"gX",H2:1c,1r:1c,kS:1c,De:26,9d:1c,bz:1c,6x:1c,DM:1j,le:1a(){}},tj:1a(){K 2o=J,o=J.1w;K tJ=J.1f.P8().1k("id");J.cO=[tJ,tJ+"-3B",tJ+"-1T"];J.ue=1n;J.im=1j;J.63=$("<a />",{"2C":"ui-3i ui-8Q ui-53-5r ui-b4-6l","id":J.cO[1],"gC":"3B","5d":"#y5","61":J.1f.1k("2x")?1:0,"5u-OG":1n,"5u-OB":J.cO[2]});J.vI=$("<2F />").2Z(J.63).dX(J.1f);K 61=J.1f.1k("61");if(61){J.63.1k("61",61)}J.63.1h("E4",J.1f);J.DL=$(\'<2F 2C="ui-3i-3L ui-3L"></2F>\').yo(J.63);J.63.ke(\'<2F 2C="ui-3i-6I" />\');J.1f.2B({"3K.3i":1a(1H){2o.63.2S();1H.4g()}});J.63.2B("7l.3i",1a(1H){2o.vB(1H,1n);if(o.3b=="hZ"){2o.ue=1j;6F(1a(){2o.ue=1n},rr)}1H.4g()}).2B("3K.3i",1a(1H){1H.4g()}).2B("81.3i",1a(1H){K 7S=1j;3r(1H.3E){1m $.ui.3E.Ne:7S=1n;1p;1m $.ui.3E.Nn:2o.vB(1H);1p;1m $.ui.3E.UP:if(1H.sM){2o.6Y(1H)}1i{2o.hV(-1)}1p;1m $.ui.3E.NL:if(1H.sM){2o.6Y(1H)}1i{2o.hV(1)}1p;1m $.ui.3E.Nx:2o.hV(-1);1p;1m $.ui.3E.NC:2o.hV(1);1p;1m $.ui.3E.Nm:7S=1n;1p;1m $.ui.3E.NT:;1m $.ui.3E.NW:2o.1O(0);1p;1m $.ui.3E.Nw:;1m $.ui.3E.N6:2o.1O(2o.8c.1e);1p;5r:7S=1n}1b 7S}).2B("hH.3i",1a(1H){if(1H.iG>0){2o.xW(1H.iG,"5t")}1b 1n}).2B("gR.3i",1a(){if(!o.2x){$(J).2t("ui-53-6v")}}).2B("ed.3i",1a(){if(!o.2x){$(J).4h("ui-53-6v")}}).2B("2S.3i",1a(){if(!o.2x){$(J).2t("ui-53-2S")}}).2B("4Q.3i",1a(){if(!o.2x){$(J).4h("ui-53-2S")}});$(2O).2B("7l.3i-"+J.cO[0],1a(1H){if(2o.im&&!$(1H.3l).fv("#"+2o.cO[1]).1e){2o.5w(1H)}});J.1f.2B("3K.3i",1a(){2o.nj()}).2B("2S.3i",1a(){if(2o.63){2o.63[0].2S()}});if(!o.1r){o.1r=J.1f.ey()}J.63.1r(o.1r);J.1f.3I();J.4N=$("<ul />",{"2C":"ui-8Q ui-8Q-aw","5u-71":1n,"gC":"OR","5u-OT":J.cO[1],"id":J.cO[2]});J.hh=$("<2E />",{"2C":"ui-3i-1T"}).2Z(J.4N).4q(o.4q);J.4N.2B("81.3i",1a(1H){K 7S=1j;3r(1H.3E){1m $.ui.3E.UP:if(1H.sM){2o.5w(1H,1n)}1i{2o.ew(-1)}1p;1m $.ui.3E.NL:if(1H.sM){2o.5w(1H,1n)}1i{2o.ew(1)}1p;1m $.ui.3E.Nx:2o.ew(-1);1p;1m $.ui.3E.NC:2o.ew(1);1p;1m $.ui.3E.NW:2o.ew(":4t");1p;1m $.ui.3E.NT:2o.vC("up");1p;1m $.ui.3E.Nw:2o.vC("dw");1p;1m $.ui.3E.N6:2o.ew(":6Z");1p;1m $.ui.3E.Ne:;1m $.ui.3E.Nn:2o.5w(1H,1n);$(1H.3l).cF("li:eq(0)").2c("5t");1p;1m $.ui.3E.Nm:7S=1n;2o.5w(1H,1n);$(1H.3l).cF("li:eq(0)").2c("5t");1p;1m $.ui.3E.Og:2o.5w(1H,1n);1p;5r:7S=1n}1b 7S}).2B("hH.3i",1a(1H){if(1H.iG>0){2o.xW(1H.iG,"2S")}1b 1n}).2B("7l.3i 5t.3i",1a(){1b 1j});$(3M).2B("78.3i-"+J.cO[0],$.9y(2o.5w,J))},xu:1a(){K 2o=J,o=J.1w;K 88=[];J.1f.2D("2Q").2g(1a(){K 1B=$(J);88.1D({1l:1B.1k("1l"),1Y:2o.Ef(1B.1Y(),1B),1Q:1B.1k("1Q"),2x:1B.1k("2x"),fw:1B.1k("2C"),mA:1B.1k("mA"),mk:1B.1L("vS"),le:o.le.2u(1B)})});K i0=2o.1w.3b=="hZ"?" ui-53-b5":"";J.4N.3Y("");if(88.1e){1o(K i=0;i<88.1e;i++){K xG={gC:"y6"};if(88[i].2x){xG["2C"]="ui-53-2x"}K t9={3Y:88[i].1Y||"&2r;",5d:"#y5",61:-1,gC:"2Q","5u-1Q":1j};if(88[i].2x){t9["5u-2x"]=1n}if(88[i].mA){t9["mA"]=88[i].mA}K Db=$("<a/>",t9).2B("2S.3i",1a(){$(J).1L().gR()}).2B("4Q.3i",1a(){$(J).1L().ed()});K ft=$("<li/>",xG).2Z(Db).1h("1O",i).2t(88[i].fw).1h("h2",88[i].fw||"").2B("5t.3i",1a(1H){if(2o.ue&&(!2o.mP(1H.83)&&!2o.mP($(1H.83).cF("ul > li.ui-3i-bF ")))){2o.1O($(J).1h("1O"));2o.2n(1H);2o.5w(1H,1n)}1b 1j}).2B("3K.3i",1a(){1b 1j}).2B("gR.3i",1a(e){if(!$(J).4H("ui-53-2x")&&!$(J).1L("ul").1L("li").4H("ui-53-2x")){e.D0=2o.1f[0].1w[$(J).1h("1O")].1l;2o.7z("6v",e,2o.g1());2o.bE().2t(i0);2o.mX().4h("ui-3i-1g-2S ui-53-6v");$(J).4h("ui-53-b5").2t("ui-3i-1g-2S ui-53-6v")}}).2B("ed.3i",1a(e){if($(J).is(2o.bE())){$(J).2t(i0)}e.D0=2o.1f[0].1w[$(J).1h("1O")].1l;2o.7z("4Q",e,2o.g1());$(J).4h("ui-3i-1g-2S ui-53-6v")});if(88[i].mk.1e){K u9="ui-3i-bF-"+J.1f.2D("vS").1O(88[i].mk);if(J.4N.2D("li."+u9).1e){J.4N.2D("li."+u9+":6Z ul").2Z(ft)}1i{$(\'<li gC="y6" 2C="ui-3i-bF \'+u9+(88[i].mk.1k("2x")?" "+\'ui-53-2x" 5u-2x="1n"\':\'"\')+\'><2F 2C="ui-3i-bF-3x">\'+88[i].mk.1k("3x")+"</2F><ul></ul></li>").4q(J.4N).2D("ul").2Z(ft)}}1i{ft.4q(J.4N)}if(o.bz){1o(K j in o.bz){if(ft.is(o.bz[j].2D)){ft.1h("h2",88[i].fw+" ui-3i-Cw").2t("ui-3i-Cw");K sH=o.bz[j].3L||"";ft.2D("a:eq(0)").ke(\'<2F 2C="ui-3i-1g-3L ui-3L \'+sH+\'"></2F>\');if(88[i].le){ft.2D("2F").31("jH-8T",88[i].le)}}}}}}1i{$(\'<li gC="y6"><a 5d="#y5" 61="-1" gC="2Q"></a></li>\').4q(J.4N)}K f0=o.3b=="gX";J.63.8I("ui-3i-gX",f0).8I("ui-3i-hZ",!f0);J.4N.8I("ui-3i-1T-gX ui-b4-4D",f0).8I("ui-3i-1T-hZ ui-b4-6l",!f0).2D("li:4t").8I("ui-b4-1P",!f0).4y().2D("li:6Z").2t("ui-b4-4D");J.DL.8I("ui-3L-je-1-s",f0).8I("ui-3L-je-2-n-s",!f0);if(o.3b=="gX"){J.4N.1r(o.kS?o.kS:o.1r)}1i{J.4N.1r(o.kS?o.kS:o.1r-o.De)}if(!aI.dU.3e(/R1 2/)){K En=J.hh.1y();K xS=$(3M).1y();K xX=o.9d?3H.5U(o.9d,xS):xS/3;if(En>xX){J.4N.1y(xX)}}J.8c=J.4N.2D("li:5Q(.ui-3i-bF)");if(J.1f.1k("2x")){J.sX()}1i{J.E9()}J.nj();J.bE().2t("ui-3i-1g-2S");hW(J.DW);J.DW=3M.6F(1a(){2o.vl()},fO)},6d:1a(){J.1f.sE(J.QG).4h("ui-3i-2x"+" "+"ui-53-2x").iZ("5u-2x").7Q(".3i");$(3M).7Q(".3i-"+J.cO[0]);$(2O).7Q(".3i-"+J.cO[0]);J.vI.3v();J.hh.3v();J.1f.7Q(".3i").5e();$.z9.2T.6d.3d(J,2q)},xW:1a(CT,vJ){K 2o=J,c=5j.wt(CT).3R(),kZ=1c,dJ=1c;if(2o.od){3M.hW(2o.od);2o.od=2N}2o.hP=(2o.hP===2N?"":2o.hP).3y(c);if(2o.hP.1e<2||2o.hP.73(-2,1)===c&&2o.oq){2o.oq=1n;kZ=c}1i{2o.oq=1j;kZ=2o.hP}K bK=(vJ!=="2S"?J.bE().1h("1O"):J.mX().1h("1O"))||0;1o(K i=0;i<J.8c.1e;i++){K CN=J.8c.eq(i).1Y().73(0,kZ.1e).3R();if(CN===kZ){if(2o.oq){if(dJ===1c){dJ=i}if(i>bK){dJ=i;1p}}1i{dJ=i}}}if(dJ!==1c){J.8c.eq(dJ).2D("a").2c(vJ)}2o.od=3M.6F(1a(){2o.od=2N;2o.hP=2N;2o.oq=2N},2o.1w.CC)},g1:1a(){K 1O=J.1O();1b{1O:1O,2Q:$("2Q",J.1f).4v(1O),1l:J.1f[0].1l}},6Y:1a(1H){if(J.63.1k("5u-2x")!="1n"){K 2o=J,o=J.1w,1Q=J.bE(),1W=1Q.2D("a");2o.DY(1H);2o.63.2t("ui-53-b5");2o.4N.1k("5u-71",1j);2o.hh.2t("ui-3i-6Y");if(o.3b=="gX"){2o.63.4h("ui-b4-6l").2t("ui-b4-1P")}1i{J.4N.31("2b",-qR).5b(J.4N.5b()+1Q.2G().1P-J.4N.ad()/ 2 + 1Q.ad() /2).31("2b","5N")}2o.vl();if(1W.1e){1W[0].2S()}2o.im=1n;2o.7z("6Y",1H,2o.g1())}},5w:1a(1H,ru){if(J.63.is(".ui-53-b5")){J.63.4h("ui-53-b5");J.hh.4h("ui-3i-6Y");J.4N.1k("5u-71",1n);if(J.1w.3b=="gX"){J.63.4h("ui-b4-1P").2t("ui-b4-6l")}if(ru){J.63.2S()}J.im=1j;J.7z("5w",1H,J.g1())}},cT:1a(1H){J.1f.2c("cT");J.7z("cT",1H,J.g1())},2n:1a(1H){if(J.mP(1H.83)){1b 1j}J.7z("2n",1H,J.g1())},8Q:1a(){1b J.hh.4Z(J.vI)},DY:1a(1H){$(".ui-3i.ui-53-b5").5Q(J.63).2g(1a(){$(J).1h("E4").3i("5w",1H)});$(".ui-3i.ui-53-6v").2c("ed")},vB:1a(1H,ru){if(J.im){J.5w(1H,ru)}1i{J.6Y(1H)}},Ef:1a(1Y,1B){if(J.1w.6x){1Y=J.1w.6x(1Y,1B)}1i{if(J.1w.DM){1Y=$("<2E />").1Y(1Y).3Y()}}1b 1Y},sg:1a(){1b J.1f[0].bK},bE:1a(){1b J.8c.eq(J.sg())},mX:1a(){1b J.4N.2D(".ui-3i-1g-2S")},hV:1a(9J,rb){if(!J.1w.2x){K r7=6n(J.bE().1h("1O")||0,10);K 51=r7+9J;if(51<0){51=0}if(51>J.8c.56()-1){51=J.8c.56()-1}if(51===rb){1b 1j}if(J.8c.eq(51).4H("ui-53-2x")){9J>0?++9J:--9J;J.hV(9J,51)}1i{J.8c.eq(51).2c("gR").2c("5t")}}},ew:1a(9J,rb){if(!aE(9J)){K r7=6n(J.mX().1h("1O")||0,10);K 51=r7+9J}1i{K 51=6n(J.8c.4s(9J).1h("1O"),10)}if(51<0){51=0}if(51>J.8c.56()-1){51=J.8c.56()-1}if(51===rb){1b 1j}K hY="ui-3i-1g-"+3H.4K(3H.kp()*98);J.mX().2D("a:eq(0)").1k("id","");if(J.8c.eq(51).4H("ui-53-2x")){9J>0?++9J:--9J;J.ew(9J,51)}1i{J.8c.eq(51).2D("a:eq(0)").1k("id",hY).2S()}J.4N.1k("5u-GI",hY)},vC:1a(cA){K mV=3H.gg(J.4N.ad()/J.8c.4t().ad());mV=cA=="up"?-mV:mV;J.ew(mV)},mY:1a(1q,1l){J.1w[1q]=1l;if(1q=="2x"){if(1l){J.5w()}J.1f.4Z(J.63).4Z(J.4N)[1l?"2t":"4h"]("ui-3i-2x "+"ui-53-2x").1k("5u-2x",1l).1k("61",1l?1:0)}},sX:1a(1O,1x){if(2M 1O=="2N"){J.mY("2x",1n)}1i{J.vU(1x||"2Q",1O,1j)}},E9:1a(1O,1x){if(2M 1O=="2N"){J.mY("2x",1j)}1i{J.vU(1x||"2Q",1O,1n)}},mP:1a(6m){1b $(6m).4H("ui-53-2x")},vU:1a(1x,1O,r2){K 1f=J.1f.2D(1x).eq(1O),9S=1x==="vS"?J.4N.2D("li.ui-3i-bF-"+1O):J.8c.eq(1O);if(9S){9S.8I("ui-53-2x",!r2).1k("5u-2x",!r2);if(r2){1f.iZ("2x")}1i{1f.1k("2x","2x")}}},1O:1a(51){if(2q.1e){if(!J.mP($(J.8c[51]))&&51!=J.sg()){J.1f[0].bK=51;J.nj();J.cT()}1i{1b 1j}}1i{1b J.sg()}},1l:1a(4f){if(2q.1e&&4f!=J.1f[0].1l){J.1f[0].1l=4f;J.nj();J.cT()}1i{1b J.1f[0].1l}},nj:1a(){K i0=J.1w.3b=="hZ"?" ui-53-b5":"";K hY="ui-3i-1g-"+3H.4K(3H.kp()*98);J.4N.2D(".ui-3i-1g-1Q").4h("ui-3i-1g-1Q"+i0).2D("a").1k("5u-1Q","1j").1k("id","");J.bE().2t("ui-3i-1g-1Q"+i0).2D("a").1k("5u-1Q","1n").1k("id",hY);K GE=J.63.1h("h2")?J.63.1h("h2"):"";K vh=J.bE().1h("h2")?J.bE().1h("h2"):"";J.63.4h(GE).1h("h2",vh).2t(vh).2D(".ui-3i-6I").3Y(J.bE().2D("a:eq(0)").3Y());J.4N.1k("5u-GI",hY)},vl:1a(){K o=J.1w,s4={of:J.63,my:"2b 1P",at:"2b 4D",lf:"iK"};if(o.3b=="hZ"){K 1Q=J.bE();s4.my="2b 1P"+(J.4N.2y().1P-1Q.2y().1P-(J.63.ad()+1Q.ad())/2);s4.lf="ac"}J.hh.iZ("3b").4n(J.1f.4n()+2).2G($.4l(s4,o.H2))}})})(2w);(1a(jP){K 5S="0.4.2",3o="7U",5n=/[\\.\\/]/,vf="*",tY=1a(){},GT=1a(a,b){1b a-b},hi,5F,4u={n:{}},2R=1a(1z,dQ){1z=5j(1z);K e=4u,vd=5F,2f=41.2T.3G.2u(2q,2),d9=2R.d9(1z),z=0,f=1j,l,h9=[],ju={},2k=[],ce=hi,Qy=[];hi=1z;5F=0;1o(K i=0,ii=d9.1e;i<ii;i++){if("4n"in d9[i]){h9.1D(d9[i].4n);if(d9[i].4n<0){ju[d9[i].4n]=d9[i]}}}h9.g4(GT);45(h9[z]<0){l=ju[h9[z++]];2k.1D(l.3d(dQ,2f));if(5F){5F=vd;1b 2k}}1o(i=0;i<ii;i++){l=d9[i];if("4n"in l){if(l.4n==h9[z]){2k.1D(l.3d(dQ,2f));if(5F){1p}do{z++;l=ju[h9[z]];l&&2k.1D(l.3d(dQ,2f));if(5F){1p}}45(l)}1i{ju[l.4n]=l}}1i{2k.1D(l.3d(dQ,2f));if(5F){1p}}}5F=vd;hi=ce;1b 2k.1e?2k:1c};2R.ds=4u;2R.d9=1a(1z){K 7m=1z.3q(5n),e=4u,1g,1F,k,i,ii,j,jj,s3,es=[e],2k=[];1o(i=0,ii=7m.1e;i<ii;i++){s3=[];1o(j=0,jj=es.1e;j<jj;j++){e=es[j].n;1F=[e[7m[i]],e[vf]];k=2;45(k--){1g=1F[k];if(1g){s3.1D(1g);2k=2k.3y(1g.f||[])}}}es=s3}1b 2k};2R.on=1a(1z,f){1z=5j(1z);if(2M f!="1a"){1b 1a(){}}K 7m=1z.3q(5n),e=4u;1o(K i=0,ii=7m.1e;i<ii;i++){e=e.n;e=e.7U(7m[i])&&e[7m[i]]||(e[7m[i]]={n:{}})}e.f=e.f||[];1o(i=0,ii=e.f.1e;i<ii;i++){if(e.f[i]==f){1b tY}}e.f.1D(f);1b 1a(4n){if(+4n==+4n){f.4n=+4n}}};2R.f=1a(1H){K 2a=[].3G.2u(2q,1);1b 1a(){2R.3d(1c,[1H,1c].3y(2a).3y([].3G.2u(2q,0)))}};2R.5F=1a(){5F=1};2R.nt=1a(vg){if(vg){1b(1S cY("(?:\\\\.|\\\\/|^)"+vg+"(?:\\\\.|\\\\/|$)")).9F(hi)}1b hi};2R.QA=1a(){1b hi.3q(5n)};2R.eC=2R.7Q=1a(1z,f){if(!1z){2R.ds=4u={n:{}};1b}K 7m=1z.3q(5n),e,1q,5g,i,ii,j,jj,gW=[4u];1o(i=0,ii=7m.1e;i<ii;i++){1o(j=0;j<gW.1e;j+=5g.1e-2){5g=[j,1];e=gW[j].n;if(7m[i]!=vf){if(e[7m[i]]){5g.1D(e[7m[i]])}}1i{1o(1q in e){if(e[3o](1q)){5g.1D(e[1q])}}}gW.5g.3d(gW,5g)}}1o(i=0,ii=gW.1e;i<ii;i++){e=gW[i];45(e.n){if(f){if(e.f){1o(j=0,jj=e.f.1e;j<jj;j++){if(e.f[j]==f){e.f.5g(j,1);1p}}!e.f.1e&&3X e.f}1o(1q in e.n){if(e.n[3o](1q)&&e.n[1q].f){K o8=e.n[1q].f;1o(j=0,jj=o8.1e;j<jj;j++){if(o8[j]==f){o8.5g(j,1);1p}}!o8.1e&&3X e.n[1q].f}}}1i{3X e.f;1o(1q in e.n){if(e.n[3o](1q)&&e.n[1q].f){3X e.n[1q].f}}}e=e.n}}};2R.Qm=1a(1z,f){K f2=1a(){2R.7Q(1z,f2);1b f.3d(J,2q)};1b 2R.on(1z,f2)};2R.5S=5S;2R.3s=1a(){1b"HL sQ yn Qn "+5S};2M rB!="2N"&&rB.Gn?rB.Gn=2R:2M kl!="2N"?kl("2R",[],1a(){1b 2R}):jP.2R=2R})(3M||J);(1a(jP,ve){if(2M kl==="1a"&&kl.Qq){kl(["2R"],1a(2R){1b ve(jP,2R)})}1i{ve(jP,jP.2R)}})(J,1a(3M,2R){1a R(4t){if(R.is(4t,"1a")){1b ag?4t():2R.on("47.ib",4t)}1i{if(R.is(4t,3J)){1b R.4A.7P[3d](R,4t.5g(0,3+R.is(4t[0],nu))).4Z(4t)}1i{K 2f=41.2T.3G.2u(2q,0);if(R.is(2f[2f.1e-1],"1a")){K f=2f.dp();1b ag?f.2u(R.4A.7P[3d](R,2f)):2R.on("47.ib",1a(){f.2u(R.4A.7P[3d](R,2f))})}1i{1b R.4A.7P[3d](R,2q)}}}}R.5S="2.1.2";R.2R=2R;K ag,5n=/[, ]+/,9S={9k:1,4m:1,1G:1,aq:1,1Y:1,8T:1},DB=/\\{(\\d+)\\}/g,jT="2T",3o="7U",g={2Y:2O,5h:3M},pv={xt:4E.2T[3o].2u(g.5h,"aK"),is:g.5h.aK},wA=1a(){J.ca=J.8z={}},6f,3D="3D",3d="3d",3y="3y",kN="Q3"in g.5h||g.5h.Gg&&g.2Y ea Gg,E="",S=" ",3Z=5j,3q="3q",4u="3K zp 7l 9O ed gR 5t n8 n3 oj vx"[3q](S),lk={7l:"n8",9O:"n3",5t:"oj"},l0=3Z.2T.3R,3w=3H,4O=3w.4w,5V=3w.5U,49=3w.49,5W=3w.5W,PI=3w.PI,nu="ch",4d="4d",3J="3J",3s="3s",hI="28",Fg=4E.2T.3s,2v={},1D="1D",Px=R.yl=/^5a\\([\'"]?([^\\)]+?)[\'"]?\\)$/i,CS=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|vK?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|Fz?\\(\\s*([\\d\\.]+(?:4o|\\xV|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|FB?\\(\\s*([\\d\\.]+(?:4o|\\xV|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i,EU={"PX":1,"HH":1,"-HH":1},CW=/^(?:PY-)?PV\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,4K=3w.4K,a4="a4",3z=du,9D=6n,w1=3Z.2T.8l,GO=R.ir={"aF-4y":"3p","aF-2J":"3p",4Q:0,"69-4m":"0 0 HK HK",iv:"5r",cx:0,cy:0,28:"#j9","28-2H":1,2K:\'Q2 "HI"\',"2K-8b":\'"HI"\',"2K-56":"10","2K-3b":"r4","2K-9M":ol,3N:0,1y:0,5d:"6G://PU.xv/","PO-PP":0,2H:1,1G:"M0,0",r:0,rx:0,ry:0,4c:"",1X:"#c0","1X-96":"","1X-cd":"iA","1X-hL":"iA","1X-lx":0,"1X-2H":1,"1X-1r":1,3l:"Ro","1Y-y9":"xK",6h:"aK",3C:"",1r:0,x:0,y:0},rM=R.Ru={4Q:nu,"69-4m":"vP",cx:nu,cy:nu,28:"9A","28-2H":nu,"2K-56":nu,1y:nu,2H:nu,1G:"1G",r:nu,rx:nu,ry:nu,1X:"9A","1X-2H":nu,"1X-1r":nu,3C:"3C",1r:nu,x:nu,y:nu},HO=/[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]/g,oH=/[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*,[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*/,Fj={hs:1,rg:1},FL=/,?([Ri]),?/gi,FF=/([Rg])[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*,?[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*)+)/ig,Fm=/([RH])[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*,?[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*)+)/ig,wf=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*,?[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*/ig,RM=R.yi=/^r(?:\\(([^,]+?)[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*,[\\aQ\\aU\\aX\\aY\\b1\\a5\\9Y\\aj\\al\\ap\\af\\a9\\9Z\\9X\\ah\\ao\\aa\\a6\\b3\\aS\\b6\\aZ\\aB\\av\\aO]*([^\\)]+?)\\))?/,gQ={},QN=1a(a,b){1b a.1q-b.1q},GG=1a(a,b){1b 3z(a)-3z(b)},tY=1a(){},CH=1a(x){1b x},lT=R.wX=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"]]},wH=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"]]},ba=R.yp={1G:1a(el){1b el.1k("1G")},9k:1a(el){K a=el.2a;1b wH(a.cx,a.cy,a.r)},aq:1a(el){K a=el.2a;1b wH(a.cx,a.cy,a.rx,a.ry)},4m:1a(el){K a=el.2a;1b lT(a.x,a.y,a.1r,a.1y,a.r)},8T:1a(el){K a=el.2a;1b lT(a.x,a.y,a.1r,a.1y)},1Y:1a(el){K 2X=el.ma();1b lT(2X.x,2X.y,2X.1r,2X.1y)},5v:1a(el){K 2X=el.ma();1b lT(2X.x,2X.y,2X.1r,2X.1y)}},mO=R.mO=1a(1G,4x){if(!4x){1b 1G}K x,y,i,j,ii,jj,e6;1G=hK(1G);1o(i=0,ii=1G.1e;i<ii;i++){e6=1G[i];1o(j=1,jj=e6.1e;j<jj;j+=2){x=4x.x(e6[j],e6[j+1]);y=4x.y(e6[j],e6[j+1]);e6[j]=x;e6[j+1]=y}}1b 1G};R.7G=g;R.1x=g.5h.QJ||g.2Y.QK.R8("6G://m6.w3.uf/TR/QZ/R0#QX","1.1")?"cB":"g8";if(R.1x=="g8"){K d=g.2Y.cp("2E"),b;d.mL=\'<v:bZ EV="1"/>\';b=d.7F;b.3b.NP="5a(#5r#g8)";if(!(b&&2M b.EV=="1C")){1b R.1x=E}d=1c}R.43=!(R.5J=R.1x=="g8");R.xx=wA;R.fn=6f=wA.2T=R.2T;R.R3=0;R.xF=0;R.is=1a(o,1x){1x=l0.2u(1x);if(1x=="kF"){1b!EU[3o](+o)}if(1x=="3J"){1b o ea 41}1b 1x=="1c"&&o===1c||(1x==2M o&&o!==1c||(1x=="1C"&&o===4E(o)||(1x=="3J"&&(41.wE&&41.wE(o))||Fg.2u(o).3G(8,-1).3R()==1x)))};1a 5O(1u){if(2M 1u=="1a"||4E(1u)!==1u){1b 1u}K 1A=1S 1u.4V;1o(K 1q in 1u){if(1u[3o](1q)){1A[1q]=5O(1u[1q])}}1b 1A}R.7o=1a(x1,y1,x2,y2,x3,y3){if(x3==1c){K x=x1-x2,y=y1-y2;if(!x&&!y){1b 0}1b(cD+3w.wc(-y,-x)*cD/PI+8t)%8t}1i{1b R.7o(x1,y1,x3,y3)-R.7o(x2,y2,x3,y3)}};R.8S=1a(4o){1b 4o%8t*PI/cD};R.4o=1a(8S){1b 8S*cD/PI%8t};R.Op=1a(2I,1l,de){de=R.is(de,"kF")?de:10;if(R.is(2I,3J)){K i=2I.1e;45(i--){if(49(2I[i]-1l)<=de){1b 2I[i]}}}1i{2I=+2I;K m8=1l%2I;if(m8<de){1b 1l-m8}if(m8>2I-de){1b 1l-m8+2I}}1b 1l};K kC=R.kC=1a(Fe,Fa){1b 1a(){1b"Ol-Os-Oi-Oh-Om".3g(Fe,Fa).8l()}}(/[xy]/g,1a(c){K r=3w.kp()*16|0,v=c=="x"?r:r&3|8;1b v.3s(16)});R.F5=1a(w6){2R("47.F5",R,g.5h,w6);g.5h=w6;g.2Y=g.5h.2O;if(R.4A.pS){R.4A.pS(g.5h)}};K o0=1a(3t){if(R.5J){K nM=/^\\s+|\\s+$/g;K oa;7q{K pO=1S pD("NY");pO.Oz("<3S>");pO.5w();oa=pO.3S}7h(e){oa=P5().2O.3S}K EE=oa.P4();o0=bd(1a(3t){7q{oa.3b.3t=3Z(3t).3g(nM,E);K 1l=EE.Pe("Pi");1l=(1l&eO)<<16|1l&Ph|(1l&OJ)>>>16;1b"#"+("If"+1l.3s(16)).3G(-6)}7h(e){1b"3p"}})}1i{K i=g.2Y.cp("i");i.6h="hw\\hv OH ON";i.3b.5q="3p";g.2Y.3S.3D(i);o0=bd(1a(3t){i.3b.3t=3t;1b g.2Y.iW.pe(i,E).E5("3t")})}1b o0(3t)},FR=1a(){1b"FC("+[J.h,J.s,J.b]+")"},FM=1a(){1b"FG("+[J.h,J.s,J.l]+")"},wk=1a(){1b J.6b},wn=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,4d)){K 3u=R.bn(r);r=3u.r;g=3u.g;b=3u.b}if(r>1||(g>1||b>1)){r/=eO;g/=eO;b/=eO}1b[r,g,b]},wj=1a(r,g,b,o){r*=eO;g*=eO;b*=eO;K 3F={r:r,g:g,b:b,6b:R.3F(r,g,b),3s:wk};R.is(o,"kF")&&(3F.2H=o);1b 3F};R.3t=1a(3u){K 3F;if(R.is(3u,"1C")&&("h"in 3u&&("s"in 3u&&"b"in 3u))){3F=R.nz(3u);3u.r=3F.r;3u.g=3F.g;3u.b=3F.b;3u.6b=3F.6b}1i{if(R.is(3u,"1C")&&("h"in 3u&&("s"in 3u&&"l"in 3u))){3F=R.p6(3u);3u.r=3F.r;3u.g=3F.g;3u.b=3F.b;3u.6b=3F.6b}1i{if(R.is(3u,"4d")){3u=R.bn(3u)}if(R.is(3u,"1C")&&("r"in 3u&&("g"in 3u&&"b"in 3u))){3F=R.FW(3u);3u.h=3F.h;3u.s=3F.s;3u.l=3F.l;3F=R.FS(3u);3u.v=3F.b}1i{3u={6b:"3p"};3u.r=3u.g=3u.b=3u.h=3u.s=3u.v=3u.l=-1}}}3u.3s=wk;1b 3u};R.nz=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*=8t;K R,G,B,X,C;h=h%8t/60;C=v*s;X=C*(1-49(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 wj(R,G,B,o)};R.p6=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/=8t;s/=100;l/=100}h*=8t;K R,G,B,X,C;h=h%8t/60;C=2*s*(l<0.5?l:1-l);X=C*(1-49(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 wj(R,G,B,o)};R.FS=1a(r,g,b){b=wn(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,V,C;V=4O(r,g,b);C=V-5V(r,g,b);H=C==0?1c:V==r?(g-b)/ C : V == g ? (b - r) /C+2:(r-g)/C+4;H=(H+8t)%6*60/8t;S=C==0?0:C/V;1b{h:H,s:S,b:V,3s:FR}};R.FW=1a(r,g,b){b=wn(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,L,M,m,C;M=4O(r,g,b);m=5V(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+8t)%6*60/8t;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,3s:FM}};R.k3=1a(){1b J.4I(",").3g(FL,"$1")};1a FO(3J,1g){1o(K i=0,ii=3J.1e;i<ii;i++){if(3J[i]===1g){1b 3J.1D(3J.5g(i,1)[0])}}}1a bd(f,dQ,nG){1a jK(){K 4i=41.2T.3G.2u(2q,0),2f=4i.4I("\\OQ"),7W=jK.7W=jK.7W||{},6z=jK.6z=jK.6z||[];if(7W[3o](2f)){FO(6z,2f);1b nG?nG(7W[2f]):7W[2f]}6z.1e>=98&&3X 7W[6z.bA()];6z.1D(2f);7W[2f]=f[3d](dQ,4i);1b nG?nG(7W[2f]):7W[2f]}1b jK}K OL=R.ym=1a(4c,f){K bW=g.2Y.cp("bW");bW.3b.fJ="2G:8n;2b:-jc;1P:-jc";bW.gr=1a(){f.2u(J);J.gr=1c;g.2Y.3S.7k(J)};bW.OM=1a(){g.2Y.3S.7k(J)};g.2Y.3S.3D(bW);bW.4c=4c};1a nE(){1b J.6b}R.bn=bd(1a(9A){if(!9A||!!((9A=3Z(9A)).4Y("-")+1)){1b{r:-1,g:-1,b:-1,6b:"3p",9q:1,3s:nE}}if(9A=="3p"){1b{r:-1,g:-1,b:-1,6b:"3p",3s:nE}}!(Fj[3o](9A.3R().fa(0,2))||9A.b7()=="#")&&(9A=o0(9A));K 1A,8W,a7,aJ,2H,t,2I,3F=9A.3e(CS);if(3F){if(3F[2]){aJ=9D(3F[2].fa(5),16);a7=9D(3F[2].fa(3,5),16);8W=9D(3F[2].fa(1,3),16)}if(3F[3]){aJ=9D((t=3F[3].b7(3))+t,16);a7=9D((t=3F[3].b7(2))+t,16);8W=9D((t=3F[3].b7(1))+t,16)}if(3F[4]){2I=3F[4][3q](oH);8W=3z(2I[0]);2I[0].3G(-1)=="%"&&(8W*=2.55);a7=3z(2I[1]);2I[1].3G(-1)=="%"&&(a7*=2.55);aJ=3z(2I[2]);2I[2].3G(-1)=="%"&&(aJ*=2.55);3F[1].3R().3G(0,4)=="vK"&&(2H=3z(2I[3]));2I[3]&&(2I[3].3G(-1)=="%"&&(2H/=100))}if(3F[5]){2I=3F[5][3q](oH);8W=3z(2I[0]);2I[0].3G(-1)=="%"&&(8W*=2.55);a7=3z(2I[1]);2I[1].3G(-1)=="%"&&(a7*=2.55);aJ=3z(2I[2]);2I[2].3G(-1)=="%"&&(aJ*=2.55);(2I[0].3G(-3)=="4o"||2I[0].3G(-1)=="\\FA")&&(8W/=8t);3F[1].3R().3G(0,4)=="Fz"&&(2H=3z(2I[3]));2I[3]&&(2I[3].3G(-1)=="%"&&(2H/=100));1b R.nz(8W,a7,aJ,2H)}if(3F[6]){2I=3F[6][3q](oH);8W=3z(2I[0]);2I[0].3G(-1)=="%"&&(8W*=2.55);a7=3z(2I[1]);2I[1].3G(-1)=="%"&&(a7*=2.55);aJ=3z(2I[2]);2I[2].3G(-1)=="%"&&(aJ*=2.55);(2I[0].3G(-3)=="4o"||2I[0].3G(-1)=="\\FA")&&(8W/=8t);3F[1].3R().3G(0,4)=="FB"&&(2H=3z(2I[3]));2I[3]&&(2I[3].3G(-1)=="%"&&(2H/=100));1b R.p6(8W,a7,aJ,2H)}3F={r:8W,g:a7,b:aJ,3s:nE};3F.6b="#"+(FH|aJ|a7<<8|8W<<16).3s(16).3G(1);R.is(2H,"kF")&&(3F.2H=2H);1b 3F}1b{r:-1,g:-1,b:-1,6b:"3p",9q:1,3s:nE}},R);R.FC=bd(1a(h,s,b){1b R.nz(h,s,b).6b});R.FG=bd(1a(h,s,l){1b R.p6(h,s,l).6b});R.3F=bd(1a(r,g,b){1b"#"+(FH|b|g<<8|r<<16).3s(16).3G(1)});R.nJ=1a(1l){K 2J=J.nJ.2J=J.nJ.2J||{h:0,s:1,b:1l||0.75},3F=J.nz(2J.h,2J.s,2J.b);2J.h+=0.Go;if(2J.h>1){2J.h=0;2J.s-=0.2;2J.s<=0&&(J.nJ.2J={h:0,s:1,b:2J.b})}1b 3F.6b};R.nJ.mB=1a(){3X J.2J};1a w9(7D,z){K d=[];1o(K i=0,hF=7D.1e;hF-2*!z>i;i+=2){K p=[{x:+7D[i-2],y:+7D[i-1]},{x:+7D[i],y:+7D[i+1]},{x:+7D[i+2],y:+7D[i+3]},{x:+7D[i+4],y:+7D[i+5]}];if(z){if(!i){p[0]={x:+7D[hF-2],y:+7D[hF-1]}}1i{if(hF-4==i){p[3]={x:+7D[0],y:+7D[1]}}1i{if(hF-2==i){p[2]={x:+7D[0],y:+7D[1]};p[3]={x:+7D[2],y:+7D[3]}}}}}1i{if(hF-4==i){p[3]=p[2]}1i{if(!i){p[0]={x:+7D[i],y:+7D[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.w0=1a(8j){if(!8j){1b 1c}K 7I=eZ(8j);if(7I.kI){1b bi(7I.kI)}K nr={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},1h=[];if(R.is(8j,3J)&&R.is(8j[0],3J)){1h=bi(8j)}if(!1h.1e){3Z(8j).3g(FF,1a(a,b,c){K 1v=[],1z=b.3R();c.3g(wf,1a(a,b){b&&1v.1D(+b)});if(1z=="m"&&1v.1e>2){1h.1D([b][3y](1v.5g(0,2)));1z="l";b=b=="m"?"l":"L"}if(1z=="r"){1h.1D([b][3y](1v))}1i{45(1v.1e>=nr[1z]){1h.1D([b][3y](1v.5g(0,nr[1z])));if(!nr[1z]){1p}}}})}1h.3s=R.k3;7I.kI=bi(1h);1b 1h};R.sU=bd(1a(jZ){if(!jZ){1b 1c}K nr={r:3,s:4,t:2,m:6},1h=[];if(R.is(jZ,3J)&&R.is(jZ[0],3J)){1h=bi(jZ)}if(!1h.1e){3Z(jZ).3g(Fm,1a(a,b,c){K 1v=[],1z=l0.2u(b);c.3g(wf,1a(a,b){b&&1v.1D(+b)});1h.1D([b][3y](1v))})}1h.3s=R.k3;1b 1h});K eZ=1a(ps){K p=eZ.ps=eZ.ps||{};if(p[ps]){p[ps].q8=100}1i{p[ps]={q8:100}}6F(1a(){1o(K 1q in p){if(p[3o](1q)&&1q!=ps){p[1q].q8--;!p[1q].q8&&3X p[1q]}}});1b p[ps]};R.mQ=1a(5y,6c,65,68,7e,77,7p,7g,t){K t1=1-t,wg=5W(t1,3),wh=5W(t1,2),t2=t*t,t3=t2*t,x=wg*5y+wh*3*t*65+t1*3*t*t*7e+t3*7p,y=wg*6c+wh*3*t*68+t1*3*t*t*77+t3*7g,mx=5y+2*t*(65-5y)+t2*(7e-2*65+5y),my=6c+2*t*(68-6c)+t2*(77-2*68+6c),nx=65+2*t*(7e-65)+t2*(7p-2*7e+65),ny=68+2*t*(77-68)+t2*(7g-2*77+68),ax=t1*5y+t*65,ay=t1*6c+t*68,cx=t1*7e+t*7p,cy=t1*77+t*7g,dv=90-3w.wc(mx-nx,my-ny)*cD/PI;(mx>nx||my<ny)&&(dv+=cD);1b{x:x,y:y,m:{x:mx,y:my},n:{x:nx,y:ny},2J:{x:ax,y:ay},4y:{x:cx,y:cy},dv:dv}};R.wi=1a(5y,6c,65,68,7e,77,7p,7g){if(!R.is(5y,"3J")){5y=[5y,6c,65,68,7e,77,7p,7g]}K 2X=w8.3d(1c,5y);1b{x:2X.5U.x,y:2X.5U.y,x2:2X.4w.x,y2:2X.4w.y,1r:2X.4w.x-2X.5U.x,1y:2X.4w.y-2X.5U.y}};R.w2=1a(2X,x,y){1b x>=2X.x&&(x<=2X.x2&&(y>=2X.y&&y<=2X.y2))};R.vs=1a(6S,6O){K i=R.w2;1b i(6O,6S.x,6S.y)||(i(6O,6S.x2,6S.y)||(i(6O,6S.x,6S.y2)||(i(6O,6S.x2,6S.y2)||(i(6S,6O.x,6O.y)||(i(6S,6O.x2,6O.y)||(i(6S,6O.x,6O.y2)||(i(6S,6O.x2,6O.y2)||(6S.x<6O.x2&&6S.x>6O.x||6O.x<6S.x2&&6O.x>6S.x)&&(6S.y<6O.y2&&6S.y>6O.y||6O.y<6S.y2&&6O.y>6S.y))))))))};1a wd(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 ga(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,G9=[-0.Fp,0.Fp,-0.Fq,0.Fq,-0.Fr,0.Fr,-0.FJ,0.FJ,-0.G1,0.G1,-0.G2,0.G2],FX=[0.G3,0.G3,0.FY,0.FY,0.FZ,0.FZ,0.G0,0.G0,0.G4,0.G4,0.G8,0.G8],wm=0;1o(K i=0;i<n;i++){K ct=z2*G9[i]+z2,we=wd(ct,x1,x2,x3,x4),wl=wd(ct,y1,y2,y3,y4),FN=we*we+wl*wl;wm+=FX[i]*3w.9x(FN)}1b z2*wm}1a Gx(x1,y1,x2,y2,x3,y3,x4,y4,ll){if(ll<0||ga(x1,y1,x2,y2,x3,y3,x4,y4)<ll){1b}K t=1,kv=t/2,t2=t-kv,l,e=0.Ip;l=ga(x1,y1,x2,y2,x3,y3,x4,y4,t2);45(49(l-ll)>e){kv/=2;t2+=(l<ll?1:-1)*kv;l=ga(x1,y1,x2,y2,x3,y3,x4,y4,t2)}1b t2}1a yO(x1,y1,x2,y2,x3,y3,x4,y4){if(4O(x1,x2)<5V(x3,x4)||(5V(x1,x2)>4O(x3,x4)||(4O(y1,y2)<5V(y3,y4)||5V(y1,y2)>4O(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),qK=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4);if(!qK){1b}K px=nx/ qK, py = ny /qK,nb=+px.4p(2),mR=+py.4p(2);if(nb<+5V(x1,x2).4p(2)||(nb>+4O(x1,x2).4p(2)||(nb<+5V(x3,x4).4p(2)||(nb>+4O(x3,x4).4p(2)||(mR<+5V(y1,y2).4p(2)||(mR>+4O(y1,y2).4p(2)||(mR<+5V(y3,y4).4p(2)||mR>+4O(y3,y4).4p(2)))))))){1b}1b{x:px,y:py}}1a XT(8C,8O){1b pB(8C,8O)}1a XW(8C,8O){1b pB(8C,8O,1)}1a pB(8C,8O,fY){K 6S=R.wi(8C),6O=R.wi(8O);if(!R.vs(6S,6O)){1b fY?0:[]}K l1=ga.3d(0,8C),l2=ga.3d(0,8O),n1=4O(~~(l1/ 5), 1), n2 = 4O(~~(l2 /5),1),qw=[],pG=[],xy={},1A=fY?0:[];1o(K i=0;i<n1+1;i++){K p=R.mQ.3d(R,8C.3y(i/n1));qw.1D({x:p.x,y:p.y,t:i/n1})}1o(i=0;i<n2+1;i++){p=R.mQ.3d(R,8O.3y(i/n2));pG.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=qw[i],jX=qw[i+1],dj=pG[j],jW=pG[j+1],ci=49(jX.x-di.x)<0.pt?"y":"x",cj=49(jW.x-dj.x)<0.pt?"y":"x",is=yO(di.x,di.y,jX.x,jX.y,dj.x,dj.y,jW.x,jW.y);if(is){if(xy[is.x.4p(4)]==is.y.4p(4)){aN}xy[is.x.4p(4)]=is.y.4p(4);K t1=di.t+49((is[ci]-di[ci])/ (jX[ci] - di[ci])) * (jX.t - di.t), t2 = dj.t + 49((is[cj] - dj[cj]) /(jW[cj]-dj[cj]))*(jW.t-dj.t);if(t1>=0&&(t1<=1.pt&&(t2>=0&&t2<=1.pt))){if(fY){1A++}1i{1A.1D({x:is.x,y:is.y,t1:5V(t1,1),t2:5V(t2,1)})}}}}}1b 1A}R.Y7=1a(9N,87){1b q3(9N,87)};R.Ya=1a(9N,87){1b q3(9N,87,1)};1a q3(9N,87,fY){9N=R.tf(9N);87=R.tf(87);K x1,y1,x2,y2,oi,og,ox,os,8C,8O,1A=fY?0:[];1o(K i=0,ii=9N.1e;i<ii;i++){K pi=9N[i];if(pi[0]=="M"){x1=oi=pi[1];y1=og=pi[2]}1i{if(pi[0]=="C"){8C=[x1,y1].3y(pi.3G(1));x1=8C[6];y1=8C[7]}1i{8C=[x1,y1,x1,y1,oi,og,oi,og];x1=oi;y1=og}1o(K j=0,jj=87.1e;j<jj;j++){K pj=87[j];if(pj[0]=="M"){x2=ox=pj[1];y2=os=pj[2]}1i{if(pj[0]=="C"){8O=[x2,y2].3y(pj.3G(1));x2=8O[6];y2=8O[7]}1i{8O=[x2,y2,x2,y2,ox,os,ox,os];x2=ox;y2=os}K fB=pB(8C,8O,fY);if(fY){1A+=fB}1i{1o(K k=0,kk=fB.1e;k<kk;k++){fB[k].Y9=i;fB[k].Y4=j;fB[k].8C=8C;fB[k].8O=8O}1A=1A.3y(fB)}}}}}1b 1A}R.Gq=1a(1G,x,y){K 2X=R.EK(1G);1b R.w2(2X,x,y)&&q3(1G,[["M",x,y],["H",2X.x2+10]],1)%2==1};R.nU=1a(dK){1b 1a(){2R("47.iB",1c,"hw\\hv: EO sQ Y3 to 44 \\Y6"+dK+"\\Y5 of 59 1C",dK)}};K r3=R.EK=1a(1G){K 7I=eZ(1G);if(7I.2X){1b 5O(7I.2X)}if(!1G){1b{x:0,y:0,1r:0,1y:0,x2:0,y2:0}}1G=hK(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 ob=w8(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);X=X[3y](ob.5U.x,ob.4w.x);Y=Y[3y](ob.5U.y,ob.4w.y);x=p[5];y=p[6]}}K pV=5V[3d](0,X),pR=5V[3d](0,Y),w4=4O[3d](0,X),w5=4O[3d](0,Y),1r=w4-pV,1y=w5-pR,bb={x:pV,y:pR,x2:w4,y2:w5,1r:1r,1y:1y,cx:pV+1r/ 2, cy:pR + 1y /2};7I.2X=5O(bb);1b bb},bi=1a(5k){K 1A=5O(5k);1A.3s=R.k3;1b 1A},ws=R.XH=1a(5k){K 7I=eZ(5k);if(7I.vZ){1b bi(7I.vZ)}if(!R.is(5k,3J)||!R.is(5k&&5k[0],3J)){5k=R.w0(5k)}K 1A=[],x=0,y=0,mx=0,my=0,2J=0;if(5k[0][0]=="M"){x=5k[0][1];y=5k[0][2];mx=x;my=y;2J++;1A.1D(["M",x,y])}1o(K i=2J,ii=5k.1e;i<ii;i++){K r=1A[i]=[],pa=5k[i];if(pa[0]!=l0.2u(pa[0])){r[0]=l0.2u(pa[0]);3r(r[0]){1m"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).4p(3);r[7]=+(pa[7]-y).4p(3);1p;1m"v":r[1]=+(pa[1]-y).4p(3);1p;1m"m":mx=pa[1];my=pa[2];5r:1o(K j=1,jj=pa.1e;j<jj;j++){r[j]=+(pa[j]-(j%2?x:y)).4p(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 6g=1A[i].1e;3r(1A[i][0]){1m"z":x=mx;y=my;1p;1m"h":x+=+1A[i][6g-1];1p;1m"v":y+=+1A[i][6g-1];1p;5r:x+=+1A[i][6g-2];y+=+1A[i][6g-1]}}1A.3s=R.k3;7I.vZ=bi(1A);1b 1A},wD=R.lG=1a(5k){K 7I=eZ(5k);if(7I.49){1b bi(7I.49)}if(!R.is(5k,3J)||!R.is(5k&&5k[0],3J)){5k=R.w0(5k)}if(!5k||!5k.1e){1b[["M",0,0]]}K 1A=[],x=0,y=0,mx=0,my=0,2J=0;if(5k[0][0]=="M"){x=+5k[0][1];y=+5k[0][2];mx=x;my=y;2J++;1A[0]=["M",x,y]}K wa=5k.1e==3&&(5k[0][0]=="M"&&(5k[1][0].8l()=="R"&&5k[2][0].8l()=="Z"));1o(K r,pa,i=2J,ii=5k.1e;i<ii;i++){1A.1D(r=[]);pa=5k[i];if(pa[0]!=w1.2u(pa[0])){r[0]=w1.2u(pa[0]);3r(r[0]){1m"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;1m"V":r[1]=+pa[1]+y;1p;1m"H":r[1]=+pa[1]+x;1p;1m"R":K 5c=[x,y][3y](pa.3G(1));1o(K j=2,jj=5c.1e;j<jj;j++){5c[j]=+5c[j]+x;5c[++j]=+5c[j]+y}1A.dp();1A=1A[3y](w9(5c,wa));1p;1m"M":mx=+pa[1]+x;my=+pa[2]+y;5r:1o(j=1,jj=pa.1e;j<jj;j++){r[j]=+pa[j]+(j%2?x:y)}}}1i{if(pa[0]=="R"){5c=[x,y][3y](pa.3G(1));1A.dp();1A=1A[3y](w9(5c,wa));r=["R"][3y](pa.3G(-2))}1i{1o(K k=0,kk=pa.1e;k<kk;k++){r[k]=pa[k]}}}3r(r[0]){1m"Z":x=mx;y=my;1p;1m"H":x=r[1];1p;1m"V":y=r[1];1p;1m"M":mx=r[r.1e-2];my=r[r.1e-1];5r:x=r[r.1e-2];y=r[r.1e-1]}}1A.3s=R.k3;7I.49=bi(1A);1b 1A},lH=1a(x1,y1,x2,y2){1b[x1,y1,x2,y2,x2,y2]},wB=1a(x1,y1,ax,ay,x2,y2){K lo=1/ 3, l7 = 2 /3;1b[lo*x1+l7*ax,lo*y1+l7*ay,lo*x2+l7*ax,lo*y2+l7*ay,x2,y2]},wF=1a(x1,y1,rx,ry,7o,EA,k8,x2,y2,hg){K wb=PI*XJ/ cD, 8S = PI /cD*(+7o||0),1A=[],xy,5p=bd(1a(x,y,8S){K X=x*3w.8A(8S)-y*3w.8p(8S),Y=x*3w.8p(8S)+y*3w.8A(8S);1b{x:X,y:Y}});if(!hg){xy=5p(x1,y1,-8S);x1=xy.x;y1=xy.y;xy=5p(x2,y2,-8S);x2=xy.x;y2=xy.y;K 8A=3w.8A(PI/ cD * 7o), 8p = 3w.8p(PI /cD*7o),x=(x1-x2)/ 2, y = (y1 - y2) /2;K h=x*x/ (rx * rx) + y * y /(ry*ry);if(h>1){h=3w.9x(h);rx=h*rx;ry=h*ry}K pI=rx*rx,qA=ry*ry,k=(EA==k8?-1:1)*3w.9x(49((pI*qA-pI*y*y-qA*x*x)/ (pI * y * y + qA * x * x))), cx = k * rx * y /ry+(x1+x2)/ 2, cy = k * -ry * x /rx+(y1+y2)/ 2, f1 = 3w.u5(((y1 - cy) /ry).4p(9)),f2=3w.u5(((y2-cy)/ry).4p(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(k8&&f1>f2){f1=f1-PI*2}if(!k8&&f2>f1){f2=f2-PI*2}}1i{f1=hg[0];f2=hg[1];cx=hg[2];cy=hg[3]}K df=f2-f1;if(49(df)>wb){K F9=f2,F7=x2,F8=y2;f2=f1+wb*(k8&&f2>f1?1:-1);x2=cx+rx*3w.8A(f2);y2=cy+ry*3w.8p(f2);1A=wF(x2,y2,rx,ry,7o,0,k8,F7,F8,[f2,F9,cx,cy])}df=f2-f1;K c1=3w.8A(f1),s1=3w.8p(f1),c2=3w.8A(f2),s2=3w.8p(f2),t=3w.F6(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(hg){1b[m2,m3,m4][3y](1A)}1i{1A=[m2,m3,m4][3y](1A).4I()[3q](",");K w7=[];1o(K i=0,ii=1A.1e;i<ii;i++){w7[i]=i%2?5p(1A[i-1],1A[i],8S).y:5p(1A[i],1A[i+1],8S).x}1b w7}},mo=1a(5y,6c,65,68,7e,77,7p,7g,t){K t1=1-t;1b{x:5W(t1,3)*5y+5W(t1,2)*3*t*65+t1*3*t*t*7e+5W(t,3)*7p,y:5W(t1,3)*6c+5W(t1,2)*3*t*68+t1*3*t*t*77+5W(t,3)*7g}},w8=bd(1a(5y,6c,65,68,7e,77,7p,7g){K a=7e-2*65+5y-(7p-2*7e+65),b=2*(65-5y)-2*(7e-65),c=5y-65,t1=(-b+3w.9x(b*b-4*a*c))/ 2 /a,t2=(-b-3w.9x(b*b-4*a*c))/ 2 /a,y=[6c,7g],x=[5y,7p],6J;49(t1)>"qk"&&(t1=0.5);49(t2)>"qk"&&(t2=0.5);if(t1>0&&t1<1){6J=mo(5y,6c,65,68,7e,77,7p,7g,t1);x.1D(6J.x);y.1D(6J.y)}if(t2>0&&t2<1){6J=mo(5y,6c,65,68,7e,77,7p,7g,t2);x.1D(6J.x);y.1D(6J.y)}a=77-2*68+6c-(7g-2*77+68);b=2*(68-6c)-2*(77-68);c=6c-68;t1=(-b+3w.9x(b*b-4*a*c))/ 2 /a;t2=(-b-3w.9x(b*b-4*a*c))/ 2 /a;49(t1)>"qk"&&(t1=0.5);49(t2)>"qk"&&(t2=0.5);if(t1>0&&t1<1){6J=mo(5y,6c,65,68,7e,77,7p,7g,t1);x.1D(6J.x);y.1D(6J.y)}if(t2>0&&t2<1){6J=mo(5y,6c,65,68,7e,77,7p,7g,t2);x.1D(6J.x);y.1D(6J.y)}1b{5U:{x:5V[3d](0,x),y:5V[3d](0,y)},4w:{x:4O[3d](0,x),y:4O[3d](0,y)}}}),hK=R.tf=bd(1a(1G,87){K 7I=!87&&eZ(1G);if(!87&&7I.fq){1b bi(7I.fq)}K p=wD(1G),p2=87&&wD(87),2a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},cX={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},wC=1a(1G,d,lD){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);3r(1G[0]){1m"M":d.X=1G[1];d.Y=1G[2];1p;1m"A":1G=["C"][3y](wF[3d](0,[d.x,d.y][3y](1G.3G(1))));1p;1m"S":if(lD=="C"||lD=="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.3G(1));1p;1m"T":if(lD=="Q"||lD=="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](wB(d.x,d.y,d.qx,d.qy,1G[1],1G[2]));1p;1m"Q":d.qx=1G[1];d.qy=1G[2];1G=["C"][3y](wB(d.x,d.y,1G[1],1G[2],1G[3],1G[4]));1p;1m"L":1G=["C"][3y](lH(d.x,d.y,1G[1],1G[2]));1p;1m"H":1G=["C"][3y](lH(d.x,d.y,1G[1],d.y));1p;1m"V":1G=["C"][3y](lH(d.x,d.y,d.x,1G[1]));1p;1m"Z":1G=["C"][3y](lH(d.x,d.y,d.X,d.Y));1p}1b 1G},wJ=1a(pp,i){if(pp[i].1e>7){pp[i].bA();K pi=pp[i];45(pi.1e){pp.5g(i++,0,["C"][3y](pi.5g(0,6)))}pp.5g(i,1);ii=4O(p.1e,p2&&p2.1e||0)}},wK=1a(9N,87,a1,a2,i){if(9N&&(87&&(9N[i][0]=="M"&&87[i][0]!="M"))){87.5g(i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=9N[i][1];a1.y=9N[i][2];ii=4O(p.1e,p2&&p2.1e||0)}};1o(K i=0,ii=4O(p.1e,p2&&p2.1e||0);i<ii;i++){p[i]=wC(p[i],2a);wJ(p,i);p2&&(p2[i]=wC(p2[i],cX));p2&&wJ(p2,i);wK(p,p2,2a,cX,i);wK(p2,p,cX,2a,i);K ko=p[i],kf=p2&&p2[i],lO=ko.1e,lM=p2&&kf.1e;2a.x=ko[lO-2];2a.y=ko[lO-1];2a.bx=3z(ko[lO-4])||2a.x;2a.by=3z(ko[lO-3])||2a.y;cX.bx=p2&&(3z(kf[lM-4])||cX.x);cX.by=p2&&(3z(kf[lM-3])||cX.y);cX.x=p2&&kf[lM-2];cX.y=p2&&kf[lM-1]}if(!p2){7I.fq=bi(p)}1b p2?[p,p2]:p},1c,bi),Yz=R.ye=bd(1a(3N){K 5c=[];1o(K i=0,ii=3N.1e;i<ii;i++){K 6J={},8H=3N[i].3e(/^([^:]*):?([\\d\\.]*)/);6J.3t=R.bn(8H[1]);if(6J.3t.9q){1b 1c}6J.3t=6J.3t.6b;8H[2]&&(6J.2y=8H[2]+"%");5c.1D(6J)}1o(i=1,ii=5c.1e-1;i<ii;i++){if(!5c[i].2y){K 2J=3z(5c[i-1].2y||0),4y=0;1o(K j=i+1;j<ii;j++){if(5c[j].2y){4y=5c[j].2y;1p}}if(!4y){4y=100;j=ii}4y=3z(4y);K d=(4y-2J)/(j-i+1);1o(;i<j;i++){2J+=d;5c[i].2y=2J+"%"}}}1b 5c}),lu=R.xa=1a(el,2v){el==2v.1P&&(2v.1P=el.3Q);el==2v.4D&&(2v.4D=el.3m);el.3m&&(el.3m.3Q=el.3Q);el.3Q&&(el.3Q.3m=el.3m)},Yu=R.wR=1a(el,2v){if(2v.1P===el){1b}lu(el,2v);el.3m=1c;el.3Q=2v.1P;2v.1P.3m=el;2v.1P=el},Yt=R.wS=1a(el,2v){if(2v.4D===el){1b}lu(el,2v);el.3m=2v.4D;el.3Q=1c;2v.4D.3Q=el;2v.4D=el},Yw=R.wN=1a(el,9u,2v){lu(el,2v);9u==2v.1P&&(2v.1P=el);9u.3m&&(9u.3m.3Q=el);el.3m=9u.3m;el.3Q=9u;9u.3m=el},Yv=R.wO=1a(el,9u,2v){lu(el,2v);9u==2v.4D&&(2v.4D=el);9u.3Q&&(9u.3Q.3m=el);el.3Q=9u.3Q;9u.3Q=el;el.3m=9u},wL=R.wL=1a(1G,3C){K bb=r3(1G),el={1U:{3C:E},6A:1a(){1b bb}};vO(el,3C);1b el.4x},qX=R.qX=1a(1G,3C){1b mO(1G,wL(1G,3C))},vO=R.x8=1a(el,a8){if(a8==1c){1b el.1U.3C}a8=3Z(a8).3g(/\\.{3}|\\x7/g,el.1U.3C||E);K lq=R.sU(a8),4o=0,dx=0,dy=0,sx=1,sy=1,1U=el.1U,m=1S eF;1U.3C=lq||[];if(lq){1o(K i=0,ii=lq.1e;i<ii;i++){K t=lq[i],dm=t.1e,86=3Z(t[0]).3R(),8n=t[0]!=86,dZ=8n?m.kK():0,x1,y1,x2,y2,bb;if(86=="t"&&dm==3){if(8n){x1=dZ.x(0,0);y1=dZ.y(0,0);x2=dZ.x(t[1],t[2]);y2=dZ.y(t[1],t[2]);m.g3(x2-x1,y2-y1)}1i{m.g3(t[1],t[2])}}1i{if(86=="r"){if(dm==2){bb=bb||el.6A(1);m.5p(t[1],bb.x+bb.1r/ 2, bb.y + bb.1y /2);4o+=t[1]}1i{if(dm==4){if(8n){x2=dZ.x(t[2],t[3]);y2=dZ.y(t[2],t[3]);m.5p(t[1],x2,y2)}1i{m.5p(t[1],t[2],t[3])}4o+=t[1]}}}1i{if(86=="s"){if(dm==2||dm==3){bb=bb||el.6A(1);m.8d(t[1],t[dm-1],bb.x+bb.1r/ 2, bb.y + bb.1y /2);sx*=t[1];sy*=t[dm-1]}1i{if(dm==5){if(8n){x2=dZ.x(t[3],t[4]);y2=dZ.y(t[3],t[4]);m.8d(t[1],t[2],x2,y2)}1i{m.8d(t[1],t[2],t[3],t[4])}sx*=t[1];sy*=t[2]}}}1i{if(86=="m"&&dm==7){m.4Z(t[1],t[2],t[3],t[4],t[5],t[6])}}}}1U.g0=1;el.4x=m}}el.4x=m;1U.sx=sx;1U.sy=sy;1U.4o=4o;1U.dx=dx=m.e;1U.dy=dy=m.f;if(sx==1&&(sy==1&&(!4o&&1U.2X))){1U.2X.x+=+dx;1U.2X.y+=+dy}1i{1U.g0=1}},wI=1a(1g){K l=1g[0];3r(l.3R()){1m"t":1b[l,0,0];1m"m":1b[l,1,0,0,1,0,0];1m"r":if(1g.1e==4){1b[l,0,1g[2],1g[3]]}1i{1b[l,0]};1m"s":if(1g.1e==5){1b[l,1,1,1g[3],1g[4]]}1i{if(1g.1e==3){1b[l,1,1]}1i{1b[l,1]}}}},GM=R.YB=1a(t1,t2){t2=3Z(t2).3g(/\\.{3}|\\x7/g,t1);t1=R.sU(t1)||[];t2=R.sU(t2)||[];K Hn=4O(t1.1e,t2.1e),2s=[],to=[],i=0,j,jj,au,dg;1o(;i<Hn;i++){au=t1[i]||wI(t2[i]);dg=t2[i]||wI(au);if(au[0]!=dg[0]||(au[0].3R()=="r"&&(au[2]!=dg[2]||au[3]!=dg[3])||au[0].3R()=="s"&&(au[3]!=dg[3]||au[4]!=dg[4]))){1b}2s[i]=[];to[i]=[];1o(j=0,jj=4O(au.1e,dg.1e);j<jj;j++){j in au&&(2s[i][j]=au[j]);j in dg&&(to[i][j]=dg[j])}}1b{2s:2s,to:to}};R.xw=1a(x,y,w,h){K 4a;4a=h==1c&&!R.is(x,"1C")?g.2Y.dT(x):x;if(4a==1c){1b}if(4a.67){if(y==1c){1b{4a:4a,1r:4a.3b.YH||4a.fI,1y:4a.3b.YJ||4a.bu}}1i{1b{4a:4a,1r:y,1y:w}}}1b{4a:1,x:x,y:y,1r:w,1y:h}};R.ws=ws;R.4A={};R.hK=hK;R.4x=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(9l){9l.4Z=1a(a,b,c,d,e,f){K 2k=[[],[],[]],m=[[J.a,J.c,J.e],[J.b,J.d,J.f],[0,0,1]],4x=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,1A;if(a&&a ea eF){4x=[[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]*4x[z][y]}2k[x][y]=1A}}J.a=2k[0][0];J.b=2k[1][0];J.c=2k[0][1];J.d=2k[1][1];J.e=2k[0][2];J.f=2k[1][2]};9l.kK=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)};9l.5O=1a(){1b 1S eF(J.a,J.b,J.c,J.d,J.e,J.f)};9l.g3=1a(x,y){J.4Z(1,0,0,1,x,y)};9l.8d=1a(x,y,cx,cy){y==1c&&(y=x);(cx||cy)&&J.4Z(1,0,0,1,cx,cy);J.4Z(x,0,0,y,0,0);(cx||cy)&&J.4Z(1,0,0,1,-cx,-cy)};9l.5p=1a(a,x,y){a=R.8S(a);x=x||0;y=y||0;K 8A=+3w.8A(a).4p(9),8p=+3w.8p(a).4p(9);J.4Z(8A,8p,-8p,8A,x,y);J.4Z(1,0,0,1,-x,-y)};9l.x=1a(x,y){1b x*J.a+y*J.c+J.e};9l.y=1a(x,y){1b x*J.b+y*J.d+J.f};9l.4v=1a(i){1b+J[3Z.wt(97+i)].4p(4)};9l.3s=1a(){1b R.43?"4x("+[J.4v(0),J.4v(1),J.4v(2),J.4v(3),J.4v(4),J.4v(5)].4I()+")":[J.4v(0),J.4v(2),J.4v(1),J.4v(3),0,0].4I()};9l.LV=1a(){1b"xR:NH.xQ.eF(YD="+J.4v(0)+", YC="+J.4v(2)+", YF="+J.4v(1)+", YE="+J.4v(3)+", Dx="+J.4v(4)+", Dy="+J.4v(5)+", Yi=\'5N Yd\')"};9l.2y=1a(){1b[J.e.4p(4),J.f.4p(4)]};1a tS(a){1b a[0]*a[0]+a[1]*a[1]}1a wq(a){K wp=3w.9x(tS(a));a[0]&&(a[0]/=wp);a[1]&&(a[1]/=wp)}9l.3q=1a(){K 2k={};2k.dx=J.e;2k.dy=J.f;K 1I=[[J.a,J.c],[J.b,J.d]];2k.f3=3w.9x(tS(1I[0]));wq(1I[0]);2k.gO=1I[0][0]*1I[1][0]+1I[0][1]*1I[1][1];1I[1]=[1I[1][0]-1I[0][0]*2k.gO,1I[1][1]-1I[0][1]*2k.gO];2k.dP=3w.9x(tS(1I[1]));wq(1I[1]);2k.gO/=2k.dP;K 8p=-1I[0][1],8A=1I[1][1];if(8A<0){2k.5p=R.4o(3w.Hw(8A));if(8p<0){2k.5p=8t-2k.5p}}1i{2k.5p=R.4o(3w.u5(8p))}2k.x5=!+2k.gO.4p(9)&&(2k.f3.4p(9)==2k.dP.4p(9)||!2k.5p);2k.Yk=!+2k.gO.4p(9)&&(2k.f3.4p(9)==2k.dP.4p(9)&&!2k.5p);2k.LJ=!+2k.gO.4p(9)&&!2k.5p;1b 2k};9l.Yq=1a(H9){K s=H9||J[3q]();if(s.x5){s.f3=+s.f3.4p(4);s.dP=+s.dP.4p(4);s.5p=+s.5p.4p(4);1b(s.dx||s.dy?"t"+[s.dx,s.dy]:E)+(s.f3!=1||s.dP!=1?"s"+[s.f3,s.dP,0,0]:E)+(s.5p?"r"+[s.5p,0,0]:E)}1i{1b"m"+[J.4v(0),J.4v(1),J.4v(2),J.4v(3),J.4v(4),J.4v(5)]}}})(eF.2T);K 5S=aI.dU.3e(/Yp\\/(.*?)\\s/)||aI.dU.3e(/Ys\\/(\\d+)/);if(aI.Hc=="Yr Ym, Hg."&&(5S&&5S[1]<4||aI.Yl.3G(0,2)=="iP")||aI.Hc=="Yn Hg."&&(5S&&5S[1]<8)){6f.jF=1a(){K 4m=J.4m(-99,-99,J.1r+99,J.1y+99).1k({1X:"3p"});6F(1a(){4m.3v()})}}1i{6f.jF=tY}K 4g=1a(){J.WR=1j},Hd=1a(){1b J.cV.4g()},7Z=1a(){J.WQ=1n},He=1a(){1b J.cV.7Z()},wz=1a(e){K eL=g.2Y.9I.5b||g.2Y.3S.5b,eK=g.2Y.9I.4X||g.2Y.3S.4X;1b{x:e.aM+eK,y:e.az+eL}},HR=1a(){if(g.2Y.bB){1b 1a(1u,1x,fn,1f){K f=1a(e){K 3W=wz(e);1b fn.2u(1f,e,3W.x,3W.y)};1u.bB(1x,f,1j);if(kN&&lk[1x]){K Hf=1a(e){K 3W=wz(e),Hi=e;1o(K i=0,ii=e.ub&&e.ub.1e;i<ii;i++){if(e.ub[i].3l==1u){e=e.ub[i];e.cV=Hi;e.4g=Hd;e.7Z=He;1p}}1b fn.2u(1f,e,3W.x,3W.y)};1u.bB(lk[1x],Hf,1j)}1b 1a(){1u.nX(1x,f,1j);if(kN&&lk[1x]){1u.nX(lk[1x],f,1j)}1b 1n}}}1i{if(g.2Y.gj){1b 1a(1u,1x,fn,1f){K f=1a(e){e=e||g.5h.1H;K eL=g.2Y.9I.5b||g.2Y.3S.5b,eK=g.2Y.9I.4X||g.2Y.3S.4X,x=e.aM+eK,y=e.az+eL;e.4g=e.4g||4g;e.7Z=e.7Z||7Z;1b fn.2u(1f,e,x,y)};1u.gj("on"+1x,f);K HP=1a(){1u.uA("on"+1x,f);1b 1n};1b HP}}}}(),5m=[],rC=1a(e){K x=e.aM,y=e.az,eL=g.2Y.9I.5b||g.2Y.3S.5b,eK=g.2Y.9I.4X||g.2Y.3S.4X,7t,j=5m.1e;45(j--){7t=5m[j];if(kN&&e.g5){K i=e.g5.1e,91;45(i--){91=e.g5[i];if(91.rl==7t.el.d3.id){x=91.aM;y=91.az;(e.cV?e.cV:e).4g();1p}}}1i{e.4g()}K 1s=7t.el.1s,o,3m=1s.iz,1L=1s.3n,5q=1s.3b.5q;g.5h.vr&&1L.7k(1s);1s.3b.5q="3p";o=7t.el.2v.HF(x,y);1s.3b.5q=5q;g.5h.vr&&(3m?1L.79(1s,3m):1L.3D(1s));o&&2R("47.5m.i3."+7t.el.id,7t.el,o);x+=eK;y+=eL;2R("47.5m.dz."+7t.el.id,7t.kg||7t.el,x-7t.el.d3.x,y-7t.el.d3.y,x,y,e)}},rw=1a(e){R.HD(rC).Hz(rw);K i=5m.1e,7t;45(i--){7t=5m[i];7t.el.d3={};2R("47.5m.4y."+7t.el.id,7t.rk||(7t.kW||(7t.kg||7t.el)),e)}5m=[]},3c=R.el={};1o(K i=4u.1e;i--;){(1a(bV){R[bV]=3c[bV]=1a(fn,dQ){if(R.is(fn,"1a")){J.4u=J.4u||[];J.4u.1D({1z:bV,f:fn,7Q:HR(J.bZ||(J.1s||g.2Y),bV,fn,dQ||J)})}1b J};R["un"+bV]=3c["un"+bV]=1a(fn){K 4u=J.4u||[],l=4u.1e;45(l--){if(4u[l].1z==bV&&(R.is(fn,"2N")||4u[l].f==fn)){4u[l].7Q();4u.5g(l,1);!4u.1e&&3X J.4u}}1b J}})(4u[i])}3c.1h=1a(1q,1l){K 1h=gQ[J.id]=gQ[J.id]||{};if(2q.1e==0){1b 1h}if(2q.1e==1){if(R.is(1q,"1C")){1o(K i in 1q){if(1q[3o](i)){J.1h(i,1q[i])}}1b J}2R("47.1h.4v."+J.id,J,1h[1q],1q);1b 1h[1q]}1h[1q]=1l;2R("47.1h.5v."+J.id,J,1l,1q);1b J};3c.sE=1a(1q){if(1q==1c){gQ[J.id]={}}1i{gQ[J.id]&&3X gQ[J.id][1q]}1b J};3c.WS=1a(){1b 5O(gQ[J.id]||{})};3c.6v=1a(rm,tz,wu,HN){1b J.gR(rm,wu).ed(tz,HN||wu)};3c.WP=1a(rm,tz){1b J.WO(rm).WU(tz)};K 6M=[];3c.5m=1a(vY,ww,vq,kg,kW,rk){1a 2J(e){(e.cV||e).4g();K x=e.aM,y=e.az,eL=g.2Y.9I.5b||g.2Y.3S.5b,eK=g.2Y.9I.4X||g.2Y.3S.4X;J.d3.id=e.rl;if(kN&&e.g5){K i=e.g5.1e,91;45(i--){91=e.g5[i];J.d3.id=91.rl;if(91.rl==J.d3.id){x=91.aM;y=91.az;1p}}}J.d3.x=x+eK;J.d3.y=y+eL;!5m.1e&&R.9O(rC).5t(rw);5m.1D({el:J,kg:kg,kW:kW,rk:rk});ww&&2R.on("47.5m.2J."+J.id,ww);vY&&2R.on("47.5m.dz."+J.id,vY);vq&&2R.on("47.5m.4y."+J.id,vq);2R("47.5m.2J."+J.id,kW||(kg||J),e.aM+eK,e.az+eL,e)}J.d3={};6M.1D({el:J,2J:2J});J.7l(2J);1b J};3c.X0=1a(f){f?2R.on("47.5m.i3."+J.id,f):2R.7Q("47.5m.i3."+J.id)};3c.WZ=1a(){K i=6M.1e;45(i--){if(6M[i].el==J){J.X2(6M[i].2J);6M.5g(i,1);2R.7Q("47.5m.*."+J.id)}}!6M.1e&&R.HD(rC).Hz(rw);5m=[]};6f.9k=1a(x,y,r){K 2k=R.4A.9k(J,x||0,y||0,r||0);J.6X&&J.6X.1D(2k);1b 2k};6f.4m=1a(x,y,w,h,r){K 2k=R.4A.4m(J,x||0,y||0,w||0,h||0,r||0);J.6X&&J.6X.1D(2k);1b 2k};6f.aq=1a(x,y,rx,ry){K 2k=R.4A.aq(J,x||0,y||0,rx||0,ry||0);J.6X&&J.6X.1D(2k);1b 2k};6f.1G=1a(8j){8j&&(!R.is(8j,4d)&&(!R.is(8j[0],3J)&&(8j+=E)));K 2k=R.4A.1G(R.6x[3d](R,2q),J);J.6X&&J.6X.1D(2k);1b 2k};6f.8T=1a(4c,x,y,w,h){K 2k=R.4A.8T(J,4c||"HA:xU",x||0,y||0,w||0,h||0);J.6X&&J.6X.1D(2k);1b 2k};6f.1Y=1a(x,y,1Y){K 2k=R.4A.1Y(J,x||0,y||0,3Z(1Y));J.6X&&J.6X.1D(2k);1b 2k};6f.5v=1a(re){!R.is(re,"3J")&&(re=41.2T.5g.2u(2q,0,2q.1e));K 2k=1S ij(re);J.6X&&J.6X.1D(2k);2k["2v"]=J;2k["1x"]="5v";1b 2k};6f.X1=1a(5v){J.6X=5v||J.5v()};6f.WW=1a(5v){K 2k=J.6X;3X J.6X;1b 2k};6f.ie=1a(1r,1y){1b R.4A.ie.2u(J,1r,1y)};6f.fL=1a(x,y,w,h,ac){1b R.4A.fL.2u(J,x,y,w,h,ac)};6f.1P=6f.4D=1c;6f.47=R;K HG=1a(6m){K 54=6m.uD(),2Y=6m.v8,3S=2Y.3S,e5=2Y.9I,jn=e5.jn||(3S.jn||0),jl=e5.jl||(3S.jl||0),1P=54.1P+(g.5h.HJ||(e5.5b||3S.5b))-jn,2b=54.2b+(g.5h.WV||(e5.4X||3S.4X))-jl;1b{y:1P,x:2b}};6f.HF=1a(x,y){K 2v=J,43=2v.1V,3l=g.2Y.qV(x,y);if(g.5h.vr&&3l.67=="43"){K so=HG(43),sr=43.WY();sr.x=x-so.x;sr.y=y-so.y;sr.1r=sr.1y=1;K qM=43.WA(sr,1c);if(qM.1e){3l=qM[qM.1e-1]}}if(!3l){1b 1c}45(3l.3n&&(3l!=43.3n&&!3l.47)){3l=3l.3n}3l==2v.1V.3n&&(3l=43);3l=3l&&3l.47?2v.Gt(3l.x6):1c;1b 3l};6f.Wz=1a(2X){K 5v=J.5v();J.8E(1a(el){if(R.vs(el.6A(),2X)){5v.1D(el)}});1b 5v};6f.Gt=1a(id){K bT=J.4D;45(bT){if(bT.id==id){1b bT}bT=bT.3m}1b 1c};6f.8E=1a(1Z,sh){K bT=J.4D;45(bT){if(1Z.2u(sh,bT)===1j){1b J}bT=bT.3m}1b J};6f.WC=1a(x,y){K 5v=J.5v();J.8E(1a(el){if(el.gv(x,y)){5v.1D(el)}});1b 5v};1a WB(){1b J.x+S+J.y}1a vo(){1b J.x+S+J.y+S+J.1r+" \\Ww "+J.1y}3c.gv=1a(x,y){K rp=J.fc=ba[J.1x](J);if(J.1k("3C")&&J.1k("3C").1e){rp=R.qX(rp,J.1k("3C"))}1b R.Gq(rp,x,y)};3c.6A=1a(Gs){if(J.59){1b{}}K 1U=J.1U;if(Gs){if(1U.7X||!1U.n7){J.fc=ba[J.1x](J);1U.n7=r3(J.fc);1U.n7.3s=vo;1U.7X=0}1b 1U.n7}if(1U.7X||(1U.g0||!1U.2X)){if(1U.7X||!J.fc){1U.n7=0;J.fc=ba[J.1x](J)}1U.2X=r3(mO(J.fc,J.4x));1U.2X.3s=vo;1U.7X=1U.g0=0}1b 1U.2X};3c.5O=1a(){if(J.59){1b 1c}K 2k=J.2v[J.1x]().1k(J.1k());J.6X&&J.6X.1D(2k);1b 2k};3c.bf=1a(bf){if(J.1x=="1Y"){1b 1c}bf=bf||{};K s={1r:(bf.1r||10)+(+J.1k("1X-1r")||1),28:bf.28||1j,2H:bf.2H||0.5,vp:bf.vp||0,vw:bf.vw||0,3t:bf.3t||"#c0"},c=s.1r/2,r=J.2v,2k=r.5v(),1G=J.fc||ba[J.1x](J);1G=J.4x?mO(1G,J.4x):1G;1o(K i=1;i<c+1;i++){2k.1D(r.1G(1G).1k({1X:s.3t,28:s.28?s.3t:"3p","1X-hL":"4K","1X-cd":"4K","1X-1r":+(s.1r/ c * i).4p(3), 2H:+(s.2H /c).4p(3)}))}1b 2k.79(J).g3(s.vp,s.vw)};K Wy={},su=1a(5y,6c,65,68,7e,77,7p,7g,1e){if(1e==1c){1b ga(5y,6c,65,68,7e,77,7p,7g)}1i{1b R.mQ(5y,6c,65,68,7e,77,7p,7g,Gx(5y,6c,65,68,7e,77,7p,7g,1e))}},rJ=1a(vt,rR){1b 1a(1G,1e,Gf){1G=hK(1G);K x,y,p,l,sp="",nB={},6r,6g=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=su(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);if(6g+l>1e){if(rR&&!nB.2J){6r=su(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1e-6g);sp+=["C"+6r.2J.x,6r.2J.y,6r.m.x,6r.m.y,6r.x,6r.y];if(Gf){1b sp}nB.2J=sp;sp=["M"+6r.x,6r.y+"C"+6r.n.x,6r.n.y,6r.4y.x,6r.4y.y,p[5],p[6]].4I();6g+=l;x=+p[5];y=+p[6];aN}if(!vt&&!rR){6r=su(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1e-6g);1b{x:6r.x,y:6r.y,dv:6r.dv}}}6g+=l;x=+p[5];y=+p[6]}sp+=p.bA()+p}nB.4y=sp;6r=vt?6g:rR?nB:R.mQ(x,y,p[0],p[1],p[2],p[3],p[4],p[5],1);6r.dv&&(6r={x:6r.x,y:6r.y,dv:6r.dv});1b 6r}};K bQ=rJ(1),mW=rJ(),rO=rJ(0,1);R.bQ=bQ;R.mW=mW;R.kR=1a(1G,2s,to){if(J.bQ(1G)-to<1E-6){1b rO(1G,2s).4y}K a=rO(1G,to,1);1b 2s?rO(a,2s).4y:a};3c.bQ=1a(){K 1G=J.ba();if(!1G){1b}if(J.1s.bQ){1b J.1s.bQ()}1b bQ(1G)};3c.mW=1a(1e){K 1G=J.ba();if(!1G){1b}1b mW(1G,1e)};3c.ba=1a(){K 1G,ba=R.yp[J.1x];if(J.1x=="1Y"||J.1x=="5v"){1b}if(ba){1G=ba(J)}1b 1G};3c.kR=1a(2s,to){K 1G=J.ba();if(!1G){1b}1b R.kR(1G,2s,to)};K ef=R.CV={lI:1a(n){1b n},"<":1a(n){1b 5W(n,1.7)},">":1a(n){1b 5W(n,0.48)},"<>":1a(n){K q=0.48-n/ 1.WI, Q = 3w.9x(0.WL + q * q), x = Q - q, X = 5W(49(x), 1 /3)*(x<0?-1:1),y=-Q-q,Y=5W(49(y),1/3)*(y<0?-1:1),t=X+Y+0.5;1b(1-t)*3*t*t+t*t*t},Gl:1a(n){K s=1.Gm;1b n*n*((s+1)*n-s)},GV:1a(n){n=n-1;K s=1.Gm;1b n*n*((s+1)*n+s)+1},WE:1a(n){if(n==!!n){1b n}1b 5W(2,-10*n)*3w.8p((n-0.Go)*(2*PI)/0.3)+1},WG:1a(n){K s=7.X3,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.Xq}1i{n-=2.Xp/p;l=s*n*n+0.Xs}}}1b l}};ef.Xr=ef["va-in"]=ef["<"];ef.Xm=ef["va-2k"]=ef[">"];ef.Xl=ef["va-in-2k"]=ef["<>"];ef["vc-in"]=ef.Gl;ef["vc-2k"]=ef.GV;K 4T=[],vL=3M.Xt||(3M.Xz||(3M.Xy||(3M.XB||(3M.XA||1a(1Z){6F(1Z,16)})))),6Q=1a(){K GU=+1S 5i,l=0;1o(;l<4T.1e;l++){K e=4T[l];if(e.el.59||e.vM){aN}K eQ=GU-e.2J,ms=e.ms,5C=e.5C,2s=e.2s,5x=e.5x,to=e.to,t=e.t,6i=e.el,5v={},7b,7Y={},1q;if(e.ip){eQ=(e.ip*e.2A.1P-e.3Q)/(e.b2-e.3Q)*ms;e.6I=e.ip;3X e.ip;e.5F&&4T.5g(l--,1)}1i{e.6I=(e.3Q+(e.b2-e.3Q)*(eQ/ ms)) /e.2A.1P}if(eQ<0){aN}if(eQ<ms){K 3W=5C(eQ/ms);1o(K 1k in 2s){if(2s[3o](1k)){3r(rM[1k]){1m nu:7b=+2s[1k]+3W*ms*5x[1k];1p;1m"9A":7b="3F("+[rf(4K(2s[1k].r+3W*ms*5x[1k].r)),rf(4K(2s[1k].g+3W*ms*5x[1k].g)),rf(4K(2s[1k].b+3W*ms*5x[1k].b))].4I(",")+")";1p;1m"1G":7b=[];1o(K i=0,ii=2s[1k].1e;i<ii;i++){7b[i]=[2s[1k][i][0]];1o(K j=1,jj=2s[1k][i].1e;j<jj;j++){7b[i][j]=+2s[1k][i][j]+3W*ms*5x[1k][i][j]}7b[i]=7b[i].4I(S)}7b=7b.4I(S);1p;1m"3C":if(5x[1k].GN){7b=[];1o(i=0,ii=2s[1k].1e;i<ii;i++){7b[i]=[2s[1k][i][0]];1o(j=1,jj=2s[1k][i].1e;j<jj;j++){7b[i][j]=2s[1k][i][j]+3W*ms*5x[1k][i][j]}}}1i{K 4v=1a(i){1b+2s[1k][i]+3W*ms*5x[1k][i]};7b=[["m",4v(0),4v(1),4v(2),4v(3),4v(4),4v(5)]]}1p;1m"vP":if(1k=="69-4m"){7b=[];i=4;45(i--){7b[i]=+2s[1k][i]+3W*ms*5x[1k][i]}}1p;5r:K hq=[][3y](2s[1k]);7b=[];i=6i.2v.8z[1k].1e;45(i--){7b[i]=+hq[i]+3W*ms*5x[1k][i]}1p}5v[1k]=7b}}6i.1k(5v);(1a(id,6i,2A){6F(1a(){2R("47.2A.sa."+id,6i,2A)})})(6i.id,6i,e.2A)}1i{(1a(f,el,a){6F(1a(){2R("47.2A.sa."+el.id,el,a);2R("47.2A.Xv."+el.id,el,a);R.is(f,"1a")&&f.2u(el)})})(e.1Z,6i,e.2A);6i.1k(to);4T.5g(l--,1);if(e.ik>1&&!e.3m){1o(1q in to){if(to[3o](1q)){7Y[1q]=e.gs[1q]}}e.el.1k(7Y);ic(e.2A,e.el,e.2A.8h[0],1c,e.gs,e.ik-1)}if(e.3m&&!e.5F){ic(e.2A,e.el,e.3m,1c,e.gs,e.ik)}}}R.43&&(6i&&(6i.2v&&6i.2v.jF()));4T.1e&&vL(6Q)},rf=1a(3t){1b 3t>eO?eO:3t<0?0:3t};3c.E2=1a(el,2A,1v,ms,5C,1Z){K 1f=J;if(1f.59){1Z&&1Z.2u(1f);1b 1f}K a=1v ea d1?1v:R.6Q(1v,ms,5C,1Z),x,y;ic(a,1f,a.8h[0],1c,1f.1k());1o(K i=0,ii=4T.1e;i<ii;i++){if(4T[i].2A==2A&&4T[i].el==el){4T[ii-1].2J=4T[i].2J;1p}}1b 1f};1a CJ(t,5y,6c,7p,7g,6K){K cx=3*5y,bx=3*(7p-5y)-cx,ax=1-cx-bx,cy=3*6c,by=3*(7g-6c)-cy,ay=1-cy-by;1a vm(t){1b((ax*t+bx)*t+cx)*t}1a GJ(x,nN){K t=H1(x,nN);1b((ay*t+by)*t+cy)*t}1a H1(x,nN){K t0,t1,t2,x2,d2,i;1o(t2=x,i=0;i<8;i++){x2=vm(t2)-x;if(49(x2)<nN){1b t2}d2=(3*ax*t2+2*bx)*t2+cx;if(49(d2)<1E-6){1p}t2=t2-x2/d2}t0=0;t1=1;t2=x;if(t2<t0){1b t0}if(t2>t1){1b t1}45(t0<t1){x2=vm(t2);if(49(x2-x)<nN){1b t2}if(x>x2){t0=t2}1i{t1=t2}t2=(t1-t0)/2+t0}1b t2}1b GJ(t,1/(fO*6K))}3c.X8=1a(f){f?2R.on("47.2A.sa."+J.id,f):2R.7Q("47.2A.sa."+J.id);1b J};1a d1(2A,ms){K 8h=[],vi={};J.ms=ms;J.cJ=1;if(2A){1o(K 1k in 2A){if(2A[3o](1k)){vi[3z(1k)]=2A[1k];8h.1D(3z(1k))}}8h.g4(GG)}J.2A=vi;J.1P=8h[8h.1e-1];J.8h=8h}d1.2T.eW=1a(eW){K a=1S d1(J.2A,J.ms);a.cJ=J.cJ;a.sB=+eW||0;1b a};d1.2T.ik=1a(cJ){K a=1S d1(J.2A,J.ms);a.sB=J.sB;a.cJ=3w.gg(4O(cJ,0))||1;1b a};1a ic(2A,1f,b2,6I,gs,cJ){b2=3z(b2);K 1v,gb,sI,8h=[],3m,3Q,nI,ms=2A.ms,2s={},to={},5x={};if(6I){1o(i=0,ii=4T.1e;i<ii;i++){K e=4T[i];if(e.el.id==1f.id&&e.2A==2A){if(e.b2!=b2){4T.5g(i,1);sI=1}1i{gb=e}1f.1k(e.gs);1p}}}1i{6I=+to}1o(K i=0,ii=2A.8h.1e;i<ii;i++){if(2A.8h[i]==b2||2A.8h[i]>6I*2A.1P){b2=2A.8h[i];3Q=2A.8h[i-1]||0;ms=ms/2A.1P*(b2-3Q);3m=2A.8h[i+1];1v=2A.2A[b2];1p}1i{if(6I){1f.1k(2A.2A[2A.8h[i]])}}}if(!1v){1b}if(!gb){1o(K 1k in 1v){if(1v[3o](1k)){if(rM[3o](1k)||1f.2v.8z[3o](1k)){2s[1k]=1f.1k(1k);2s[1k]==1c&&(2s[1k]=GO[1k]);to[1k]=1v[1k];3r(rM[1k]){1m nu:5x[1k]=(to[1k]-2s[1k])/ms;1p;1m"9A":2s[1k]=R.bn(2s[1k]);K rN=R.bn(to[1k]);5x[1k]={r:(rN.r-2s[1k].r)/ ms, g:(rN.g - 2s[1k].g) /ms,b:(rN.b-2s[1k].b)/ms};1p;1m"1G":K vj=hK(2s[1k],to[1k]),GL=vj[1];2s[1k]=vj[0];5x[1k]=[];1o(i=0,ii=2s[1k].1e;i<ii;i++){5x[1k][i]=[0];1o(K j=1,jj=2s[1k][i].1e;j<jj;j++){5x[1k][i][j]=(GL[i][j]-2s[1k][i][j])/ms}}1p;1m"3C":K 1U=1f.1U,eq=GM(1U[1k],to[1k]);if(eq){2s[1k]=eq.2s;to[1k]=eq.to;5x[1k]=[];5x[1k].GN=1n;1o(i=0,ii=2s[1k].1e;i<ii;i++){5x[1k][i]=[2s[1k][i][0]];1o(j=1,jj=2s[1k][i].1e;j<jj;j++){5x[1k][i][j]=(to[1k][i][j]-2s[1k][i][j])/ms}}}1i{K m=1f.4x||1S eF,eM={1U:{3C:1U.3C},6A:1a(){1b 1f.6A(1)}};2s[1k]=[m.a,m.b,m.c,m.d,m.e,m.f];vO(eM,to[1k]);to[1k]=eM.1U.3C;5x[1k]=[(eM.4x.a-m.a)/ ms, (eM.4x.b - m.b) /ms,(eM.4x.c-m.c)/ ms, (eM.4x.d - m.d) /ms,(eM.4x.e-m.e)/ ms, (eM.4x.f - m.f) /ms]}1p;1m"vP":K 2I=3Z(1v[1k])[3q](5n),hq=3Z(2s[1k])[3q](5n);if(1k=="69-4m"){2s[1k]=hq;5x[1k]=[];i=hq.1e;45(i--){5x[1k][i]=(2I[i]-2s[1k][i])/ms}}to[1k]=2I;1p;5r:2I=[][3y](1v[1k]);hq=[][3y](2s[1k]);5x[1k]=[];i=1f.2v.8z[1k].1e;45(i--){5x[1k][i]=((2I[i]||0)-(hq[i]||0))/ms}1p}}}}K 5C=1v.5C,eo=R.CV[5C];if(!eo){eo=3Z(5C).3e(CW);if(eo&&eo.1e==5){K fq=eo;eo=1a(t){1b CJ(t,+fq[1],+fq[2],+fq[3],+fq[4],ms)}}1i{eo=CH}}nI=1v.2J||(2A.2J||+1S 5i);e={2A:2A,b2:b2,nI:nI,2J:nI+(2A.sB||0),6I:0,ip:6I||0,5F:1j,ms:ms,5C:eo,2s:2s,5x:5x,to:to,el:1f,1Z:1v.1Z,3Q:3Q,3m:3m,ik:cJ||2A.cJ,fj:1f.1k(),gs:gs};4T.1D(e);if(6I&&(!gb&&!sI)){e.5F=1n;e.2J=1S 5i-ms*6I;if(4T.1e==1){1b 6Q()}}if(sI){e.2J=1S 5i-e.ms*6I}4T.1e==1&&vL(6Q)}1i{gb.ip=6I;gb.2J=1S 5i-gb.ms*6I}2R("47.2A.2J."+1f.id,1f,2A)}R.6Q=1a(1v,ms,5C,1Z){if(1v ea d1){1b 1v}if(R.is(5C,"1a")||!5C){1Z=1Z||(5C||1c);5C=1c}1v=4E(1v);ms=+ms||0;K p={},e1,1k;1o(1k in 1v){if(1v[3o](1k)&&(3z(1k)!=1k&&3z(1k)+"%"!=1k)){e1=1n;p[1k]=1v[1k]}}if(!e1){1b 1S d1(1v,ms)}1i{5C&&(p.5C=5C);1Z&&(p.1Z=1Z);1b 1S d1({100:p},ms)}};3c.4F=1a(1v,ms,5C,1Z){K 1f=J;if(1f.59){1Z&&1Z.2u(1f);1b 1f}K 2A=1v ea d1?1v:R.6Q(1v,ms,5C,1Z);ic(2A,1f,2A.8h[0],1c,1f.1k());1b 1f};3c.Xa=1a(2A,1l){if(2A&&1l!=1c){J.6I(2A,5V(1l,2A.ms)/2A.ms)}1b J};3c.6I=1a(2A,1l){K 2k=[],i=0,6g,e;if(1l!=1c){ic(2A,J,-1,5V(1l,1));1b J}1i{6g=4T.1e;1o(;i<6g;i++){e=4T[i];if(e.el.id==J.id&&(!2A||e.2A==2A)){if(2A){1b e.6I}2k.1D({2A:e.2A,6I:e.6I})}}if(2A){1b 0}1b 2k}};3c.D1=1a(2A){1o(K i=0;i<4T.1e;i++){if(4T[i].el.id==J.id&&(!2A||4T[i].2A==2A)){if(2R("47.2A.D1."+J.id,J,4T[i].2A)!==1j){4T[i].vM=1n}}}1b J};3c.Cm=1a(2A){1o(K i=0;i<4T.1e;i++){if(4T[i].el.id==J.id&&(!2A||4T[i].2A==2A)){K e=4T[i];if(2R("47.2A.Cm."+J.id,J,e.2A)!==1j){3X e.vM;J.6I(e.2A,e.6I)}}}1b J};3c.5F=1a(2A){1o(K i=0;i<4T.1e;i++){if(4T[i].el.id==J.id&&(!2A||4T[i].2A==2A)){if(2R("47.2A.5F."+J.id,J,4T[i].2A)!==1j){4T.5g(i--,1)}}}1b J};1a vV(2v){1o(K i=0;i<4T.1e;i++){if(4T[i].el.2v==2v){4T.5g(i--,1)}}}2R.on("47.3v",vV);2R.on("47.aD",vV);3c.3s=1a(){1b"hw\\hv\\X5 1C"};K ij=1a(1F){J.1F=[];J.1e=0;J.1x="5v";if(1F){1o(K i=0,ii=1F.1e;i<ii;i++){if(1F[i]&&(1F[i].4V==3c.4V||1F[i].4V==ij)){J[J.1F.1e]=J.1F[J.1F.1e]=1F[i];J.1e++}}}},6U=ij.2T;6U.1D=1a(){K 1g,6g;1o(K i=0,ii=2q.1e;i<ii;i++){1g=2q[i];if(1g&&(1g.4V==3c.4V||1g.4V==ij)){6g=J.1F.1e;J[6g]=J.1F[6g]=1g;J.1e++}}1b J};6U.dp=1a(){J.1e&&3X J[J.1e--];1b J.1F.dp()};6U.8E=1a(1Z,sh){1o(K i=0,ii=J.1F.1e;i<ii;i++){if(1Z.2u(sh,J.1F[i],i)===1j){1b J}}1b J};1o(K 44 in 3c){if(3c[3o](44)){6U[44]=1a(dK){1b 1a(){K 4i=2q;1b J.8E(1a(el){el[dK][3d](el,4i)})}}(44)}}6U.1k=1a(1z,1l){if(1z&&(R.is(1z,3J)&&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,1l)}}1b J};6U.aD=1a(){45(J.1e){J.dp()}};6U.5g=1a(1O,6z,X4){1O=1O<0?4O(J.1e+1O,0):1O;6z=4O(0,5V(J.1e-1O,6z));K sc=[],vX=[],2f=[],i;1o(i=2;i<2q.1e;i++){2f.1D(2q[i])}1o(i=0;i<6z;i++){vX.1D(J[1O+i])}1o(;i<J.1e-1O;i++){sc.1D(J[1O+i])}K nA=2f.1e;1o(i=0;i<nA+sc.1e;i++){J.1F[1O+i]=J[1O+i]=i<nA?2f[i]:sc[i-nA]}i=J.1F.1e=J.1e-=6z-nA;45(J[i]){3X J[i++]}1b 1S ij(vX)};6U.x9=1a(el){1o(K i=0,ii=J.1e;i<ii;i++){if(J[i]==el){J.5g(i,1);1b 1n}}};6U.4F=1a(1v,ms,5C,1Z){(R.is(5C,"1a")||!5C)&&(1Z=5C||1c);K 6g=J.1F.1e,i=6g,1g,5v=J,ss;if(!6g){1b J}1Z&&(ss=1a(){!--6g&&1Z.2u(5v)});5C=R.is(5C,4d)?5C:ss;K 2A=R.6Q(1v,ms,5C,ss);1g=J.1F[--i].4F(2A);45(i--){J.1F[i]&&(!J.1F[i].59&&J.1F[i].E2(1g,2A,2A));J.1F[i]&&!J.1F[i].59||6g--}1b J};6U.dX=1a(el){K i=J.1F.1e;45(i--){J.1F[i].dX(el)}1b J};6U.6A=1a(){K x=[],y=[],x2=[],y2=[];1o(K i=J.1F.1e;i--;){if(!J.1F[i].59){K 54=J.1F[i].6A();x.1D(54.x);y.1D(54.y);x2.1D(54.x+54.1r);y2.1D(54.y+54.1y)}}x=5V[3d](0,x);y=5V[3d](0,y);x2=4O[3d](0,x2);y2=4O[3d](0,y2);1b{x:x,y:y,x2:x2,y2:y2,1r:x2-x,1y:y2-y}};6U.5O=1a(s){s=J.2v.5v();1o(K i=0,ii=J.1F.1e;i<ii;i++){s.1D(J.1F[i].5O())}1b s};6U.3s=1a(){1b"hw\\hv\\X7 5v"};6U.bf=1a(DS){K 7S=J.2v.5v();J.8E(1a(bZ,1O){K g=bZ.bf(DS);if(g!=1c){g.8E(1a(DT,X6){7S.1D(DT)})}});1b 7S};6U.gv=1a(x,y){K gv=1j;J.8E(1a(el){if(el.gv(x,y)){gv=1n;1b 1j}});1b gv};R.Xc=1a(2K){if(!2K.8D){1b 2K}J.cZ=J.cZ||{};K go={w:2K.w,8D:{},fh:{}},8b=2K.8D["2K-8b"];1o(K 6N in 2K.8D){if(2K.8D[3o](6N)){go.8D[6N]=2K.8D[6N]}}if(J.cZ[8b]){J.cZ[8b].1D(go)}1i{J.cZ[8b]=[go]}if(!2K.43){go.8D["vD-vE-em"]=9D(2K.8D["vD-vE-em"],10);1o(K mN in 2K.fh){if(2K.fh[3o](mN)){K 1G=2K.fh[mN];go.fh[mN]={w:1G.w,k:{},d:1G.d&&"M"+1G.d.3g(/[Xi]/g,1a(86){1b{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[86]||"M"})+"z"};if(1G.k){1o(K k in 1G.k){if(1G[3o](k)){go.fh[mN].k[k]=1G.k[k]}}}}}}1b 2K};6f.Dn=1a(8b,9M,3b,n5){n5=n5||"r4";3b=3b||"r4";9M=+9M||({r4:ol,Xh:Xk,Xj:rr,Xe:oU}[9M]||ol);if(!R.cZ){1b}K 2K=R.cZ[8b];if(!2K){K 1z=1S cY("(^|\\\\s)"+8b.3g(/[^\\w\\d\\s+!~.:1U-]/g,E)+"(\\\\s|$)","i");1o(K r0 in R.cZ){if(R.cZ[3o](r0)){if(1z.9F(r0)){2K=R.cZ[r0];1p}}}}K gG;if(2K){1o(K i=0,ii=2K.1e;i<ii;i++){gG=2K[i];if(gG.8D["2K-9M"]==9M&&((gG.8D["2K-3b"]==3b||!gG.8D["2K-3b"])&&gG.8D["2K-n5"]==n5)){1p}}}1b gG};6f.Xd=1a(x,y,4d,2K,56,fj,qO,qP){fj=fj||"xK";qO=4O(5V(qO||0,1),-1);qP=4O(5V(qP||1,3),1);K ki=3Z(4d)[3q](E),bA=0,ov=0,1G=E,8d;R.is(2K,"4d")&&(2K=J.Dn(2K));if(2K){8d=(56||16)/2K.8D["vD-vE-em"];K bb=2K.8D.2X[3q](5n),1P=+bb[0],r8=bb[3]-bb[1],vz=0,1y=+bb[1]+(fj=="Xg"?r8+ +2K.8D.Xf:r8/2);1o(K i=0,ii=ki.1e;i<ii;i++){if(ki[i]=="\\n"){bA=0;nS=0;ov=0;vz+=r8*qP}1i{K 3Q=ov&&2K.fh[ki[i-1]]||{},nS=2K.fh[ki[i]];bA+=ov?(3Q.w||2K.w)+(3Q.k&&3Q.k[ki[i]]||0)+2K.w*qO:0;ov=1}if(nS&&nS.d){1G+=R.qX(nS.d,["t",bA*8d,vz*8d,"s",8d,8d,1P,1y,"t",(x-1P)/ 8d, (y - 1y) /8d])}}}1b J.1G(1G).1k({28:"#c0",1X:"3p"})};6f.4Z=1a(e1){if(R.is(e1,"3J")){K 1A=J.5v(),i=0,ii=e1.1e,j;1o(;i<ii;i++){j=e1[i]||{};9S[3o](j.1x)&&1A.1D(J[j.1x]().1k(j))}}1b 1A};R.6x=1a(cC,1v){K 2f=R.is(1v,3J)?[0][3y](1v):2q;cC&&(R.is(cC,4d)&&(2f.1e-1&&(cC=cC.3g(DB,1a(76,i){1b 2f[++i]==1c?E:2f[i]}))));1b cC||E};R.YK=1a(){K Ee=/\\{([^\\}]+)\\}/g,Du=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[(\'|")(.+?)\\2\\])(\\(\\))?/g,Ea=1a(6l,1q,1u){K 1A=1u;1q.3g(Du,1a(6l,1z,Dd,Dl,Eb){1z=1z||Dl;if(1A){if(1z in 1A){1A=1A[1z]}2M 1A=="1a"&&(Eb&&(1A=1A()))}});1A=(1A==1c||1A==1u?6l:1A)+"";1b 1A};1b 1a(76,1u){1b 5j(76).3g(Ee,1a(6l,1q){1b Ea(6l,1q,1u)})}}();R.ZR=1a(){pv.xt?g.5h.aK=pv.is:3X aK;1b R};R.st=6U;(1a(2Y,ag,f){if(2Y.o4==1c&&2Y.bB){2Y.bB(ag,f=1a(){2Y.nX(ag,f,1j);2Y.o4="Ko"},1j);2Y.o4="t8"}1a vA(){/in/.9F(2Y.o4)?6F(vA,9):R.2R("47.ib")}vA()})(2O,"ZS");2R.on("47.ib",1a(){ag=1n});(1a(){if(!R.43){1b}K 3o="7U",3Z=5j,3z=du,9D=6n,3w=3H,4O=3w.4w,49=3w.49,5W=3w.5W,5n=/[, ]+/,2R=R.2R,E="",S=" ";K cR="6G://m6.w3.uf/ZN/cR",DV={70:"M5,0 0,2.5 5,5z",lZ:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",tH:"M2.5,0 5,2.5 2.5,5 0,2.5z",6Y:"M6,1 1,3.5 6,6",sW:"M2.5,ZV.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,ZE"},bR={};R.3s=1a(){1b"NJ oV ZF cB.\\NO sQ yn hw\\hv "+J.5S};K $=1a(el,1k){if(1k){if(2M el=="4d"){el=$(el)}1o(K 1q in 1k){if(1k[3o](1q)){if(1q.fa(0,6)=="cR:"){el.mi(cR,1q.fa(6),3Z(1k[1q]))}1i{el.a4(1q,3Z(1k[1q]))}}}}1i{el=R.7G.2Y.ZG("6G://m6.w3.uf/CX/43",el);el.3b&&(el.3b.ZB="vK(0,0,0,0)")}1b el},lN=1a(1f,3N){K 1x="lI",id=1f.id+3N,fx=0.5,fy=0.5,o=1f.1s,cB=1f.2v,s=o.3b,el=R.7G.2Y.dT(id);if(!el){3N=3Z(3N).3g(R.yi,1a(6l,vF,vG){1x="oT";if(vF&&vG){fx=3z(vF);fy=3z(vG);K vH=(fy>0.5)*2-1;5W(fx-0.5,2)+5W(fy-0.5,2)>0.25&&((fy=3w.9x(0.25-5W(fx-0.5,2))*vH+0.5)&&(fy!=0.5&&(fy=fy.4p(5)-1E-5*vH)))}1b E});3N=3N.3q(/\\s*\\-\\s*/);if(1x=="lI"){K 7o=3N.bA();7o=-3z(7o);if(aE(7o)){1b 1c}K 8x=[0,0,3w.8A(R.8S(7o)),3w.8p(R.8S(7o))],4w=1/(4O(49(8x[2]),49(8x[3]))||1);8x[2]*=4w;8x[3]*=4w;if(8x[2]<0){8x[0]=-8x[2];8x[2]=0}if(8x[3]<0){8x[1]=-8x[3];8x[3]=0}}K 5c=R.ye(3N);if(!5c){1b 1c}id=id.3g(/[\\(\\)\\s,\\xV#]/g,"1U");if(1f.3N&&id!=1f.3N.id){cB.dl.7k(1f.3N);3X 1f.3N}if(!1f.3N){el=$(1x+"10g",{id:id});1f.3N=el;$(el,1x=="oT"?{fx:fx,fy:fy}:{x1:8x[0],y1:8x[1],x2:8x[2],y2:8x[3],10i:1f.4x.kK()});cB.dl.3D(el);1o(K i=0,ii=5c.1e;i<ii;i++){el.3D($("5F",{2y:5c[i].2y?5c[i].2y:i?"100%":"0%","5F-3t":5c[i].3t||"#j9"}))}}}$(o,{28:"5a(#"+id+")",2H:1,"28-2H":1});s.28=E;s.2H=1;s.10d=1;1b 1},kB=1a(o){K 2X=o.6A(1);$(o.cG,{10f:o.4x.kK()+" g3("+2X.x+","+2X.y+")"})},bC=1a(o,1l,eg){if(o.1x=="1G"){K 2I=3Z(1l).3R().3q("-"),p=o.2v,se=eg?"4y":"2J",1s=o.1s,2a=o.2a,1X=2a["1X-1r"],i=2I.1e,1x="lZ",2s,to,dx,kP,1k,w=3,h=3,t=5;45(i--){3r(2I[i]){1m"70":;1m"lZ":;1m"sW":;1m"tH":;1m"6Y":;1m"3p":1x=2I[i];1p;1m"LX":h=5;1p;1m"LY":h=2;1p;1m"Lu":w=5;1p;1m"Lv":w=2;1p}}if(1x=="6Y"){w+=2;h+=2;t+=2;dx=1;kP=eg?4:1;1k={28:"3p",1X:2a.1X}}1i{kP=dx=w/2;1k={28:2a.1X,1X:"3p"}}if(o.1U.4C){if(eg){o.1U.4C.Cz&&bR[o.1U.4C.Cz]--;o.1U.4C.Cu&&bR[o.1U.4C.Cu]--}1i{o.1U.4C.DZ&&bR[o.1U.4C.DZ]--;o.1U.4C.DP&&bR[o.1U.4C.DP]--}}1i{o.1U.4C={}}if(1x!="3p"){K gd="47-d5-"+1x,g9="47-d5-"+se+1x+w+h;if(!R.7G.2Y.dT(gd)){p.dl.3D($($("1G"),{"1X-cd":"4K",d:DV[1x],id:gd}));bR[gd]=1}1i{bR[gd]++}K d5=R.7G.2Y.dT(g9),gc;if(!d5){d5=$($("d5"),{id:g9,10k:h,10l:w,104:"5N",kP:kP,105:h/2});gc=$($("gc"),{"cR:5d":"#"+gd,3C:(eg?"5p(cD "+w/ 2 + " " + h /2+") ":E)+"8d("+w/ t + "," + h /t+")","1X-1r":(1/ ((w /t+h/ t) /2)).4p(4)});d5.3D(gc);p.dl.3D(d5);bR[g9]=1}1i{bR[g9]++;gc=d5.c6("gc")[0]}$(gc,1k);K rh=dx*(1x!="tH"&&1x!="sW");if(eg){2s=o.1U.4C.DC*1X||0;to=R.bQ(2a.1G)-rh*1X}1i{2s=rh*1X;to=R.bQ(2a.1G)-(o.1U.4C.DE*1X||0)}1k={};1k["d5-"+se]="5a(#"+g9+")";if(to||2s){1k.d=R.kR(2a.1G,2s,to)}$(1s,1k);o.1U.4C[se+"mv"]=gd;o.1U.4C[se+"DD"]=g9;o.1U.4C[se+"dx"]=rh;o.1U.4C[se+"4B"]=1x;o.1U.4C[se+"5j"]=1l}1i{if(eg){2s=o.1U.4C.DC*1X||0;to=R.bQ(2a.1G)-2s}1i{2s=0;to=R.bQ(2a.1G)-(o.1U.4C.DE*1X||0)}o.1U.4C[se+"mv"]&&$(1s,{d:R.kR(2a.1G,2s,to)});3X o.1U.4C[se+"mv"];3X o.1U.4C[se+"DD"];3X o.1U.4C[se+"dx"];3X o.1U.4C[se+"4B"];3X o.1U.4C[se+"5j"]}1o(1k in bR){if(bR[3o](1k)&&!bR[1k]){K 1g=R.7G.2Y.dT(1k);1g&&1g.3n.7k(1g)}}}},96={"":[0],"3p":[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]},y7=1a(o,1l,1v){1l=96[3Z(1l).3R()];if(1l){K 1r=o.2a["1X-1r"]||"1",iA={4K:1r,yw:1r,iA:0}[o.2a["1X-cd"]||1v["1X-cd"]]||0,xT=[],i=1l.1e;45(i--){xT[i]=1l[i]*1r+(i%2?1:-1)*iA}$(o.1s,{"1X-96":xT.4I(",")})}},cQ=1a(o,1v){K 1s=o.1s,2a=o.2a,Ej=1s.3b.hp;1s.3b.hp="71";1o(K 6H in 1v){if(1v[3o](6H)){if(!R.ir[3o](6H)){aN}K 1l=1v[6H];2a[6H]=1l;3r(6H){1m"4Q":o.4Q(1l);1p;1m"6h":K 6h=1s.c6("6h");if(6h.1e&&(6h=6h[0])){6h.7F.Dw=1l}1i{6h=$("6h");K 2h=R.7G.2Y.xH(1l);6h.3D(2h);1s.3D(6h)}1p;1m"5d":;1m"3l":K pn=1s.3n;if(pn.67.3R()!="a"){K hl=$("a");pn.79(hl,1s);hl.3D(1s);pn=hl}if(6H=="3l"){pn.mi(cR,"5e",1l=="xU"?"1S":1l)}1i{pn.mi(cR,6H,1l)}1p;1m"iv":1s.3b.iv=1l;1p;1m"3C":o.3C(1l);1p;1m"aF-2J":bC(o,1l);1p;1m"aF-4y":bC(o,1l,1);1p;1m"69-4m":K 4m=3Z(1l).3q(5n);if(4m.1e==4){o.69&&o.69.3n.3n.7k(o.69.3n);K el=$("10b"),rc=$("4m");el.id=R.kC();$(rc,{x:4m[0],y:4m[1],1r:4m[2],1y:4m[3]});el.3D(rc);o.2v.dl.3D(el);$(1s,{"69-1G":"5a(#"+el.id+")"});o.69=rc}if(!1l){K 1G=1s.xY("69-1G");if(1G){K 69=R.7G.2Y.dT(1G.3g(/(^5a\\(#|\\)$)/g,E));69&&69.3n.7k(69);$(1s,{"69-1G":E});3X o.69}}1p;1m"1G":if(o.1x=="1G"){$(1s,{d:1l?2a.1G=R.lG(1l):"M0,0"});o.1U.7X=1;if(o.1U.4C){"jD"in o.1U.4C&&bC(o,o.1U.4C.jD);"jA"in o.1U.4C&&bC(o,o.1U.4C.jA,1)}}1p;1m"1r":1s.a4(6H,1l);o.1U.7X=1;if(2a.fx){6H="x";1l=2a.x}1i{1p};1m"x":if(2a.fx){1l=-2a.x-(2a.1r||0)};1m"rx":if(6H=="rx"&&o.1x=="4m"){1p};1m"cx":1s.a4(6H,1l);o.cG&&kB(o);o.1U.7X=1;1p;1m"1y":1s.a4(6H,1l);o.1U.7X=1;if(2a.fy){6H="y";1l=2a.y}1i{1p};1m"y":if(2a.fy){1l=-2a.y-(2a.1y||0)};1m"ry":if(6H=="ry"&&o.1x=="4m"){1p};1m"cy":1s.a4(6H,1l);o.cG&&kB(o);o.1U.7X=1;1p;1m"r":if(o.1x=="4m"){$(1s,{rx:1l,ry:1l})}1i{1s.a4(6H,1l)}o.1U.7X=1;1p;1m"4c":if(o.1x=="8T"){1s.mi(cR,"5d",1l)}1p;1m"1X-1r":if(o.1U.sx!=1||o.1U.sy!=1){1l/=4O(49(o.1U.sx),49(o.1U.sy))||1}if(o.2v.mb){1l*=o.2v.mb}1s.a4(6H,1l);if(2a["1X-96"]){y7(o,2a["1X-96"],1v)}if(o.1U.4C){"jD"in o.1U.4C&&bC(o,o.1U.4C.jD);"jA"in o.1U.4C&&bC(o,o.1U.4C.jA,1)}1p;1m"1X-96":y7(o,1l,1v);1p;1m"28":K eU=3Z(1l).3e(R.yl);if(eU){el=$("cG");K ig=$("8T");el.id=R.kC();$(el,{x:0,y:0,108:"103",1y:1,1r:1});$(ig,{x:0,y:0,"cR:5d":eU[1]});el.3D(ig);(1a(el){R.ym(eU[1],1a(){K w=J.fI,h=J.bu;$(el,{1r:w,1y:h});$(ig,{1r:w,1y:h});o.2v.jF()})})(el);o.2v.dl.3D(el);$(1s,{28:"5a(#"+el.id+")"});o.cG=el;o.cG&&kB(o);1p}K 3u=R.bn(1l);if(!3u.9q){3X 1v.3N;3X 2a.3N;!R.is(2a.2H,"2N")&&(R.is(1v.2H,"2N")&&$(1s,{2H:2a.2H}));!R.is(2a["28-2H"],"2N")&&(R.is(1v["28-2H"],"2N")&&$(1s,{"28-2H":2a["28-2H"]}))}1i{if((o.1x=="9k"||(o.1x=="aq"||3Z(1l).b7()!="r"))&&lN(o,1l)){if("2H"in 2a||"28-2H"in 2a){K 3N=R.7G.2Y.dT(1s.xY("28").3g(/^5a\\(#|\\)$/g,E));if(3N){K jB=3N.c6("5F");$(jB[jB.1e-1],{"5F-2H":("2H"in 2a?2a.2H:1)*("28-2H"in 2a?2a["28-2H"]:1)})}}2a.3N=1l;2a.28="3p";1p}}3u[3o]("2H")&&$(1s,{"28-2H":3u.2H>1?3u.2H/100:3u.2H});1m"1X":3u=R.bn(1l);1s.a4(6H,3u.6b);6H=="1X"&&(3u[3o]("2H")&&$(1s,{"1X-2H":3u.2H>1?3u.2H/100:3u.2H}));if(6H=="1X"&&o.1U.4C){"jD"in o.1U.4C&&bC(o,o.1U.4C.jD);"jA"in o.1U.4C&&bC(o,o.1U.4C.jA,1)}1p;1m"3N":(o.1x=="9k"||(o.1x=="aq"||3Z(1l).b7()!="r"))&&lN(o,1l);1p;1m"2H":if(2a.3N&&!2a[3o]("1X-2H")){$(1s,{"1X-2H":1l>1?1l/100:1l})};1m"28-2H":if(2a.3N){3N=R.7G.2Y.dT(1s.xY("28").3g(/^5a\\(#|\\)$/g,E));if(3N){jB=3N.c6("5F");$(jB[jB.1e-1],{"5F-2H":1l})}1p};5r:6H=="2K-56"&&(1l=9D(1l,10)+"px");K E7=6H.3g(/(\\-.)/g,1a(w){1b w.fa(1).8l()});1s.3b[E7]=1l;o.1U.7X=1;1s.a4(6H,1l);1p}}}E6(o,1v);1s.3b.hp=Ej},xJ=1.2,E6=1a(el,1v){if(el.1x!="1Y"||!(1v[3o]("1Y")||(1v[3o]("2K")||(1v[3o]("2K-56")||(1v[3o]("x")||1v[3o]("y")))))){1b}K a=el.2a,1s=el.1s,d0=1s.7F?9D(R.7G.2Y.iW.pe(1s.7F,E).E5("2K-56"),10):10;if(1v[3o]("1Y")){a.1Y=1v.1Y;45(1s.7F){1s.7k(1s.7F)}K y0=3Z(1v.1Y).3q("\\n"),gJ=[],fd;1o(K i=0,ii=y0.1e;i<ii;i++){fd=$("fd");i&&$(fd,{dy:d0*xJ,x:a.x});fd.3D(R.7G.2Y.xH(y0[i]));1s.3D(fd);gJ[i]=fd}}1i{gJ=1s.c6("fd");1o(i=0,ii=gJ.1e;i<ii;i++){if(i){$(gJ[i],{dy:d0*xJ,x:a.x})}1i{$(gJ[0],{dy:0})}}}$(1s,{x:a.x,y:a.y});el.1U.7X=1;K bb=el.ma(),u2=a.y-(bb.y+bb.1y/2);u2&&(R.is(u2,"kF")&&$(gJ[0],{dy:u2}))},9T=1a(1s,43){K X=0,Y=0;J[0]=J.1s=1s;1s.47=1n;J.id=R.xF++;1s.x6=J.id;J.4x=R.4x();J.fc=1c;J.2v=43;J.2a=J.2a||{};J.1U={3C:[],sx:1,sy:1,4o:0,dx:0,dy:0,7X:1};!43.4D&&(43.4D=J);J.3Q=43.1P;43.1P&&(43.1P.3m=J);43.1P=J;J.3m=1c},3c=R.el;9T.2T=3c;3c.4V=9T;R.4A.1G=1a(8j,cB){K el=$("1G");cB.1V&&cB.1V.3D(el);K p=1S 9T(el,cB);p.1x="1G";cQ(p,{28:"3p",1X:"#c0",1G:8j});1b p};3c.5p=1a(4o,cx,cy){if(J.59){1b J}4o=3Z(4o).3q(5n);if(4o.1e-1){cx=3z(4o[1]);cy=3z(4o[2])}4o=3z(4o[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2X=J.6A(1);cx=2X.x+2X.1r/2;cy=2X.y+2X.1y/2}J.3C(J.1U.3C.3y([["r",4o,cx,cy]]));1b J};3c.8d=1a(sx,sy,cx,cy){if(J.59){1b J}sx=3Z(sx).3q(5n);if(sx.1e-1){sy=3z(sx[1]);cx=3z(sx[2]);cy=3z(sx[3])}sx=3z(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2X=J.6A(1)}cx=cx==1c?2X.x+2X.1r/2:cx;cy=cy==1c?2X.y+2X.1y/2:cy;J.3C(J.1U.3C.3y([["s",sx,sy,cx,cy]]));1b J};3c.g3=1a(dx,dy){if(J.59){1b J}dx=3Z(dx).3q(5n);if(dx.1e-1){dy=3z(dx[1])}dx=3z(dx[0])||0;dy=+dy||0;J.3C(J.1U.3C.3y([["t",dx,dy]]));1b J};3c.3C=1a(a8){K 1U=J.1U;if(a8==1c){1b 1U.3C}R.x8(J,a8);J.69&&$(J.69,{3C:J.4x.kK()});J.cG&&kB(J);J.1s&&$(J.1s,{3C:J.4x});if(1U.sx!=1||1U.sy!=1){K sw=J.2a[3o]("1X-1r")?J.2a["1X-1r"]:1;J.1k({"1X-1r":sw})}1b J};3c.3I=1a(){!J.59&&J.2v.jF(J.1s.3b.5q="3p");1b J};3c.5e=1a(){!J.59&&J.2v.jF(J.1s.3b.5q="");1b J};3c.3v=1a(){if(J.59||!J.1s.3n){1b}K 2v=J.2v;2v.6X&&2v.6X.x9(J);2R.7Q("47.*.*."+J.id);if(J.3N){2v.dl.7k(J.3N)}R.xa(J,2v);if(J.1s.3n.67.3R()=="a"){J.1s.3n.3n.7k(J.1s.3n)}1i{J.1s.3n.7k(J.1s)}1o(K i in J){J[i]=2M J[i]=="1a"?R.nU(i):1c}J.59=1n};3c.ma=1a(){if(J.1s.3b.5q=="3p"){J.5e();K 3I=1n}K 2X={};7q{2X=J.1s.6A()}7h(e){}Z3{2X=2X||{}}3I&&J.3I();1b 2X};3c.1k=1a(1z,1l){if(J.59){1b J}if(1z==1c){K 1A={};1o(K a in J.2a){if(J.2a[3o](a)){1A[a]=J.2a[a]}}1A.3N&&(1A.28=="3p"&&((1A.28=1A.3N)&&3X 1A.3N));1A.3C=J.1U.3C;1b 1A}if(1l==1c&&R.is(1z,"4d")){if(1z=="28"&&(J.2a.28=="3p"&&J.2a.3N)){1b J.2a.3N}if(1z=="3C"){1b J.1U.3C}K 7m=1z.3q(5n),2k={};1o(K i=0,ii=7m.1e;i<ii;i++){1z=7m[i];if(1z in J.2a){2k[1z]=J.2a[1z]}1i{if(R.is(J.2v.8z[1z],"1a")){2k[1z]=J.2v.8z[1z].LS}1i{2k[1z]=R.ir[1z]}}}1b ii-1?2k:2k[7m[0]]}if(1l==1c&&R.is(1z,"3J")){2k={};1o(i=0,ii=1z.1e;i<ii;i++){2k[1z[i]]=J.1k(1z[i])}1b 2k}if(1l!=1c){K 1v={};1v[1z]=1l}1i{if(1z!=1c&&R.is(1z,"1C")){1v=1z}}1o(K 1q in 1v){2R("47.1k."+1q+"."+J.id,J,1v[1q])}1o(1q in J.2v.8z){if(J.2v.8z[3o](1q)&&(1v[3o](1q)&&R.is(J.2v.8z[1q],"1a"))){K 8H=J.2v.8z[1q].3d(J,[].3y(1v[1q]));J.2a[1q]=1v[1q];1o(K bI in 8H){if(8H[3o](bI)){1v[bI]=8H[bI]}}}}cQ(J,1v);1b J};3c.NE=1a(){if(J.59){1b J}if(J.1s.3n.67.3R()=="a"){J.1s.3n.3n.3D(J.1s.3n)}1i{J.1s.3n.3D(J.1s)}K 43=J.2v;43.1P!=J&&R.wR(J,43);1b J};3c.Nz=1a(){if(J.59){1b J}K 1L=J.1s.3n;if(1L.67.3R()=="a"){1L.3n.79(J.1s.3n,J.1s.3n.3n.7F)}1i{if(1L.7F!=J.1s){1L.79(J.1s,J.1s.3n.7F)}}R.wS(J,J.2v);K 43=J.2v;1b J};3c.dX=1a(1f){if(J.59){1b J}K 1s=1f.1s||1f[1f.1e-1].1s;if(1s.iz){1s.3n.79(J.1s,1s.iz)}1i{1s.3n.3D(J.1s)}R.wN(J,1f,J.2v);1b J};3c.79=1a(1f){if(J.59){1b J}K 1s=1f.1s||1f[0].1s;1s.3n.79(J.1s,1s);R.wO(J,1f,J.2v);1b J};3c.4Q=1a(56){K t=J;if(+56!==0){K jv=$("4s"),4Q=$("YY");t.2a.4Q=56;jv.id=R.kC();$(4Q,{YZ:+56||1.5});jv.3D(4Q);t.2v.dl.3D(jv);t.mg=jv;$(t.1s,{4s:"5a(#"+jv.id+")"})}1i{if(t.mg){t.mg.3n.7k(t.mg);3X t.mg;3X t.2a.4Q}t.1s.Z7("4s")}1b t};R.4A.9k=1a(43,x,y,r){K el=$("9k");43.1V&&43.1V.3D(el);K 1A=1S 9T(el,43);1A.2a={cx:x,cy:y,r:r,28:"3p",1X:"#c0"};1A.1x="9k";$(el,1A.2a);1b 1A};R.4A.4m=1a(43,x,y,w,h,r){K el=$("4m");43.1V&&43.1V.3D(el);K 1A=1S 9T(el,43);1A.2a={x:x,y:y,1r:w,1y:h,r:r||0,rx:r||0,ry:r||0,28:"3p",1X:"#c0"};1A.1x="4m";$(el,1A.2a);1b 1A};R.4A.aq=1a(43,x,y,rx,ry){K el=$("aq");43.1V&&43.1V.3D(el);K 1A=1S 9T(el,43);1A.2a={cx:x,cy:y,rx:rx,ry:ry,28:"3p",1X:"#c0"};1A.1x="aq";$(el,1A.2a);1b 1A};R.4A.8T=1a(43,4c,x,y,w,h){K el=$("8T");$(el,{x:x,y:y,1r:w,1y:h,D6:"3p"});el.mi(cR,"5d",4c);43.1V&&43.1V.3D(el);K 1A=1S 9T(el,43);1A.2a={x:x,y:y,1r:w,1y:h,4c:4c};1A.1x="8T";1b 1A};R.4A.1Y=1a(43,x,y,1Y){K el=$("1Y");43.1V&&43.1V.3D(el);K 1A=1S 9T(el,43);1A.2a={x:x,y:y,"1Y-y9":"xK",1Y:1Y,2K:R.ir.2K,1X:"3p",28:"#c0"};1A.1x="1Y";cQ(1A,1A.2a);1b 1A};R.4A.ie=1a(1r,1y){J.1r=1r||J.1r;J.1y=1y||J.1y;J.1V.a4("1r",J.1r);J.1V.a4("1y",J.1y);if(J.fP){J.fL.3d(J,J.fP)}1b J};R.4A.7P=1a(){K ab=R.xw.3d(0,2q),4a=ab&&ab.4a,x=ab.x,y=ab.y,1r=ab.1r,1y=ab.1y;if(!4a){9w 1S 9j("cB 4a 5Q 8N.")}K aR=$("43"),31="hO:71;",xL;x=x||0;y=y||0;1r=1r||J4;1y=1y||J5;$(aR,{1y:1y,5S:1.1,1r:1r,NM:"6G://m6.w3.uf/CX/43"});if(4a==1){aR.3b.fJ=31+"2G:8n;2b:"+x+"px;1P:"+y+"px";R.7G.2Y.3S.3D(aR);xL=1}1i{aR.3b.fJ=31+"2G:mK";if(4a.7F){4a.79(aR,4a.7F)}1i{4a.3D(aR)}}4a=1S R.xx;4a.1r=1r;4a.1y=1y;4a.1V=aR;4a.aD();4a.tb=4a.tc=0;xL&&(4a.pW=1a(){});4a.pW();1b 4a};R.4A.fL=1a(x,y,w,h,ac){2R("47.fL",J,J.fP,[x,y,w,h,ac]);K 56=4O(w/ J.1r, h /J.1y),1P=J.1P,D8=ac?"Z9":"Z5",vb,sw;if(x==1c){if(J.mb){56=1}3X J.mb;vb="0 0 "+J.1r+S+J.1y}1i{J.mb=56;vb=x+S+y+S+w+S+h}$(J.1V,{YX:vb,D6:D8});45(56&&1P){sw="1X-1r"in 1P.2a?1P.2a["1X-1r"]:1;1P.1k({"1X-1r":sw});1P.1U.7X=1;1P.1U.g0=1;1P=1P.3Q}J.fP=[x,y,w,h,!!ac];1b J};R.2T.pW=1a(){K aR=J.1V,s=aR.3b,3W;7q{3W=aR.YQ()||aR.CK()}7h(e){3W=aR.CK()}K 2b=-3W.e%1,1P=-3W.f%1;if(2b||1P){if(2b){J.tb=(J.tb+2b)%1;s.2b=J.tb+"px"}if(1P){J.tc=(J.tc+1P)%1;s.1P=J.tc+"px"}}};R.2T.aD=1a(){R.2R("47.aD",J);K c=J.1V;45(c.7F){c.7k(c.7F)}J.4D=J.1P=1c;(J.xI=$("xI")).3D(R.7G.2Y.xH("YL fG hw\\hv "+R.5S));c.3D(J.xI);c.3D(J.dl=$("dl"))};R.2T.3v=1a(){2R("47.3v",J);J.1V.3n&&J.1V.3n.7k(J.1V);1o(K i in J){J[i]=2M J[i]=="1a"?R.nU(i):1c}};K 6U=R.st;1o(K 44 in 3c){if(3c[3o](44)&&!6U[3o](44)){6U[44]=1a(dK){1b 1a(){K 4i=2q;1b J.8E(1a(el){el[dK].3d(el,4i)})}}(44)}}})();(1a(){if(!R.5J){1b}K 3o="7U",3Z=5j,3z=du,3w=3H,4K=3w.4K,4O=3w.4w,5V=3w.5U,49=3w.49,hI="28",5n=/[, ]+/,2R=R.2R,ms=" xR:NH.xQ",S=" ",E="",eJ={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},MU=/([xM]),?([^xM]*)/gi,N5=/ xR:\\S+N4\\([^\\)]+\\)/g,2h=/-?[^,\\s-]+/g,wU="2G:8n;2b:0;1P:0;1r:iE;1y:iE",6C=YU,Lq={1G:1,4m:1,8T:1},LE={9k:1,aq:1},LH=1a(1G){K ti=/[YV]/ig,86=R.lG;3Z(1G).3e(ti)&&(86=R.tf);ti=/[xM]/g;if(86==R.lG&&!3Z(1G).3e(ti)){K 1A=3Z(1G).3g(MU,1a(6l,86,2f){K iH=[],MW=86.3R()=="m",1A=eJ[86];2f.3g(2h,1a(1l){if(MW&&iH.1e==2){1A+=iH+eJ[86=="m"?"l":"L"];iH=[]}iH.1D(4K(1l*6C))});1b 1A+iH});1b 1A}K pa=86(1G),p,r;1A=[];1o(K i=0,ii=pa.1e;i<ii;i++){p=pa[i];r=pa[i][0].3R();r=="z"&&(r="x");1o(K j=1,jj=p.1e;j<jj;j++){r+=4K(p[j]*6C)+(j!=jj-1?",":E)}1A.1D(r)}1b 1A.4I(S)},xO=1a(4o,dx,dy){K m=R.4x();m.5p(-4o,0.5,0.5);1b{dx:m.x(dx,dy),dy:m.y(dx,dy)}},l9=1a(p,sx,sy,dx,dy,4o){K 1U=p.1U,m=p.4x,cb=1U.cb,o=p.1s,s=o.3b,y=1,iK="",YT,kx=6C/ sx, ky = 6C /sy;s.hp="71";if(!sx||!sy){1b}o.oF=49(kx)+S+49(ky);s.Za=4o*(sx*sy<0?-1:1);if(4o){K c=xO(4o,dx,dy);dx=c.dx;dy=c.dy}sx<0&&(iK+="x");sy<0&&((iK+=" y")&&(y=-1));s.iK=iK;o.jG=dx*-kx+S+dy*-ky;if(cb||1U.hR){K 28=o.c6(hI);28=28&&28[0];o.7k(28);if(cb){c=xO(4o,m.x(cb[0],cb[1]),m.y(cb[0],cb[1]));28.2G=c.dx*y+S+c.dy*y}if(1U.hR){28.56=1U.hR[0]*49(sx)+S+1U.hR[1]*49(sy)}o.3D(28)}s.hp="6P"};R.3s=1a(){1b"NJ oV Zp\\Zx cE cB. Zv dw to g8.\\NO sQ yn hw\\hv "+J.5S};K bC=1a(o,1l,eg){K 2I=3Z(1l).3R().3q("-"),se=eg?"4y":"2J",i=2I.1e,1x="lZ",w="M4",h="M4";45(i--){3r(2I[i]){1m"70":;1m"lZ":;1m"sW":;1m"tH":;1m"6Y":;1m"3p":1x=2I[i];1p;1m"LX":;1m"LY":h=2I[i];1p;1m"Lu":;1m"Lv":w=2I[i];1p}}K 1X=o.1s.c6("1X")[0];1X[se+"aF"]=1x;1X[se+"Zw"]=w;1X[se+"Ze"]=h},cQ=1a(o,1v){o.2a=o.2a||{};K 1s=o.1s,a=o.2a,s=1s.3b,xy,yk=Lq[o.1x]&&(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)))))))),Ly=LE[o.1x]&&(a.cx!=1v.cx||(a.cy!=1v.cy||(a.r!=1v.r||(a.rx!=1v.rx||a.ry!=1v.ry)))),1A=o;1o(K 8H in 1v){if(1v[3o](8H)){a[8H]=1v[8H]}}if(yk){a.1G=R.yp[o.1x](o);o.1U.7X=1}1v.5d&&(1s.5d=1v.5d);1v.6h&&(1s.6h=1v.6h);1v.3l&&(1s.3l=1v.3l);1v.iv&&(s.iv=1v.iv);"4Q"in 1v&&o.4Q(1v.4Q);if(1v.1G&&o.1x=="1G"||yk){1s.1G=LH(~3Z(a.1G).3R().4Y("r")?R.lG(a.1G):a.1G);if(o.1x=="8T"){o.1U.cb=[a.x,a.y];o.1U.hR=[a.1r,a.1y];l9(o,1,1,0,0,0)}}"3C"in 1v&&o.3C(1v.3C);if(Ly){K cx=+a.cx,cy=+a.cy,rx=+a.rx||(+a.r||0),ry=+a.ry||(+a.r||0);1s.1G=R.6x("ar{0},{1},{2},{3},{4},{1},{4},{1}x",4K((cx-rx)*6C),4K((cy-ry)*6C),4K((cx+rx)*6C),4K((cy+ry)*6C),4K(cx*6C));o.1U.7X=1}if("69-4m"in 1v){K 4m=3Z(1v["69-4m"]).3q(5n);if(4m.1e==4){4m[2]=+4m[2]+ +4m[0];4m[3]=+4m[3]+ +4m[1];K 2E=1s.ly||R.7G.2Y.cp("2E"),hQ=2E.3b;hQ.69=R.6x("4m({1}px {2}px {3}px {0}px)",4m);if(!1s.ly){hQ.2G="8n";hQ.1P=0;hQ.2b=0;hQ.1r=o.2v.1r+"px";hQ.1y=o.2v.1y+"px";1s.3n.79(2E,1s);2E.3D(1s);1s.ly=2E}}if(!1v["69-4m"]){1s.ly&&(1s.ly.3b.69="5N")}}if(o.c3){K iu=o.c3.3b;1v.2K&&(iu.2K=1v.2K);1v["2K-8b"]&&(iu.Mf=\'"\'+1v["2K-8b"].3q(",")[0].3g(/^[\'"]+|[\'"]+$/g,E)+\'"\');1v["2K-56"]&&(iu.d0=1v["2K-56"]);1v["2K-9M"]&&(iu.Mb=1v["2K-9M"]);1v["2K-3b"]&&(iu.Mc=1v["2K-3b"])}if("aF-2J"in 1v){bC(1A,1v["aF-2J"])}if("aF-4y"in 1v){bC(1A,1v["aF-4y"],1)}if(1v.2H!=1c||(1v["1X-1r"]!=1c||(1v.28!=1c||(1v.4c!=1c||(1v.1X!=1c||(1v["1X-1r"]!=1c||(1v["1X-2H"]!=1c||(1v["28-2H"]!=1c||(1v["1X-96"]!=1c||(1v["1X-lx"]!=1c||(1v["1X-hL"]!=1c||1v["1X-cd"]!=1c))))))))))){K 28=1s.c6(hI),MG=1j;28=28&&28[0];!28&&(MG=28=cl(hI));if(o.1x=="8T"&&1v.4c){28.4c=1v.4c}1v.28&&(28.on=1n);if(28.on==1c||(1v.28=="3p"||1v.28===1c)){28.on=1j}if(28.on&&1v.28){K eU=3Z(1v.28).3e(R.yl);if(eU){28.3n==1s&&1s.7k(28);28.5p=1n;28.4c=eU[1];28.1x="Nc";K 2X=o.6A(1);28.2G=2X.x+S+2X.y;o.1U.cb=[2X.x,2X.y];R.ym(eU[1],1a(){o.1U.hR=[J.fI,J.bu]})}1i{28.3t=R.bn(1v.28).6b;28.4c=E;28.1x="lp";if(R.bn(1v.28).9q&&((1A.1x in{9k:1,aq:1}||3Z(1v.28).b7()!="r")&&lN(1A,1v.28,28))){a.28="3p";a.3N=1v.28;28.5p=1j}}}if("28-2H"in 1v||"2H"in 1v){K 2H=((+a["28-2H"]+1||2)-1)*((+a.2H+1||2)-1)*((+R.bn(1v.28).o+1||2)-1);2H=5V(4O(2H,0),1);28.2H=2H;if(28.4c){28.3t="3p"}}1s.3D(28);K 1X=1s.c6("1X")&&1s.c6("1X")[0],yb=1j;!1X&&(yb=1X=cl("1X"));if(1v.1X&&1v.1X!="3p"||(1v["1X-1r"]||(1v["1X-2H"]!=1c||(1v["1X-96"]||(1v["1X-lx"]||(1v["1X-hL"]||1v["1X-cd"])))))){1X.on=1n}(1v.1X=="3p"||(1v.1X===1c||(1X.on==1c||(1v.1X==0||1v["1X-1r"]==0))))&&(1X.on=1j);K yu=R.bn(1v.1X);1X.on&&(1v.1X&&(1X.3t=yu.6b));2H=((+a["1X-2H"]+1||2)-1)*((+a.2H+1||2)-1)*((+yu.o+1||2)-1);K 1r=(3z(1v["1X-1r"])||1)*0.75;2H=5V(4O(2H,0),1);1v["1X-1r"]==1c&&(1r=a["1X-1r"]);1v["1X-1r"]&&(1X.9M=1r);1r&&(1r<1&&((2H*=1r)&&(1X.9M=1)));1X.2H=2H;1v["1X-hL"]&&(1X.Zd=1v["1X-hL"]||"Zk");1X.lx=1v["1X-lx"]||8;1v["1X-cd"]&&(1X.Zl=1v["1X-cd"]=="iA"?"Zm":1v["1X-cd"]=="yw"?"yw":"4K");if("1X-96"in 1v){K 96={"-":"Zh",".":"Zi","-.":"Zj","-..":"Zu",". ":"6J","- ":"Zo","--":"YS","- .":"YM","--.":"Z6","--..":"Z0"};1X.Z1=96[3o](1v["1X-96"])?96[1v["1X-96"]]:E}yb&&1s.3D(1X)}if(1A.1x=="1Y"){1A.2v.1V.3b.5q=E;K 2F=1A.2v.2F,m=100,d0=a.2K&&a.2K.3e(/\\d+(?:\\.\\d*)?(?=px)/);s=2F.3b;a.2K&&(s.2K=a.2K);a["2K-8b"]&&(s.Mf=a["2K-8b"]);a["2K-9M"]&&(s.Mb=a["2K-9M"]);a["2K-3b"]&&(s.Mc=a["2K-3b"]);d0=3z(a["2K-56"]||d0&&d0[0])||10;s.d0=d0*m+"px";1A.c3.4d&&(2F.mL=3Z(1A.c3.4d).3g(/</g,"&#60;").3g(/&/g,"&#38;").3g(/\\n/g,"<br>"));K lL=2F.uD();1A.W=a.w=(lL.7L-lL.2b)/m;1A.H=a.h=(lL.4D-lL.1P)/m;1A.X=a.x;1A.Y=a.y+1A.H/2;("x"in 1v||"y"in 1v)&&(1A.1G.v=R.6x("m{0},{1}l{2},{1}",4K(a.x*6C),4K(a.y*6C),4K(a.x*6C)+1));K y8=["x","y","1Y","2K","2K-8b","2K-9M","2K-3b","2K-56"];1o(K d=0,dd=y8.1e;d<dd;d++){if(y8[d]in 1v){1A.1U.7X=1;1p}}3r(a["1Y-y9"]){1m"2J":1A.c3.3b["v-1Y-ya"]="2b";1A.qc=1A.W/2;1p;1m"4y":1A.c3.3b["v-1Y-ya"]="7L";1A.qc=-1A.W/2;1p;5r:1A.c3.3b["v-1Y-ya"]="yh";1A.qc=0;1p}1A.c3.3b["v-1Y-ZI"]=1n}},lN=1a(o,3N,28){o.2a=o.2a||{};K 2a=o.2a,5W=3H.5W,2H,ZM,1x="lI",yg=".5 .5";o.2a.3N=3N;3N=3Z(3N).3g(R.yi,1a(6l,fx,fy){1x="oT";if(fx&&fy){fx=3z(fx);fy=3z(fy);5W(fx-0.5,2)+5W(fy-0.5,2)>0.25&&(fy=3w.9x(0.25-5W(fx-0.5,2))*((fy>0.5)*2-1)+0.5);yg=fx+S+fy}1b E});3N=3N.3q(/\\s*\\-\\s*/);if(1x=="lI"){K 7o=3N.bA();7o=-3z(7o);if(aE(7o)){1b 1c}}K 5c=R.ye(3N);if(!5c){1b 1c}o=o.bZ||o.1s;if(5c.1e){o.7k(28);28.on=1n;28.44="3p";28.3t=5c[0].3t;28.ZX=5c[5c.1e-1].3t;K pg=[];1o(K i=0,ii=5c.1e;i<ii;i++){5c[i].2y&&pg.1D(5c[i].2y+S+5c[i].3t)}28.ZQ=pg.1e?pg.4I():"0% "+28.3t;if(1x=="oT"){28.1x="ZD";28.2S="100%";28.Zr="0 0";28.Zn=yg;28.7o=0}1i{28.1x="3N";28.7o=(Zq-7o)%8t}o.3D(28)}1b 1},9T=1a(1s,5J){J[0]=J.1s=1s;1s.47=1n;J.id=R.xF++;1s.x6=J.id;J.X=0;J.Y=0;J.2a={};J.2v=5J;J.4x=R.4x();J.1U={3C:[],sx:1,sy:1,dx:0,dy:0,4o:0,7X:1,g0:1};!5J.4D&&(5J.4D=J);J.3Q=5J.1P;5J.1P&&(5J.1P.3m=J);5J.1P=J;J.3m=1c};K 3c=R.el;9T.2T=3c;3c.4V=9T;3c.3C=1a(a8){if(a8==1c){1b J.1U.3C}K hm=J.2v.N1,Ls=hm?"s"+[hm.8d,hm.8d]+"-1-1t"+[hm.dx,hm.dy]:E,qi;if(hm){qi=a8=3Z(a8).3g(/\\.{3}|\\x7/g,J.1U.3C||E)}R.x8(J,Ls+a8);K 4x=J.4x.5O(),85=J.85,o=J.1s,3q,x0=~3Z(J.2a.28).4Y("-"),Lt=!3Z(J.2a.28).4Y("5a(");4x.g3(1,1);if(Lt||(x0||J.1x=="8T")){85.4x="1 0 0 1";85.2y="0 0";3q=4x.3q();if(x0&&3q.LJ||!3q.x5){o.3b.4s=4x.LV();K bb=J.6A(),xc=J.6A(1),dx=bb.x-xc.x,dy=bb.y-xc.y;o.jG=dx*-6C+S+dy*-6C;l9(J,1,1,dx,dy,0)}1i{o.3b.4s=E;l9(J,3q.f3,3q.dP,3q.dx,3q.dy,3q.5p)}}1i{o.3b.4s=E;85.4x=3Z(4x);85.2y=4x.2y()}qi&&(J.1U.3C=qi);1b J};3c.5p=1a(4o,cx,cy){if(J.59){1b J}if(4o==1c){1b}4o=3Z(4o).3q(5n);if(4o.1e-1){cx=3z(4o[1]);cy=3z(4o[2])}4o=3z(4o[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2X=J.6A(1);cx=2X.x+2X.1r/2;cy=2X.y+2X.1y/2}J.1U.g0=1;J.3C(J.1U.3C.3y([["r",4o,cx,cy]]));1b J};3c.g3=1a(dx,dy){if(J.59){1b J}dx=3Z(dx).3q(5n);if(dx.1e-1){dy=3z(dx[1])}dx=3z(dx[0])||0;dy=+dy||0;if(J.1U.2X){J.1U.2X.x+=dx;J.1U.2X.y+=dy}J.3C(J.1U.3C.3y([["t",dx,dy]]));1b J};3c.8d=1a(sx,sy,cx,cy){if(J.59){1b J}sx=3Z(sx).3q(5n);if(sx.1e-1){sy=3z(sx[1]);cx=3z(sx[2]);cy=3z(sx[3]);aE(cx)&&(cx=1c);aE(cy)&&(cy=1c)}sx=3z(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2X=J.6A(1)}cx=cx==1c?2X.x+2X.1r/2:cx;cy=cy==1c?2X.y+2X.1y/2:cy;J.3C(J.1U.3C.3y([["s",sx,sy,cx,cy]]));J.1U.g0=1;1b J};3c.3I=1a(){!J.59&&(J.1s.3b.5q="3p");1b J};3c.5e=1a(){!J.59&&(J.1s.3b.5q=E);1b J};3c.ma=1a(){if(J.59){1b{}}1b{x:J.X+(J.qc||0)-J.W/2,y:J.Y-J.H,1r:J.W,1y:J.H}};3c.3v=1a(){if(J.59||!J.1s.3n){1b}J.2v.6X&&J.2v.6X.x9(J);R.2R.7Q("47.*.*."+J.id);R.xa(J,J.2v);J.1s.3n.7k(J.1s);J.bZ&&J.bZ.3n.7k(J.bZ);1o(K i in J){J[i]=2M J[i]=="1a"?R.nU(i):1c}J.59=1n};3c.1k=1a(1z,1l){if(J.59){1b J}if(1z==1c){K 1A={};1o(K a in J.2a){if(J.2a[3o](a)){1A[a]=J.2a[a]}}1A.3N&&(1A.28=="3p"&&((1A.28=1A.3N)&&3X 1A.3N));1A.3C=J.1U.3C;1b 1A}if(1l==1c&&R.is(1z,"4d")){if(1z==hI&&(J.2a.28=="3p"&&J.2a.3N)){1b J.2a.3N}K 7m=1z.3q(5n),2k={};1o(K i=0,ii=7m.1e;i<ii;i++){1z=7m[i];if(1z in J.2a){2k[1z]=J.2a[1z]}1i{if(R.is(J.2v.8z[1z],"1a")){2k[1z]=J.2v.8z[1z].LS}1i{2k[1z]=R.ir[1z]}}}1b ii-1?2k:2k[7m[0]]}if(J.2a&&(1l==1c&&R.is(1z,"3J"))){2k={};1o(i=0,ii=1z.1e;i<ii;i++){2k[1z[i]]=J.1k(1z[i])}1b 2k}K 1v;if(1l!=1c){1v={};1v[1z]=1l}1l==1c&&(R.is(1z,"1C")&&(1v=1z));1o(K 1q in 1v){2R("47.1k."+1q+"."+J.id,J,1v[1q])}if(1v){1o(1q in J.2v.8z){if(J.2v.8z[3o](1q)&&(1v[3o](1q)&&R.is(J.2v.8z[1q],"1a"))){K 8H=J.2v.8z[1q].3d(J,[].3y(1v[1q]));J.2a[1q]=1v[1q];1o(K bI in 8H){if(8H[3o](bI)){1v[bI]=8H[bI]}}}}if(1v.1Y&&J.1x=="1Y"){J.c3.4d=1v.1Y}cQ(J,1v)}1b J};3c.NE=1a(){!J.59&&J.1s.3n.3D(J.1s);J.2v&&(J.2v.1P!=J&&R.wR(J,J.2v));1b J};3c.Nz=1a(){if(J.59){1b J}if(J.1s.3n.7F!=J.1s){J.1s.3n.79(J.1s,J.1s.3n.7F);R.wS(J,J.2v)}1b J};3c.dX=1a(1f){if(J.59){1b J}if(1f.4V==R.st.4V){1f=1f[1f.1e-1]}if(1f.1s.iz){1f.1s.3n.79(J.1s,1f.1s.iz)}1i{1f.1s.3n.3D(J.1s)}R.wN(J,1f,J.2v);1b J};3c.79=1a(1f){if(J.59){1b J}if(1f.4V==R.st.4V){1f=1f[0]}1f.1s.3n.79(J.1s,1f.1s);R.wO(J,1f,J.2v);1b J};3c.4Q=1a(56){K s=J.1s.Z4,f=s.4s;f=f.3g(N5,E);if(+56!==0){J.2a.4Q=56;s.4s=f+S+ms+".N4(10a="+(+56||1.5)+")";s.iO=R.6x("-{0}px 0 0 -{0}px",4K(+56||1.5))}1i{s.4s=f;s.iO=0;3X J.2a.4Q}1b J};R.4A.1G=1a(8j,5J){K el=cl("bZ");el.3b.fJ=wU;el.oF=6C+S+6C;el.jG=5J.jG;K p=1S 9T(el,5J),1k={28:"3p",1X:"#c0"};8j&&(1k.1G=8j);p.1x="1G";p.1G=[];p.mv=E;cQ(p,1k);5J.1V.3D(el);K 85=cl("85");85.on=1n;el.3D(85);p.85=85;p.3C(E);1b p};R.4A.4m=1a(5J,x,y,w,h,r){K 1G=R.wX(x,y,w,h,r),1A=5J.1G(1G),a=1A.2a;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.1x="4m";1b 1A};R.4A.aq=1a(5J,x,y,rx,ry){K 1A=5J.1G(),a=1A.2a;1A.X=x-rx;1A.Y=y-ry;1A.W=rx*2;1A.H=ry*2;1A.1x="aq";cQ(1A,{cx:x,cy:y,rx:rx,ry:ry});1b 1A};R.4A.9k=1a(5J,x,y,r){K 1A=5J.1G(),a=1A.2a;1A.X=x-r;1A.Y=y-r;1A.W=1A.H=r*2;1A.1x="9k";cQ(1A,{cx:x,cy:y,r:r});1b 1A};R.4A.8T=1a(5J,4c,x,y,w,h){K 1G=R.wX(x,y,w,h),1A=5J.1G(1G).1k({1X:"3p"}),a=1A.2a,1s=1A.1s,28=1s.c6(hI)[0];a.4c=4c;1A.X=a.x=x;1A.Y=a.y=y;1A.W=a.1r=w;1A.H=a.1y=h;a.1G=1G;1A.1x="8T";28.3n==1s&&1s.7k(28);28.5p=1n;28.4c=4c;28.1x="Nc";1A.1U.cb=[x,y];1A.1U.hR=[w,h];1s.3D(28);l9(1A,1,1,0,0,0);1b 1A};R.4A.1Y=1a(5J,x,y,1Y){K el=cl("bZ"),1G=cl("1G"),o=cl("c3");x=x||0;y=y||0;1Y=1Y||"";1G.v=R.6x("m{0},{1}l{2},{1}",4K(x*6C),4K(y*6C),4K(x*6C)+1);1G.ZK=1n;o.4d=3Z(1Y);o.on=1n;el.3b.fJ=wU;el.oF=6C+S+6C;el.jG="0 0";K p=1S 9T(el,5J),1k={28:"#c0",1X:"3p",2K:R.ir.2K,1Y:1Y};p.bZ=el;p.1G=1G;p.c3=o;p.1x="1Y";p.2a.1Y=3Z(1Y);p.2a.x=x;p.2a.y=y;p.2a.w=1;p.2a.h=1;cQ(p,1k);el.3D(o);el.3D(1G);5J.1V.3D(el);K 85=cl("85");85.on=1n;el.3D(85);p.85=85;p.3C(E);1b p};R.4A.ie=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.69="4m(0 "+1r+" "+1y+" 0)";if(J.fP){R.4A.fL.3d(J,J.fP)}1b J};R.4A.fL=1a(x,y,w,h,ac){R.2R("47.fL",J,J.fP,[x,y,w,h,ac]);K 1r=J.1r,1y=J.1y,56=1/ 4O(w /1r,h/1y),H,W;if(ac){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.fP=[x,y,w,h,!!ac];J.N1={dx:-x,dy:-y,8d:56};J.8E(1a(el){el.3C("...")});1b J};K cl;R.4A.pS=1a(5h){K 2Y=5h.2O;2Y.Tl().Tk(".iD","NP:5a(#5r#g8)");7q{!2Y.9p.iD&&2Y.9p.4Z("iD","Ny:NR-J6-xv:5J");cl=1a(67){1b 2Y.cp("<iD:"+67+\' 2C="iD">\')}}7h(e){cl=1a(67){1b 2Y.cp("<"+67+\' NM="Ny:NR-J6.xv:5J" 2C="iD">\')}}};R.4A.pS(R.7G.5h);R.4A.7P=1a(){K ab=R.xw.3d(0,2q),4a=ab.4a,1y=ab.1y,s,1r=ab.1r,x=ab.x,y=ab.y;if(!4a){9w 1S 9j("g8 4a 5Q 8N.")}K 1A=1S R.xx,c=1A.1V=R.7G.2Y.cp("2E"),cs=c.3b;x=x||0;y=y||0;1r=1r||J4;1y=1y||J5;1A.1r=1r;1A.1y=1y;1r==+1r&&(1r+="px");1y==+1y&&(1y+="px");1A.oF=6C*98+S+6C*98;1A.jG="0 0";1A.2F=R.7G.2Y.cp("2F");1A.2F.3b.fJ="2G:8n;2b:-jc;1P:-jc;IR:0;iO:0;bH-1y:1;";c.3D(1A.2F);cs.fJ=R.6x("1P:0;2b:0;1r:{0};1y:{1};5q:IS-70;2G:mK;69:4m(0 {0} {1} 0);hO:71",1r,1y);if(4a==1){R.7G.2Y.3S.3D(c);cs.2b=x+"px";cs.1P=y+"px";cs.2G="8n"}1i{if(4a.7F){4a.79(c,4a.7F)}1i{4a.3D(c)}}1A.pW=1a(){};1b 1A};R.2T.aD=1a(){R.2R("47.aD",J);J.1V.mL=E;J.2F=R.7G.2Y.cp("2F");J.2F.3b.fJ="2G:8n;2b:-jc;1P:-jc;IR:0;iO:0;bH-1y:1;5q:IS;";J.1V.3D(J.2F);J.4D=J.1P=1c};R.2T.3v=1a(){R.2R("47.3v",J);J.1V.3n.7k(J.1V);1o(K i in J){J[i]=2M J[i]=="1a"?R.nU(i):1c}1b 1n};K 6U=R.st;1o(K 44 in 3c){if(3c[3o](44)&&!6U[3o](44)){6U[44]=1a(dK){1b 1a(){K 4i=2q;1b J.8E(1a(el){el[dK].3d(el,4i)})}}(44)}}})();pv.xt?g.5h.aK=R:aK=R;1b R});K Ie=1a(xC){J.3t=1c;J.xg=1c;J.bg=1c;J.bH=1c;J.xp=1c;J.2J=1c;J.xq=1c;J.4y=1c;J.1C=1c;J.6j=1c;J.xu=1a(xC){};J.xu(xC)};1a 6A(1u){K 54={x:0,y:0,1r:0,1y:0};if(!1u.1e){1b 54}K o=1u[0];1a pE(1f,Ju){54={x:0,y:0,1r:1f.oo,1y:1f.pJ};45(1f){if(1f.id==Ju){1p}54.x+=1f.8k-1f.4X+1f.jl;54.y+=1f.9c-1f.5b+1f.jn;1f=1f.e4}1b 54}if(o.67=="TR"){54=pE(o,"qb-ui-1V")}1i{if(o.67=="Md"){54=pE(o,"qb-ui-1V")}1i{if(o.67=="Tj"){54=pE(o,"qb-ui-1V")}}}1b 54}1a eN(x){1b 3H.4K(x*98)/98}1a Jg(fR,fH){K JF=20;K p1=[{x:fR.x,y:fR.y+fR.1y/ 2}, {x:fR.x + fR.1r, y:fR.y + fR.1y /2}];K p2=[{x:fH.x,y:fH.y+fH.1y/ 2}, {x:fH.x + fH.1r, y:fH.y + fH.1y /2}];K d=[],mS=[];1o(K i1=0;i1<p1.1e;i1++){1o(K i2=0;i2<p2.1e;i2++){K dx=3H.49(p1[i1].x-p2[i2].x);K dy=3H.49(p1[i1].y-p2[i2].y);K 6g=dx*dx+dy*dy;mS.1D(6g);d.1D({i1:i1,i2:i2})}}K 1A={i1:0,i2:0};K qr=-1;K 5U=-1;1o(K i=0;i<mS.1e;i++){if(5U==-1||mS[i]<5U){5U=mS[i];qr=i}}if(qr>0){1A=d[qr]}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=3H.4w(3H.49(x1-x4)/2,JF);K x2=[x1-dx,x1+dx][1A.i1];K x3=[x4-dx,x4+dx][1A.i2];1b{x1:eN(x1),y1:eN(y1),x2:eN(x2),y2:eN(y2),x3:eN(x3),y3:eN(y3),x4:eN(x4),y4:eN(y4)}}1a Tw(54,Jl){K R=aK==1c?d6:aK;K 4t=54;if(R.is(54,"1a")){1b Jl?4t():2R.on("47.ib",4t)}1i{if(R.is(4t,1n)){1b R.4A.7P[54](R,4t.5g(0,3+R.is(4t[0],1c))).4Z(4t)}1i{K 2f=41.2T.3G.2u(2q,0);if(R.is(2f[2f.1e-1],"1a")){K f=2f.dp();1b 4t?f.2u(R.4A.7P[54](R,2f)):2R.on("47.ib",1a(){f.2u(R.4A.7P[54](R,2f))})}1i{1b R.4A.7P[54](R,2q)}}}}aK.fn.A9=1a(1W){if(!1W.4S||!1W.4W){1b 1j}if(!1W.4S.2i||!1W.4W.2i){1b 1j}if(!1W.4S.2i.1f||!1W.4W.2i.1f){1b 1j}K 7u=1W.6j;K xj=8;K 3t=7u.3t;K Ih=1W.4S.4B;K Js=1W.4W.4B;1a xi(1W){K dq=6A(1W.2i.1f);if(1W.1M){K ex=6A(1W.1M.1f);dq.x=ex.x-1;dq.1r=ex.1r+2;if(dq.y<ex.y){dq.y=ex.y}1i{if(dq.y>ex.y+ex.1y-dq.1y){dq.y=ex.y+ex.1y-dq.1y}}}1b dq}K Jh=xi(1W.4S);K Ji=xi(1W.4W);K 7f=Jg(Jh,Ji);K xk=7f.x1<7f.x2?1:-1;K xf=7f.x4<7f.x3?1:-1;K 1G=["M",7f.x1,7f.y1,"L",7f.x1+xj*xk,7f.y1,"C",7f.x2,7f.y2,7f.x3,7f.y3,7f.x4+xj*xf,7f.y4,"L",7f.x4,7f.y4].4I(",");7u.2J=n4(7u.2J,Js,3t,7f.x1,7f.y1,xk);7u.4y=n4(7u.4y,Ih,3t,7f.x4,7f.y4,xf);if(7u.1G=1G&&(7u.bH&&7u.bg)){7u.bg.1k({1G:1G});7u.bH.1k({1G:1G});$(7u.bg.1s).2t("1W-3k")}1b 1n};aK.fn.A9;aK.fn.J8=1a(1u,1k){K 1W=1S Ie;1W.3t=1k.3q("|")[0]||"#If";1W.xg=1k.3q("|")[1]||3;1W.Io=15;1W.bH=J.1G("M,0,0").1k({1X:1W.3t,28:"3p","1X-1r":1W.xg,"1X-cd":"4K","1X-hL":"4K"});1W.bg=J.1G("M,0,0").1k({1X:1W.3t,28:"3p","1X-1r":1W.Io,"1X-2H":0.Ip});1W.xp=1u.4W.4B;1W.2J=n4(1c,1W.xp,1W.3t);1W.xq=1u.4S.4B;1W.4y=n4(1c,1W.xq,1W.3t);1W.1C=1u;1b 1W};1a n4(1u,1x,3t,x,y,d){if(!x){x=0}if(!y){y=0}if(!d){d=1}K oD=1j;if(1u!=1c&&1u.1s){3r(1x){1m 1R.7B.bY:oD=1u.1s.8y!="9k";1p;1m 1R.7B.dn:oD=1u.1s.8y!="1G";1p}}if(oD){if(1u&&1u.3v){1u.3v()}1u=1c}if(1u==1c){3r(1x){1m 1R.7B.bY:1u=QB.1d.2e.r.9k(0,0,5);1u.1k({28:3t,"1X-1r":0});1p;1m 1R.7B.dn:1u=QB.1d.2e.r.1G("M,0,0");1u.1k({28:3t,"1X-1r":0});1p}}3r(1x){1m 1R.7B.bY:1u.1k({cx:x,cy:y});1p;1m 1R.7B.dn: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"].4I(",");1u.1k({1G:1G});1p}1b 1u};K Hj=1n;1a T0(1C,1H,7x){if(2M 1C.bB!="2N"){1C.bB(1H,7x,1j)}1i{if(2M 1C.gj!="2N"){1C.gj("on"+1H,7x)}1i{9w"I8 oV"}}}1a T6(1C,1H,7x){if(2M 1C.nX!="2N"){1C.nX(1H,7x,1j)}1i{if(2M 1C.uA!="2N"){1C.uA("on"+1H,7x)}1i{9w"I8 oV"}}}1a Te(fn){K 2p=3M.bB||3M.gj?3M:2O.bB?2O:2O.1L||1c;if(2p){if(2p.bB){2p.bB("v0",fn,1j)}1i{if(2p.gj){2p.gj("gr",fn)}}}1i{if(2M 3M.gr=="1a"){K 8r=3M.gr;3M.gr=1a(){8r();fn()}}1i{3M.gr=fn}}}K pu=[];K uQ=1j;1a Td(fn){if(!uQ){pu.1D(fn)}1i{fn()}}1a IK(){uQ=1n;1o(K i=0;i<pu.1e;i++){pu[i]()}};K ID=0;if(!41.4Y){41.2T.4Y=1a(1u){1o(K i=0;i<J.1e;i++){if(J[i]==1u){1b i}}1b-1}}3O={u4:1a(){1b++ID},3s:1a(1u){if(1u==2N||1u==1c){1b""}1b 1u.3s()}};3O.jE=1a(4c,9H){K p,v;1o(p in 4c){if(2M 4c[p]==="1a"){9H[p]=4c[p]}1i{v=4c[p];9H[p]=v}}1b 9H};3O.Ja=1a(4c,9H){K p,v;1o(p in 4c){if(9H[p]===2N){aN}if(2M 4c[p]==="1a"){9H[p]=4c[p]}1i{v=4c[p];9H[p]=v}}1b 9H};3O.C3=1a($1f,3x){if($1f.1e&&!1K(3x)){$1f.1k("5u-3x",3x.3g(/&2r;/g," ").3g(/&Be;/g,"&"))}};3O.IJ=1a(4c,9H){K p,v;1o(p in 4c){if(2M 4c[p]==="1a"){9H[p]=4c[p]}1i{if(4c.7U(p)){v=4c[p];if(v&&"1C"===2M v){9H[p]=3O.IF(v)}1i{9H[p]=v}}}}1b 9H};3O.IF=1a(o){if(!o||"1C"!==2M o){1b o}K c=o ea 41?[]:{};1b 3O.IJ(o,c)};3O.T8=1a(el,1L){K 1J={2b:el.4X,1r:el.AD,1P:el.5b,1y:el.rL};1J.7L=1J.1r-1J.2b;1J.4D=1J.1y-1J.1P;if(1L){1J=3O.uz(1J,1L)}1b 1J};3O.f6=1a(el,1L){K r=el.uD();K 1J={2b:r.2b,7L:r.7L,1P:r.1P,4D:r.4D};if(!r.1r){1J.1r=r.7L-r.2b}1i{1J.1r=r.1r}if(!r.1y){1J.1y=r.4D-r.1P}1i{1J.1y=r.1y}if(1L){1J=3O.uz(1J,1L)}1b 1J};3O.uz=1a(r,p){1b{2b:r.2b-p.2b,1P:r.1P-p.1P,7L:r.7L-p.2b,4D:r.4D-p.1P,1y:r.1y,1r:r.1r}};3O.T7=1a(3U){K 4w=0;$(3U).2g(1a(){4w=3H.4w(4w,$(J).1y())}).1y(4w)};3O.Ta=1a(3U){K 4w=0;$(3U).2g(1a(){4w=3H.4w(4w,$(J).1r())}).1r(4w)};3O.T9=1a(1u){if(1u){if(2M 1u=="4d"){if(1u!=""){1b 1u}}}1b""};3O.9K=1a(kI,1u){if(1u){if(2M 1u=="4d"){if(1u!=""){kI.1D(1u)}}}};2w.fn.bX=1a(1l){K fz=J.1k("1x");fz=1K(fz)?"":fz.3R();if(1l===2N){if(fz=="7K"){1b J[0].3A}1i{if(fz=="8v"){if(J[0].3A){1b J.1k("1l")}1i{1b 1c}}}1b J.2h()}if(fz=="7K"){if(1l==1n&&!J.1k("3A")){J.1k("3A","3A")}if(1l!=1n&&J.1k("3A")){J.iZ("3A")}if(1l==1n&&!J.6N("3A")){J.6N("3A",1n)}if(1l!=1n&&J.6N("3A")){J.6N("3A",1j)}1b}1i{if(fz=="8v"){K IP=J.1k("1l");if(IP==1l){J.1k("3A","1n");J[0].3A=1n}1i{J.iZ("3A")}1b}1i{K 67="";if(!1K(J[0])&&!1K(J[0].67)){67=J[0].67}if(67.3R()=="2n"){J.qC(1K(1l)?"0":1l.3s());1b}}}if(1l==1c){1l=""}J.2h(1l)};2w.fn.Tx=1a(m0){if(!J[0]){1b{1P:0,2b:0}}if(J[0]===J[0].v8.3S){1b 2w.2y.TX(J[0])}2w.2y.m7||2w.2y.bP();if(2M m0=="4d"){if(m0!=""){K 1L=J.cF(m0);if(1L.1e){3X 1L}}}1i{K 1L=m0}K 6m=J[0],e4=6m.e4,Iv=6m,2Y=6m.v8,f7,e5=2Y.9I,3S=2Y.3S,iW=2Y.iW,lK=iW.pe(6m,1c),1P=6m.9c,2b=6m.8k;45((6m=6m.3n)&&(6m!==3S&&6m!==e5)){f7=iW.pe(6m,1c);1P-=6m.5b,2b-=6m.4X;if(6m===e4){1P+=6m.9c,2b+=6m.8k;if(2w.2y.TW&&!(2w.2y.TZ&&/^t(HU|d|h)$/i.9F(6m.67))){1P+=6n(f7.Ag,10)||0,2b+=6n(f7.A3,10)||0}Iv=e4,e4=6m.e4}if(2w.2y.TY&&f7.hO!=="6P"){1P+=6n(f7.Ag,10)||0,2b+=6n(f7.A3,10)||0}lK=f7;if($.TT(6m,1L)>=0){1p}}if(lK.2G==="mK"||lK.2G==="uB"){1P+=3S.9c,2b+=3S.8k}if(lK.2G==="ur"){1P+=3H.4w(e5.5b,3S.5b),2b+=3H.4w(e5.4X,3S.4X)}1b{1P:1P,2b:2b}};1a TS(6i,v2){if(2q.1e>2){K v1=[];1o(K n=2;n<2q.1e;++n){v1.1D(2q[n])}1b 1a(){1b v2.3d(6i,v1)}}1i{1b 1a(){1b v2.2u(6i)}}}K 1K=1a(1u){if(1u===2N){1b 1n}if(1u==1c){1b 1n}if(1u===""){1b 1n}1b 1j};K iw=1a(76){if(!1K(76)){1b 76.3R()}1b 76};K TV=1a(76){if(!1K(76)){1b 76.8l()}1b 76};K 2r=1a(1u){if(1u===2N){1b""}if(1u==1c){1b""}if(1u==""){1b""}1b 1u.3g(/ /g,"&2r;")};1a IB(ee,ei,e9){1b 1a(a,b){if(!1K(ee)&&a[ee]<b[ee]){1b-1}if(!1K(ee)&&a[ee]>b[ee]){1b 1}if(!1K(ei)&&a[ei]<b[ei]){1b-1}if(!1K(ei)&&a[ei]>b[ei]){1b 1}if(!1K(e9)&&a[e9]<b[e9]){1b-1}if(!1K(e9)&&a[e9]>b[e9]){1b 1}1b 0}}41.2T.sn=1a(ee,ei,e9){1b J.g4(IB(ee,ei,e9))};K fQ=1a(a,b){if(1K(a)&&1K(b)){1b 1n}if(1K(a)||1K(b)){1b 1j}1b a.3R()==b.3R()};3O.u0=1a(a,b){if(1K(a)&&1K(b)){1b 1n}1b a==b};1a 4l(mq,4k){K F=1a(){};F.2T=4k.2T;mq.2T=1S F;mq.2T.4V=mq;mq.TU=4k.2T}1a U0(Ix,b0){1o(K 44 in b0){Ix.2T[44]=b0[44]}}5i.2T.6x=1a(6x){K t6="";K 3g=5i.ih;1o(K i=0;i<6x.1e;i++){K t7=6x.b7(i);if(3g[t7]){t6+=3g[t7].2u(J)}1i{t6+=t7}}1b t6};5i.ih={Le:["U6","U5","U8","U7","KV","U2","U1","U4","U3","TQ","TE","TC"],Ld:["TG","TF","Tz","Ty","KV","TB","TA","TH","TN","TM","TP","TO"],KI:["TJ","TI","TL","TK","SX","Sb","Sa"],KD:["Sd","Sc","S7","S6","S9","S8","Se"],d:1a(){1b(J.eP()<10?"0":"")+J.eP()},D:1a(){1b 5i.ih.KI[J.qZ()]},j:1a(){1b J.eP()},l:1a(){1b 5i.ih.KD[J.qZ()]},N:1a(){1b J.qZ()+1},S:1a(){1b J.eP()%10==1&&J.eP()!=11?"st":J.eP()%10==2&&J.eP()!=12?"nd":J.eP()%10==3&&J.eP()!=13?"rd":"th"},w:1a(){1b J.qZ()},z:1a(){1b"fA nk hu"},W:1a(){1b"fA nk hu"},F:1a(){1b 5i.ih.Ld[J.i9()]},m:1a(){1b(J.i9()<9?"0":"")+(J.i9()+1)},M:1a(){1b 5i.ih.Le[J.i9()]},n:1a(){1b J.i9()+1},t:1a(){1b"fA nk hu"},L:1a(){1b J.mU()%4==0&&J.mU()%100!=0||J.mU()%ol==0?"1":"0"},o:1a(){1b"fA hu"},Y:1a(){1b J.mU()},y:1a(){1b(""+J.mU()).73(2)},a:1a(){1b J.fk()<12?"am":"pm"},A:1a(){1b J.fk()<12?"AM":"PM"},B:1a(){1b"fA nk hu"},g:1a(){1b J.fk()%12||12},G:1a(){1b J.fk()},h:1a(){1b((J.fk()%12||12)<10?"0":"")+(J.fk()%12||12)},H:1a(){1b(J.fk()<10?"0":"")+J.fk()},i:1a(){1b(J.Lj()<10?"0":"")+J.Lj()},s:1a(){1b(J.Lk()<10?"0":"")+J.Lk()},e:1a(){1b"fA nk hu"},I:1a(){1b"fA hu"},O:1a(){1b(-J.eu()<0?"-":"+")+(3H.49(J.eu()/ 60) < 10 ? "0" : "") + 3H.49(J.eu() /60)+"S2"},P:1a(){1b(-J.eu()<0?"-":"+")+(3H.49(J.eu()/ 60) < 10 ? "0" : "") + 3H.49(J.eu() /60)+":"+(3H.49(J.eu()%60)<10?"0":"")+3H.49(J.eu()%60)},T:1a(){K m=J.i9();J.KZ(0);K 1J=J.S4().3g(/^.+ \\(?([^\\)]+)\\)?$/,"$1");J.KZ(m);1b 1J},Z:1a(){1b-J.eu()*60},c:1a(){1b J.6x("Y-m-d")+"T"+J.6x("H:i:sP")},r:1a(){1b J.3s()},U:1a(){1b J.L2()/98}};2w.fn.4M=1a(1x,1h,fn,bv){if(2M 1x==="1C"){1o(K 1q in 1x){J.2B(1q,1h,1x[1q],fn)}1b J}if(2w.eB(1h)){bv=fn;fn=1h;1h=2N}fn=bv===2N?fn:2w.1H.L3(fn,bv);1b 1x==="RX"?J.Nl(1x,1h,fn,bv):J.2g(1a(){2w.1H.4Z(J,1x,fn,1h)})};2w.fn.S0=1a(1x,1h,fn,bv){if(2w.eB(1h)){if(fn!==2N){bv=fn}fn=1h;1h=2N}2w(J.3k).2B(RZ(1x,J.3U),{1h:1h,3U:J.3U,Sn:1x},fn,bv);1b J};2w.1H.L3=1a(fn,9y,bv){if(9y!==2N&&!2w.eB(9y)){bv=9y;9y=2N}9y=9y||1a(){1b fn.3d(bv!==2N?bv:J,2q)};9y.7i=fn.7i=fn.7i||(9y.7i||J.7i++);1b 9y};41.2T.3v=1a(2s,to){if(2M 2s=="1C"){2s=J.4Y(2s)}J.5g(2s,!to||1+to-2s+(!(to<0^2s>=0)&&(to<0||-1)*J.1e));1b J.1e};K JY={"&":"&Be;","<":"&lt;",">":"&gt;",\'"\':"&SN;","\'":"&#39;","/":"&#SM;"};Gw=1a(s){if(1K(s)){1b s}1b(s+"").3g(/[&<>"\'\\/]/g,1a(s){1b JY[s]})};if(!4E.89){4E.89=1a(){K 7U=4E.2T.7U,K5=!{3s:1c}.sv("3s"),qS=["3s","uX","JU","7U","JV","sv","4V"],K0=qS.1e;1b 1a(1u){if(2M 1u!=="1C"&&(2M 1u!=="1a"||1u===1c)){9w 1S SH("4E.89 uO on SG-1C")}K 1J=[],6N,i;1o(6N in 1u){if(7U.2u(1u,6N)){1J.1D(6N)}}if(K5){1o(i=0;i<K0;i++){if(7U.2u(1u,qS[i])){1J.1D(qS[i])}}}1b 1J}}()};QB={};QB.1d={};QB.1d.2W={};QB.1d.2d={};if(2M cq=="2N"){cq={iB:1a(){},wV:1a(){}}}K SJ=1n;4b={h6:[],Ao:[],kr:"",zm:{},7M:1c,2e:{gP:[],72:[]},2V:{c7:[]},bs:1c,3f:1c,fD:1c,ai:{2P:[],uR:0},cL:"",8Z:1c,K2:[],hD:1c,fC:{},dY:1c,ek:1j,u8:1j,Kp:1j,Kt:1j,fF:[],gl:1c,9n:1c,uJ:1j,yL:1c,9L:1c,iy:1c,hb:{},7y:1c,7n:1c,JO:1a(){J.kr="";J.zm={};J.7M=1c;J.iY=1c;J.2e={gP:[],72:[]};J.2V={c7:[]};J.h6=[];J.Ao=[];J.ai={2P:[],uR:0};J.7n=1c;J.fD=1c;J.cL="";J.8Z=1c;J.K2=[];J.dY=1c;J.fC={};J.hb={};J.7y=1c}};gn=1S 62({ds:{},2B:1a(1H,1Z,3k){J.ds||(J.ds={});K 4u=J.ds[1H]||(J.ds[1H]=[]);4u.1D({1Z:1Z,3k:3k,9g:3k||J});1b J},2c:1a(1H){if(!J.ds){1b J}K 2f=41.2T.3G.2u(2q,1);K 4u=J.ds[1H];K uY=J.ds.6l;if(4u){J.uZ(1H,4u,2f)}if(uY){J.uZ(1H,uY,2q)}1b J},uZ:1a(1H,4u,2f){K ev,i=-1,l=4u.1e,a1=2f[0],a2=2f[1],a3=2f[2];3r(2f.1e){1m 0:45(++i<l){(ev=4u[i]).1Z.2u(ev.9g,1H)}1b;1m 1:45(++i<l){(ev=4u[i]).1Z.2u(ev.9g,1H,a1)}1b;1m 2:45(++i<l){(ev=4u[i]).1Z.2u(ev.9g,1H,a1,a2)}1b;1m 3:45(++i<l){(ev=4u[i]).1Z.2u(ev.9g,1H,a1,a2,a3)}1b;5r:45(++i<l){(ev=4u[i]).1Z.3d(ev.9g,[1H].3y(2f))}1b}},bP:1a(){}});JH=1S 62({b9:gn,2l:{6E:"6E"}});JI=1S 62({b9:gn,2l:{6E:"6E"}});JR=1S 62({b9:gn,2l:{md:"md",6E:"6E"}});JM=1S 62({b9:gn,2l:{6E:"6E"}});JQ=1S 62({b9:gn,2l:{6E:"6E"}});Ka=1S 62({b9:gn,9L:1S JH,2e:1S JI,2V:1S JM,7y:1S JQ,c9:1S JR,2l:{pX:"pX",6E:"6E",uK:"uK",q1:"q1",uH:"uH",uN:"uN",ts:"ts",tA:"tA",oX:"oX"},4b:4b,iy:1c,cL:"",9n:{},hD:1c,8Z:1c,gl:1c,dY:1c,7M:"",iY:"",qs:"",bs:"",ld:1j,3f:1c,ag:1j,aT:0,ai:[],ek:1j,p5:1j,bP:1a(){J.JP=$.gy(J.Kk,qR,J);J.Kj=$.gy(J.JS,98,J)},qF:1a(1Z){K me=J;if(J.aT<0){J.aT=0}if(J.aT>0){6F(1a(){me.qF(1Z)},100);1b}1b me.5Z(1Z)},JS:1a(1Z){J.5Z(1Z,1n)},5Z:1a(1Z,JN){if(!QB.1d.2m.p5&&JN){1b}QB.1d.2m.p5=1j;K me=J;if(J.aT<0){J.aT=0}J.4b.bs=J.bs;J.4b.3f=J.3f;if(1K(J.4b.2e)){J.4b.2e={}}J.4b.2e.pQ={dB:QB.1d.2e.HZ()};if(J.ai.1e>0){J.4b.ai.uR=J.ai[J.ai.1e-1].Id}J.2c(J.2l.pX,J.4b);K 1h=$.hz(J.4b);me.4b.JO();J.aT++;J.JP();$.v6({5a:um+"?46=Mu",1x:"sT",SU:"e1",ST:"nP/e1",7W:1j,1h:1h,us:1a(1h){QB.1d.2m.2c(QB.1d.2m.2l.6E,1h);if(1Z&&7E(1Z)=="1a"){1Z(1h)}me.iR(1h)},9q:1a(LK,LN,SW){if(!mm){dV(MA)}},Ko:me.LU});me.ek=1j},7N:1a(1Z){J.4b.h6.1D("7N");J.qF(1Z)},gh:1a(1Z){J.4b.h6.1D("gh");J.5Z(1Z)},m9:1a(1Z){J.4b.h6.1D("m9");J.5Z(1Z)},gp:1a(1Z){QB.1d.2m.ek=1n;QB.1d.2m.p5=1n;1b J.Kj(1Z)},Kk:1a(){J.aT=0;1b},bw:1a(Kl,1H,1h){if(!1K(1h)){Kl.2c(1H,1h)}},iR:1a(1h){if(1h!=1c&&1h!==2N){K me=J;if(1K(J.bs)){J.bs=1h.bs}if(1K(J.3f)){J.3f=1h.3f}if(1h.Kp||(1K(1h.bs)||J.bs!=1h.bs||(1K(1h.3f)||J.3f!=1h.3f))){if(1h.Kt){oy.SV()}1i{$.v6({5a:3M.oy.5d,SQ:1j});J.3f=1c;J.4b.7M=QB.1d.2m.iY;J.gh()}1b}J.iy=1h.iy;J.cL=1h.cL;J.8Z=1h.8Z;J.fF=1h.fF;J.9n=1h.9n;J.gl=1h.gl;if(!1K(1h.hb)&&4E.89(1h.hb).1e>0){J.hb=1h.hb}if(!1K(1h.dY)){J.dY=1h.dY}J.bw(J.c9,J.c9.2l.6E,1h.7n);if(!1K(J.c9)&&!J.ag){J.ag=1n;J.c9.2c(J.c9.2l.md,1n)}J.bw(J,J.2l.q1,1h.7M);J.bw(J.7y,J.7y.2l.6E,1h.7y);J.bw(J.2e,J.2e.2l.6E,1h.2e);J.bw(J.2V,J.2V.2l.6E,1h.2V);J.bw(J,J.2l.ts,1h.hD);J.bw(J.9L,J.9L.2l.6E,1h.9L);J.bw(J,J.2l.oX,1h.fC);J.bw(J,J.2l.tA,1h.ai);J.bw(J,J.2l.uK,1h.fD);if(1h.uJ!=1c&&1h.uJ){J.2c(J.2l.uH,1h.7M)}J.bw(J,J.2l.uN,1h.yL)}J.aT--},Jt:1a(9m){9m.6R=1n;J.4b.2e.gP.1D(9m)},Jv:1a(9m){9m.7T=1n;J.4b.2e.gP.1D(9m)},DA:1a(9m){J.4b.2e.gP.1D(9m)},Jr:1a(1W){1W.6R=1n;J.4b.2e.72.1D(1W)},SP:1a(1W){1W.7T=1n;J.4b.2e.72.1D(1W)},Nb:1a(1W){J.4b.2e.72.1D(1W)},v5:1a(9W){J.4b.7M=9W},SS:1a(2U){1o(K i=0;i<2U.1e;i++){2U[i].6R=1n}QB.1d.2m.4b.2V.c7=QB.1d.2m.4b.2V.c7.3y(2U)},pl:1a(2U){QB.1d.2m.4b.2V.c7=QB.1d.2m.4b.2V.c7.3y(2U)},SR:1a(2U){1o(K i=0;i<2U.1e;i++){2U[i].7T=1n}QB.1d.2m.4b.2V.c7=QB.1d.2m.4b.2V.c7.3y(2U)}});QB.1d.2m=1S Ka;K 1R={gU:{zv:0,zw:1,c4:2,yJ:3,KC:4,SF:5,bc:6,h7:7},2j:{46:-1,jM:0,1Q:1,3j:2,ck:3,ae:4,8B:5,6V:6,cP:7,c5:8,8i:9,o7:10,2g:1a(1Z){1o(K i=-1;i<=9;i++){1Z(i,J.da(i))}1o(K i=0;i<QB.1d.2V.gA;i++){1Z(10+i,"Bh"+(i+1))}},da:1a(2h){1o(K 1q in J){if(J[1q]==2h){1b 1q}}1b 1c}},7M:{lj:{yD:0,HM:1,St:2,2g:1a(1Z){1o(K i=0;i<=2;i++){1Z(i,J.da(i))}},da:1a(2h){1o(K 1q in J){if(J[1q]==2h){1b 1q}}1b 1c}},dN:[" ","Ss","Su","Sp","So","Sr","Sq"],tT:{kt:"Gy",v9:"Sw",2g:1a(1Z){1Z(J.kt,J.da(J.kt));1Z(J.v9,J.da(J.v9))},da:1a(2h){if(2h==J.kt){1b"Ki 2I"}1b"Ki SC"}}},7B:{bY:0,dn:1,bU:1a(1u){K SB=1u;if(1u==1R.7B.bY){1u=1R.7B.dn}1i{1u=1R.7B.bY}1b 1u}},4E:1a(2Q){J.gf={};J.ln="";J.BD="";J.1z="";J.ae="";J.1x="";J.Kh="";J.K7=1c;J.id=3O.u4();if(2Q){3O.jE(2Q,J)}},SE:1a(2Q){J.1z="SD";J.Kh="Sy";J.1x="IO";J.56="4";J.fU="10";J.Sx="1";J.SA=1j;if(2Q){3O.jE(2Q,J)}},VH:1a(1u){K 1J=[];if(1u.gf==1R.gU.c4){3O.9K(1J,1u.BD);3O.9K(1J,1u.ln);3O.9K(1J,1u.1z)}if(1u.gf==1R.gU.h7){K 1L=1u.1L;if(1L){3O.9K(1J,1L.BD);3O.9K(1J,1L.ln);3O.9K(1J,1L.1z);3O.9K(1J,1u.1z)}}1b 1J.4I(".")},Br:1a(2i,1M){K 1J=[];if(1M){1K(1M.8u)?3O.9K(1J,1M.3T):3O.9K(1J,1M.8u);3O.9K(1J,2i.6W)}1b 1J.4I(".")},VJ:1a(1u){if(1u==1c){1b""}K 1J=[];if(1u.gf==1R.gU.c4){3O.9K(1J,1u.1z)}if(1u.gf==1R.gU.h7){K 1L=1u.K7;if(1L){3O.9K(1J,1L.1z);3O.9K(1J,1u.1z)}}1b 1J.4I(".")},N8:1a(3j,pN,l3,pP,kV){if(3j!=""){1b 3j}K 1J=1R.Br(pN,l3)+" = "+1R.Br(pP,kV);1b 1J},K6:1a(){J.5H=[];J.zB=1a(){3X J.5H;J.5H=[]};J.VE=1a(i7){if(!i7.5H){1b}J.zB();K me=J;1o(K i=0;i<i7.5H.1e;i++){J.5H.1D(i7.5H[i])}}}};VD=1S 1R.K6;QB.1d.2d={};QB.1d.2d.VG=1a(){1b{"gP":1c,"72":1c,"pQ":1c}};QB.1d.2d.VF=1a(){1b{"c7":1c}};QB.1d.2d.uy=1a(){1b{"dN":1c,"8u":1c,"zA":1c,"5Y":[],"8M":1c,"gS":1j,"3f":1c,"7T":1j,"6R":1j,"bN":1j,"kq":1c,"dO":1c,"95":0,"64":1c}};QB.1d.2d.VL=1a(){1b{"8u":1c,"VR":1c,"6B":1c,"jk":1c,"Iq":0,"5G":[],"3f":1c,"3T":1c,"4E":1c,"DI":1n,"sq":1c,"mw":"","VQ":1j,"zv":1c,"zw":1c,"7T":1j,"6R":1j,"64":1c,"DR":1c,"BY":1c,"Az":{"C9":{"7v":1n,"8g":0,"bp":"","cz":""},"C7":{"8g":1,"7v":1n,"bp":"","cz":""},"tm":{"8g":2,"7v":1n,"bp":"","cz":""},"nD":{"sj":1j,"8g":3,"7v":1n,"bp":"","cz":""},"Ay":1j,"dO":0,"An":1n,"BX":1j},"l4":[],"bc":1c,"X":1c,"Y":1c,"Ad":1c}};QB.1d.2d.VS=1a(){1b{"kU":2,"6B":"","VN":1c,"VM":1c,"ri":1j,"As":1c,"VP":1c}};QB.1d.2d.Nk=1a(){1b{"7T":1c,"6R":1c,"4S":1c,"fV":1c,"4W":1c}};QB.1d.2d.Jb=1a(){1b{"VO":0,"4B":0,"cv":1c,"VC":1c,"aW":1c,"qY":1c}};QB.1d.2d.Vq=1a(){1b{"5H":1c,"Vp":1c}};QB.1d.2d.DQ=1a(){1b{"Vs":1c,"8M":1c,"Ch":1c,"3f":1c,"eh":1j,"AT":1c,"6W":1c,"sm":1c,"Vr":1j,"Vm":0,"nC":1j,"E3":1j,"Vl":1j,"Vo":0,"AR":1c,"Vn":0}};QB.1d.2d.I3=1a(){1b{"6B":1c,"X":1c,"Y":1c,"h8":1c,"h4":1c,"I2":1c}};QB.1d.2d.mH=1a(){1b{"iV":[],"2P":1c,"qt":1c,"Vt":30,"pq":0,"cf":"","iT":"","Vz":1j,"mv":"","NK":1j}};QB.1d.2d.LQ=1a(){1b{"kE":[],"LT":1c,"3f":"Vy-BJ-BJ-BJ-VB","VA":1c,"4B":0,"LP":1j}};QB.1d.2d.z7=1a(){1b{"mz":1c,"9V":1c,"eh":1c,"ri":1j}};QB.1d.2d.fC=1a(){1b{"cf":1c,"fD":1c,"Nf":1c,"2e":1c,"MY":1c,"fM":1c,"Na":1c,"Vv":1c,"c4":1c,"2V":1c}};QB.1d.2d.Vu=1a(){1b{"2P":[]}};QB.1d.2d.JG=1a(){1b{"cc":"JG","6B":1c,"3f":1c,"fD":1c}};QB.1d.2d.M3=1a(){1b{"2P":[]}};QB.1d.2d.Vx=1a(){1b{"cc":1c,"3T":1c,"fD":1c,"BK":1j,"2P":[],"3f":1c,"cf":1c}};QB.1d.2d.Vw=1a(){1b{"3f":1c,"dM":1c,"It":1c,"dB":1j,"VU":1j,"7v":1n,"6B":1c,"62":1c,"7M":1c,"Wi":1j,"2P":[]}};QB.1d.2d.A7=1a(){1b{"sD":[],"4B":3,"8V":0,"Wh":1c,"2P":[],"6t":1c,"7s":0,"5L":1c,"7a":1c}};QB.1d.2d.Bq=1a(){1b{"2P":[],"6t":1c,"7s":0,"5L":1c,"7a":1c,"4B":0}};QB.1d.2d.Eq=1a(){1b{"4B":1,"2P":[],"6t":1c,"7s":0,"5L":1c,"7a":1c}};QB.1d.2d.zd=1a(){1b{"4B":3,"8V":0,"2P":[],"6t":1c,"7s":0,"5L":1c,"7a":1c}};QB.1d.2d.zl=1a(){1b{"4B":2,"aL":1c,"2P":[],"6t":1c,"7s":0,"5L":1c,"7a":1c}};QB.1d.2d.Wk=1a(){1b{"3T":1c,"Wj":0,"We":1,"lB":1}};QB.1d.2d.Az=1a(){1b{"C9":{"7v":1n,"8g":0,"bp":"","cz":""},"C7":{"8g":1,"7v":1n,"bp":"","cz":""},"tm":{"8g":2,"7v":1n,"bp":"","cz":""},"nD":{"sj":1j,"8g":3,"7v":1n,"bp":"","cz":""},"Ay":1j,"dO":0,"An":1n,"BX":1j}};QB.1d.2d.58={"Dz":{"Bm":"Wd&2r;j8","4E":"4E:","8u":"8u:","Ok":"OK","eH":"eH"},"Nj":{"Bm":"bc&2r;j8","Wg":"4S&2r;4E","Wf":"4W&2r;4E","Wl":"bN&2r;93&2r;JZ&2r;4S","Wr":"bN&2r;93&2r;JZ&2r;4W","Wq":"4S&2r;6t","Wt":"4W&2r;6t","Ws":"Wn&2r;8M","Ok":"OK","eH":"eH"},"Jk":{"Bm":"KK&2r;j8","L4":"L4","Wm":"Wp&2r;Wo:","Ok":"OK","eH":"eH"},"5o":{"5Y":{"pU":"pU","8M":"8M","dN":"dN","8u":"8u","dO":"Lh&2r;4B","kq":"Lh&2r;W0","gS":"gS","W1":"sV&2r;By","Bb":"5Y&2r;1o","q2":"5Y","ED":"Or..."},"tL":"tL","VW":"tL&2r;zx","VV":"Iw&2r;fG&2r;zx","VY":"jE&2r;nZ&2r;fN","W3":"zt&2r;nZ&2r;iX-qE","W9":"kn&2r;W8","Wb":"kn&2r;Wa","W4":"kn&2r;up","W7":"kn&2r;dw","W6":"gE&2r;1g","Vk":"Ux&2r;cI&2r;1g","5G":"5G","Lc":"Lc","Uw":"c4","Uz":"yJ","Uy":"KC","Ut":"fZ","Us":"Mx&2r;2n&2r;Uu&2r;UA&2r;to&2r;UG.","UI":"md&2r;zm:&2r;{0}&2r;UH,&2r;{1}&2r;UC,&2r;{2}&2r;UB.","j8":"j8","gE":"gE","UE":"bN&2r;93","bN":"bN...","93":"93","KR":"KR","KT":"KT","KP":"KP","KL":"KL","UD":"Ur&2r;93","Uf":"Ue&2r;93","zV":"bN&2r;6l&2r;2U&2r;2s&2r;{0}","I4":"KK&2r;is&2r;Uh,&2r;KJ&2r;to&2r;be&2r;Ug","FU":"Ub","oM":"oM...","KM":"KM","Iz":"Iz","j3":"fD&2r;aA","h7":"h7","zj":"zj","Ua":"fM&2r;Ud&2r;1M","Uc":"fM&2r;IC&2r;c4&2r;8M","Ui":"fM&2r;zt&2r;IC&2r;c4&2r;8M","Uo":"LM","Un":"zt&2r;nZ&2r;iX-qE","Uq":"jE&2r;nZ&2r;fN","Up":"Iw&2r;fG&2r;zx","Uk":"tL","Uj":"tN&2r;5M&2r;fG&2r;Um&2r;1z&2r;Ul&2r;UJ&2r;in&2r;iI&2r;5A&2r;iX-qE."},"V8":"en"};QB.1d.2W.Va={zv:0,zw:1,4B:2};QB.1d.2W.Iq={c4:0,yJ:1,V9:2,9i:3,It:4,V4:5};QB.1d.2W.V3={fZ:0,V6:1,V5:2};QB.1d.2W.Vb={bY:0,dn:1};QB.1d.2W.Vh={jR:0,Vg:1,Vj:2};QB.1d.2W.Vi={Vd:1,Vc:2,o9:3};QB.1d.2W.Vf={Ve:0,V2:1,UQ:2,kh:3,UO:4,5i:5,wY:6,US:7,UR:8,3f:9,UL:10,IO:11,UK:12,4E:13,UN:14,UM:15,5j:16,I6:17,UT:18,UZ:19,UY:20,V1:21,V0:22,UV:23,UU:25,UW:26,UX:27};QB.1d.2W.6w={EF:0,Fh:1,FT:2,mZ:3,FV:4,FQ:5,FK:6,Bz:7,BA:8,FP:9,G6:10,G5:11,Fl:12,Ga:13,Fu:14,Fo:15,Fk:16,Fv:17};QB.1d.2W.6a={fZ:0,9V:1,fS:2,5i:3,kh:4};QB.1d.2W.V7={fZ:0,5j:1,UF:2,Uv:3,5i:4,I6:5,wY:6,kh:7};QB.1d.2W.9B={93:0,ro:1,kO:2,jR:3};QB.1d.2W.AO={jR:0,3T:1,sq:2};K 9a=15;QB.1d.2e={6P:1j,1V:1c,6j:1c,5H:[],4U:[],r:1c,mu:1j,rv:1j,o9:1j,tD:1j,tn:1j,tv:1j,tp:1j,Aj:1a(7i){1o(K i=0;i<J.5H.1e;i++){K 1u=J.5H[i];K i7=1u.1h("4r");if(3O.u0(7i,i7.Ad)){1b 1u}}1b 1c},xz:1a(i5,jh){1b i5.3f==jh.3f||(i5.6R||jh.6R)&&i5.64==jh.64},xD:1a(i5,jh){1b i5.6B==jh.6B},mC:1a(8m){K 1J=1c;if(1K(8m)){1b 1J}$.2g(J.5H,1a(1O,1u){K 1M=1u.1h("1C");if(fQ(1M.8u,8m)||(fQ(1M.3T,8m)||(fQ(1M.mw,8m)||fQ(1M.jk,8m)))){1J=1u;1b 1j}});1b 1J},W5:1a(hT){if(hT==1c){1b}K 8J=hT.3G();K ja=[];K j6=[];K jd=[];K me=J;1o(K i=J.5H.1e-1;i>=0;i--){K 1u=J.5H[i];K ji=1u.1h("1C");K dG=1c;1o(K j=8J.1e-1;j>=0;j--){K 8a=8J[j];if(J.xz(ji,8a)){8J.3v(j);dG=8a;1p}}if(dG==1c){1o(K j=8J.1e-1;j>=0;j--){K 8a=8J[j];if(J.xD(ji,8a)){8J.3v(j);dG=8a;1p}}}if(dG!=1c){j6.1D({1N:8a,5T:1u})}1i{ja.1D(1u)}}$.2g(8J,1a(1O,8a){jd.1D(8a)});K cn=1a(1w,5T){K 1u=J.cn(1w,5T);if(5T===2N||5T==1c){1u.4M(QB.1d.7d.2l.ot,J.uV,J);1u.4M(QB.1d.7d.2l.nc,J.uF,J);1u.4M(QB.1d.7d.2l.o5,J.uq,J);1u.4M(QB.1d.7d.2l.mD,J.jg,J)}J.3P.8G("mE");1b 1u};K gL=1a(1w,5T,hA){K 1u=J.gL(1w,5T,hA);J.3P.8G("mE");1b 1u};$.2g(j6,1a(1O,1u){gL({1C:1u.1N},1u.5T,1n)});$.2g(ja,1a(1O,1u){J.pz(1u,1n)});$.2g(jd,1a(1O,1u){cn({1C:1u})})},gL:1a(1w,5T,hA){K 2y=5T.2y();K oN={};K oG=1c;if(5T!=1c){K fo=5T.1h("1C");K i6=1w.1C;if(fo&&i6){oN[fo.3f]=i6.3f;oG=fo.3f;if(fo.5G&&i6.5G){$.2g(fo.5G,1a(i,2i){if(fo.5G[i]&&i6.5G[i]){oN[fo.5G[i].3f]=i6.5G[i].3f}})}}}1w.hA=hA;5T.6q("CZ",1w);if(oG){$.2g(QB.1d.2e.72.IV(oG),1a(i,1W){1W.lg(oN)})}7q{5T.2y(2y)}7h(e){}1b 5T},cn:1a(1w,5T){if(5T==1c){K 7R=$("<2E></2E>");if(J.1V!=1c&&J.1V.1e>0){J.1V.2Z(7R)}1i{1w.6P=1j}7R.6q(1w);7R.4M(QB.1d.7d.2l.sf,{1u:7R},J.Ib,J);7R.4M(QB.1d.7d.2l.sd,{1u:7R},J.I1,J);if(!1w.2G&&!1w.8X){K 2G=J.Im(7R);7R.8k=2G[0];7R.9c=2G[1];7R.6q("2G",2G)}J.5H.1D(7R);1b 7R}1i{5T.6q("7N",1w);1b 5T}},pz:1a(1C,sz){1C.6q("5w",1c,sz)},Ib:1a(e,1h){K 1u=e.1h.1u;K Ia=1u.1h("fs");J.5H.3v(1u);QB.1d.2e.72.J0(Ia)},I1:1a(e,1h){K 1u=e.1h.1u;J.1V.2c(QB.1d.2e.2l.rY,1u)},Jf:1a(3f){K 1u=1c;$.2g(J.5H,1a(1O,o){if(o.1h("fs")==3f){1u=o.1h("Cx");1b 1j}});1b 1u},Je:1a(1M,I0){K 1J=1c;if(1M==1c){1b 1J}$.2g(1M.5f,1a(1O,2i){if(2i.1C.3f==I0){1J=2i;1b 1j}});1b 1J},J9:1a(1M,8P){K 1J=1c;if(1M==1c){1b 1J}$.2g(1M.5f,1a(1O,2i){if(2i.1C.6W==8P){1J=2i;1b 1j}});1b 1J},HZ:1a(){K 1J=[];$.2g(J.5H,1a(1O,1u){K 1M=1u.1h("1C");if(1M==1c){1b 1n}K l=1S QB.1d.2d.I3;K p=1u.2G();if(1M.5G){l.I2=1M.5G.1e}l.6B=1M.6B;l.X=p.2b;l.Y=p.1P;l.h8=1u.6q("2Q","1r");if(l.h8=="5N"){l.h8=1c}l.h4=1u.6q("2Q","1y");if(l.h4=="5N"){l.h4=1c}1J.1D(l)});1b 1J},Jc:1a(om){if(om==1c){1b}if(om.1e==0){1b}$.2g(J.5H,1a(1O,1u){K 1M=1u.1h("1C");if(1M==1c){1b 1n}K 9e=1c;1o(K 1O=0;1O<om.1e;1O++){K l=om[1O];if(l.6B==1M.6B){9e=l;1p}}if(9e!=1c){if(9e.X!=0&&(!1K(9e.X)&&(9e.Y!=0&&!1K(9e.Y)))){1u.6q("2G",[9e.X,9e.Y])}if(9e.h8!=0&&!1K(9e.h8)){1u.6q("2Q","1r",9e.h8)}if(9e.h4!=0&&!1K(9e.h4)){1u.6q("2Q","1y",9e.h4)}}})},J3:1a(1M){if(1M==1c){1b 1c}1b 1M.cS},Im:1a(7R){K 1r=J.1V.1r();if(1r<fO){1r=oU}K aH=[0,1r];K aG=[0,VX];K gH=[];K ow=7R.1r();K oh=7R.1y();if(ow==0){ow=fO}if(oh==0){oh=AA}K w=ow+9a*2;K h=oh+9a*2;J.In(aH,aG,gH,7R);if(J.mu){1b J.Ik(aH,aG,gH,w,h)}1i{1b J.Il(aH,aG,gH,w,h)}},Il:1a(xs,ys,eD,w,h){1o(K j=0;j<ys.1e;j++){1o(K i=0;i<xs.1e;i++){if(eD[i][j]==0){if(J.AS(xs,ys,eD,i,j,w,h)){1b[xs[i]+9a,ys[j]+9a]}}}}1b[9a,9a]},Ik:1a(xs,ys,eD,w,h){1o(K j=0;j<ys.1e;j++){1o(K i=xs.1e-1;i>=0;i--){if(eD[i][j]==0){if(J.AS(xs,ys,eD,i,j,w,h)){if(i+1<xs.1e){1b[xs[i+1]+9a-w,ys[j]+9a]}}}}}1b[9a,9a]},In:1a(aH,aG,gH,7R){$.2g(J.5H,1a(){if(J==7R){1b 1n}K 1u=J[0];aH.1D(1u.8k-9a);aG.1D(1u.9c-9a);K ow=1u.fI;K oh=1u.bu;if(ow==0){ow=fO}if(oh==0){oh=AA}aH.1D(1u.8k+ow+9a);aG.1D(1u.9c+oh+9a)});aH.g4(1a(a,b){1b a-b});aG.g4(1a(a,b){1b a-b});1o(K i=0;i<aH.1e;i++){K 1I=[];1o(K j=0;j<aG.1e;j++){1I.1D(i==aH.1e-1||j==aG.1e-1?1:0)}gH.1D(1I)}$.2g(J.5H,1a(){K 1u=J[0];K Ic=1u.8k;K Jp=1u.9c;K ow=1u.fI;K oh=1u.bu;if(ow==0){ow=fO}if(oh==0){oh=AA}K Ii=1u.8k+ow;K Jn=1u.9c+oh;K Aq=0;K Ap=0;1o(K i=0;i<aH.1e;i++){if(aH[i]<=Ic){Aq=i}if(Ii<=aH[i]){Ap=i;1p}}K AL=0;K AP=0;1o(K j=0;j<aG.1e;j++){if(aG[j]<=Jp){AL=j}if(Jn<=aG[j]){AP=j;1p}}1o(K i=Aq;i<Ap;i++){1o(K j=AL;j<AP;j++){gH[i][j]=1}}})},AS:1a(xs,ys,eD,qe,q7,w,h){if(eD[qe][q7]==1){1b 1j}1o(K j=q7;j<=ys.1e;j++){if(ys[j]-ys[q7]>=h){1p}1o(K i=qe;i<xs.1e;i++){if(xs[i]-xs[qe]>=w){1p}if(eD[i][j]==1){1b 1j}}}1b 1n},78:1a(){if(J.1V==1c||J.1V.1e==0){1b 1c}K c=J.1V[0];J.6j.1r(1);J.6j.1y(1);J.r.ie(1,1);K w=c.AD-2;K h=c.rL-2;if(w<0){w=0}if(h<0){h=0}J.6j.1r(w);J.6j.1y(h);J.r.ie(w,h)},pw:1a(){K 3h=J.ou();if(3h){3h.3h("6Y")}J.78()},JD:1a(46,1g,1w){3r(46){1m"eG":J.pw();1p;5r:J.1V.2c(QB.1d.2e.2l.s0,{46:46,1g:1g})}},ou:1a(){if(QB.1d.5K.cL==""||QB.1d.5K.cL=="W2"){1b 1c}K bj="#qb-ui-qE-VZ-"+QB.1d.5K.cL;K $hc=$(bj);if($hc.1e){if(1K(QB.1d.5K.e3[bj])){K 8U={};8U[" OK "]=1a(){$(J).2D("[1z]").2g(1a(i,2i){K $2i=$(2i);K 8P=$2i.1k("1z");K mn=$2i.bX();if(mn!=1c){QB.1d.5K.8Z[8P]=mn}});$(J).3h("5w");QB.1d.5K.IG();QB.1d.2m.5Z()};8U[QB.1d.2d.58.Jk.eH]=1a(){$(J).3h("5w")};QB.1d.5K.e3[bj]=$hc.3h({qQ:1j,5I:1j,z1:1n,4n:qR,eV:z0,9d:Wc,1r:"Ni",6Y:1a(e,ui){K $3h=$(e.3l);1o(K AI in QB.1d.5K.8Z){K Jj=QB.1d.5K.8Z[AI];K 5f=$3h.2D("[1z="+AI+"]");1o(K i=0;i<5f.1e;i++){K $2i=$(5f[i]);$2i.bX(Jj)}K JB=$(\'29[1z^="VT"]\',$hc);JB.2g(1a(){J.2x=QB.1d.5K.8Z.VK})}},8U:8U})}}1b QB.1d.5K.e3[bj]},jO:1a(6L){if(6L==1c||6L.1e==0){1b 1c}K 1F={};K 4R;1o(K i=0;i<6L.1e;i++){4R=6L[i];if(4R.3T!=1c&&4R.3T.73(0,1)=="-"){1F[4R.cc+i]=4R.3T}1i{1F[4R.cc]={1z:4R.3T,3L:4R.cc+(4R.BK?" 3A":""),1F:J.jO(4R.2P),1h:4R.3f,1q:4R.cc}}}1b 1F},eY:1a(1T){K me=J;if(J.zW){1b}if(1K(1T)||1T.2P.1e==0){1b}K 1F=J.jO(1T.2P);$.2L("6d","#qb-ui-1V");$.2L({3U:"#qb-ui-1V",4n:cg,VI:{6K:0},1Z:1a(46,1w){K 1g=1c;7q{1g=1w.$1Q.1h().2L.1F[46]}7h(e){}me.JD(46,1g,1w)},1F:1F})},MX:1a(1T){K me=J;if(1K(1T)||1T.2P.1e==0){1b}if(J.zT){1b}K 3U="#qb-ui-1V-7u 43 1G, #qb-ui-1V-7u .1W-3k";K 1F=J.jO(1T.2P);$.2L("6d",3U);$.2L({3U:3U,4n:cg,6Q:{6K:0},9P:1a($2c,e){K me=$2c.1h("me");if(2M me=="2N"){1b}K 1g=1F["6l-2s"];if(1g){1g.1z=QB.1d.2d.58.5o.zV.3g("{0}","<qu>"+me.4S.1M.4r.6B+"</qu>");if(me.4S.4B==1R.7B.bY){1g.3L=1g.1q}1i{1g.3L=1g.1q+" 3A"}}1g=1F["6l-to"];if(1g){1g.1z=QB.1d.2d.58.5o.zV.3g("{0}","<qu>"+me.4W.1M.4r.6B+"</qu>");if(me.4W.4B==1R.7B.bY){1g.3L=1g.1q}1i{1g.3L=1g.1q+" 3A"}}1b{1F:1F}},1Z:1a(46,1w){K me=J.1h("me");if(me){me.jJ(46)}},1F:1F})},N0:1a(1T){K me=J;if(1K(1T)||1T.2P.1e==0){1b}if(J.zS){1b}K 3U=".qb-ui-1M";K 1F=J.jO(1T.2P);$.2L("6d",3U);$.2L({3U:3U,4n:cg,6Q:{6K:0},1Z:1a(46,1w){K me=J.1h("me");if(me){me.jJ(46)}},1F:1F})},7Y:1a(){K me=J;K zZ="qb-ui-1V-7u";J.1V=$("#qb-ui-1V");J.mu=J.1V.4H("mu");J.rv=J.1V.4H("rv");J.o9=J.1V.4H("o9");J.tD=J.1V.4H("tD");J.tn=J.1V.4H("tn");J.tv=J.1V.4H("tv");J.tp=J.1V.4H("tp");J.zS=J.1V.4H("zS");J.zT=J.1V.4H("zT");J.zW=J.1V.4H("zW");if(!J.1V.1e){1b 1c}J.6P=1n;J.6j=$("#"+zZ);J.r=aK(zZ,J.6j.1L().1r(),J.6j.1L().1y());K cH=J.1V.1k("cH");if(!1K(cH)){$.ui.6q.2T.1w.cH=cH}K er=J.1V.1k("er");if(!1K(er)){$.ui.6q.2T.1w.er=er}J.1V.3K(1a(e){K jm=26;if(e.83.id=="qb-ui-1V"||e.83.67=="43"){K A0=$(J).2y();K x=e.6T-A0.2b;K y=e.7j-A0.1P;if(x>=J.oo-jm&&y<jm){me.pw()}}});$("#qb-ui-1V-7u").3K(1a(e){K jm=26;if(e.3l.id=="qb-ui-1V-7u"||e.3l.67=="43"){K x=!1K(e.Jy)?e.Jy:e.U9;K y=!1K(e.Jw)?e.Jw:e.Sz;if(x>=J.oo-jm&&y<jm){me.pw()}}});J.1V.cK({t5:"qb-ui-1V-6v",ze:".qb-ui-1V-cK",de:"91",zg:1a(e,ui){if(ui.4z.4H("qb-ui-42-2i-4z")){K 1C=ui.4z.1h("1C");K ht=ui.4z.1h("ht");K dc=3O.f6(ui.4z[0],3O.f6(J));$(J).2c(QB.1d.2e.2l.rX,{1M:ht,2i:1C,8X:[dc.2b,dc.1P]})}1i{K Gb=$(J);K 1C=ui.4z.1h("1C");K dc=3O.f6(ui.4z[0],3O.f6(J));if(dc.2b<0){dc.2b=0}if(dc.1P<0){dc.1P=0}K sY={1C:1C,8X:[dc.2b,dc.1P]};$(J).2c(QB.1d.2e.2l.sb,sY)}}});J.rW=$.zN(J.78,98,J);J.f8=$.zN(J.dD,5,J);J.IZ=$.gy(J.dD,lc,J);J.1V.nF(1a(){me.f8()});$(3M).78(1a(){me.f8()});J.78();1b J},dD:1a(){if(J.1V==1c||J.1V.1e==0){1b 1c}QB.1d.2e.72.jy();if(hS===2N){1b}J.rW()},rW:1a(){},f8:1a(){},IZ:1a(){}};QB.1d.2e.2l={sb:"sb",zK:"zK",rY:"rY",IY:"IY",rX:"rX",s0:"s0"};QB.1d.2e.72={4U:[],oC:1a(1N){K 1W=1S QB.1d.2e.bc(1N);QB.1d.2e.72.1D(1W);1b 1W},xB:1a(1W,1N){1W.1N(1N)},jy:1a(){if(!QB.1d.2e.6P){1b 1c}$.2g(J.4U,1a(1O,1W){1W.jy()})},1D:1a(1u){J.4U.1D(1u)},Sv:1a(1W){1o(K i=0;i<J.4U.1e;i++){if(J.4U[i].1W==1W){1b J.4U[i]}}1b 1c},xh:1a(J2,J1){1o(K i=J.4U.1e-1;i>=0;i--){K 1W=J.4U[i];if(1W.4S&&1W.4W){if(1W.4S.aW==J2&&1W.4W.aW==J1){1b J.4U[i]}}}1b 1c},SO:1a(6j){1o(K i=0;i<J.4U.1e;i++){if(J.4U[i].6j==6j){J.jb(i);1p}}},J0:1a(7i){1o(K i=J.4U.1e-1;i>=0;i--){K 1W=J.4U[i];if(1W.4S!=1c&&1W.4W!=1c){if(1W.4S.cv==7i||1W.4W.cv==7i){J.jb(i)}}}},3v:1a(1W){if(1W===2N){1b}if(1W==1c){1b}1o(K i=0;i<J.4U.1e;i++){if(J.4U[i]==1W){J.jb(i);1p}}1W=1c},SI:1a(){1o(K i=J.4U.1e-1;i>=0;i--){J.jb(i)}},xA:1a(){1o(K i=J.4U.1e-1;i>=0;i--){if(J.4U[i].qp){J.jb(i)}}},jb:1a(1O){K 1W=J.4U[1O];if(1W.6j!=1c){J.o3(1W.6j.bH);J.o3(1W.6j.bg);J.o3(1W.6j.2J);J.o3(1W.6j.4y);3X 1W.6j}3X 1W;J.4U.5g(1O,1)},IV:1a(7i){K 1J=[];1o(K i=J.4U.1e-1;i>=0;i--){K 1W=J.4U[i];if(1W.4S!=1c&&1W.4W!=1c){if(1W.4S.cv==7i||1W.4W.cv==7i){1J.1D(1W)}}}1b 1J},SK:1a(4U){if(4U==1c){1b 1j}if(4U.1e==0){1b 1j}J.xo();1o(K 1O=0;1O<4U.1e;1O++){K 9E=4U[1O];K dC=1c;if(9E.4S!=1c&&9E.4W!=1c){dC=J.xh(9E.4S.aW,9E.4W.aW)}if(dC==1c){J.oC(9E)}1i{dC.qp=1j;J.xB(dC,9E)}}J.xA()},xo:1a(){1o(K i=J.4U.1e-1;i>=0;i--){J.4U[i].qp=1n}},o3:1a(1u){if(1u){if(1u.3v){1u.3v();1u=1c}}}};QB.1d.2e.A2=1a(1N){J.2i=1c;J.1M=1c;J.1N=1a(2h){if(2h===2N){K 1N=1S QB.1d.2d.Jb;3O.Ja(J,1N);1b 1N}1i{J.1M=1c;J.2i=1c;3O.jE(2h,J);J.A1()}};J.A1=1a(){if(1K(J.1M)){J.1M=QB.1d.2e.Jf(J.cv)}if(1K(J.2i)){J.2i=QB.1d.2e.Je(J.1M,J.aW);if(J.2i==1c){J.2i=QB.1d.2e.J9(J.1M,J.qY)}if(J.2i==1c){J.2i={};J.2i.1f=QB.1d.2e.J3(J.1M)}}};J.lg=1a(fX){if(fX[J.cv]){J.1M=1c;J.cv=fX[J.cv]}if(fX[J.aW]){J.2i=1c;J.aW=fX[J.aW]}J.A1()};if(1N!=1c){J.1N(1N)}};QB.1d.2e.bc=1a(1N){if(!QB.1d.2e.6P){1b 1c}K me=J;J.fV="";J.7T=1j;J.6R=1N.6R==1n;J.4S=1S QB.1d.2e.A2;J.4W=1S QB.1d.2e.A2;J.6j=1c;J.id=3O.u4();J.Ng=1a(6D){if(me.6j!=1c){1b}me.6j=QB.1d.2e.6P?QB.1d.2e.r.J8(me,"#SL|2"):1c};J.jy=1a(){if(QB.1d.2e.6P){QB.1d.2e.r.A9(me)}};J.jJ=1a(46){K dr=1j;3r(46){1m"6l-2s":me.4S.4B=1R.7B.bU(me.4S.4B);dr=1n;1p;1m"6l-to":me.4W.4B=1R.7B.bU(me.4W.4B);dr=1n;1p;1m"3X":me.7T=1n;dr=1n;1p;1m"eG":K 3h=$("#1W-eG-3h");K pN=me.4S.2i.1C;K pP=me.4W.2i.1C;K l3=me.4S.1M.4r;K kV=me.4W.1M.4r;$("29[1z=2s-1C]",3h).2h(l3.6B);$("29[1z=to-1C]",3h).2h(kV.6B);$("29[1z=2s-1C-2n]",3h)[0].3A=me.4S.4B==1R.7B.dn;$("29[1z=to-1C-2n]",3h)[0].3A=me.4W.4B==1R.7B.dn;$("29[1z=1C-3j-29]",3h).2h(1R.N8(me.fV,pN,l3,pP,kV));K 8U={};8U[" OK "]=1a(){me.4S.4B=$("29[1z=2s-1C-2n]",3h).bX()?1R.7B.dn:1R.7B.bY;me.4W.4B=$("29[1z=to-1C-2n]",3h).bX()?1R.7B.dn:1R.7B.bY;me.fV=$("29[1z=1C-3j-29]",3h).2h();K 1f=me.6j.1G[0];$("#qb-ui-1V-7u").2c(QB.1d.2e.bc.2l.nW,me);QB.1d.2e.dD();$(J).3h("5w")};8U[QB.1d.2d.58.Nj.eH]=1a(){$(J).3h("5w")};3h.3h({5I:1j,4n:yK,eV:z0,1r:"Ni",z1:1n,8U:8U});1p}if(dr){K 1f=me.6j.1G[0];$("#qb-ui-1V-7u").2c(QB.1d.2e.bc.2l.nW,me)}QB.1d.2e.dD()};J.Nh=1a(){K 1N=1S QB.1d.2d.Nk;1N.4S=J.4S.1N();1N.4W=J.4W.1N();1N.7T=J.7T;1N.6R=J.6R;1N.fV=J.fV;1b 1N};J.Nd=1a(1N){J.4S.1N(1N.4S);J.4W.1N(1N.4W);J.7T=1N.7T;J.6R=1N.6R;J.fV=1N.fV};J.1N=1a(2h){if(2h===2N){1b J.Nh()}1i{J.Nd(2h)}};J.lg=1a(fX){J.4S.lg(fX);J.4W.lg(fX)};J.7Y=1a(){J.1N(1N);J.Ng();K zY=$(J.6j.bg.1s);zY.1h("me",J);zY.mh()};J.7Y()};QB.1d.2e.bc.2l={nW:"nW"};QB.1d.7n=1a(){J.RY=10;J.42=1c;J.kz=1j;J.9Q=1S 41;J.1F=1S 41;J.dh=J.1F;J.4s="";J.h5=6;J.cM=24;J.kY=3;J.ql=$("#qb-ui-42-1F");J.yC=$("#qb-ui-42-1g-t8-7A");J.mG=0;J.he=1j;J.zq=0;J.cU=1;J.NS=1j;J.pf=1a(){K me=J;K kM=1S 41;kM.1D("<ul>");J.ql.3Y("");if(!1K(J.dh)){K 6z=J.dh.1e;K 2J=3H.5U((J.cU-1)*J.cM,6z);K 4y=3H.5U(J.cU*J.cM,6z);K kG="";1o(K i=2J;i<4y;i++){K 1g=J.dh[i];K pH=i+1==4y?" 6Z":"";if(1g!=1c){K AN=J.MD?\'<br><2F 2C="Ms">\'+1g.sq+"</2F>":"";K Nu=QB.1d.2d.58.5o.j3+" "+1g.mw;K 1z=1g.mw.3g(/ /g,"&2r;");K 2F=\'<2F 61="0" 2C="qb-ui-1V-cK 1M" 5u-3x="\'+Nu+\'">\'+1z+"</2F>";if(!J.kz){kG=\'<li 2C="qb-ui-1C qb-ui-1C-1M\'+pH+\'" id="qb-ui-42-1g-\'+i+\'">\'+2F+AN+"</li>"}1i{K kL="";K AJ="";K 2i=1c;K AG="";1o(K j=0;j<1g.5G.1e;j++){2i=1g.5G[j];AG="<2F 2C=\'2i\'>"+2i.sm.3g(/ /g,"&2r;")+"</2F>";K Np=j+1==1g.5G.1e?" 6Z":"";AJ=\'<li 2C="qb-ui-1C-2i qb-ui-3P-cK qb-ui-1V-cK MZ\'+Np+\'" id="qb-ui-42-1g-2i-\'+j+\'">\'+AG+"</li>";kL+=AJ}kL=\'<ul 2C="qb-ui-42 71">\'+kL+"</ul>";kG=\'<li 2C="qb-ui-1C qb-ui-1C-1M aP MZ\'+pH+\'" id="qb-ui-42-1g-\'+i+\'">\'+"<2E 2C=\\"4j qb-ui-1C-4j qb-ui-1C-1M-4j aP-4j\\" S3=\\"$J = $(J); if ($J.4H(\'bM-4j\')) { $J.1L().8I(\'bM\');$J.1L().8I(\'aP\'); $J.8I(\'bM-4j\'); $J.8I(\'aP-4j\'); $(\'~ul\', $(J)).3I(); } 1i {$J.1L().8I(\'bM\');$J.1L().8I(\'aP\'); $J.8I(\'bM-4j\'); $J.8I(\'aP-4j\'); $(\'~ul\', $(J)).5e(); }\\"></2E>"+2F+AN+kL+"</li>"}}1i{kG=\'<li 2C="qb-ui-1C qb-ui-1C-1M\'+pH+\'" id="qb-ui-42-1g-\'+i+\'">\'+\'<2F 2C="1M">\'+QB.1d.2d.58.5o.oM+"</2F></li>"}kM.1D(kG)}}kM.1D("</ul>");J.ql.3Y(kM.4I(""));J.Bn();J.Lo();$("#qb-ui-42-1g-70").zC()};J.NN=1a(1h){K jp=$("#qb-ui-42-9Q");jp.3Y("");J.9Q=1S 41;1o(K i=0;i<1h.iV.1e;i++){K 8o=1h.iV[i];K ec=J.NX(i+1,8o);ec.1h("1x",8o.4B);ec.1h("7i",8o.3f);K k4=ec.bX();K Ar=1S 41;K bK=-1;1o(K j=0;j<8o.kE.1e;j++){K 2Q=8o.kE[j];if(bK==-1&&(!1K(k4)&&fQ(2Q.mz,k4))){bK=j}if(bK==-1&&2Q.eh){bK=j}}if(bK==-1){bK=0}1o(K j=0;j<8o.kE.1e;j++){K 2Q=8o.kE[j];K 2x="";if(2Q.ri==1n){2x=" 2x"}K 1Q="";if(bK==j){1Q=" 1Q"}Ar.1D(\'<2Q 1l="\'+2Q.mz+\'"\'+2x+1Q+">"+2Q.9V+"</2Q>")}ec.3Y(Ar.4I(""));ec.3i();J.9Q.1D(ec)}};J.iR=1a(1h){if(1h==1c||1h===2N){1b}K me=J;J.mG=1h.qt;J.NS=1h.NK==1n;J.he=1j;K mF=1j;if(1h.iT!=""&&(1h.iT!=2N&&1h.iT!=1c)){mF=1n;J.he=1n}if(1h.pq==0){J.cU=1;J.NN(1h);J.1F=[];if(1h.2P.1e!=1h.qt){J.he=1n}}K NV=1h.2P.1e;K ND=1h.pq;K NB=1h.qt;1o(K j1=ND,qH=0;j1<NB;j1++,qH++){if(qH<NV){J.1F[j1]=1h.2P[qH]}1i{if(J.1F[j1]==2N){J.1F[j1]=1c;J.he=1n}}}J.z3(mF);J.pf();J.M7()};J.MI=1a(){if(J.1F.1e<J.mG){1b 1n}K 2J=3H.4w(0,(J.cU-1)*J.cM);K 4y=3H.5U(J.mG,J.cU*J.cM);1o(K i=2J;i<4y;i++){if(J.1F[i]==1c){1b 1n}}1b 1j};J.NX=1a(i,8o){K jp=$("#qb-ui-42-9Q");K id="qb-ui-42-9Q-2n-"+i;K 1f=$("#"+id);if(1f.6z){1b 1f}K me=J;K 3Y=$(\'<2E 2C="qb-ui-42-9Q-70 RW-\'+i+" 2n-1x-"+8o.4B+\'">                         <2E 2C="qb-ui-42-9Q-3x"></2E>                         <2E 2C="qb-ui-42-9Q-2n">                             <2n id="\'+id+\'"></2n>                         </2E>                     </2E>\');jp.2Z(3Y);1f=$("#"+id);1f.1h("1O",i);1f.1h("7i",8o.3f);1f.4M("cT",me.M8,me);1f.4M("RQ",me.LZ,me);1b 1f};J.oz=1a(yQ){K LR=$("#qb-ui-42-9Q");K 9Q=$("2n",LR);K z4=[];9Q.2g(1a(i,s){K 8o=1S QB.1d.2d.LQ;8o.LT=s.1l;if(!1K(yQ)){8o.LP=s.id==yQ.id}8o.4B=$(s).1h("1x");8o.3f=$(s).1h("7i");z4.1D(8o)});1b z4};J.RR=1a(2n,1w){K me=J;K 1f=2n[0];1o(K i=0;i<1f.1w.1e;i++){K 2Q=1f.1w[i];K cW=1S QB.1d.2d.z7;cW.mz=2Q.1l;cW.9V=2Q.1Y;cW.eh=2Q.1Q;1w.1D(cW)}};J.RO=1a(2n,1w){K me=J;K 1f=2n[0];1o(K i=0;i<1f.1w.1e;i++){K 2Q=1f.1w[i];K cW=1S QB.1d.2d.z7;cW.mz=2Q.1l;cW.9V=2Q.1Y;cW.eh=2Q.1Q;1w.1D(cW)}};J.Mj=1a(){J.4s=$("#qb-ui-42-1g-4s-29").2h()};J.MM=1a(e){$("#qb-ui-42-1g-4s-29").2h("");J.4s="";J.tC(e)};J.z3=1a(mF){K qm=1c;K q9=!1K(J.4s);if(q9){7q{qm=1S cY(J.4s,"i")}7h(e){qm=1c;q9=1j}}if(!q9||mF){J.dh=J.1F;J.zq=J.mG}1i{if(!1K(J.1F)){J.dh=1S 41;1o(K i=0;i<J.1F.1e;i++){K 1g=J.1F[i];if(1g==1c){J.yF();1b}if(!qm.9F(1g.mw)){aN}J.dh.1D(1g)}}}};J.ML=1a(e){if(e.3E==13){e.7Z();1b 1j}if(J.he){J.Ml(e)}1i{J.tC(e)}};J.MN=1a(e){if(e.3E==13){e.7Z();1b 1j}};J.tC=1a(e){J.cU=1;J.4s=e.83.1l;if(!J.he){J.z3();J.pf()}1i{J.yF()}};J.oJ=1a(){J.ql.3Y("");J.yC.5e()};J.M7=1a(){J.yC.3I()};J.yF=1a(){J.oJ();K 1h=QB.1d.2m.4b;1h.7n=1S QB.1d.2d.mH;1h.7n.iV=J.oz();1h.7n.cf="4v";1h.7n.iT=J.4s;QB.1d.2m.5Z()};J.MH=1a(){J.oJ();K 1h=QB.1d.2m.4b;1h.7n=1S QB.1d.2d.mH;1h.7n.iV=J.oz();1h.7n.cf="4v";1h.7n.iT=J.4s;1h.7n.pq=(J.cU-1)*J.cM;QB.1d.2m.5Z()};J.M8=1a(e){K me=J;K 1O=$(e.83).1h("1O");K 1h=QB.1d.2m.4b;1h.7n=1S QB.1d.2d.mH;1h.7n.iV=J.oz(e.3l);J.M1(1O);QB.1d.2m.5Z()};J.M1=1a(1O){1o(K i=1O;i<J.9Q.1e;i++){K ec=J.9Q[i];ec.3Y("<2Q>oM...</2Q>")}J.oJ()};J.LZ=1a(){};J.Bn=1a(){K me=J;$(".qb-ui-1C>2F").6M({2H:0.8,4q:"3S",Lw:"qg",2J:1a(1H,ui){$(ui.4z).31("iO-2b",1H.aM-$(1H.3l).2y().2b-$(ui.4z).1r()/2);$(ui.4z).31("iO-1P",1H.az-$(1H.3l).2y().1P-10)},4z:1a(e){K 1f=e.83.3n;K p8=1f.id.73("qb-ui-42-1g-".1e);K 1g=me.dh[p8];K 4z=$("<2E ></2E>");1g.6R=1n;4z.6q({1C:1g,4n:yK});4z.2t("qb-ui-1V-cK");1b 4z[0]}});$(".qb-ui-1C-2i").6M({2H:0.8,4q:"3S",Lw:"qg",4z:1a(e){K 1f=e.83;K p8=1f.id.73("qb-ui-42-1g-2i-".1e);K Lr=$(1f).cF("li");K Ln=Lr.1k("id").73("qb-ui-42-1g-".1e);K ph=me.dh[Ln];if(ph==1c){1b}K 1g=ph.5G[p8];if(1g==1c){1b}K 4z=$(\'<2F 2C="qb-ui-42-2i-4z qb-ui-3P-cK qb-ui-1V-cK">\'+1g.6W.3g(/ /g,"&2r;")+"</2F>");4z.1h("1C",1g);4z.1h("ht",ph);1b 4z[0]}});$(".4j",J.42).3K(1a(e){})};J.Lo=1a(){K me=J;K 6z=3H.jx(J.zq/J.cM);K 1f=$("#qb-ui-42-1g-RP-70");if(6z<=1){1f.3Y("");1b}1f.oS({6z:6z,2J:J.cU,5q:me.h5,fl:1j,iQ:"#RV",j2:"3p",j5:"#RS",j4:"3p",zF:1n,p0:"LB",mI:1a(zD){me.cU=66(zD);me.ME();me.pf()}})};J.ME=1a(){if(!J.MI()){1b}J.MH()};J.DU=1a(){K me=J;K 1f=$(".qb-ui-42");J.kz=1f.4H("kz");J.MD=1f.4H("S5");if(1f.1k("My")!=""){J.cM=1f.1k("My")}if(J.cM<=0||J.cM==""){J.cM=24}if(1f.1k("MK")!=""){J.kY=1f.1k("MK")}if(J.kY<=0||J.kY==""){J.kY=3}K za=1f.1k("h5");if(za!=""){7q{K h5=66(za);if(h5>0){J.h5=h5}}7h(e){}}$("#qb-ui-42-1g-4s-29").4M("vN",me.ML,me);$("#qb-ui-42-1g-4s-29").4M("81",me.MN,me);$("#qb-ui-42-1g-4s-aD").4M("3K",me.MM,me);1a cn(1f){K Mh=1f.id.73("qb-ui-42-1g-".1e);K 1g=me.dh[Mh];me.42.2c(QB.1d.7n.2l.sk,1g)}$(2O).on("zp","#qb-ui-42-1F .qb-ui-1C 2F",1a(e){if($(e.83).4H("2i")){1b 1j}cn(e.83.3n)});$(2O).on("81","#qb-ui-42-1F .qb-ui-1C 2F",1a(e){if(e.3E==13){cn(e.83.3n)}});J.Mj();J.42=1f;1b 1f};J.Ml=$.gy(J.tC,lc,J);1b J.42};QB.1d.7n.2l={Mk:"Mk",sk:"sk"};QB.1d.zU=1a(2i,5R,tw,1w){K me=J;J.gf=1R.gU.h7;J.1C=2i;J.1M=tw;J.1L=5R;J.3A=2i.eh;J.1f=$(\'<tr 61="-1" />\').2t("qb-ui-1M-2i 8L").1h("J",J).1h("1C",2i).1h("1M",tw).1h("fs",2i.3f).1h("1L",5R).1h("sG",5R.3f);3O.C3(J.1f,QB.1d.2d.58.5o.h7+" "+2i.6W);if(2i.6W=="*"){J.1f.2t("qb-ui-1M-2i-gM")}J.tP=$(\'<29 1x="7K" 1l="1" 61="-1" \'+(2i.eh?" 3A":"")+"/>").3K(1a(){me.3A=J.3A;tw.sC([me])});J.1f.81(1a(e){3r(e.3E){1m 13:;1m 32:me.tP.2c("3K");e.4g()}});J.Ca=$(\'<2F 2C="qb-ui-1M-2i-3L"></2F>\');if(2i.nC){J.Ca.2t("qb-ui-1M-2i-3L-pk")}K lR=1w.C9;K lU=1w.C7;K Cj=1w.BX;K tM=1w.tm;K tQ=1w.nD;J.Mq=$(\'<2F 2C="qb-ui-1M-2i-2n">\'+lR.bp+"</2F>").2t(QB.1d.2e.tp?"71":"").2Z(J.tP);J.8P=$(\'<2F 2C="qb-ui-1M-2i-1z">\'+lU.bp+2r(2i.sm)+lU.cz+"</2F>").2t(QB.1d.2e.tn?"71":"");J.Mo=$(\'<2F 2C="qb-ui-1M-2i-1x">\'+(2i.6W!="*"&&2i.Ch!="1c"?tM.bp+2i.Ch+1w.tm.cz:"")+"</2F>").2t(QB.1d.2e.tv?"71":"");J.Mt=$(\'<2F 2C="qb-ui-1M-2i-Ms">\'+lR.bp+(tQ.sj?2i.AT:2r(2i.AR))+1w.nD.cz+"</2F>").2t(QB.1d.2e.tD?"71":"");K 5X=[];5X.1D({3a:J.Ca,8g:-1,7v:1n});5X.1D({3a:J.Mq,8g:lR.8g,7v:lR.7v});5X.1D({3a:J.8P,8g:lU.8g,7v:lU.7v});5X.1D({3a:J.Mo,8g:tM.8g,7v:tM.7v});5X.1D({3a:J.Mt,8g:tQ.8g,7v:tQ.7v});5X.sn("8g");K 7J;if(Cj){7J=me.1f}1i{7J=$("<td Sf />");7J.4q(me.1f)}1o(K i=0;i<5X.1e;i++){K 7w=5X[i];if(Cj){7J.2Z($("<td td"+(i+1)+\'" />\').2Z(7w.3a))}1i{7J.2Z(7w.3a)}}J.eX=1a(1l){J.3A=1l;J.tP[0].3A=J.3A};J.6A=1a(){K 54={x:0,y:0,1r:0,1y:0};K o=J.1f;K Bd=f6(QB.1d.2e.1V[0]);K f4=f6(o,Bd);K 1L=o;do{if(1L.67.8l()=="Md"){1L=1L.3n;if(1L){1L=1L.3n}1p}1L=1L.3n}45(1L!=1c);K f5=f4;if(1L!=1c){f5=f6(1L,Bd)}if(f4.1P<f5.1P){54.y=f5.1P}1i{if(f4.1P>f5.4D-f4.1y/2){54.y=f5.4D-f4.1y/2}1i{54.y=f4.1P}}54.1y=f4.1y;54.1r=f5.1r;54.x=f5.2b;1b 54}};QB.1d.zU.2l={MT:"MT"};K BP=20;QB.1d.9L=1a(){J.3a=$("#qb-ui-1V-e8");J.1T=1c;K gk=J;K gT=J.3a;K jI=0;K kH=0;K iF=0;J.J7=1a(9U){if(J.3a.1k("MB")&&J.3a.1k("MB").3R()=="1j"){1b}K $4a=$("#qb-ui-1V-e8-9s");if(!$4a){1b}K $9S=[];1o(K i=0;i<9U.2P.1e;i++){K 1g=9U.2P[i];K 1Y=1g.9V;if(1K(1Y)){1Y="&2r;"}K $1f=$(\'<2E 2C="3a" id="qb-ui-1V-e8-9s\'+(i+1)+\'">\'+1Y+"</2E>").2t(1g.hG);$1f.3B();if(1g.dB){$1f.2t("ui-53-b5");$1f.1k("61",-1)}1i{$1f.1k("61",0);$1f.81(1a(e){if(e.3E==32||e.3E==13){$(e.3l).2c("3K")}})}$1f.1h("1g",1g);$1f.3K(1a(e){K $1f=$(e.83);if($1f.1h("MC.eR")){1b}K 1g=$1f.1h("1g");if(1g&&1g.cf){QB.1d.5K.oW(1g.cf)}1i{$("#"+$1f[0].id).2L()}if(1g&&1g.dB){$1f.2t("ui-53-b5");e.4g();1b 1j}});$1f.6v(1a(e){K $1f=$(e.83);K 1g=$1f.1h("1g");if(1g&&1g.dB){$1f.2t("ui-53-b5");e.4g();1b 1j}});$1f.4Q(1a(e){K $1f=$(e.83);K 1g=$1f.1h("1g");if(1g&&1g.dB){$1f.2t("ui-53-b5");e.4g();1b 1j}});$1f.mh();J.LL($1f,1g.fC);$9S.1D($1f)}$4a.cI();$gT=$(\'<2E id="qb-ui-1V-e8-9s-gT">\');$gT.4q($4a).2Z($9S)};1a tZ(8s,4F){if(8s<0){8s=0}1i{if(8s>iF){8s=iF}}MF(8s)}1a MF(8s){if(8s===2N){8s=Sl.2G().2b}Bj=8s;K Sm=Bj===0,Sj=Bj==iF,jz=8s/iF,LC=-jz*(jI-kH);gT.31("2b",LC)}1a u6(){1b-gT.2G().2b}1a Sk(lF,lA,bt){1b 1a(){LF(lF,lA,J,bt);J.4Q();1b 1j}}1a LF(lF,lA,aF,bt){aF=$(aF).2t("LW");K 2R,mt,B6=1n,BL=1a(){if(lF!==0){gk.Bu(lF*30)}if(lA!==0){gk.BR(lA*30)}mt=6F(BL,B6?rr:50);B6=1j};BL();2R=bt?"ed.gk":"5t.gk";bt=bt||$("3Y");bt.2B(2R,1a(){aF.4h("LW");mt&&hW(mt);mt=1c;bt.7Q(2R)})}J.BO=1a(6L){if(6L==1c||6L.1e==0){1b 1c}K 1F={};K 4R;1o(K i=0;i<6L.1e;i++){4R=6L[i];K 1q=4R.cc;if(4R.3T!=1c&&4R.3T.73(0,1)=="-"){1F[1q]=4R.3T}1i{1F[1q]={1z:4R.3T,3L:1q+(4R.BK?" 3A":""),1F:J.BO(4R.2P),1h:4R}}}1b 1F};J.LL=1a($1f,1T){K me=J;if(1K(1T)||1T.2P.1e==0){1b}K 1F=J.BO(1T.2P);K 3U="#"+$1f[0].id;$.2L("6d",3U);$.2L({3U:3U,4n:cg,6Q:{6K:0},1F:1F,1Z:1a(46,1w){K 4R=1w.1F[46].1h;me.rS(46,4R)}});$.2L.iJ.Tb=1a(1g,1B,2p){J.on("81",1a(e){})}};J.rS=1a(1q,1g){K 46=1c;if(1g!=1c&&2M 1g.cf!="2N"){46=1g.cf}J.3a.2c(QB.1d.9L.2l.r6,46)};J.BG=1a(s){if(s==1c){1b s}if(s.1e<=BP){1b s}1b s.73(0,BP)+"&T1;"};J.N3=1a(1L){K 1F=[];$.2g(1L.2P,1a(1O,1g){if(!1g.7v){1b}if(1g.dB){1b}1F.1D(1g)});1b 1F};J.N9=1a(1L){K eb=1c;$.2g(1L.2P,1a(1O,1g){if(1g.dB){eb=1g}});1b eb};J.Bs=1a($3B){$3B.1k("61",0);$3B.81(1a(e){if(e.3E==32||e.3E==13){$(e.3l).2c("3K")}})};J.BF=1a(1g,2x){K me=J;K 3L="ui-3L-qb-"+1g.62;K $3B=$(\'<2E 2C="fN">\'+J.BG(1g.6B)+"</2E>").1h("B0",1g.3f).1h("dM",1g.dM).3B({2x:2x,bz:{tg:3L}}).3K(1a(e){me.BC(e)});if(2x){$3B.2t("ui-53-b5").2t("ui-53-6v")}1i{J.Bs($3B)}1b $3B};J.N7=1a(1F){K me=J;K $ul=$("<ul/>");$.2g(1F,1a(1O,hB){K 3L="ui-3L-qb-"+hB.62;K $3B=$(\'<li><a 5d="#"><2F 2C="ui-3L \'+3L+\'"></2F>\'+me.BG(hB.6B)+"</a></li>").1h("B0",hB.3f).1h("dM",hB.dM);$ul.2Z($3B)});$ul.1T({2n:1a(e,ui){$ul.3I();me.BC(e)}});1b $ul};J.BB=1a(1g,1L){K me=J;K 9s=[];if(1g==1c){1b 9s}K 1F=J.N3(1g);K eb=J.N9(1g);K MV=eb===1c;K $3B=J.BF(1g,MV);9s.1D($3B);if(1F.1e>0){if(eb!=1c){K $Bx=$("<2E>&2r;</2E>").3B({1Y:1j,bz:{tg:"ui-3L-je-1-s"}}).3K(1a(e){if(me.1T!=1c){me.1T.3I()}me.1T=$(J).3m().5e().2G({my:"2b 1P",at:"2b 4D",of:$(J).SY(".ui-3B")[0]});$(2O).Nl("3K",1a(){me.1T.3I()});1b 1j});J.Bs($Bx);9s.1D($Bx);K $ul=J.N7(1F);9s.1D($ul)}1i{$3B.3B("2Q","bz.Bc","ui-3L-je-1-e");$.2g(1F,1a(1O,hB){9s.1D(me.BF(hB))})}}1i{if(eb!=1c){$3B.3B("2Q","bz.Bc","ui-3L-je-1-e")}}if(eb!=1c){9s=9s.3y(J.BB(eb,1g))}1b 9s};J.BC=1a(e){K $1f=$(e.83);K 9r=$1f.1h("dM");if(!1K(9r)){J.3a.2c(QB.1d.9L.2l.rz,9r)}1b 1j};J.NA=1a(cm){K me=J;K $3a=$("#qb-ui-1V-e8-T4-4a");if(cm!=1c&&cm.2P!=1c){$3a.cI();K $1F=me.BB(cm);$3a.2Z($1F);K CU=$("<2E id=\'qb-ui-1V-fN-lh-3B\'>+</2E>").3B();$3a.2Z(CU);$3a.T5({1F:"3B, 29[1x=3B], 29[1x=T2], 29[1x=mB], 29[1x=7K], 29[1x=8v], :1h(ui-3B)"});$3a.2D("ul").1k("61",-1);$3a.2D("a").1k("61",0)}1b $3a};$.4l(J,{T3:1a(s){s=$.4l({},3V,s);Tf(s)},Dc:1a(bt,Da,4F){Dc(bt,Da,4F)},Tr:1a(8s,jw,4F){uc(8s,4F);ug(jw,4F)},uc:1a(8s,4F){uc(8s,4F)},ug:1a(jw,4F){ug(jw,4F)},Ts:1a(CY,4F){uc(CY*(jI-kH),4F)},Tp:1a(CG,4F){ug(CG*(ua-BN),4F)},Bv:1a(ml,mf,4F){gk.Bu(ml,4F);gk.BR(mf,4F)},Bu:1a(ml,4F){K 8s=u6()+3H[ml<0?"gg":"jx"](ml);K jz=8s/(jI-kH);tZ(jz*iF,4F)},BR:1a(mf,4F){K jw=BH()+3H[mf<0?"gg":"jx"](mf),jz=jw/(ua-BN);u1(jz*DX,4F)},tZ:1a(x,4F){tZ(x,4F)},u1:1a(y,4F){u1(y,4F)},4F:1a(bt,6N,1l,CD){K 1v={};1v[6N]=1l;bt.4F(1v,{"6K":3V.Tv,"5C":3V.Tu,"ju":1j,"kv":CD})},To:1a(){1b u6()},Ti:1a(){1b BH()},Tg:1a(){1b jI},Th:1a(){1b ua},Tm:1a(){1b u6()/(jI-kH)},Tn:1a(){1b BH()/(ua-BN)},Wu:1a(){1b ZH},10e:1a(){1b 10m},10j:1a(){1b gT},Z8:1a(4F){u1(DX,4F)},YO:$.AU,6d:1a(){6d()}});1b J};QB.1d.l5=1a(){J.42=1c;J.kz=1j;J.Bk=1a(lb){if(lb==1c||lb.1e<=0){1b 1c}K AY=0;K $1f=$("<ul />");1o(K i=0;i<lb.1e;i++){K 1s=lb[i];if(!1s.7v){aN}AY++;K $li=$("<li />");$li.1h("B0",1s.3f);$li.1h("dM",1s.dM);$li.3Y(\'<2F 2C="\'+1s.62+(1s.dB?" b5":"")+\'">\'+1s.6B+"</2F>");$li.2Z(J.Bk(1s.2P));$1f.2Z($li)}if(AY>0){1b $1f}1b 1c};J.wM=1a(cm){K me=J;K 3a=$("#qb-ui-42-Bl");if(cm!=1c&&cm.2P!=1c){3a.3Y("");3a.2Z(me.Bk([cm]));K 1f=$("#qb-ui-42-Bl>ul");J.42=1f.jC({});1f.2D("*").zC();$("#qb-ui-42-Bl 2F").3K(1a(){K $1f=1c;K 9r=1c;if(J.jp!=1c){$1f=$(J.jp);9r=$1f.1h("dM")}if(!1K(9r)){me.42.2c(QB.1d.l5.2l.rA,9r)}1b 1j})}1b 3a};J.Bn=1a(){K me=J;$(".4j",J.42).3K(1a(e){})};$("#qb-ui-1V-e8-lh-3B").3B({bz:{Bc:"ui-3L-je-1-s"}});1b J.42};QB.1d.l5.2l={rA:"rA"};QB.1d.9L.2l={rz:"rz",r6:"r6"};K gK=1c;QB.1d.7d={4r:1c,1w:{Zt:"<2K 2C=\'qb-ui-1M-bD-1Y-ln-1z\'>{ln}</2K>.<2K 2C=\'qb-ui-1M-bD-1Y-1M-1z\'>{1z}</2K>",qQ:1n,ej:1j,Dg:"",6M:1n,3I:1c,1y:"5N",1r:"5N",6k:5,cN:60,9d:1j,eV:1j,6P:1n,2G:{my:"2b 1P",at:"2b+15 1P+15",of:"#qb-ui-1V",lf:"3p",ZC:1a(3W){K Bg=$(J).31(3W).2y().1P;if(Bg<0){$(J).31("1P",3W.1P-Bg)}}},5I:1n,5e:1c,ZL:1n,6h:"",4n:98,er:10h,cH:"5N"},10n:{A6:"2J.6M",5m:"5m.6M",A5:"5F.6M",9d:"9d.5I",6k:"6k.5I",eV:"eV.5I",cN:"cN.5I",GZ:"2J.5I",78:"5m.5I",H3:"5F.5I"},7J:1c,bq:1c,DG:"qb-ui-1M "+"ui-8Q "+"ui-8Q-aw "+"ui-b4-6l ",bh:1j,jJ:1a(46){K me=J;if(me.4r!=1c&&me.4r.6R){1b 1j}3r(46){1m"eX":me.Ah(1n);1p;1m"10c":me.Ah(1j);1p;1m"3X":me.5w();1p;1m"eG":K 3h=me.ou(me);if(3h!=1c){3h.3h("6Y")}1p}},DH:1a(){K me=J;K 5s=".bD-3B.3B-1W";$.2L("6d",5s);K 1F={};K cA=1c;1o(K i=0;i<me.4r.l4.1e;i++){K dR=me.4r.l4[i];if(cA==1c){cA=dR.kU}if(cA!=dR.kU){1F["5n-"+i]="---------";cA=dR.kU}1F[dR.6B]={1z:dR.6B,3L:"109-1C-cA-"+dR.kU,1h:dR,bJ:dR.ri?"po":""}}$.2L({3U:5s,4n:cg,6Q:{6K:0},1Z:1a(46,1w){K CR=1w.$1Q.1h().2L.1F[46];me.1f.2c(QB.1d.7d.2l.o5,CR.1h)},1F:1F});1b 5s},Cr:1a(3B){K me=J;K 5s=".bD-3B.3B-1W";if(me.4r==1c){1b}3B.7l(1a(){me.DH();$(5s).2L();K $1T=$(5s).2L("1f");if($1T){$1T.2G({my:"2b 1P",at:"2b 4D",of:J})}})},8L:".8L:6P",Dr:".8L:6P:4t",Dp:".8L:6P:6Z",tj:1a(7N){K me=J;J.4r=me.1w.1C;J.ek=1j;if(!J.5f){J.5f=[]}K 5R=J.4r;if(J.4r!=1c&&!1K(J.4r.64)){J.64=J.4r.64}1i{J.64=xE()}5R.64=J.64;$(me.1f).1h("4r",5R);$(me.1f).1h("me",J);me.1f.2t(J.DG+me.1w.Dg).31({2G:"8n",4n:me.1w.4n});me.1f.1k("61",0);if(!7N){me.1f.2S(1a(e){me.bh=1j})}1a e7(2S){K 1J=1c;if(2S.4H("qb-ui-1M")){1J=2S}1i{1J=2S.3m()}45(1n){if(1J.1e==0){1p}if(1J.is(me.8L)){1b 1J}K 8N=1J.2D(me.Dr);if(8N.1e){1b 8N}1J=1J.3m()}K 1L=2S.1L();if(1L.4H("qb-ui-1M")){1b $()}1b e7(1L)}1a e0(2S){K 1J=1c;if(2S.4H("qb-ui-1M")){1J=2S}1i{1J=2S.3Q()}45(1n){if(1J.1e==0){1p}if(1J.is(me.8L)){1b 1J}K 8N=1J.2D(me.Dp);if(8N.1e){1b 8N}1J=1J.3Q()}K 1L=2S.1L();if(1L.4H("qb-ui-1M")){1b $()}1b e0(1L)}if(!7N){me.1f.81(1a(e){3r(e.3E){1m 13:if(me.bh){1b}me.bh=1n;e7(me.1f).2S();e.4g();1p;1m 9:if(!me.bh){1b}K 2S=me.1f.2D(":2S");if(!2S.1e){2S=me.1f}K 1f=1c;if(e.lE){1f=e0(2S)}1i{1f=e7(2S)}if(1f.1e){1f.2S();e.4g();1b 1j}1i{me.bh=1j}}})}J.6e=me.1f;if(me.1w.8X){me.1w.2G.at="2b+"+me.1w.8X[0]+" 1P+"+me.1w.8X[1];me.2G.2y=me.1w.2G.2y;me.nV(me.2G);me.1w.8X=1c}if(J.hX==1c){J.hX=$(\'<2F 2C="qb-ui-1M-bD-1Y"></2F>\')}K 6h=J.Em();3O.C3(me.1f,QB.1d.2d.58.5o.j3+" "+6h);J.hX.3Y(6h);if(J.cS==1c){J.rI=[];if(!1K(J.4r)&&!1K(J.4r.BY)){J.hX.2t("Zs");J.rI=J.nK("fN","ui-3L-fN-rE").1k("5u-3x","").1k("5u-3x","Zb to fN");J.rI.3K(1a(1H){me.1f.2c(QB.1d.7d.2l.mD,me.4r.BY);1b 1j})}J.kX=J.nK("1W","ui-3L-1W-rE").1k("5u-3x","").1k("5u-3x","Zg Zf");J.zf=J.nK("eG","ui-3L-eG-rE").1k("5u-3x",QB.1d.2d.58.5o.j8);J.zc=J.nK("5w","ui-3L-5w-rE").1k("5u-3x","").1k("5u-3x","zj");J.cS=$(\'<2E 2C="qb-ui-1M-bD ui-8Q-84 ui-b4-6l ui-4z-Zy 6x-1M"></2E>\').2Z(J.rI).2Z(J.hX).2Z(J.kX).2Z(J.zf).2Z(J.zc).2B("zp",1a(){me.CF()});J.cS.4q(me.1f).2t("qb-ui-1M-2i-6h");J.cS.1h("hM",1j);J.zc.3K(1a(1H){me.5w(1H);1b 1j});J.zf.3K(1a(1H){if(me.4r!=1c&&me.4r.6R){1b 1j}K 3h=me.ou(me);if(3h!=1c){3h.3h("6Y")}1b 1j});J.Cr(J.kX)}if(J.4r!=1c&&J.4r.6R){J.cS.2D(".3B-eG").3I();J.cS.2D(".3B-1W").3I()}1i{J.cS.2D(".3B-eG").5e();J.cS.2D(".3B-1W").5e()}if(!QB.1d.5K.u8&&(5R!=1c&&(5R.l4!=1c&&5R.l4.1e>0))){J.kX.5e()}1i{J.kX.3I()}K jo=1n;if(7N){if(5R&&5R.5G){if(J.5f.1e==5R.5G.1e+1){7q{if(J.5f.1e>1&&5R.5G.1e>1){K fg=J.5f[1].1C;K ff=5R.5G[1];if(fg.3f==ff.3f){jo=1j}1i{jo=1n}}}7h(e){jo=1n}}1i{jo=1n}}}if(jo){if(me.bq!=1c){me.bq.3v()}me.bq=$(\'<2E 2C="qb-ui-1M-2i-4a ui-3h-aw ui-8Q-aw"></2E>\').nF(1a(){QB.1d.2e.f8()}).1k("61",-1);me.7J=me.bq;me.mM=$(\'<1M sZ="1" t4="0"></1M>\').4q(me.bq);if(5R&&5R.5G){J.Eh(5R,me.mM)}me.bq.4q(me.1f);me.bq.mh()}if(J.4r.6R){me.bq.2t("qW")}1i{me.bq.4h("qW")}me.hE=me.1f.1y()-me.7J.1y();me.1w.6k=3H.4w(me.1w.6k,me.hE);me.2Q.9d=1j;$(".qb-ui-1M-2i:Ck",me.mM).2t("Ck");me.1w.6M&&($.fn.6M&&J.AH());me.1w.5I&&($.fn.5I&&J.AC());J.nv=1j;me.1w.ej&&($.fn.ej&&me.7J.ej());me.1w.ej&&($.fn.ej&&me.1f.ej());me.Dh();me.2Q.9d=1j;me.1w.qQ&&J.6Y();J.gf=1R.gU.c4;me.1f.1h("Cx",me);me.1f.1h("1C",5R);me.1f.1h("fs",5R.3f);me.1f.2D("*").zC();me.1f.7l(1a(1H){me.Af(1j,1H)});J.CF=1a(){if(me.1f.1h("hM")){me.1f.1h("hM",1j);me.hM=1j;me.2Q("1y",J.Ct)}1i{me.1f.1h("hM",1n);me.hM=1n;J.Ct=J.2Q("1y");me.2Q("1y",16)}QB.1d.2e.dD();1b 1j};K 5f=$(".qb-ui-1M-2i",me.1f).4s(":5Q(.qb-ui-1M-2i-gM)");if(!QB.1d.2e.rv&&!QB.1d.2e.o9){5f.6M({4z:1a(1H){K 3l=1H.3l;K tr=1c;if(3l.67.8l()=="TR"){tr=$(3l).5O()}1i{K 1L=3l;do{if(1L.67.8l()=="TR"){1p}1L=1L.3n}45(1L!=1c);if(1L){tr=$(1L).5O()}}K 4z=$(\'<1M 2C="qb-ui-1M ui-8Q ui-8Q-aw qb-ui-6M-4z-2i" t4="0" sZ="0"></1M>\').2Z(tr);gK=4z;1b 4z},4q:"#qb-ui-1V",2H:0.8,2J:1a(1H,ui){me.1f.1h("yA",1n);K 4z=$(ui.4z);K o6=$(J);ui.4z.1r($(J).1r());QB.1d.2e.72.3v(hS);hS=1S QB.1d.2e.bc({4S:{2i:{1f:o6},1M:me},4W:{2i:{1f:4z}}});QB.1d.2e.72.1D(hS);J.ek=1j},5F:1a(1H,ui){QB.1d.2e.72.3v(hS);QB.1d.2e.dD();me.1f.1h("yA",1j);gK=1c},5m:1a(1H,ui){QB.1d.2e.f8()}}).cK({ze:".qb-ui-1M-2i",t5:"qb-ui-1M-2i-po",de:"yO",zg:1a(1H,ui){if(me.4r.6R){1b 1j}K fg=$(ui.6M);K ff=$(J);K yM="";if(fg.1h("1C")&&fg.1h("1C").6W){yM=fg.1h("1C").6W}K yz="";if(ff.1h("1C")&&ff.1h("1C").6W){yz=ff.1h("1C").6W}K 1W=QB.1d.2e.72.oC({6R:1n,4S:{cv:fg.1h("sG"),aW:fg.1h("fs"),qY:yM},4W:{cv:ff.1h("sG"),aW:ff.1h("fs"),qY:yz}});QB.1d.2e.dD();K 1N=1W.1N();me.1f.2c(QB.1d.7d.2l.nc,1N);me.1f.1h("yA",1j);me.ek=1j},i3:1a(1H,ui){if(me.4r.6R){$(ui.4z).2t("qW")}1i{$(ui.4z).4h("qW")}}})}},ou:1a(3k){K bj="#1M-eG-3h";if(1K(QB.1d.5K.e3[bj])){K $hc=$(bj);if($hc.1e){K 8U={};8U[" OK "]=1a(){K 4r=$(J).1h("4r");4r.8u=$("29[1z=1C-ae]",$(J)).bX();4r.4E=$("29[1z=1C-1z]",$(J)).bX();$(J).3h("5w");QB.1d.2m.DA(4r);QB.1d.2m.5Z()};8U[QB.1d.2d.58.Dz.eH]=1a(){$(J).3h("5w")};QB.1d.5K.e3[bj]=$hc.3h({5I:1j,4n:qR,eV:z0,qQ:1j,1r:ol,z1:1n,6Y:1a(e,ui){K 4r=$(J).1h("4r");$("29[1z=1C-1z]",$(J)).2h(4r.4E);$("29[1z=1C-1z]").1k("YN",4r.DI);$("29[1z=1C-ae]",$(J)).2h(4r.8u)},8U:8U})}}if(!1K(QB.1d.5K.e3[bj])){QB.1d.5K.e3[bj].1h("4r",3k.4r)}1b QB.1d.5K.e3[bj]},Dh:1a(){if(J.1f.1y()>J.1w.er){J.2Q("1y",J.1w.er)}if(J.1f.1r()>J.1w.cH){J.2Q("1r",J.1w.cH)}K El=40;K aw=J.mM;K z5=J.1f;K 6h=J.cS;K Dq=J.hX;K Au=aw.ad();K E8=z5.ad();K Ed=6h.ad();K n6=aw.1r();K Ds=z5.ey();K yU=6h.ey();K 107=Dq.1r();if(Au==0&&n6==0){1b}K Dm=n6>Ds-yU;if(Dm){n6+=16}K 1r=3H.4w(yU,n6);if(!1K(J.1w.cH)&&J.1w.cH!="5N"){1r=J.1w.cH}K Ek=Au+Ed;K 1y=3H.5U(E8,J.1w.er);if(1r>El){J.2Q("1r",66(1r));J.mM.1r("100%")}if(1y>0){J.2Q("1y",1y);J.2Q("9d",Ek)}},Em:1a(){if(!1K(J.4r.6B)){1b J.4r.6B.3g(/ /g,"&2r;")}1i{1b""}},Eh:1a(5R,bq){K me=J;K 1w=5R.Az;if(1K(1w)){1w={}}K 5f=[];if(!1w.Ay){K gM=1S QB.1d.2d.DQ;gM.6W="*";gM.sm="*";gM.eh=5R.DR;5f.1D(gM)}K nC=1w.An?"E3":"";3r(1w.dO){1m QB.1d.2W.AO.3T:5R.5G.sn(nC,"6W");1p;1m QB.1d.2W.AO.sq:5R.5G.sn(nC,1w.nD.sj?"AT":"AR");1p}me.5f=[];5f=5f.3y(5R.5G);$.2g(5f,1a(1q,2i){K f=1S QB.1d.zU(2i,5R,me,1w);me.5f.1D(f);bq.2Z(f.1f)})},nK:1a(db,sH){1b $(\'<a 5d="#"></a>\').2t("ui-b4-6l bD-3B 3B-"+db+" 8L").6v(1a(){$(J).2t("ui-53-6v")},1a(){$(J).4h("ui-53-6v")}).7l(1a(ev){ev.7Z()}).2Z($("<2F/>").2t("ui-3L "+sH)).1k("61",-1)},106:1a(){if(!J.zX){J.zX=$("#qb-ui-3P")}1b J.zX},6A:1a(){1b{x:J.2y().2b,y:J.2y().1P,1r:J.1r(),1y:J.1y()}},7N:1a(1h){if(!1K(gK)){gK.2c("5t")}K me=J;K 1u=1h.1C;me.1f.1h("fs",1u.3f);$(".qb-ui-1M-2i",me.1f).2g(1a(){K 2i=$(J);2i.1h("sG",1u.3f);K 7i=1c;$.2g(1u.5G,1a(1q,zJ){if(fQ(zJ.6W,2i.1h("1C").6W)){7i=zJ.3f;1b 1j}});2i.1h("fs",7i)});J.1f.2c(QB.1d.7d.2l.Am)},CZ:1a(1w){if(!1K(gK)){gK.2c("5t")}J.1w=$.4l(J.1w,1w);K D7=J.1f.1r();K CM=J.7J.1y();K D5=J.5f.1e;K Ac=0;if(1w!=1c&&(1w.1C!=1c&&1w.1C.5G!=1c)){Ac=1w.1C.5G.1e+1}K Ae=Ac!=D5;if(Ae){J.1w.1y="5N";J.1w.1r="5N"}K nF=J.7J.5b();J.tj(1n);if(!Ae){J.1f.1r(D7);J.7J.1y(CM)}J.7J.5b(nF)},6d:1a(){K me=J;J.1f.2c(QB.1d.7d.2l.sf);me.1f.3Y("").3I().7Q(".6q").sE("6q").4q("3S").6u().3v()},5w:1a(1H,sz){K me=J;if(!sz){me.1f.2c(QB.1d.7d.2l.sd)}if(1j===me.7z("GD",1H)){1b}me.1f.7Q("hH.qb-ui-1M");me.1f.3I()&&me.7z("5w",1H);me.nv=1j;me.6d()},im:1a(){1b J.nv},Af:1a(fm,1H){K me=J;if(J.1w.4n>$.ui.6q.ni){$.ui.6q.ni=J.1w.4n}K CO={5b:me.1f.1k("5b"),4X:me.1f.1k("4X")};me.1f.31("z-1O",++$.ui.6q.ni).1k(CO);J.7z("2S",1H)},sC:1a(5f){J.1f.2c(QB.1d.7d.2l.ot,{5f:5f})},Ah:1a(3A){K me=J;K 5f=J.5f;K ep=[];$.2g(5f,1a(){K 2i=J;if(2i.1C.6W!="*"&&J.3A!=3A){J.eX(3A);ep.1D(J)}});me.sC(ep)},iU:1a(8P,3A,u3){K me=J;K 5f=J.5f;K Ai=[];$.2g(5f,1a(1O,2i){if(2i.1C.6W==8P){$(".qb-ui-1M-2i-2n 29",2i.1f).2g(1a(){if(J.3A!=3A){J.3A=3A;2i.3A=3A;Ai.1D(2i)}})}});if(u3){me.sC(Ai)}},6Y:1a(){if(J.nv){1b}K 1w=J.1w;J.AK();J.nV(1w.2G);J.Af(1n);J.7z("6Y");J.nv=1n},ZU:1a(){K 6i=J,1w=J.1w;1a bG(ui){1b{2G:ui.2G,2y:ui.2y}}J.6e.6M({i8:".ui-3h-aw, .ui-3h-bD-5w",4L:".qb-ui-1M-bD",8e:"2O",2J:1a(1H,ui){$(J).2t("ui-3h-rU");6i.sJ();6i.7z("A6",1H,bG(ui))},5m:1a(1H,ui){6i.7z("5m",1H,bG(ui))},5F:1a(1H,ui){1w.2G=[ui.2G.2b-6i.2O.4X(),ui.2G.1P-6i.2O.5b()];$(J).4h("ui-3h-rU");6i.Ak();6i.7z("A5",1H,bG(ui))}})},AH:1a(){K me=J;K 2Y=$(2O),A8;1a bG(ui){1b{2G:ui.2G,2y:ui.2y}}me.6e.6M({ZT:1j,Ig:1j,i8:".ui-3h-aw, .ui-3h-bD-5w",4L:".qb-ui-1M-bD",8e:"1L",nF:1n,2J:1a(1H,ui){K c=$(J);A8=me.1w.1y==="5N"?"5N":c.1y();c.1y(c.1y()).2t("ui-3h-rU");if($.ui.gI.5A!=1c&&($.ui.gI.5A.8e!=1c&&$.ui.gI.5A.8e.1e>3)){$.ui.gI.5A.8e[2]=s5;$.ui.gI.5A.8e[3]=s5}me.sJ();me.7z("A6",1H,bG(ui))},5m:1a(1H,ui){QB.1d.2e.f8();me.7z("5m",1H,bG(ui))},5F:1a(1H,ui){QB.1d.2e.78();QB.1d.2e.dD();me.1w.2G.at="2b+"+(ui.2G.2b-2Y.4X())+" 1P+"+(ui.2G.1P-2Y.5b());$(J).4h("ui-3h-rU").1y(A8);me.1f.2c(QB.1d.7d.2l.sl,me);QB.1d.2m.gp();me.Ak();me.7z("A5",1H,bG(ui))}})},ZW:1a(){K ce,co,i3,o=J.1w;if(o.8e==="1L"){o.8e=J.4z[0].3n}if(o.8e==="2O"||o.8e==="3M"){J.8e=[0-J.2y.mK.2b-J.2y.1L.2b,0-J.2y.mK.1P-J.2y.1L.1P,$(o.8e==="2O"?2O:3M).1r()-J.GQ.1r-J.s6.2b,($(o.8e==="2O"?2O:3M).1y()||2O.3S.3n.rL)-J.GQ.1y-J.s6.1P]}if(!/^(2O|3M|1L)$/.9F(o.8e)){ce=$(o.8e)[0];co=$(o.8e).2y();i3=$(ce).31("hO")!=="71";J.8e=[co.2b+(6n($(ce).31("A3"),10)||0)+(6n($(ce).31("ZP"),10)||0)-J.s6.2b,co.1P+(6n($(ce).31("Ag"),10)||0)+(6n($(ce).31("Xb"),10)||0)-J.s6.1P,s5,s5]}},AC:1a(eS){eS=eS===2N?J.1w.5I:eS;K me=J,1w=me.1w,2G=me.6e.31("2G"),H0=2M eS==="4d"?eS:"n,e,s,w,se,sw,ne,nw";1a bG(ui){1b{GH:ui.GH,GR:ui.GR,2G:ui.2G,56:ui.56}}me.6e.5I({i8:".ui-3h-aw",8e:"2O",Xw:me.7J,9d:66(1w.9d),cN:1w.cN,6k:me.np(),eS:H0,2J:1a(1H,ui){$(J).2t("ui-3h-H4");me.sJ();me.7z("GZ",1H,bG(ui))},78:1a(1H,ui){me.7z("78",1H,bG(ui));QB.1d.2e.rW();QB.1d.2e.f8()},5F:1a(1H,ui){$(J).4h("ui-3h-H4");1w.1y=$(J).1y();1w.1r=$(J).1r();me.7z("H3",1H,bG(ui));me.1f.2c(QB.1d.7d.2l.sl,me);QB.1d.2m.gp()}}).31("2G",2G).2D(".ui-5I-se").2t("ui-3L ui-3L-Xx-Xu-se")},np:1a(){K 1w=J.1w;K 1y=J.hE;if(1w.1y==="5N"){if(!aE(1w.6k)){1y=3H.4w(1y,1w.6k)}}1i{K h=0;if(!aE(1w.6k)){h=1w.6k}if(!aE(1w.1y)){1y=3H.5U(h,1w.1y)}1y=3H.4w(1y,h)}1b 1y},2G:1a(3W){J.nV(3W)},nV:1a(3W){if(!J.1w.6P){1b}if(!$("#qb-ui-1V").is(":6P")){1b}K et=[],2y=[0,0];if(3W){if(2M 3W==="4d"||2M 3W==="1C"&&"0"in 3W){et=3W.3q?3W.3q(" "):[3W[0],3W[1]];if(et.1e===1){et[1]=et[0]}$.2g(["2b","1P"],1a(i,GX){if(+et[i]===et[i]){2y[i]=et[i];et[i]=GX}});3W={my:"2b 1P",of:"#qb-ui-1V",at:"2b+"+2y[0]+" 1P+"+2y[1]}}3W=$.4l({},J.1w.2G,3W)}1i{3W=J.1w.2G}J.1w.2G=3W;if(J.1w.6P&&(J.1w.2G.of==1c||$(J.1w.2G.of).1e>0)){J.6e.5e();3W.of="#qb-ui-1V";J.6e.2G(3W)}},mY:1a(1q,1l){K me=J,6e=me.6e,eT=6e.is(":1h(ui-5I)"),78=1j;3r(1q){1m"GD":1q="Xn";1p;1m"8U":me.Xo(1l);78=1n;1p;1m"WH":me.WF.1Y(""+1l);1p;1m"Gj":6e.4h(me.1w.Gj).2t(WK+1l);1p;1m"2x":if(1l){6e.2t("ui-3h-2x")}1i{6e.4h("ui-3h-2x")}1p;1m"6M":if(1l){me.AH()}1i{6e.6M("6d")}1p;1m"1y":78=1n;1p;1m"9d":if(eT){6e.5I("2Q","9d",1l)}78=1n;1p;1m"eV":if(eT){6e.5I("2Q","eV",1l)}78=1n;1p;1m"6k":if(eT){6e.5I("2Q","6k",1l)}78=1n;1p;1m"cN":if(eT){6e.5I("2Q","cN",1l)}78=1n;1p;1m"2G":me.nV(1l);1p;1m"5I":if(eT&&!1l){6e.5I("6d")}if(eT&&2M 1l==="4d"){6e.5I("2Q","eS",1l)}if(!eT&&1l!==1j){me.AC(1l)}1p;1m"6h":$(".ui-3h-6h",me.WJ).3Y(""+(1l||"&#WD;"));1p;1m"1r":78=1n;1p}$.z9.2T.mY.3d(me,2q);if(78){me.AK()}},Wv:1a(){K 1w=J.1w;J.7J.31({1r:"5N",6k:0,1y:0});if(1w.cN>1w.1r){1w.1r=1w.cN}K nm=J.6e.31({1y:"5N",1r:"5N"}).1y();K 6k=J.np();J.7J.31(1w.1y==="5N"?{6k:6k,1y:$.cE.6k?"5N":6k}:{6k:0,1y:"5N"}).5e();if(J.6e.is(":1h(ui-5I)")){J.6e.5I("2Q","6k",J.np())}},AK:1a(){K o=J.1w;J.7J.5e().31({1r:"5N",6k:0,9d:"3p",1y:0,cN:o.cN});K nm=J.6e.31({1y:"5N",1r:o.1r}).1y();K hE=0;if(aE(o.6k)){hE=nm}1i{hE=3H.4w(o.6k,nm)}if(o.1y==="5N"){J.7J.31({6k:hE,1y:"5N"})}1i{J.7J.1y(3H.4w(0,o.1y-nm))}if(J.6e.is(":1h(ui-5I)")){J.6e.5I("2Q","6k",J.np())}},sJ:1a(){J.sF=J.2O.2D("dA").eJ(1a(){K dA=$(J);1b $("<2E>").31({2G:"8n",1r:dA.ey(),1y:dA.ad()}).4q(dA.1L()).2y(dA.2y())[0]})},Ak:1a(){if(J.sF){J.sF.3v();3X J.sF}},WN:1a(1H){if($(1H.3l).fv(".ui-3h").1e){1b 1n}1b!!$(1H.3l).fv(".ui-oQ").1e}};(1a($){$.8Q("ui.6q",QB.1d.7d);$.4l($.ui.6q,{5S:"1.8.2",EH:"2G",WT:0,ni:0,6A:1a(){K 1V=$("#qb-ui-1V");1b{x:J.2y().2b-1V.2y().2b,y:J.2y().1P-1V.2y().1P,1r:J.1r(),1y:J.1y()}}})})(2w);QB.1d.7d.2l={ot:"ot",GC:"GC",sd:"sd",sf:"sf",sl:"sl",Am:"Am",nc:"nc",GB:"GB",o5:"o5",mD:"mD"};QB.1d.GA={};QB.1d.GA.2l={mI:"mI"};QB.1d.jN=1a(1q,1L){J.3a=1c;J.dk=1c;J.aV=1c;J.6p=1c;J.8Y=1q;J.dS=1L;J.cu=1c;J.1l=1a(4f){if(4f===2N){1b J.cu}J.cu=4f};J.b8=1a(){K b8=J.cu;if(!1K(J.cu)){3r(J.8Y){1m 1R.2j.ck:b8=J.cu;1p;1m 1R.2j.8B:b8=1R.7M.lj.da(J.cu);if(b8=="yD"){b8=""}1p;1m 1R.2j.6V:K 1l=J.dS.7r(1R.2j.8B);if(1K(1l)||1l==0){b8=""}1p;1m 1R.2j.c5:b8=1R.7M.tT.da(J.cu);1p}}if(1K(b8)){b8=" "}1b b8};J.3v=1a(){};J.7N=1a(){if(J.dk!=1c){J.dk[0].mL=Gw(J.b8())}if(J.6p!=1c){J.6p.bX(J.cu)}};J.HX=1a(){if(J.dk!=1c){J.dk.3I()}if(J.aV!=1c){J.aV.5e()}if(J.6p!=1c){J.6p.2S()}};J.yy=1a(){if(J.dk==1c){1b}QB.1d.2V.te=1n;J.dk.5e();if(J.aV!=1c){J.aV.3I()}QB.1d.2V.te=1j};J.H5=1a(){K 6y=1c;K me=J;3r(J.8Y){1m 1R.2j.jM:6y=$("<2E></2E>");6y.gu=1n;6y.2B("3K",1a(e){$(me).2c(QB.1d.jN.2l.u7,{1q:me.8Y,4f:1n,5D:1j})});me.3a.2B("81",1a(e){if(e.3E==13||e.3E==32){me.6p.2c("3K")}});1p;1m 1R.2j.46:6y=$("<2E></2E>");6y.gu=1n;1p;1m 1R.2j.1Q:6y=$(\'<29 1x="7K" 1l="1n" />\');6y.1k("61",-1);6y.gu=1n;1p;1m 1R.2j.cP:6y=$(\'<29 1x="7K" 1l="1n" />\');6y.1k("61",-1);6y.gu=1n;1p;1m 1R.2j.3j:6y=$("<2n />");1p;1m 1R.2j.ck:K 2n=["<2n>"];if(!1K(QB.1d.5K.9n)&&!1K(QB.1d.5K.9n.Gr)){K 1Q="";$.2g(QB.1d.5K.9n.Gr,1a(1O,2h){1Q=2h==me.cu?\' 1Q="1Q" \':"";2n.1D(\'<2Q 1l="\'+2h+\'"\'+1Q+">"+(2h==1c?"":2h)+"</2Q>")})}2n.1D("</2n>");6y=$(2n.4I(""));6y.2B("cT",1a(){me.dt()});1p;1m 1R.2j.8B:K 2n=["<2n>"];1R.7M.lj.2g(1a(1O,2h){2n.1D(\'<2Q 1l="\'+1O+\'">\'+(2h==1c?"":2h)+"</2Q>")});2n.1D("</2n>");6y=$(2n.4I(""));6y.2B("cT",1a(){me.dt()});1p;1m 1R.2j.6V:6y=$("<2n />");1p;1m 1R.2j.c5:K 2n=["<2n>"];1R.7M.tT.2g(1a(1O,2h){2n.1D(\'<2Q 1l="\'+1O+\'">\'+(2h==1c?"":2h)+"</2Q>")});2n.1D("</2n>");6y=$(2n.4I(""));6y.2B("cT",1a(){me.dt()});1p;5r:6y=$(\'<29 1x="1Y" 1l="" />\');6y.4M("81",me.Gu,me);1p}6y.Yo(1a(e){me.3a.4h("ui-yx-2S")});1b 6y};J.Gu=1a(e){if(e.3E==13){e.7Z();J.dt();1b 1j}};J.yI=1a(){K me=J;if(J.aV==1c){J.aV=$(\'<2E 2C="ui-qb-3P-1I-7w-Hy-70"></2E>\');J.aV.4q(J.3a)}J.6p=J.H5(J.8Y);J.6p.4q(J.aV);J.6p.1k("5u-3x",QB.1d.2V.8w[J.8Y]);if(!J.6p.gu){J.aV.3I()}if(J.8Y==1R.2j.3j){K qU=J.6p.zI({9C:"3P-3j",1l:me.cu,fW:1a(){me.dt()}});K 8f=qU.yV()[0];J.6p=8f.yX();J.6p.oc=1n}if(J.8Y==1R.2j.6V){K qU=J.6p.zI({9C:"3P-6V",fW:1a(){me.dt()}});K 8f=qU.yV()[0];J.6p=8f.yX();J.6p.oc=1n}J.6p.2t("ui-qb-3P-1I-7w-Hy-3a");if(!J.6p.oc){if(J.6p.gu){J.6p.cT(1a(){me.dt()});J.6p.oc=1n}1i{J.6p.4Q(1a(){me.dt()});J.6p.oc=1n}}};J.BW=1a(){J.aV.6u().3v();J.aV.3v();J.aV=1c;J.yI()};J.Hh=1a(){K me=J;3r(J.8Y){1m 1R.2j.jM:;1m 1R.2j.46:;1m 1R.2j.1Q:;1m 1R.2j.cP:1b 1c}K $yY=$("<2E></2E>").2t("ui-qb-3P-1I-7w-HC-70").2t("ui-qb-3P-1I-7w-HC-3a");$yY.3K(1a(e){if(gm){1b}if(D4&&me.8Y==1R.2j.ae){QB.1d.5K.qz("Ye HY is iI Yf of iI D2 5S. HL HV 4v Yc of Yj kw HV be HU to kl Yg HY in iI Yh 5S.");1b 1j}me.oI()});1b $yY};J.oI=1a(){QB.1d.2V.bh=1n;if(QB.1d.2V.lC!=1c){QB.1d.2V.lC.dt()}if(J.8Y==1R.2j.3j||!J.dS.1K()&&!J.dS.Hs()){J.HX();QB.1d.2V.lC=J}J.3a.2t("ui-yx-2S")};J.dt=1a(){K yB=1n;K 5D=J.1l();K 4f=J.6p.bX();if(!3O.u0(5D,4f)&&!(5D==1c&&(4f==" "||4f==0))){K yE=J.dS.7r(1R.2j.8B);3r(J.8Y){1m 1R.2j.6V:if(1K(4f)||4f==0){if(!1K(yE)){J.dS.8q(1R.2j.8B,1R.7M.lj.yD)}}1i{5D=1K(5D)?HS:66(5D);4f=66(4f);if(aE(4f)){4f=0}if(aE(5D)){5D=HS}4f+=4f<5D?-0.5:+0.5;if(1K(yE)){J.dS.8q(1R.2j.8B,1R.7M.lj.HM);J.dS.k5(1R.2j.8B)}yB=1j}1p}J.1l(4f);if(yB){J.dS.k5()}J.yy();$(J).2c(QB.1d.jN.2l.u7,{1q:J.8Y,4f:4f,5D:5D})}1i{J.yy()}QB.1d.2V.lC=1c;if(!J.6p.gu){J.3a.4h("ui-yx-2S")}};J.Hx=1a(1q){K gw="ui-qb-3P-1I-";if(1q>=1R.2j.o7){1b gw+"Bh"}1b gw+1R.2j.da(1q)};J.e7=1a(2S){if(!2S.1e){1b $()}K 1J=2S.3m();if(1J.is(":8L")){1b 1J}1J=1J.2D(":8L:4t");if(1J.1e){1b 1J}K 1L=2S.1L();1b J.e7(1L)};J.e0=1a(2S){if(!2S.1e){1b $()}K 1J=2S.3Q();if(1J.is(":8L")){1b 1J}1J=1J.2D(":8L:6Z");if(1J.1e){1b 1J}K 1L=2S.1L();1b J.e0(1L)};J.7Y=1a(1q,1L){K me=J;J.3a=$(\'<td 2C="ui-8Q-aw ui-qb-3P-1I-7w \'+J.Hx(J.8Y)+\'" />\');J.3a.1k("61",0);K uk=J.8Y;if(uk>1R.2j.8i){uk=1R.2j.8i}J.3a.1k("5u-3x",QB.1d.2V.8w[uk]);J.dk=J.Hh();if(J.dk!=1c){J.dk.4q(J.3a)}J.yI();J.3a.YI(1a(e){if(QB.1d.2V!=1c&&QB.1d.2V.2x){1b}if(QB.1d.2V.te){1b}if(me.3a[0]!=e.3l){1b}me.oI()});J.3a.81(1a(e){3r(e.3E){1m 9:if(e.lE){me.e0(me.3a).2S();e.4g()}}})};J.7Y(1q,1L)};QB.1d.jN.2l={u7:"YG",YA:"Yx"};QB.1d.lw=1a(1N){J.Yy=1;J.5X={};J.Yb=3O.u4();J.3f=1c;J.3a=1c;J.kA=1j;J.64=xE();J.XN=1j;J.1K=1a(){1b 1K(J.5X[1R.2j.3j].1l())};J.Hs=1a(){K 2h=J.5X[1R.2j.3j].1l();if(1K(2h)){1b 1j}1b 2h.4Y(".*")>=0};J.eX=1a(2h){K k4=J.5X[1R.2j.1Q].1l();if(2h===2N){1b k4}1i{if(k4!=2h){J.5X[1R.2j.1Q].1l(2h);J.zE(1c,{1q:1R.2j.1Q,4f:2h});1b 1n}}1b 1j};J.7r=1a(1q){1b J.5X[1q].1l()};J.K9=1a(){1b!1K(J.7r(1R.2j.ck))||!1K(J.7r(1R.2j.8i))};J.8q=1a(1q,1l,u3){if(1l===2N){1l=1c}K 4f=1l;K 5D=J.5X[1q].1l();if(3O.u0(4f,5D)){1b 1j}3r(1q){1m 1R.2j.8B:J.8q(1R.2j.6V,1c,u3);1p;1m 1R.2j.6V:if(1K(4f)||4f==0){4f=""}1p;5r:}J.5X[1q].1l(4f);1b 1n};J.zE=1a(e,1h){K 1q=1h.1q;K 4f=1h.4f;K 5D=1h.5D;$(J).2c(QB.1d.lw.2l.zn,{1q:1q,4f:4f,5D:5D,1I:J});J.km()};J.km=1a(){K me=J;K qL=me.1K();1o(K 1q in me.5X){if(1q==1R.2j.3j){aN}K 7w=me.5X[1q];7w.3a.1k("61",qL?-1:0)}};J.Hu=1a(){K me=J;K 3Y=$(\'<tr 2C="ui-qb-3P-1I" />\');1R.2j.2g(1a(1q){K 7w=1S QB.1d.jN(1q,me);$(7w).4M(QB.1d.jN.2l.u7,me.zE,me);7w.3a.4q(3Y);me.5X[1q]=7w});J.km();3Y.1h("1C",J);3Y.1h("me",J);1b 3Y};J.3v=1a(){J.kA=1n;J.3a.6u().3v();J.3a.3v();J.3a.3Y("")};J.k5=1a(jU){K me=J;1o(K 1q in me.5X){K 7w=me.5X[1q];if(jU===2N||jU==1q){7w.7N()}}J.km()};J.F4=1a(jU){K me=J;1o(K 1q in me.5X){K 7w=me.5X[1q];if(jU===2N||jU==1q){7w.BW()}}J.km()};J.Hq=1a(){J.8q(1R.2j.1Q,!J.1K());J.8q(1R.2j.cP,1j);J.8q(1R.2j.c5,1R.7M.tT.kt)};J.ge=1a(BZ,zG,oZ){if(3O.3s(J.7r(1R.2j.3j)).3R()==3O.3s(BZ).3R()){if(zG===2N||zG==3O.3s(J.7r(1R.2j.ck)).3R()){if(oZ===2N||oZ==3O.3s(J.7r(1R.2j.ae)).3R()){1b 1n}}}1b 1j};J.1N=1a(1l){if(1l===2N){1b J.Hv()}1i{1b J.tW(1l)}};J.7N=1a(1N){K 5B=J.tW(1N);if(5B){J.k5()}1b 5B};J.tW=1a(1N){K 5B=1j;if(1K(1N)){1b 5B}5B=J.8q(1R.2j.3j,1N.8M)||5B;5B=J.8q(1R.2j.ck,1N.dN)||5B;5B=J.8q(1R.2j.ae,1N.8u)||5B;5B=J.8q(1R.2j.cP,1N.gS)||5B;5B=J.8q(1R.2j.c5,1N.zA)||5B;5B=J.8q(1R.2j.8B,1N.dO)||5B;5B=J.8q(1R.2j.6V,1N.kq)||5B;1o(K i=0;i<QB.1d.2V.gA+1;i++){5B=J.8q(1R.2j.8i+i,1N.5Y[i])||5B}if(J.3f!=1N.3f){J.3f=1N.3f;5B=1n}if(!1K(1N.64)&&J.64!=1N.64){J.64=1N.64;5B=1n}if(!1K(1N.3f)&&J.64!=1c){if(!1K(1N.3f)){J.64=1c}5B=1n}if(J.kA!=1N.7T){J.kA=1N.7T;5B=1n}if(J.95!=1N.95){J.95=1N.95;5B=1n}5B=J.8q(1R.2j.1Q,1N.bN&&!J.1K())||5B;J.km();1b 5B};J.Hv=1a(){K 1N=1S QB.1d.2d.uy;1N.bN=J.7r(1R.2j.1Q);1N.8M=J.7r(1R.2j.3j);1N.dN=J.7r(1R.2j.ck);1N.8u=J.7r(1R.2j.ae);1N.gS=J.7r(1R.2j.cP);1N.zA=J.7r(1R.2j.c5);1N.dO=J.7r(1R.2j.8B);1N.kq=J.7r(1R.2j.6V);1N.5Y[0]=J.7r(1R.2j.8i);1o(K i=0;i<QB.1d.2V.gA;i++){1N.5Y[1+i]=J.7r(1R.2j.o7+i)}1N.3f=J.3f;1N.7T=J.kA;1N.64=J.64;1N.95=J.3a==1c?0:J.3a.1O();1b 1N};J.7Y=1a(Hm){J.3a=J.Hu();J.3a.mh();J.Hq();J.tW(Hm);J.k5()};J.7Y(1N)};QB.1d.lw.2l={zn:"XO"};QB.1d.2V={2U:[],gA:2,tl:1j,XL:1c,l6:1c,bh:1j,XM:[],2x:1j,te:1j,e7:1a(2S){if(!2S.1e){1b $()}K 1J=2S.3m();if(1J.is(":8L")){1b 1J}1J=1J.2D(":8L:4t");if(1J.1e){1b 1J}K 1L=2S.1L();1b J.e7(1L)},e0:1a(2S){if(!2S.1e){1b $()}K 1J=2S.3Q();if(1J.is(":8L")){1b 1J}1J=1J.2D(":8L:6Z");if(1J.1e){1b 1J}K 1L=2S.1L();1b J.e0(1L)},tj:1a(){K me=J;K x=J.1f.1k("gA");if(x!=1c&&(x!=""&&!aE(x))){QB.1d.2V.gA=66(x)}if(J.1f.1k("tl")=="XR"){QB.1d.2V.tl=1n}J.1f.2t("ui-8Q").2t("ui-qb-3P");J.1f.cK({t5:"qb-ui-3P-6v",ze:".qb-ui-3P-cK",de:"91",zg:1a(e,ui){if(ui.4z.4H("qb-ui-42-2i-4z")){K 1C=ui.4z.1h("1C");K ht=ui.4z.1h("ht");$(J).2c(QB.1d.2V.2l.rG,{1M:ht,2i:1C})}1i{K Gb=$(J);K 1C=ui.4z.1h("1C");K sY={1C:1C};$(J).2c(QB.1d.2V.2l.sK,sY)}}});J.1M=$(\'<1M sZ="0" t4="0" fl="0" />\').2t("ui-8Q-aw").2t("sX-EZ").4q(J.1f);J.Eu().4q(J.1M);J.jS();J.hd();J.EY();me.1f.2S(1a(e){QB.1d.2V.bh=1j});me.1f.1k("61",0);me.1f.81(1a(e){3r(e.3E){1m 13:if(QB.1d.2V.bh){1b}QB.1d.2V.bh=1n;me.1f.2D("[61]:6P:4t").2S();e.4g();1p;1m 9:if(!QB.1d.2V.bh){if(!e.lE){me.e7(me.1f).2S()}1i{me.e0(me.1f).2S()}e.4g()}}})},EY:1a(){K me=J;me.1M.4e({tF:1a(1M,1I){K 1u=$(1I).1h("1C");if(!1u.1K()){me.1f.2c(QB.1d.2V.2l.fp,{1I:1u})}},lr:"ui-qb-3P-1I-46"})},6d:1a(){J.1f.4h("ui-qb-3P").7Q(".8G");J.1M.3v();$.z9.2T.6d.3d(J,2q)},jS:1a(1I){K zb=1j;$.2g(J.2U,1a(1q,1I){if(1I.1K()){zb=1n;1b 1j}});if(!zb){J.k0(1c)}},eY:1a(1T){K me=J;if(1K(1T)||1T.2P.1e==0){1b}K 3U=".ui-qb-3P-1I";K 1F=QB.1d.2e.jO(1T.2P);$.2L("6d",3U);$.2L({3U:3U,4n:cg,6Q:{6K:0},1Z:1a(46,1w){K 1I=J.1h("me");me.jJ(46,1I)},1F:1F})},jJ:1a(46,1I){K me=J;K el=1I.3a;3r(46){1m"dz-up":if(el.3m().1e){el.79(el.3Q());if(!1I.1K()){me.1f.2c(QB.1d.2V.2l.fp,{1I:1I})}}1p;1m"dz-dw":K 3m=el.3m();if(3m.1e&&3m.3m().1e){el.dX(3m);if(!1I.1K()){me.1f.2c(QB.1d.2V.2l.fp,{1I:1I})}}1p;1m"1I-3X":if(me.2U.1e>1){me.gZ(1I)}1i{if(1I.1K()){1b}1i{me.gZ(1I);me.jS()}}me.jS(1I);me.hd();me.1f.2c(QB.1d.2V.2l.fp,{1I:1I,1q:1R.2j.jM,4f:1n,5D:1j});1p;1m"1I-XS":me.k0(1c,el);1p}},k0:1a(57,jL,51,kc){K dr=1j;K 1I=J.EQ(57);if(1I==1c){dr=1n;1I=1S QB.1d.lw(57);$(1I).4M(QB.1d.lw.2l.zn,{1I:1I},J.Fc,J);if(1I!=1c&&(!1I.1K()&&1K(jL))){jL=J.ES()}if(51===0||!1K(51)){51=66(51)+1;K kb=$("tr",J.1M).eq(51);if(kb.1e){kb.BE(1I.3a)}1i{1I.3a.4q(J.1M)}}1i{if(jL!=1c&&jL.1e){1I.3a.79(jL)}1i{1I.3a.4q(J.1M)}}if(!kc){J.1f.2c(QB.1d.2V.2l.vu,{1I:1I})}J.2U.1D(1I)}1i{if(51===0||!1K(51)){51=66(51)+1;K F1=1I.3a[0].XP;if(51!=F1){K kb=$("tr",J.1M).eq(51);if(kb.1e){kb.BE(1I.3a)}}}dr=1I.7N(57);if(!kc&&dr){J.1f.2c(QB.1d.2V.2l.fp,{1I:1I})}}if(1I!=1c&&1I.3a!=1c){K ks=$(".ui-qb-3P-1I-c5",1I.3a);if(ks.1e>0){ks.31("5q",J.l6?"":"3p")}}if(!kc&&dr){J.hd()}1b 1I},M9:1a(){1b J.2U},XQ:1a(){K zi=1c;$.2g(J.2U,1a(1q,1I){K qL=1I.1K();if(qL){zi=1I;1b 1j}});1b zi},gZ:1a(zh,kc){K 57;1o(K i=J.2U.1e-1;i>=0;i--){K 1I=J.2U[i];if(1I.3f==zh.3f){if(!1K(1I.3f)||1K(1I.3f)&&1I.3a==zh.3a){J.2U.3v(1I);1I.7T=1n;1I.3v();57=1I.1N()}}}J.hd();if(57){57.7T=1n;if(!kc){J.1f.2c(QB.1d.2V.2l.vy,{57:57})}}},XK:1a(1N){K 2U=J.Cb(1N);1o(K 1I in 2U){1I.3v();J.2U.3v(1I);3X 1I}J.hd()},XE:1a(7i){K 1J=1c;$.2g(J.2U,1a(1q,1I){if(1I.3f==7i){1J=1I;1b 1j}});1b 1J},ES:1a(){1b J.1M.2D("tr:6Z:5Q(.ui-qb-3P-1I-84)")},EQ:1a(57){K 2U=J.Cb(57);if(2U.1e>0){1b 2U[0]}1b 1c},Cb:1a(57){K 1J=[];if(57==1c){1b 1J}K BZ=3O.3s(57.8M).3R();K oZ=3O.3s(57.8u).3R();1o(K i=0;i<J.2U.1e;i++){K 1I=J.2U[i];if(!1K(1I.3f)&&(!1K(57.3f)&&1I.3f==57.3f)){1J.1D(1I)}1i{if(!1K(1I.64)&&(!1K(57.64)&&1I.64==57.64)){1J.1D(1I)}1i{if(1I.ge(57.8M,57.dN,57.8u)){1J.1D(1I)}}}}1b 1J},mE:1a(){$.2g(J.2U,1a(1q,1I){1I.5X[1R.2j.3j].BW();if(QB.1d.2V.lC==1I.5X[1R.2j.3j]){1I.5X[1R.2j.3j].oI()}})},EG:1a(3j){K 2U=J.qB(3j);if(2U.1e>0){1b 2U[0]}1b 1c},qB:1a(3j){K 1J=[];$.2g(J.2U,1a(1q,1I){if(1I.ge(3j,"")){1J.1D(1I)}});1b 1J},NU:1a(1N){K 2S=$(":2S");$("#qb-ui-3P").2S();QB.1d.2V.2x=1n;K me=J;if(1K(1N)){1b}K C6=[];$.2g(1N.c7,1a(1O,ET){C6.1D(me.k0(ET,1c,1O,1n))});1o(K i=J.2U.1e-1;i>=0;i--){if(i>J.2U.1e-1){aN}K mr=J.2U[i];if(mr!=1c){if(C6.4Y(mr)==-1&&!mr.1K()){J.gZ(mr,1n)}}}QB.1d.2V.2x=1j},NF:1a(){K 2I=[];if(QB.1d.2e.5H!=1c&&QB.1d.2e.5H.1e!=1c){1o(K i=0;i<QB.1d.2e.5H.1e;i++){K 1u=QB.1d.2e.5H[i];K 1M=1u.1h("1C");K 8m=!1K(1M.jk)?1M.jk:1M.3T;K C4=8m+".*";2I.1D({1Q:1j,1Y:C4,1l:C4,db:"1M"});$(1M.5G).2g(1a(){K 2i=J;K mn=8m+"."+2i.6W;K Fd=2i.6W;2I.1D({1Q:1j,1Y:Fd,1l:mn,db:"2i"})})}}9v.Cc("3P-3j",2I)},XF:1a(1I,3A){1I.eX(3A)},Fc:1a(e,1h){K 1I=e.1h.1I;K 1q=1c;K 4f=1c;K 5D=1c;if(1h){1q=1h.1q;4f=1h.4f;5D=1h.5D}if(1q==1R.2j.jM&&4f){if(J.2U.1e>1){J.gZ(1I,1n)}1i{if(1I.1K()){1b}1i{J.gZ(1I,1n);J.jS()}}}J.jS(1I);J.hd(1I);J.1f.2c(QB.1d.2V.2l.fp,{1I:1I,1q:1q,4f:4f,5D:5D})},hd:1a(1I){J.Ew(1I);J.Fb(1I)},Fb:1a(){K mp=[];1o(K i=0;i<J.2U.1e;i++){K 1I=J.2U[i];K 1l=1I.7r(1R.2j.8B);if(1l!=1c&&1l>0){mp.1D({1I:1I,6V:1I.7r(1R.2j.6V)})}}mp.g4(J.EP);K 2I=[];1o(K i=0;i<mp.1e;i++){2I.1D({1Q:1j,1Y:5j(i+1),1l:5j(i+1),db:"6V"});K 1I=mp[i].1I;1I.8q(1R.2j.6V,i+1,1n);1I.k5(1R.2j.6V)}2I.1D({1Q:1j,1Y:5j(i+1),1l:5j(i+1),db:"6V"});9v.Cc("3P-6V",2I)},Hk:1a(){1o(K i=0;i<J.2U.1e;i++){K 1I=J.2U[i];1I.F4(1R.2j.ck)}},EP:1a(a,b){K jQ=b.6V;K k9=a.6V;if(1K(k9)||k9<0){1b 1}if(1K(jQ)||jQ<0){1b-1}k9=66(k9);jQ=66(jQ);1b k9-jQ},Ew:1a(1I){K pL=1j;1o(K i=0;i<J.2U.1e;i++){if(J.2U[i].7r(1R.2j.cP)){pL=1n;1p}}if(J.l6==pL){1b 1j}J.l6=pL;K ks=$(".ui-qb-3P-1I-c5",J.1M);ks.31("5q",J.l6?"":"3p");1b 1n},Eu:1a(){K 84=$("<XI />");K tr=$("<tr />").2t("ui-qb-3P-1I-84").4q(84);K 4t=1n;K q5="";QB.1d.2V.8w={};QB.1d.2V.8w[1R.2j.46]="";QB.1d.2V.8w[1R.2j.jM]=QB.1d.2d.58.5o.gE;QB.1d.2V.8w[1R.2j.1Q]=QB.1d.2d.58.5o.5Y.pU;QB.1d.2V.8w[1R.2j.3j]=QB.1d.2d.58.5o.5Y.8M;QB.1d.2V.8w[1R.2j.ck]=QB.1d.2d.58.5o.5Y.dN;QB.1d.2V.8w[1R.2j.ae]=QB.1d.2d.58.5o.5Y.8u;QB.1d.2V.8w[1R.2j.8B]=QB.1d.2d.58.5o.5Y.dO;QB.1d.2V.8w[1R.2j.6V]=QB.1d.2d.58.5o.5Y.kq;QB.1d.2V.8w[1R.2j.cP]=QB.1d.2d.58.5o.5Y.gS;QB.1d.2V.8w[1R.2j.c5]=QB.1d.2d.58.5o.5Y.Bb;QB.1d.2V.8w[1R.2j.8i]=QB.1d.2d.58.5o.5Y.q2;QB.1d.2V.8w[1R.2j.o7]=QB.1d.2d.58.5o.5Y.q2;$.2g(QB.1d.2V.8w,1a(i,7w){QB.1d.2V.8w[i]=7w.3g("&2r;"," ").3g("&Be;","&")});$.2g(J.Es(),1a(){if(4t){q5=\'XG="3"\';4t=1j}1i{q5=""}$(\'<th 2C="ui-53-5r ui-qb-3P-1I-\'+J.1z+\'" \'+q5+">"+J.84+"</th>").4q(tr)});1b 84},Es:1a(){K 2U={};2U[1R.2j.1Q]={cw:1,1z:"1Q",84:QB.1d.2d.58.5o.5Y.pU,1x:"7K"};2U[1R.2j.3j]={cw:2,1z:"3j",84:QB.1d.2d.58.5o.5Y.8M,1x:"3j"};2U[1R.2j.ck]={cw:3,1z:"ck",84:QB.1d.2d.58.5o.5Y.dN,1x:"2n"};2U[1R.2j.ae]={cw:4,1z:"ae",84:QB.1d.2d.58.5o.5Y.8u,1x:"1Y"};2U[1R.2j.8B]={cw:5,1z:"8B",84:QB.1d.2d.58.5o.5Y.dO,1x:"2n"};2U[1R.2j.6V]={cw:6,1z:"6V",84:QB.1d.2d.58.5o.5Y.kq,1x:"2n"};2U[1R.2j.cP]={cw:7,1z:"cP",84:QB.1d.2d.58.5o.5Y.gS,1x:"7K"};2U[1R.2j.c5]={cw:8,1z:"c5",84:QB.1d.2d.58.5o.5Y.Bb,1x:"2n"};2U[1R.2j.8i]={cw:9,1z:"8i",84:QB.1d.2d.58.5o.5Y.q2,1x:"1Y"};1o(K i=0;i<QB.1d.2V.gA;i++){2U[1R.2j.o7+i]={cw:10+i,1z:"Bh",84:QB.1d.2d.58.5o.5Y.ED,1x:"1Y"}}1b 2U}};QB.1d.2V.2l={vu:"Y8",vy:"Y2",fp:"vv",sK:"sK",rG:"rG"};(1a($){$.8Q("ui.8G",QB.1d.2V);$.4l($.ui.8G,{EH:"XV EG qB k0 eY",5S:"1.7.1"})})(2w);QB.1d.2d.eI={fZ:0,6t:1,zk:2,sV:3,HE:4};QB.1d.2d.6s={};QB.1d.2d.6s[QB.1d.2W.6w.EF]={3T:"XU fG",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.Fh]={3T:"hj",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.FT]={3T:"Y0 fG",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.mZ]={3T:"is ge to",7C:1,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.FV]={3T:"B5 5Q 2J fG",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.FQ]={3T:"B5 5Q Y1",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.FK]={3T:"B5 5Q 4y fG",7C:1,7c:[QB.1d.2W.6a.9V]};QB.1d.2d.6s[QB.1d.2W.6w.Bz]={3T:"is in 4N",7C:1,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.FP]={3T:"is 5Q ge to",7C:1,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.BA]={3T:"is 5Q in 4N",7C:1,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.G6]={3T:"is 1c",7C:0,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.G5]={3T:"is 5Q 1c",7C:0,7c:[]};QB.1d.2d.6s[QB.1d.2W.6w.Ga]={3T:"is Ft qn",7C:1,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.6s[QB.1d.2W.6w.Fu]={3T:"is Ft qn or ge to",7C:1,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.6s[QB.1d.2W.6w.Fo]={3T:"is Fi qn",7C:1,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.6s[QB.1d.2W.6w.Fk]={3T:"is Fi qn or ge to",7C:1,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.6s[QB.1d.2W.6w.Fl]={3T:"is FE",7C:2,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.6s[QB.1d.2W.6w.Fv]={3T:"is 5Q FE",7C:2,7c:[QB.1d.2W.6a.fS,QB.1d.2W.6a.5i]};QB.1d.2d.gB={};QB.1d.2d.gB[QB.1d.2W.9B.93]={3T:"93",hG:"6l"};QB.1d.2d.gB[QB.1d.2W.9B.ro]={3T:"fA 93",hG:"XY"};QB.1d.2d.gB[QB.1d.2W.9B.kO]={3T:"kO",hG:"XZ"};QB.1d.2d.gB[QB.1d.2W.9B.jR]={3T:"jR",hG:"3p"};QB.1d.sN=1a(){J.$1x=1c};QB.1d.ok=1S 62({$1x:"dE.n9.1d.dI.na.Bq, dE.nh.1d.dI",4k:1c,2P:[],4B:QB.1d.2d.eI.fZ,6t:1c,7s:QB.1d.2W.6w.mZ,5L:1c,7a:1c,dH:1j,g2:1j,1f:1c,9R:1a(){K 9R=J;45(9R.4k!=1c){9R=9R.4k}1b 9R},sS:1a(1N){1N.$1x=J.$1x;1N.4B=J.4B;1N.6t=J.6t;1N.7s=J.7s;1N.5L=J.5L;1N.7a=J.7a},sR:1a(1N){1N.2P=[];$.2g(J.2P,1a(1O,1g){1N.2P.1D(1g.hC())})},hC:1a(){K 1N=$.4l(1S QB.1d.sN,1S QB.1d.2d.Bq);J.sS(1N);J.sR(1N);1b 1N},Fy:1a(1N){K 1J=1c;if(1N==1c){1b 1J}3r(1N.4B){1m QB.1d.2d.eI.6t:1J=1S QB.1d.Bf(J);1J.nq(1N);1p;1m QB.1d.2d.eI.zk:1J=1S QB.1d.Ci(J);1J.nq(1N);1p;1m QB.1d.2d.eI.sV:1J=1S QB.1d.r9(J);1J.nq(1N);1p}1b 1J},nq:1a(1N){K me=J;J.4B=1N.4B;J.6t=1N.6t;J.7s=1N.7s;J.aL=1N.aL;J.8V=1N.8V;J.5L=1N.5L;J.7a=1N.7a;$.2g(1N.2P,1a(1O,1g){me.2P.1D(me.Fy(1g))})},Aw:1a(5M){J.6t=5M;if(J.6t!=1c){if(QB.1d.2d.6s[J.7s].7c.1e!=0&&!QB.1d.2d.6s[J.7s].7c.hj(J.7s)){J.7s=QB.1d.2W.6w.mZ}}1i{J.7s=QB.1d.2W.6w.mZ}},95:1a(){if(J.4k==1c){1b-1}1b J.4k.2P.4Y(J)},X9:1a(){if(J.4k==1c){1b 1c}K i=J.4k.2P.4Y(J);if(i>=J.4k.2P.1e-1){1b 1c}1b J.4k.2P[i+1]},oe:1a(){if(J.4k==1c){1b 1c}K i=J.4k.2P.4Y(J);if(i<=0){1b 1c}1b J.4k.2P[i-1]},Fw:1a(){if(J.4k==1c){1b 0}1b J.4k.2P.1e},Cg:1a(){1b QB.1d.2d.6s[J.7s]},rq:1a(){K 1J="";if(!J.9R().ng){1b 1J}if(J.oe()==1c){1b 1J}if(J.4k==1c){1b 1J}3r(66(J.4k.8V)){1m QB.1d.2W.9B.93:;1m QB.1d.2W.9B.ro:1J=$("<2F> kw </2F>");1p;1m QB.1d.2W.9B.kO:;1m QB.1d.2W.9B.jR:1J=$("<2F> or </2F>");1p}1b 1J},Gi:1a(){K 1F={};$.2g(J.9R().sD,1a(1O,5M){1F[5M.3T]={1z:5M.3T,3L:"2i",1h:5M}});1b 1F},Gh:1a(1g){K 1F={};$.2g(QB.1d.2d.6s,1a(1O,1f){if(1g.6t!=1c){if(1f.7c.1e!=0){if(1g.6t!=1c&&1f.7c.hj(1g.6t.lB)){1F[1O]={1z:1f.3T,3L:"",1h:1f}}}1i{1F[1O]={1z:1f.3T,3L:"",1h:1f}}}});1b 1F},Gd:1a(1g){K 1F={};$.2g(QB.1d.2d.gB,1a(1O,1f){1F[1O]={1z:1f.3T,3L:"",1h:1f}});1b 1F},tk:1a(){K 1F={};1F["dz-up"]={1z:"kn up",3L:"dz-up",2x:J.95()<=0};1F["dz-dw"]={1z:"kn dw",3L:"dz-dw",2x:J.95()>=J.Fw()-1};1F["5n"]="---------";1b 1F},7H:1a(){J.lV()},j0:1a(){1b 1n},lV:1a(){if(J.6t==1c){J.dH=1n;J.g2=1n;1b}if(J.7s==QB.1d.2W.6w.Bz||J.7s==QB.1d.2W.6w.BA){1b!1K(J.5L)}3r(J.6t.lB){1m QB.1d.2W.6a.kh:;1m QB.1d.2W.6a.5i:;1m QB.1d.2W.6a.9V:;1m QB.1d.2W.6a.fZ:J.dH=!1K(J.5L);J.g2=!1K(J.7a);1p;1m QB.1d.2W.6a.fS:J.dH=!1K(J.5L)&&$.FI(J.5L);J.g2=!1K(J.7a)&&$.FI(J.7a);1p}},fe:1a(){J.7H()},k6:1a(){1b{}},EI:1a(){K 1O=J.95();K 1g=J.4k.2P[1O];if(1O<=0||(J.4k==1c||J.1f==1c)){1b 1j}K B2=1O-1;K gx=J.4k.2P[B2];if(gx==1c||gx.1f==1c){1b 1j}J.1f.79(gx.1f);J.4k.2P[1O]=gx;J.4k.2P[B2]=1g;1b 1n},EJ:1a(){K 1O=J.95();K 1g=J.4k.2P[1O];if(J.4k==1c||(J.1f==1c||1O>=J.4k.2P.1e-1)){1b 1j}K dJ=1O+1;K ha=J.4k.2P[dJ];if(ha==1c||ha.1f==1c){1b 1j}ha.1f.79(J.1f);J.4k.2P[1O]=ha;J.4k.2P[dJ]=1g;1b 1n},EL:1a(){K 1O=J.95();J.4k.2P.3v(1O);J.1f.3v();1b 1n},EB:1a(){$.2g(J.2P,1a(1O,1g){1g.1f.3v()});J.2P=[];1b 1n},kj:1a(1g){K 1O=1g.95();if(1O==0){J.1f.ke(1g.7H())}1i{1g.oe().1f.rZ(1g.7H())}},Av:1a(){K 1g=1S QB.1d.Bf(J.4k);J.4k.2P.1D(1g);J.4k.kj(1g);1b 1g},Er:1a(){K 1g=1S QB.1d.Ci(J.4k);J.4k.2P.1D(1g);J.4k.kj(1g);1b 1g},Et:1a(){K 1g=1S QB.1d.r9(J.4k);J.4k.2P.1D(1g);J.4k.kj(1g);1b 1g},rS:1a(1q){3r(1q){1m"dz-up":1b J.EI();1p;1m"dz-dw":1b J.EJ();1p;1m"3X":1b J.EL();1p;1m"aD":1b J.EB();1p;1m"4Z-8i-1o-5M":1b J.Av();1p;1m"4Z-qT-8i":1b J.Er();1p;1m"4Z-bF-of-qN":1b J.Et();1p}1b 1j},AF:1a(1q,5M){J.Aw(5M);J.fe();1b 1n},Gc:1a(1q){J.7s=1q;J.fe();1b 1n},Ge:1a(1q){J.8V=1q;J.fe();1b 1n},bP:1a(1L){if(1L!==2N){J.4k=1L}}});QB.1d.Bf=1S 62({b9:QB.1d.ok,4B:QB.1d.2d.eI.6t,$1x:"dE.n9.1d.dI.na.Eq, dE.nh.1d.dI",k6:1a(){K 1F=J.tk();1F["3X"]={1z:"gE",3L:"yG"};1b 1F},j0:1a(){if(J.6t==1c){1b 1j}K Cd=J.Cg();if(Cd!=1c){3r(Cd.7C){1m 2:1b J.dH&&J.g2;1p;1m 1:1b J.dH;1p;1m 0:1b 1n;1p}}1b 1n},k2:1a($1f,dF,5M){K me=J;if(1K(dF)){dF=1}K 2h="";if(dF==2){if(!1K(J.7a)){2h=J.7a}}1i{if(!1K(J.5L)){2h=J.5L}}K $29=$(\'<29 1l="\'+2h+\'">\').hH(1a(1H){if(1H.3E==10||1H.3E==13){1H.4g();J.4Q()}});if(!1K(5M)&&5M.lB==QB.1d.2W.6a.5i){$29.oQ({fW:1a(2h,XD){$29.2h(2h);if(dF==2){me.7a=2h}1i{me.5L=2h}me.lV(2h,dF)},XC:1a(){2h=$29.2h();if(dF==2){me.7a=2h}1i{me.5L=2h}me.fe()}});$29.dX($1f).2S()}1i{$29.dX($1f);$29.2S();6F(1a(){$29.4Q(1a(){K 2h=$29.2h();if(dF==2){me.7a=2h}1i{me.5L=2h}me.lV(2h,dF);me.fe()})},98)}},7H:1a(){K me=J;J.1L(2q);if(J.1f==1c){J.1f=$(\'<2E 2C="qb-ui-4G-4J-70 1g">\')}J.1f.cI();J.1f.1h("1g",J);J.1f.2Z($(\'<2E 2C="qb-ui-4G-4J-3B 6J">\'));J.1f.2Z(" ");J.1f.2Z(J.rq());K 5M=J.6t;if(1K(5M)){J.1f.2Z($(\'<a 2C="qb-ui-4G-4J-1W-2i-2n 9o" 5d="#">[2n 5M]</a>\'))}1i{J.1f.2Z($(\'<a 2C="qb-ui-4G-4J-1W-2i-2n" 5d="#">\'+5M.3T+"</a>"))}J.1f.2Z(" ");K Ev=QB.1d.2d.6s[J.7s].3T;J.1f.2Z($(\'<a 2C="qb-ui-4G-4J-1W-7V" 5d="#">\'+Ev+"</a>"));J.1f.2Z(" ");K Ff=J.Cg();K $9t;K $e2;3r(66(Ff.7C)){1m 1:if(1K(J.5L)){$9t=$(\'<a 2C="qb-ui-4G-4J-1W-1l 9o" 5d="#">[tG 1l]</a>\')}1i{$9t=$(\'<a 2C="qb-ui-4G-4J-1W-1l" 5d="#">\'+J.5L+"</a>")}$9t.3K(1a(e){K $1f=$(J);me.k2($1f,1,5M);$1f.3I()});J.1f.2Z($9t);if(!1K(J.5L)&&!J.dH){$9t.2t("9o");J.1f.2Z(\' <2F 2C="qg-1l">F3 1l</2F>\')}1p;1m 2:if(1K(J.5L)){$9t=$(\'<a 2C="qb-ui-4G-4J-1W-1l 9o" 5d="#">[tG 1l]</a>\')}1i{$9t=$(\'<a 2C="qb-ui-4G-4J-1W-1l" 5d="#">\'+J.5L+"</a>")}if(!J.dH){$9t.2t("9o")}$9t.3K(1a(e){K $1f=$(J);me.k2($1f,1,5M);$1f.3I()});J.1f.2Z($9t);J.1f.2Z($("<2F> kw </2F>"));if(1K(J.7a)){$e2=$(\'<a 2C="qb-ui-4G-4J-1W-1l 9o" 5d="#">[tG 1l]</a>\')}1i{$e2=$(\'<a 2C="qb-ui-4G-4J-1W-1l" 5d="#">\'+J.7a+"</a>")}if(!J.g2){$e2.2t("9o")}$e2.3K(1a(e){K $1f=$(J);me.k2($1f,2,5M);$1f.3I()});J.1f.2Z($e2);if(!1K(J.5L)&&!J.dH||!1K(J.7a)&&!J.g2){if(!1K(J.5L)&&!J.dH){$9t.2t("9o")}if(!1K(J.7a)&&!J.g2){$e2.2t("9o")}J.1f.2Z(\' <2F 2C="qg-1l">F3 1l</2F>\')}1p}if(!1K(5M)&&5M.lB==QB.1d.2W.6a.5i){if(!1K($9t)){$9t.oQ()}if(!1K($e2)){$e2.oQ()}}1b J.1f},bP:1a(1L){J.1L(1L)}});QB.1d.Ci=1S 62({b9:QB.1d.ok,4B:QB.1d.2d.eI.zk,$1x:"dE.n9.1d.dI.na.zl, dE.nh.1d.dI",aL:"",tE:1j,k6:1a(){K 1F=J.tk();1F["3X"]={1z:"gE",3L:"yG"};1b 1F},hC:1a(){K 1N=$.4l(1S QB.1d.sN,1S QB.1d.2d.zl);J.sS(1N);1N.aL=J.aL;J.sR(1N);1b 1N},j0:1a(){1b J.tE},lV:1a(2h,dF){J.tE=!1K(J.aL)},k2:1a($1f){K me=J;K 2h="";if(!1K(J.aL)){2h=J.aL}K $29=$(\'<29 1l="\'+2h+\'">\').hH(1a(1H){if(1H.3E==10||1H.3E==13){1H.4g();J.4Q()}}).4Q(1a(){me.aL=$29.2h();me.5L=me.aL;me.fe()}).dX($1f).2S()},7H:1a(){K me=J;J.1L(2q);if(J.1f==1c){J.1f=$(\'<2E 2C="qb-ui-4G-4J-70 1g">\').1h("1g",J)}J.1f.cI();J.1f.2Z($(\'<2E 2C="qb-ui-4G-4J-3B 6J">\'));K $k1;J.1f.2Z(J.rq());if(1K(J.aL)){$k1=$(\'<a 2C="qb-ui-4G-4J-1W-1l 9o" 5d="#">[tG 8i]</a>\')}1i{$k1=$(\'<a 2C="qb-ui-4G-4J-1W-1l" 5d="#">\'+J.aL+"</a>")}if(!J.tE){$k1.2t("9o")}$k1.3K(1a(e){K $1f=$(J);$1f.3I();me.k2($1f)});J.1f.2Z($k1);1b J.1f},bP:1a(1L){J.1L(1L)}});QB.1d.r9=1S 62({b9:QB.1d.ok,4B:QB.1d.2d.eI.sV,$1x:"dE.n9.1d.dI.na.zd, dE.nh.1d.dI",8V:QB.1d.2W.9B.93,hC:1a(){K 1N=$.4l(1S QB.1d.sN,1S QB.1d.2d.zd);J.sS(1N);1N.8V=J.8V;J.sR(1N);1b 1N},j0:1a(){K 1J=1n;if(J.2P.1e==0&&J.4k!=1c){1b 1j}$.2g(J.2P,1a(1O,1g){if(!1g.j0()){1J=1j;1b 1j}});1b 1J},k6:1a(){K 1F=J.tk();1F["aD"]={1z:"zB",3L:"zD",2x:J.2P.1e<=0};1F["3X"]={1z:"gE",3L:"yG"};1b 1F},kj:1a(1g){K 1O=1g.95();if(1O==0){J.1f.6u(".qb-ui-4G-4J-4j").ke(1g.7H())}1i{1g.oe().1f.rZ(1g.7H())}},zP:1a(){1b QB.1d.2d.gB[J.8V]},7H:1a(){J.1L(2q);if(J.1f==1c){J.1f=$(\'<2E 2C="qb-ui-4G-4J-70 bF">\')}J.1f.1h("1g",J);J.1f.cI();J.1f.2Z($(\'<2E 2C="qb-ui-4G-4J-3B b4">\'));K i4=J.zP();K $3x=$(\'<2E id="qb-ui-4G-4J-3x">\');$3x.2Z(J.rq());K $a=$(\'<a 2C="qb-ui-4G-4J-1W-Ab" 5d="#">\'+i4.3T+"</a>");$3x.2Z($a);$3x.2Z($("<2F> "+J.9R().ia+"</2F>"));J.1f.2Z($3x);K $4j=$(\'<2E 2C="qb-ui-4G-4J-4j \'+i4.hG+\'">\');$.2g(J.2P,1a(1O,1g){$4j.2Z(1g.7H())});K rV=1S QB.1d.rP(J);$4j.2Z(rV.7H());J.1f.2Z($4j);1b J.1f},bP:1a(1L){J.1L(1L);if(1L!=1c){3r(66(1L.8V)){1m QB.1d.2W.9B.93:;1m QB.1d.2W.9B.ro:J.8V=QB.1d.2W.9B.kO;1p;5r:J.8V=QB.1d.2W.9B.93}}}});QB.1d.rP=1S 62({b9:QB.1d.ok,4B:QB.1d.2d.eI.HE,k6:1a(){K 1F={"4Z-8i-1o-5M":{1z:"fM 8i 1o 5M",3L:"4Z-8i-1o-5M"},"4Z-qT-8i":{1z:"fM qT 8i",3L:"4Z-qT-8i"},"5n":"---------","4Z-bF-of-qN":{1z:"fM bF of qN",3L:"4Z-bF-of-qN"}};1b 1F},7H:1a(){if(J.1f==1c){J.1f=$(\'<2E 2C="qb-ui-4G-4J-70 4Z">\').1h("1g",J)}J.1f.cI();J.1f.2Z($(\'<2E 2C="qb-ui-4G-4J-3B lh">\'));J.1f.2Z($(\'<a 2C="qb-ui-4G-4J-1W-2i-2n" 5d="#">[...]</a>\'));1b J.1f},AF:1a(1q,5M){K 1g=J.Av();1g.Aw(5M);1g.fe();1b 1n},bP:1a(1L){J.1L(1L)}});QB.1d.7y=1S 62({b9:QB.1d.r9,$1x:"dE.n9.1d.dI.na.A7, dE.nh.1d.dI",4k:1c,nL:"Gy",ia:"of iI WM WX",ng:1n,2P:[],iR:1a(1h){J.sD=1h.sD;J.2P=[];J.nq(1h);J.zO()},Cl:1a(){K me=J;K 5s=".qb-ui-4G-4J-3B";$.2L("6d",5s);$.2L({3U:5s,4n:cg,6Q:{6K:0},2c:"2b",1F:{},9P:1a($2c,e){K 1g=$2c.cF(".qb-ui-4G-4J-70:4t").1h("1g");if(1g==1c){1b 1j}K 1F=1g.k6();if(1F==1c||4E.89(1F).1e==0){1b 1j}1b{1Z:1a(1q){1g.rS(1q,1F[1q].1h)},1F:1F}}})},CB:1a(){K me=J;K 5s=".qb-ui-4G-4J-1W-7V";$.2L("6d",5s);$.2L({3U:5s,4n:cg,6Q:{6K:0},2c:"2b",1F:{},9P:1a($2c,e){K 1g=$2c.cF(".qb-ui-4G-4J-70:4t").1h("1g");if(1g==1c){1b 1j}K 6L=1g.Gh(1g);if(6L==1c||4E.89(6L).1e==0){1b 1j}1b{1Z:1a(1q){1g.Gc(1q)},1F:6L}}})},Cv:1a(){K me=J;K 5s=".qb-ui-4G-4J-1W-Ab";$.2L("6d",5s);$.2L({3U:5s,4n:cg,6Q:{6K:0},2c:"2b",1F:{},9P:1a($2c,e){K 1g=$2c.cF(".qb-ui-4G-4J-70:4t").1h("1g");if(1g==1c){1b 1j}K 6L=1g.Gd(1g);if(6L==1c||4E.89(6L).1e==0){1b 1j}1b{1Z:1a(1q){1g.Ge(1q)},1F:6L}}})},Cn:1a(){K me=J;K 5s=".qb-ui-4G-4J-1W-2i-2n";$.2L("6d",5s);K 1T=$.2L({3U:5s,4n:cg,6Q:{6K:0},2c:"2b",1F:{},bJ:"Wx",9P:1a($2c,e){K 1g=$2c.cF(".qb-ui-4G-4J-70:4t").1h("1g");if(1g==1c){1b 1j}K 1F=1g.Gi();if(1F==1c||4E.89(1F).1e==0){1b 1j}1b{1Z:1a(1q){1g.AF(1q,1F[1q].1h)},1F:1F}}})},zO:1a(){K me=J;J.2p.cI();J.2p.2Z(J.7H());1b;K $4j=$(\'<2E 2C="qb-ui-4G-4J-4j 6l">\');$.2g(J.2P,1a(1O,1g){$4j.2Z(1g.7H())});K Gk=1S QB.1d.rP(J);$4j.2Z(Gk.7H());J.2p.2Z($4j);J.1f=$4j},kj:1a(1g){K 1O=1g.95();if(1O==0){J.1f.6u(".qb-ui-4G-4J-4j").ke(1g.7H())}1i{1g.oe().1f.rZ(1g.7H())}},7H:1a(){if(J.1f==1c){J.1f=$(\'<2E 2C="qb-ui-4G-4J-70 bF 2p">\').1h("1g",J)}J.1f.cI();K i4=J.zP();K $3x=$(\'<2E id="qb-ui-4G-4J-3x">\');$3x.2Z("<2F>"+J.9R().nL+" </2F>");K $a=$(\'<a 2C="qb-ui-4G-4J-1W-Ab" 5d="#">\'+i4.3T+"</a>");$3x.2Z($a);$3x.2Z($("<2F> "+J.9R().ia+"</2F>"));J.1f.2Z($3x);K $4j=$(\'<2E 2C="qb-ui-4G-4J-4j \'+i4.hG+\'">\');$.2g(J.2P,1a(1O,1g){$4j.2Z(1g.7H())});K rV=1S QB.1d.rP(J);$4j.2Z(rV.7H());J.1f.2Z($4j);1b J.1f},hC:1a(){K 1N=1S QB.1d.2d.A7;1N.8V=J.8V;1N.2P=[];$.2g(J.2P,1a(1O,1g){1N.2P.1D(1g.hC())});1b 1N},5Z:1a(1Z){QB.1d.2m.4b.7y=J.hC();QB.1d.2m.5Z(1Z)},7N:1a(1Z){QB.1d.2m.4b.7y=1c;QB.1d.2m.5Z(1Z)},bP:1a(1L){J.2p=$("#qb-ui-4G-4J");if(J.2p.1e){if(!1K(J.2p.1k("ia"))){J.ia=J.2p.1k("ia")}if(!1K(J.2p.1k("nL"))){J.nL=J.2p.1k("nL")}if(!1K(J.2p.1k("ng"))){J.ng=J.2p.1k("ng").3R()=="1n"}}J.1L(1c);J.zO();J.Cl();J.Cn();J.CB();J.Cv()}});QB.1d.7y.2l={Do:"Do",Dk:"Dk"};K 5S=4;K Df=1n;K um="lv/";K wy="1.11.0";K H6="1.99.99";K vW="1.11.0";K Gv="1.99.99";K Ha="yH rB LO.js is 5Q ag.";K wx="2w Eg is 5Q 8N.";K H8="tV Eg is 5Q 8N.";K H7="Ei 2w 5S v.$1 E1! 2w v.$2 or DK 2s 1.XX Dt is Ec.";K GW="Ei tV 5S v.$1 E1! tV v.$2 or DK 2s 1.XX Dt is Ec.";K Dj=\'YW Tt t8 cw. 2w kw tV Tq be ag BE t8 iI "LO.js"\';K MA=\'Sg lv Si is Sh. Mx eX MR "RT.6D" RU.\';K mm=1j;K 5K=1a(){J.42=1c;J.vR=1c;J.1V=1c;J.3P=1c;J.4U=[];J.e3={};J.5H=[];J.7M=1c;J.qs=1c;J.ld=1j;J.3f=1c;J.g7=1c;J.cL="";J.9n={};J.hD=1c;J.8Z=1c;J.7y=1c;J.yL=1c;J.mu=1j;J.aT=0;J.p9=1n;J.tK=1a(9r){K q6=QB.1d.2m.hb[9r];if(!1K(q6)){J.wG(1c,q6.2e);J.wr(1c,q6.2V)}QB.1d.2m.dY=9r};J.oW=1a(46){K me=J;if(46.cc=="M3-LM-S1"){J.tK(46.3f)}if(QB.1d.2m.ek){6F(1a(){me.oW(46)},50);1b}QB.1d.2m.4b.Ao.1D(46);QB.1d.2m.5Z()};J.GY=1a(e,1W){K 1N=1W.1N();if(1W.7T){QB.1d.2e.72.3v(1W)}QB.1d.2m.Nb(1N);QB.1d.2m.5Z()};J.vk=1a(e,1h){K 46=1h.46;K 1g=1h.1g;QB.1d.2m.4b.fC.cf=46;QB.1d.2m.4b.fC.fD=1g.1h;QB.1d.2m.4b.fC.Nf="1V";QB.1d.2m.5Z()};J.wv=1a(e,1w){K 1M=1w.1M;K 2i=1w.2i;K 8X=1w.8X;K A4=QB.1d.2e.Aj(1M.Ad);if(A4==1c){$.2g(1M.5G,1a(i,f){if(fQ(f.6W,2i.6W)){f.eh=1n}});K 1w={1C:1M,8X:8X};J.n0(e,1w)}1i{A4.6q("iU",2i.6W,1n,1n)}};J.n0=1a(e,1w){1w.1C.6R=1n;K 1u=J.cn(1w);K 9m=1w.1C;if(1w.8X&&1w.8X.1e>=2){9m.X=1w.8X[0];9m.Y=1w.8X[1]}K 5d=$(1u).1h("me");if(5d!=1c){9m.64=5d.64}if(J.1V!=1c){J.1V.2c(QB.1d.2e.2l.zK,1u)}QB.1d.2m.Jt(9m);QB.1d.2m.gp()};J.vn=1a(e,1h){K 1u=$(1h);K 9m=1u.1h("4r");QB.1d.2m.Jv(9m);QB.1d.2m.gp()};J.Gp=1a(e,1h){QB.1d.2m.pl([1h.1I.1N()]);QB.1d.2m.gp()};J.Gz=1a(e,1h){K 57=1h.57;QB.1d.2m.pl([57]);QB.1d.2m.gp()};J.Iy=1a(1M,2i){K 3j="";3j+=!1K(1M.jk)?1M.jk:1M.3T;3j+="."+2i.6W;1b 3j};J.uF=1a(e,1h){QB.1d.2m.Jr(1h);QB.1d.2m.5Z()};J.uq=1a(e,1W){K 8r=QB.1d.2e.Aj(1W.As);if(8r!=1c){K $1V=$("#qb-ui-1V");if(8r[0].8k<$1V.4X()||(8r[0].9c<$1V.5b()||(8r[0].8k+8r.1r()>$1V.4X()+$1V.1r()||8r[0].9c+8r.1y()>$1V.5b()+$1V.1y()))){K x=8r[0].8k+8r.1r()/ 2 - $1V.1r() /2;K y=8r[0].9c+8r.1y()/ 2 - $1V.1y() /2;$1V.4F({4X:x,5b:y},lc)}8r.2D(".qb-ui-1M-bD").Ij("po",{},oU).Ij("po",{},oU);1b}K 1w=1c;if(1W.j3==1c){1w={1C:{3f:1W.As,6B:1W.6B,bc:1W}}}1i{1W.j3.bc=1W;1w={1C:1W.j3}}J.n0(1c,1w)};J.uV=1a(e,d){K 5f=d.5f;K 2U=[];1o(K i=0;i<5f.1e;i++){K 1h=5f[i];K 3A=1h.3A;K 3j=J.Iy(1h.1L,1h.1C);K tR=J.3P.8G("qB",3j);1o(K j=0;j<tR.1e;j++){K 1I=tR[j];if(3A){if(1I.eX(3A)){2U.1D(1I.1N())}}1i{if(1I.K9()){if(1I.eX(3A)){2U.1D(1I.1N())}}1i{2U.1D(1I.1N());J.3P.8G("gZ",1I)}}}if(3A&&tR.1e==0){K rF=1S QB.1d.2d.uy;rF.8M=3j;rF.bN=3A;K JJ=J.3P.8G("k0",rF);2U.1D(JJ.1N())}}};J.cn=1a(1w,5T){K 1u=QB.1d.2e.cn(1w,5T);if(5T===2N||5T==1c){1u.4M(QB.1d.7d.2l.ot,J.uV,J);1u.4M(QB.1d.7d.2l.nc,J.uF,J);1u.4M(QB.1d.7d.2l.o5,J.uq,J);1u.4M(QB.1d.7d.2l.mD,J.jg,J)}J.3P.8G("mE");1b 1u};J.gL=1a(1w,5T,hA){K 1u=QB.1d.2e.gL(1w,5T,hA);J.3P.8G("mE");1b 1u};J.pz=1a(1u){};J.m9=1a(){QB.1d.2m.4b.h6.1D("m9");J.uC();J.xN();QB.1d.2m.5Z()};J.KH=1a(){QB.1d.2m.4b.h6.1D("m9");J.uC();QB.1d.2m.v5(1c);QB.1d.2m.5Z()};J.uC=1a(){QB.1d.2m.4b.7n=1S QB.1d.2d.mH;QB.1d.2m.4b.7n.cf="4v"};J.D9=1a(){J.p9=1n;J.HW()};J.xN=1a(){K 9W=1c;if(J.a0!=1c&&(J.a0.1e>0&&J.a0.is(":6P"))){9W=J.a0.2h()}1i{9W=J.qs}J.7M=9W;QB.1d.2m.v5(J.7M);1b 1n};J.IG=1a(){QB.1d.2m.4b.8Z=J.8Z;1b 1n};J.qz=1a(1Y){J.9z.4h("9o 9q");J.9z.2t("tX");J.9z.3Y(1Y)};J.Tc=1a(1Y){J.9z.4h("9q tX");J.9z.2t("9o");J.9z.3Y(1Y)};J.SZ=1a(1Y){J.9z.4h("9o tX");J.9z.2t("9q");J.9z.3Y(1Y)};J.HQ=1a(){if(J.p9){if(QB.1d.2m.iY!=J.a0.2h()){J.qz(QB.1d.2d.58.5o.I4);QB.1d.2m.iY=J.a0.2h()}}};J.Co=1a(e,1C){K 1w={1C:1C};J.n0(1c,1w)};J.jg=1a(e,9r){K me=J;if(QB.1d.2m.ek){6F(1a(){me.jg(e,9r)},50);1b}if(!1K(9r)){J.tK(9r);QB.1d.2m.4b.dY=9r;QB.1d.2m.5Z()}};J.DO=1a(e,46){QB.1d.5K.oW(46)};J.Ht=1a(e,1h){J.42.iR(1h)};J.IU=1a(4U){if(4U==1c){1b 1j}if(4U.1e==0){1b 1j}QB.1d.2e.72.xo();1o(K 1O=0;1O<4U.1e;1O++){K 9E=4U[1O];K dC=1c;if(9E.4S!=1c&&9E.4W!=1c){dC=QB.1d.2e.72.xh(9E.4S.aW,9E.4W.aW)}if(dC==1c){QB.1d.2e.72.oC(9E)}1i{dC.qp=1j;QB.1d.2e.72.xB(dC,9E)}}QB.1d.2e.72.xA()};J.IW=1a(hT){if(hT==1c){1b}K 8J=hT.3G();K ja=[];K j6=[];K jd=[];K me=J;1o(K i=QB.1d.2e.5H.1e-1;i>=0;i--){K 1u=QB.1d.2e.5H[i];K ji=1u.1h("1C");K dG=1c;1o(K j=8J.1e-1;j>=0;j--){K 8a=8J[j];if(QB.1d.2e.xz(ji,8a)){8J.3v(j);dG=8a;1p}}if(dG==1c){1o(K j=8J.1e-1;j>=0;j--){K 8a=8J[j];if(QB.1d.2e.xD(ji,8a)){8J.3v(j);dG=8a;1p}}}if(dG!=1c){j6.1D({1N:8a,5T:1u})}1i{ja.1D(1u)}}$.2g(8J,1a(1O,8a){jd.1D(8a)});$.2g(j6,1a(1O,1u){me.gL({1C:1u.1N},1u.5T,1n)});$.2g(ja,1a(1O,1u){QB.1d.2e.pz(1u,1n)});$.2g(jd,1a(1O,1u){me.cn({1C:1u})})};J.wG=1a(e,1V){J.IW(1V.gP);J.IU(1V.72);if(1V.pQ!=1c){QB.1d.2e.Jc(1V.pQ.dB)}if($("#qb-ui-1V").is(":6P")){QB.1d.2e.dD()}};J.Ho=1a(e,9U){if(J.9U!=1c){J.9U.J7(9U)}};J.F0=1a(e,cm){K me=J;if(1K(cm)){1b}J.hD=cm;if(J.g7!=1c){J.g7.wM(J.hD)}if(J.9U!=1c){J.9U.NA(J.hD)}};J.ER=1a(e,1T){if(J.2e!=1c){J.2e.eY(1T.2e);J.2e.MX(1T.MY);J.2e.N0(1T.c4)}J.3P.8G("eY",1T.2V);J.eY(1T.Na,"#qb-ui-1V-e8-lh-3B");J.eY(1T.fM,"#qb-ui-1V-fN-lh-3B")};J.EW=1a(e,pZ){if(pZ==1c){1b}K me=J;K pC=0;if(J.ai.1e>0){pC=J.ai[J.ai.1e-1].Id}1o(K 1O=0;1O<pZ.2P.1e;1O++){K c8=pZ.2P[1O];if(pC==1c||c8.Id>pC){J.ai.1D(c8);K wT="ZO";if(c8.4B==2){wT="ZY"}if(c8.4B==3){wT="9j"}K ZJ=pr(c8.wY).6x("H:i:s")}}};J.wr=1a(e,3P){if(3P==1c||3P.c7==1c){1b}K me=J;me.3P.8G("NU",3P);me.3P.8G("NF")};J.EM=1a(e,9W){if(7E(e)=="4d"&&9W===2N){9W=e}if(9W!==" "&&1K(9W)){1b}J.a0.2h(9W);J.qs=9W;J.iY=9W};J.EX=1a(e,9R){if(1K(9R)){1b}if(J.7y==1c){1b}J.7y.iR(9R)};J.YP=1a(1Z){J.xP(1a(1h){if(1Z&&7E(1Z)=="1a"){1Z(1h.fF)}})};J.YR=1a(1v,1Z){QB.1d.2m.4b.fF=1v;1b QB.1d.2m.qF(1Z)};J.LU=1a(LK,LN){};J.vv=1a(e,1h){K 1I=1h.1I;K 1q=1h.1q;K 5D=1h.5D;K 4f=1h.4f;K 2U=[];K 57=1I.1N();if(1I.7T){K 3j=57.8M;if(!1K(3j)&&3j.4Y(".")!=-1){K 8m=3j.73(0,3j.4Y("."));K 8P=3j.73(3j.4Y(".")+1);K 1M=QB.1d.2e.mC(8m);if(1M!=1c){1M.6q("iU",8P,1j)}}}3r(1q){1m 1R.2j.1Q:K 3j=57.8M;if(!1K(3j)&&3j.4Y(".")!=-1){K 8m=3j.73(0,3j.4Y("."));K 8P=3j.73(3j.4Y(".")+1);K 1M=QB.1d.2e.mC(8m);if(1M!=1c){1M.6q("iU",8P,4f)}}2U.1D(57);1p;1m 1R.2j.3j:K 1Q=57.bN;if(1K(5D)&&5D!=4f){1Q=1n;57.bN=1n}K 3j=5D;if(!1K(3j)&&3j.4Y(".")!=-1){K 8m=3j.73(0,3j.4Y("."));K 8P=3j.73(3j.4Y(".")+1);K 1M=QB.1d.2e.mC(8m);if(1M!=1c){1M.6q("iU",8P,1j)}}3j=4f;if(1Q&&(!1K(3j)&&3j.4Y(".")!=-1)){K 8m=3j.73(0,3j.4Y("."));K 8P=3j.73(3j.4Y(".")+1);K 1M=QB.1d.2e.mC(8m);if(1M!=1c){1M.6q("iU",8P,1Q)}}2U.1D(57);1p;1m 1R.2j.8B:;1m 1R.2j.6V:K wZ=J.3P.8G("M9");1o(K i=0;i<wZ.1e;i++){2U.1D(wZ[i].1N())}1p;5r:2U.1D(57)}QB.1d.2m.pl(2U);QB.1d.2m.5Z()};J.yf=1a(6L){if(6L==1c||6L.1e==0){1b 1c}K 1F={};K 4R;1o(K i=0;i<6L.1e;i++){4R=6L[i];if(4R.3T!=1c&&4R.3T.73(0,1)=="-"){1F[4R.cc]=4R.3T}1i{1F[4R.cc]={1z:4R.3T,3L:4R.cc,1F:J.yf(4R.2P),1h:4R.3f}}}1b 1F};J.eY=1a(1T,5s){K me=J;if(1K(1T)||1T.2P.1e==0){1b}K 1F=J.yf(1T.2P);K $5s=$(5s);if($5s.1e>0){$5s[0].Mz=0}$5s.3B().1k("Mz",0).81(1a(e){if(e.3E==13||e.3E==32){$(e.3l).2c("3K")}});$.2L("6d",5s);$.2L({3U:5s,4n:cg,6Q:{6K:0},1Z:1a(46,1w){K 1g=1c;7q{1g=1w.$1Q.1h().2L.1F[46]}7h(e){}6F(1a(){me.vk(J,{46:46,1g:1g})},0)},1F:1F});$5s.3K(1a(){$(5s).2L();$1T=$(5s).2L("1f");if($1T){$1T.2G({my:"2b 1P",at:"2b 4D",of:J})}})};J.ZA=1a(1Z){if(J.7y.j0()){J.7y.5Z(1Z);1b 1n}1i{1b 1j}};J.Mu=1a(1Z){QB.1d.2m.5Z(1Z)};J.Zc=1a(1Z){J.tK(QB.1d.2m.iy);QB.1d.2m.4b.dY=QB.1d.2m.iy;QB.1d.2m.5Z(1Z)};J.Zz=1a(1Z){QB.1d.2m.4b.7y=1c;QB.1d.2m.5Z(1Z)};J.vQ=1a(1Z){J.xN();QB.1d.2m.5Z(1Z)};J.xP=1a(1Z){K me=J;if(J.aT<0){J.aT=0}if(J.aT>0){6F(1a(){me.xP(1Z)},100);1b}J.vQ(1Z)};J.7N=1a(1Z){QB.1d.2m.7N(1Z)};J.gh=1a(1Z){QB.1d.2m.gh(1Z)};J.7Y=1a(){mm=!($(".mc").1k("mm")===2N);if(!mm){J.Hr()}QB.1d.2m.bs=$(".mc").1k("bs");D4=$(".mc").1k("D2")=="1n";J.ld=$(".mc").1k("ld")=="1n";K xZ=$(".mc").1k("Z2");if(!1K(xZ)){um=xZ}J.u8=$("#qb-ui-1V").4H("u8");K me=J;J.ai=[];J.ag=1j;if(!J.ld){$.io(um+"?46=102",rr,1a(1h){})}J.9z=$("#qb-ui-a0-101-ZZ");J.3P=$("#qb-ui-3P").8G();J.2e=QB.1d.2e.7Y();J.1V=J.2e!=1c?J.2e.1V:1c;J.42=1S QB.1d.7n;J.g7=1c;J.9U=1c;if(Df){J.g7=1S QB.1d.l5;J.9U=1S QB.1d.9L}if(J.g7!=1c){J.CQ=J.g7.wM();J.CQ.4M(QB.1d.l5.2l.rA,J.jg,J)}if(J.9U!=1c){J.9U.3a.4M(QB.1d.9L.2l.rz,J.jg,J);J.9U.3a.4M(QB.1d.9L.2l.r6,J.DO,J)}J.vR=J.42.DU();J.vR.4M(QB.1d.7n.2l.sk,J.Co,J);J.a0=$("#qb-ui-a0 7O");J.a0.4M("vN",J.D9,J);$("#qb-ui-a0-9s-io").4M("3K",J.vQ,J);$("#qb-ui-a0-9s-gh").4M("3K",1a(){QB.1d.2m.gh()},J);if(J.1V!=1c){J.1V.4M(QB.1d.2e.2l.sb,J.n0,J);J.1V.4M(QB.1d.2e.2l.rY,J.vn,J);J.1V.4M(QB.1d.2e.2l.rX,J.wv,J);J.1V.4M(QB.1d.2e.2l.s0,J.vk,J);$("#qb-ui-1V-7u").4M(QB.1d.2e.bc.2l.nW,J.GY,J)}J.3P.4M(QB.1d.2V.2l.fp,J.vv,J);J.3P.4M(QB.1d.2V.2l.vu,J.Gp,J);J.3P.4M(QB.1d.2V.2l.vy,J.Gz,J);J.3P.4M(QB.1d.2V.2l.sK,J.vn,J);J.3P.4M(QB.1d.2V.2l.rG,J.wv,J);J.HW=$.gy(J.HQ,lc,J);J.7y=1S QB.1d.7y;QB.1d.2m.c9.2B(QB.1d.2m.c9.2l.6E,J.Ht,J);QB.1d.2m.9L.2B(QB.1d.2m.9L.2l.6E,J.Ho,J);QB.1d.2m.2V.2B(QB.1d.2m.2V.2l.6E,J.wr,J);QB.1d.2m.2e.2B(QB.1d.2m.2e.2l.6E,J.wG,J);QB.1d.2m.7y.2B(QB.1d.2m.7y.2l.6E,J.EX,J);QB.1d.2m.2B(QB.1d.2m.2l.ts,J.F0,J);QB.1d.2m.2B(QB.1d.2m.2l.tA,J.EW,J);QB.1d.2m.2B(QB.1d.2m.2l.oX,J.ER,J);QB.1d.2m.2B(QB.1d.2m.2l.q1,J.EM,J);QB.1d.2m.c9.2B(QB.1d.2m.2l.pX,1a(e,1h){J.qz(QB.1d.2d.58.5o.FU)},J);QB.1d.2m.2B(QB.1d.2m.2l.6E,1a(e,1h){if(1K(1h)){1b}J.p9=1j;J.cL=1h.cL;if(!1K(1h.8Z)){J.8Z=1h.8Z}if(!1K(1h.fF)){J.fF=1h.fF}if(!1K(1h.9n)){J.9n=1h.9n;if(!1K(1h.9n.Fx)&&!1h.9n.Fx){$("#qb-ui-1V-e8-nZ-Hp").3I()}if(!1K(1h.9n.Fs)&&!1h.9n.Fs){$("#qb-ui-1V-e8-QS-Hp").3I()}me.3P.8G("Hk")}if(!1K(1h.gl)){J.gl=1h.gl}J.9z.4h("9o 9q tX");J.9z.2t(1h.kr.62);J.9z.3Y("");J.9z.3Y(1h.kr.9V)},J);QB.1d.2m.c9.2B(QB.1d.2m.c9.2l.md,1a(e,1h){K wo=$("#dA-7A",1L.2O.3S);if(wo.1e){wo.3I()}},J)};J.dW=1a(76){1b 66(76.3g(/(\\.|^)(\\d)(?=\\.|$)/g,"$10$2").3g(/(\\d+)\\.(?:(\\d+)\\.*)/,"$1.$2"))};J.Hr=1a(){if(7E(Hj)=="2N"){dV(Ha)}if(!($&&($.fn&&$.fn.hU))){dV(wx)}if(!($&&($.fn&&$.fn.hU))){dV(wx)}1i{if(J.dW($.fn.hU)<J.dW(wy)||J.dW($.fn.hU)>J.dW(H6)){dV(H7.3g("$1",$.fn.hU).3g("$2",wy))}}if(!($&&($.ui&&$.ui.5S))){dV(H8)}1i{if(J.dW($.ui.5S)<J.dW(vW)||J.dW($.ui.5S)>J.dW(Gv)){dV(GW.3g("$1",$.ui.5S).3g("$2",vW))}}if($&&($.fn&&$.fn.hU)){if($.fn.bX===2N){dV(Dj)}}}};QB.1d.QY={Mm:"Mm",Mv:"Mv"};if(!3M.cq){3M.cq={}}if(!3M.cq.iB){3M.cq.iB=1a(){}}if(!3M.cq.wV){3M.cq.wV=1a(){}}K nP;K hS=1c;K qo=0;1a xE(){if(qo==1c){qo=0}1b qo++}2w(2O).PF(1a(){QB.1d.5K=1S 5K;QB.1d.5K.7Y();nP=QB.1d.5K;IK();nP.KH()});$.ui.6M.2T.O2=1a(1H,Kc){J.2G=J.Oy(1H);J.Ox=J.Oq("8n");if(J.1w.Ig){if(J.1w.5m){J.1w.5m()}}1i{if(!Kc){K ui=J.g1();if(J.7z("5m",1H,ui)===1j){J.OO({});1b 1j}J.2G=ui.2G}}if(!J.1w.qj||J.1w.qj!="y"){J.4z[0].3b.2b=J.2G.2b+"px"}if(!J.1w.qj||J.1w.qj!="x"){J.4z[0].3b.1P=J.2G.1P+"px"}if($.ui.gI){$.ui.gI.5m(J,1H)}1b 1j};',62,3868,'|||||||||||||||||||||||||||||||||||||||||||||this|var||||||||||||||||||||||||||function|return|null|Web|length|element|item|data|else|false|attr|value|case|true|for|break|key|width|node||obj|params|options|type|height|name|res|opt|object|push||items|path|event|row|result|isEmpty|parent|table|dto|index|top|selected|MetaData|new|menu|_|canvas|link|stroke|text|callback|||||||||fill|input|attrs|left|trigger|Dto|Canvas|args|each|val|field|FieldParamType|out|Events|Core|select|self|root|arguments|nbsp|from|addClass|call|paper|jQuery|disabled|offset||anim|bind|class|find|div|span|position|opacity|values|start|font|contextMenu|typeof|undefined|document|Items|option|eve|focus|prototype|rows|Grid|Enum|bbox|doc|append||css|||||||||control|style|elproto|apply|match|Guid|replace|dialog|selectmenu|expression|context|target|next|parentNode|has|none|split|switch|toString|color|clr|remove|math|label|concat|toFloat|checked|button|transform|appendChild|keyCode|rgb|slice|Math|hide|array|click|icon|window|gradient|Utils|grid|prev|toLowerCase|body|Name|selector|settings|pos|delete|html|Str||Array|tree|svg|method|while|action|raphael||abs|container|ExchangeObject|src|string|tableDnD|newValue|preventDefault|removeClass|arg|hitarea|Parent|extend|rect|zIndex|deg|toFixed|appendTo|metaDataObject|filter|first|events|get|max|matrix|end|helper|_engine|Type|arrows|bottom|Object|animate|criteria|hasClass|join|builder|round|handle|bindEx|list|mmax|CLASSES|blur|dtoItem|Left|animationElements|links|constructor|Right|scrollLeft|indexOf|add||newIndex||state|box||size|rowDto|Localizer|removed|url|scrollTop|dots|href|show|fields|splice|win|Date|String|pathArray|contextmenu|drag|separator|Strings|rotate|display|default|menuSelector|mouseup|aria|set|close|diff|p1x||current|rowChanged|easing|oldValue|textControl|stop|Fields|Objects|resizable|vml|Application|Value1|column|auto|clone|wrapper|not|mdo|version|existingObject|min|mmin|pow|cells|Criteria|sendDataToServer||tabindex|Class|newelement|TempId|c1x|Number|tagName|c1y|clip|KindOfField|hex|p1y|destroy|uiDialog|paperproto|len|title|that|graphics|minHeight|all|elem|parseInt|layer|_editControl|qbtable|point|CriteriaBuilderConditionOperator|Column|children|hover|ConditionOperator|format|editControl|count|getBBox|Caption|zoom|config|DataReceived|setTimeout|http|att|status|dot|duration|menuItems|draggable|prop|bbox2|visible|animation|IsNew|bbox1|pageX|setproto|sortingOrder|NameStr|__set__|open|last|block|hidden|Links|substr|implement||str|c2y|resize|insertBefore|Value2|now|ValueKinds|TableObject|c2x|lineCoord|p2y|catch|guid|pageY|removeChild|mousedown|names|Tree|angle|p2x|try|getValue|Operator|dragi|graph|Visible|cell|handler|CriteriaBuilder|_trigger|overlay|JoinType|ValuesCount|crp|typeOf|firstChild|_g|buildElement|pth|subElement|checkbox|right|SQL|update|textarea|create|unbind|newObject|ret|IsDeleted|hasOwnProperty|operation|cache|dirty|init|stopPropagation|currentTrigger|keydown|_ulwrapdiv|currentTarget|header|skew|command|path2|selectOptionData|keys|newDatasourceDto|family|_optionLis|scale|containment|tmp|DrawOrder|percents|condition|pathString|offsetLeft|toUpperCase|tableName|absolute|selectDto|sin|setValue|existing|destX|360|Alias|radio|cellName|vector|nodeName|customAttributes|cos|sorting|bez1|face|forEach|matches|QBGrid|par|toggleClass|newObjects|timer|tabbable|Expression|found|bez2|fieldName|widget|bg_iframe|rad|image|buttons|JunctionType|red|coordinates|_key|QueryProperties||touch|jPag|All|contextMenuRoot|Index|dasharray||1E3||objectBorder|caller|offsetTop|maxHeight|currentLayout|namespace|ctx|mooType|Function|Error|circle|matrixproto|dataSource|SyntaxProviderData|warning|namespaces|error|unionSubQuery|controls|valueElement1|el2|EditableSelectStatic|throw|sqrt|proxy|statusBar|colour|JunctionItemType|wrapperId|toInt|linkDto|test|dragObject|trg|documentElement|amt|SmartPush|NavBar|weight|path1|mousemove|build|selects|criteriaBuilder|elements|Element|navBar|Text|sql|u2004|xa0|u2003|editor||||setAttribute|x20|u2008|green|tstr|u2002|u2007|con|fit|outerHeight|alias|u2001|loaded|u2005|Messages|u1680||u180e|||u2006|u2000|ellipse||||tt1|u2028|content|||clientY|source|u3000|hoveract|clear|isNaN|arrow|meshY|meshX|navigator|blue|Raphael|Condition|clientX|continue|u2029|expandable|x09|cnvs|u200a|Lock|x0a|_editBlock|FieldGuid|x0b|x0c|u205f|methods|x0d|percent|u2009|corner|active|u202f|charAt|valueHTML|Extends|getPath||Link|cacher||glow||inFocus|pathClone|dialogId|tableDnDConfig|currentTable|instances|getRGB|editable|Prefix|fieldsContainer||SessionID|ele|offsetHeight|thisObject|checkTrigger|||icons|shift|addEventListener|addArrow|titlebar|_selectedOptionLi|group|filteredUi|line|subkey|className|selectedIndex|counter|collapsable|Select|current_value|initialize|getTotalLength|markerCounter|previous|bot|toggle|eventName|img|valEx|Inner|shape|000|||textpath|Table|groupingCriterion|getElementsByTagName|Rows|msg|MetadataTree||fillpos|Key|linecap||Action|6E3|number|||aggregate|createNode|queryStructure|addObject||createElement|console|stopImmediatePropagation|||_value|DatasourceGuid|order|||Postfix|direction|SVG|token|180|support|parents|pattern|defaultWidth|empty|times|droppable|SyntaxProviderName|itemsPageSize|minWidth|ids|grouping|setFillAndStroke|xlink|titleBar|change|currentPage|originalEvent|optionDto|attrs2|RegExp|fonts|fontSize|Animation||_drag|JSON|marker|defaults|editableSelectOverlay|isInput|listeners|getKeyName|cssClass|rec||tolerance||tt2|filtredItems|||_viewBlock|defs|tlen|Outer||pop|linkBox|hasChanges|_events|_cellEditEnd|parseFloat|alpha|down|||move|iframe|Active|existingLink|redraw|ActiveDatabaseSoftware|valueNumber|matchDatasourceDto|Value1IsValid|Server|nextIndex|methodname|sib|UnionSubQuery|Aggregate|SortType|scaley|scope|linkedObject|_parent|getElementById|userAgent|alert|versionToNumber|insertAfter|ActiveUnionSubQuery|inver|getPrevTabbable|json|valueElement2|dialogs|offsetParent|docElem|pathi|getNextTabbable|navbar|property3|instanceof|activeItem|selectElement|mouseout|property1||isEnd|IsSelected|property2|bgiframe|wait||||easyeasy|results||defaultHeight||myAt|getTimezoneOffset||_moveFocus|tableBox|outerWidth|hover_css|a_css|isFunction|off|marked||Matrix|properties|Cancel|CriteriaBuilderItemType|map|scrollX|scrollY|to2|round1000|255|getDate|time|longclick|handles|isResizable|isURL|maxWidth|delay|check|updateContextMenu|paths|isDropDown|||scalex|oRec|pRec|getRec|computedStyle|redrawT|overloadSetter|substring|animated|realPath|tspan|updateElement|obj2|obj1|glyphs|milli|origin|getHours|border|force||oldObj|GridOnRowChanged|curve|filtered|objectGuid|thisLi|simulateMouseEvent|closest|classes|||attrType|Not|intr|ContextMenu|Data|userEdit|QueryParams|with|bb2|offsetWidth|cssText|keyStop|setViewBox|Add|subquery|200|_viewBox|strcmp|bb1|Numeric||precision|LinkExpression|onSelect|guidHash|justCount|Unknown|dirtyT|_uiHash|Value2IsValid|translate|sort|touches|selecter|treeStructure|VML|markerId|bezlen|isInAnim|use|pathId|equal|objectType|floor|reconnect||attachEvent|jsp|QueryTransformerSQL|_global_timer_|QBWebCoreBindable|fontcopy|sendDataToServerDelayed|list_is_visible|onload|totalOrigin||instantEdit|isPointInside|base|prevItem|debounce|replaceClass|orColumnCount|CriteriaBuilderJunctionItemType|role|menus|Delete|branches|thefont|markedMeshCells|ddmanager|tspans|globalFieldDragHelper|updateObject|asterisk|newClass|shear|DataSources|eldata|mouseover|Grouping|pane|ObjectType|lastCollapsable|cur|dropdown|mousePos|removeRow|lastExpandable|currentRow|optionClasses|getFormat|Height|VisiblePaginationLinksCount|Actions|Field|Width|indexed|nextItem|QueryStructureContainer|dialogTarget|updateTable|itemsListIncomplete|accesskeys|recursive|listWrap|current_event|contains|__args||vbs|strings|_ul|visibility|from2|||parentObject|Supported|u00ebl|Rapha|||toJSON|skipEvents|subItem|getDto|QueryStructure|minContentHeight|iLen|CssClass|keypress|fillString|buffer|path2curve|linejoin|collapsed|enumerables|overflow|_typeAhead_chars|dstyle|fillsize|globalTempLink|dataSources|jquery|_moveSelection|clearTimeout|titleBarText|activeID|popup|activeClass|||over|joinType|dto1|newObj|metadata|cancel|getMonth|JunctionPostfix|DOMload|runAnimation||setSize|||replaceChars||Set|repeat|getListValue|isOpen||refresh|initstatus|editEnd|_availableAttrs|||textpathStyle|cursor|toLower||RootQuery|nextSibling|butt|log|isActive|rvml|1px|dragMaxX|which|vals|the|types|flip|getSelectedListItem|rowId|__getType|margin||text_color|importData|strConversion|Filter|checkField|Selects|defaultView|sub|ClientSQL|removeAttr|isValid|globalIndex|background_color|DataSource|background_hover_color|text_hover_color|objectsToUpdate|list_item|Properties|fff|objectsToRemove|removeByIndex|9999em|objectsToAdd|triangle|inputLabel|onTreeStructureClick|dto2|canvasDatasourceDto||NameInQuery|clientLeft|propSize|clientTop|updateFields|parentElement|mouseProto|__pad||touchHandled|queue|fltr|destY|ceil|draw|percentScrolled|endString|stops|treeview|startString|Copy|safari|coordorigin|background|contentWidth|linkMenuCallback|newf|appendBefore|deleting|GridRowCell|updateContextMenuItems|glob|valueB|None|tryAddEmptyRow|proto|keyToUpdate|hook|dj1|di1|hooks|TString|addOrUpdateRow|valueElement|showEditor|_path2string|currentValue|updateRowControl|getButtonContextMenuItems|selectable|sweep_flag|valueA|related|wrongRow|skipEvent|toggler|prepend|seg2|move_scope|Boolean|letters|appendElement||define|updateTabindex|Move|seg|random|SortOrder|Message|groupColumns|forValues|hours|step|and|||showFields|deleted|updatePosition|createUUID|day|Options|finite|itemHtml|paneWidth|arr|setInterval|invert|fieldsHtml|itemsHtml|supportsTouch|Any|refX|list_height|getSubpath|menuWidth|callbacks|Direction|mdoToTable|start_scope|buttonLink|itemsPagePreload|matchee|lowerCase|||mdoFromTable|LinkedObjects|TreeStructure|showGrouping|_23|opts|setCoords|minutes|nodes|500|DisableSessionKeeper|bgImage|collision|UpdateGuids|plus||Sorting|touchMap||seconds|schema|_13|solid|tdata|dragHandle|__def_precision||tear|handlers|GridRow|miterlimit|clipRect|items_then_scroll|dirY|ValueKind|CurrentEditCell|pcom|shiftKey|dirX|_pathToAbsolute|l2c|linear|getString|prevComputedStyle|brect|seg2len|addGradientFill|seglen|getPaddingString|onDragClass|optionsMarkColumnOptions|yOffset|rectPath|optionsNameColumnOptions|validateValue|getPaddingLength|isAlternate|scrollAmount|classic|parentSelector|||||month|www|initialized|rem|fullUpdate|_getBBox|_vbSize|QueryBuilderControl|Loaded||deltaY|_blur|longClickContextMenu|setAttributeNS|onDragStart|parentOptGroup|deltaX|suppressConfigurationWarning|fieldValue|findDotAtSegment|rowItems|Child|testRow||scrollTimeout|RightToLeft|Path|NameNotQuoted|||Value|typeahead|reset|findTableByName|TableObjectOnSubqueryClick|updateExpressionControl|serverSideFilter|itemsCount|ExchangeTreeDto|onChange|boolean|relative|innerHTML|fieldsTable|glyph|mapPath|_disabled|findDotsAtSegment|py2|dis|swapClass|getFullYear|numPerPage|getPointAtLength|_focusedOptionLi|_setOption|IsEqualTo|onAddTableToCanvas|||touchmove|configEnds|stretch|contentW|bboxwt|touchstart|ActiveQueryBuilder|Models|px2|TableObjectOnLinkCreate|||relatedTarget|ShowPrefixes|ActiveQueryBuilder2|maxZ|_refreshValue|Yet|_divwrapright|nonContentHeight|mouseenter||_minHeight|setDto|paramCounts||||_isOpen||||hsb2rgb|arglen|subpaths|PrimaryKey|DescriptionColumnOptions|clrToString|scroll|postprocessor|mouseleave|timestamp|getColor|_createTitleButton|RootJunctionPrefix|trim|epsilon|selectedpage|application|abortevent|_obj|curr|selobj|_removedFactory|_position|CanvasLinkOnChanged|removeEventListener|showList|union|toHex|||_removeGraph|readyState|TableObjectOnLinkedObjectSelected|original|conditionOr1|funcs|AllowJoinTypeChanging|bod|dim|binded|_typeAhead_timer|PreviousItem||y1m||x1m|touchend|CriteriaBuilderItem|400|layout||clientWidth||_typeAhead_cycling||y2m|TableObjectOnCheckField|GetPropertyDialog|notfirst||x2m|location|fillSelects|mouseOffset|getKey|CreateLink|typeMismatch|dragObj|coordsize|oldGuid|commaSpaces|_cellEditStart|ShowLoadingItems|getPrecision||Loading|updateGuidHash|currentContext|ver|datepicker|pickListItem|paginate|radial|800|browser|DoAction|ContextMenuReceived|thumbs_mouse_interval|srcAlias|mouse|||||delayedSend|hsl2rgb|checkScroll|itemIndex|editorChangesEnabled||_fired_|ie7|oldY|getComputedStyle|buildItems|clrs|parentItem||||updateGridRows|||highlight||ItemsStart|eval||001|OnApplicationReadyHandlers|oldRaphael|ShowPropertyDialog|||removeObject|overlays|interHelper|lastId|ActiveXObject|getBoxToParent|selectors|dots2|lastI|rx2|clientHeight|timeout|newShowGrouping|leftcol|mdoFrom|docum|mdoTo|Layout|ymin|initWin|parameters|Output|xmin|renderfix|DataSending|zin|messages|_name|SQLReceived|CriteriaItem|interPathHelper|commands|collspan|structureItem|yi1|sleep|needFilter|hovering||bbx|globalMenu|xi1|itemdata|invalid|hideList|oldt|axis|1e12|itemsElement|filterRegExp|than|GlobalTempId|ToDelete|rightcol|idx|hiddenSQL|ItemsCount|strong|clearInterval|dots1|||MessageInfo|ry2|findRowsByExpression|selectOptions|hideshow|query|sendDataToServerWithLock|insidewidth|localIndex|needInvoke|_outer|denominator|rowIsEmpty|hits|conditions|letter_spacing|line_spacing|autoOpen|5E3|dontEnums|general|editableSelectControl|elementFromPoint|cursorWait|transformPath|FieldName|getDay|fontName|inputs|flag|pathDimensions|normal|bit|NavBarAction|currIndex|lineHeight|CriteriaBuilderItemGroup|regex|recIndex|||itemsArray|upto255||delta|Disabled|selectListItem|end_scope|identifier|f_in|protected|NotAll||getJoinPrefix|300|instanceOf|wrappers|retainFocus|DenyLinkManipulations|dragUp|||NavBarBreadCrumbSelectNode|TreeStructureSelectNode|module|dragMove|parse|small|gridItemDto|GridOnAddTableField|getMatchItems|buttonSubquery|getLengthFactory|Event|scrollHeight|availableAnimAttrs|toColour|getSubpathsAtLength|CriteriaBuilderItemPlus|o1t|subpath|contextMenuCallback|o2t|dragging|plusButton|resizeT|CanvasOnAddTableField|CanvasOnRemoveTable|after|CanvasContextMenuCommand|||nes|positionDefault|1E5|margins|itemMouseleave|nextcommand|itemMouseenter|frame|CanvasOnAddTable|tail|TableObjectOnClose||TableObjectOnDestroy|_selectedIndex|thisArg|visibleMenu|UseLongDescription|TreeDoubleClickNode|TableObjectOnMoved|NameStrNotQuoted|sortBy|||Description||collector||getPointAtSegmentLength|propertyIsEnumerable||||doNotGenerateEvent||del|onFieldCheck|Columns|removeData|iframeBlocks|parentGuid|iconClass|isInAnimSet|_blockFrames|GridOnAddTable|instance|altKey|TypedObject|||are|fillDtoItems|fillDto|POST|parseTransformString|Group|oval|disable|objectOptions|cellspacing|||||cellpadding|hoverClass|returnStr|curChar|loading|thisAAttr||_left|_top||blockFocus|_path2curve|primary||total|_create|getButtonContextMenuItemsMove|QuickFilterInExpressionMatchFromBeginning|TypeColumnOptions|HideColumnName||HideColumnMark|||QueryStructureChanged||droppedRow|HideColumnType|parentTable|rowY|getPosition|f_out|MessagesReceived|rowHeight|filterChangeRoutine|HideColumnDescription|ConditionIsValid|onDrop|enter|diamond|lastExpandableHitarea|selectmenuId|ChangeActiveUnionSubquery|Remove|optionsTypeColumnOptions|The|lastCollapsableHitarea|fieldCheckbox|optionsDescriptionColumnOptions|gridRows|norm|GroupingCriterion|klass|jQueryUI|_importDto|information|fun|positionDragX|isEqual|positionDragY|dif|generateEvent|GetUID|asin|contentPositionX|GridRowCellOnChanged|DisableLinkedObjectsButton|optGroupName|contentHeight|targetTouches|scrollToX|isType|_safemouseup|org|scrollToY|_mouseInit||usePlural|cellNameKey||QBHandlers||andSelf||onLinkedObjectSelected|fixed|success|clearSelectedListItem|prevcommand|selectFirstListItem|domElement|contextMenuKey|GridRowDto|relativeRec|detachEvent|static|prepareSyncMetadata|getBoundingClientRect|inited|onLinkCreate|submenu|SQLChanged|UpdateValues|SQLUpdatedServerFlag|UserDataReceived|contextMenuAutoHide|menuChildren|SQLError|called|GetWrapper|OnApplicationReadyFlag|LastItemId|EditableSelect|editStart|accesskey|onCheckFieldInTable|li_value|toLocaleString|allEvents|triggerEvents|load|_params|thatMethod|selectNewListItem|list_item_height|updateSQL|ajax|li_text|ownerDocument|forGroup|ease||back|oldstop|factory|wildcard|subname|newOptionClasses|newAnim|pathes|onCanvasContextMenuCommand|_refreshPosition|sampleCurveX|onRemoveObjectFromCanvas|x_y_w_h|offsetx|onend|opera|isBBoxIntersect|istotal|GridOnAddRow|onGridRowChanged|offsety|touchcancel|GridOnRemoveRow|shifty|isLoaded|_toggle|_scrollPage|units|per|_fx|_fy|dir|newelementWrap|eventType|rgba|requestAnimFrame|paused|keyup|extractTransform|csv|refreshSql|treeControl|optgroup||_toggleEnabled|stopAnimation|jQueryUIMinVersion|todel|onmove|rel|parsePathString|upperCase|isPointInsideBBox||xmax|ymax|newwin|newres|curveDim|catmullRom2bezier|crz|_120|atan2|base3|xbase|pathValues|t13|t12|bezierBBox|packageRGB|rgbtoString|ybase|sum|prepareRGB|iFrameOverlay|mag|normalize|importGrid|pathToRelative|fromCharCode|scope_in|onAddTableFieldToCanvas|onstart|errNoJQ|jQueryMinVersion|getEventPosition|Paper|q2c|processPath|pathToAbsolute|isArray|a2c|importCanvas|ellipsePath|getEmpty|fixArc|fixM|toMatrix|buildTree|_insertafter|_insertbefore|lastReturn|makeDraggable|_tofront|_toback|msgType|cssDot|debug|setup|_rectPath|DateTime|allRows|isGrad|||||isSimple|raphaelid|u2026|_extractTransform|exclude|_tear|getMouseOffset|bbt|mouseCoords|docPos|endD|thin|getByGuid|calculateBox|shortLeg|startD|highlightSelected|adjustWrapper|listIsVisible|markAllForDelete|startType|endType|dispatchEvent||was|_init|com|_getContainer|_Paper||dtoIsEqual|removeAllMarked|UpdateLink|param|dtoIsSimilar|GetTempId|_oid|thisLiAttr|createTextNode|desc|leading|middle|isFloating|clmz|prepareSyncSQL|compensation|refreshSqlWithLock|Microsoft|progid|winH|dashes|blank|xb0|_typeAhead|maxH|getAttribute|handlersPath|texts|||||nogo|presentation|addDashes|dirtyattrs|anchor|align|newstroke|nodrop|draggedRow|_parseDots|generateContextMenuItems|fxfy|center|_radial_gradient|movingDown|newpath|_ISURL|_preload|running|prependTo|_getPath|serializeRegexp|every||serialize|strokeColor|serializeTable|square|global|_switchToView|obj2FieldName|busy|needUpdate|loadingItemsOverlay|NONE|currentSorting|LoadDataByFilter|cross|JavaScript|_createEditBlock|View|4E3|SqlErrorEventArgs|obj1FieldName|__arg|intersect|applystyle|currentSelect|invokeAsap|outsidewidth_tmp|outsidewidth|titleW|editableSelectInstances|currval|getControl|viewBlock|__repr|600|modal||applyFilter|selectsDto|component|toExponential|SelectOptionDto|pairs|Widget|VisiblePaginationLinksCountAttr|hasEmpty|buttonClose|CriteriaBuilderItemGroupDto|accept|buttonProperties|drop|rowToDelete|emptyRow|Close|General|CriteriaBuilderItemGeneralDto|Metadata|GridRowOnChanged|regexp|dblclick|filtredItemsCount|hooksOf|hexToRgb|New|generic|Database|Schema|brackets|protect|lower|ConditionType|Clear|disableSelection|page|onCellChanged|images|srcAggregate|rgbToHex|editableSelect|newField|MetadataObjectAdded|centercol|mHide|throttle|buildControlItems|getJunctionItemType|mergeOne|cloneOf|DisableDatasourcePropertiesDialog|DisableLinkPropertiesDialog|TableObjectField|SelectAllRowsFrom|DisableQueryPropertiesDialog|_grid|linkNode|targetId|parentOffset|UpdateObjects|LinkPart|borderLeftWidth|tableObj|dragStop|dragStart|CriteriaBuilderDto|heightBeforeDrag|UpdateConnection|extended|junctionType|newFieldsCount|MetadataGuid|needResize|moveToTop|borderTopWidth|checkAllField|checkedFields|findTableByDataSourceGuid|_unblockFrames|border_hover_color|TableObjectOnUpdated|KeyFieldsFirst|Actions1|freeX2|freeX1|optionsHtml|MetadataObjectGuid|_rotleft|contentH|actionAddItem|setColumn|_rotright|HideAsteriskItem|FieldListOptions|150|test_interval|_makeResizable|scrollWidth|testWidth|fieldContextMenuCallback|spanField|_makeDraggable|propertyName|fieldElement|_size|freeY1||descriptionHtml|FieldListSortType|freeY2|border_color|ShortDescription|getNextEmptyPlaceRoutine_Test|LongDescription|noop|cookieId|stored|prototyping|nodeCount|_click_|GUID|srcUrl|prevIndex|prepareBranches|applyClasses|does|isFirst|cookie|toggleCallback|parts|selectedOptions|CriteriaType|secondary|cRec|amp|CriteriaBuilderItemRow|topOffset|conditionOr|merge|horizontalDragPosition|buildElements|structure|Title|bindItemsEvents|setRequestHeader|Mutators|CriteriaBuilderItemDto|GetFullFieldName|acces|contextMenuActive|scrollByX|scrollBy|built|childButton||IsInList|IsNotInList|buildBreadcrumbElements|breadcrumbClick|database|before|createButton|trimCaption|contentPositionY|closed|0000|Checked|doScroll|annul|paneHeight|generateNavBarContextMenuItems|MAX_CAPTION_LENGTH|schedule|scrollByY|collapsableHitarea|simulatedEvent|expandableHitarea|_touchMoved|_reCreateEditBlock|FixedColumnMode|QueryGuid|srcExpression|bound|ascending|periodical|AriaLabel|tableValue|_escapeable|newRows|NameColumnOptions|pass|MarkColumnOptions|fieldIcon|findRowsByDto|UpdateWrapper|operator|addOption|quoteString|getOperatorObject|FieldTypeName|CriteriaBuilderItemGeneral|optionsFixedColumnMode|odd|createButtonMenu|resume|createFieldSelect|onTreeDoubleClick|flatten|simulatedType|createLinkObjectsMenu|_touchEnd|lastHeight|endMarker|createJunctionTypeMenu|hasIcon|classObject|changedTouches|endPath|_touchMove|createOperationMenu|typeAhead|stepCallback|_touchStart|collapseTable|destPercentY|pipe|include|CubicBezierAtTime|createSVGMatrix|collection|oldHeight|thisText|saveScroll|attempt|treeStructureElement|menuItem|colourRegExp|code|subqueryPlusButton|easing_formulas|bezierrg|2000|destPercentX|reCreate|optionValue|pause|trial|_fn_click|QBTRIAL|oldFieldsCount|preserveAspectRatio|oldWidth|aspectRatio|onEditorChange|stickToTop|thisA|scrollToElement|quote|handleWidth|SUBQUERY_ENABLED|qbtableClass|adjustSize|clean|errWrongScriptOrder|CriteriaBuilderChanged|quotedName|hasScroll|getFont|CriteriaBuilderItemAdded|tabbableLast|titleText|tabbableFirst|componentW|branch|objNotationRegex|cannot|nodeValue|||DataSourcePropertiesForm|updateDataSource|formatrg|startdx|Marker|enddx|owner|uiQBTableClasses|updateLinkObjectsMenu|ObjectReadOnly|wrap|higher|selectmenuIcon|escapeHtml|retain|onNavBarAction|startMarker|MetadataFieldDto|AllFieldsSelected|glowConfig|shape2|buildNewTree|markers|refreshTimeout|dragMaxY|_closeOthers|startPath|getInstance|detected|animateWith|NotPrimaryKey|selectelement|getPropertyValue|tuneText|cssrule|componentH|enable|replacer|isFunc|required|titleH|tokenRegex|_formatText|library|generateFields|Incorrect|vis|heightMax|titleButtonW|generateTitle|listH|Url|Line|CriteriaBuilderItemRowDto|actionAddGeneral|getRowHeaderList|actionAddGroup|generateHeaders|operatorText|toggleGroupColumn|post_error|error_alert|Errors|large_arc_flag|actionClear|Content|CriteriaOr|range|StartsWith|findRowByExpression|getter|actionMoveUp|actionMoveDown|pathBBox|actionDelete|importSQL|responseText|you|rowSorter|findRowByDto|importContextMenu|getLastRowControl|itemDto|isnan|adj|importMessages|importCriteriaBuilder|tableDragConfig|selection|importQueryStructure|oldIndex|nodeType|Invalid|reCreateEditBlock|setWindow|tan|x2old|y2old|f2old|uuidReplacer|updateSortingOrderColumn|onRowChanged|fieldText|uuidRegEx|operatorObj|objectToString|Contains|greater|hsrg|IsGreaterThanOrEqualTo|IsBetween|tCommand|XMLHttpRequest|IsGreaterThan|1252|3678|5873|IsSupportCTE|less|IsLessThanOrEqualTo|IsNotBetween|TotalCount|IsSupportUnions|createFromDto|hsba|u00b0|hsla|hsb|XMLHTTP|between|pathCommand|hsl|16777216|isNumeric|7699|DoesNotEndWith|p2s|hsltoString|comb|repush|IsNotEqualTo|DoesNotContain|hsbtoString|rgb2hsb|EndsWith|Updating|DoesNotStartWith|rgb2hsl|Cvalues|2335|2032|1601|9041|9816|2491|1069|IsNotNull|IsNull|getHTTPObject|0472|Tvalues|IsLessThan|targetPlace|operationContextMenuCallback|getJunctionTypeContextMenuItems|junctionTypeContextMenuCallback|onlystart|DocumentTouch|getOperationContextMenuItems|getFieldsContextMenuItems|dialogClass|plusItem|backIn|70158|exports|075|onGridRowAdded|isPointInsidePath|AggregateList|isWithoutTransform|getById|suppressEnter|jQueryUIMaxVersion|escapeHTML|getTatLen|Where|onGridRowRemoved|Editor|TableObjectOnLinkDelete|TableObjectOnCreate|beforeclose|currentOptionClasses|UID|sortByNumber|originalPosition|activedescendant|solve|some|toPath|equaliseTransform|real|availableAttrs|methodName|helperProportions|originalSize|isFinite|numsort|Now|backOut|errWrongJQUI|offsetPosition|onCanvasLinkChanged|resizeStart|resizeHandles|solveCurveX|positionOptions|resizeStop|resizing|_createEditControl|jQueryMaxVersion|errWrongJQ|errNoJQUI|shorter|errNoScript|isEnumerable|vendor|preventTouch|stopTouch|_f|Inc|_createViewBlock|olde|check_usr|updateAggregateColumn|typeCheck|initObject|maxlength|importNavBar|panel|fillDefaultValues|checkProjectConfigure|isAsterisk|importMetadata|createRowControl|_exportDto|acos|_getCssClass|edit|unmouseup|about|lastIndexOf|view|unmousemove|Plus|getElementByPoint|getOffset|Infinity|Arial|pageYOffset|1e9|You|ASC|scope_out|whitespace|detacher|onEditorChangeDebounced|addEvent|9999|methodsEnumerable|able|will|onEditorChangeDebouncedCall|_switchToEdit|aliases|getLayout|fieldGuid|onObjectClose|FieldCount|DataSourceLayoutDto|SqlChanged|adjustWrapperSize|Time|current_options_value|Incompatible|adjustWrapperPosition|objGuid|onObjectDestroy|objX1||QBWebCanvasLink|000000|fastDrag|fromType|objX2|effect|getNextEmptyPlaceRoutine_Find_RTL|getNextEmptyPlaceRoutine_Find|getEmptyPlaceCoord|getNextEmptyPlaceRoutine_Fill|thinBg|01|DataSourceType|arguments2Array|autoShow|SubQuery|initInputEvents|prevOffsetParent|Enclose|cls|getTableFieldExpression|Reconnect|stringify|dynamicSort|Common|GlobalUID|__getInput|Clone|prepareSyncQueryProperties|onTextboxChanged|callee|DeepCopy|OnApplicationReadyTrigger|isObject|Argument|__formatToken|Int32|tagValue|_divwrapleft|padding|inline|screenY|importCanvasLinks|findByTableGuid|importCanvasObjects|carat|CanvasOnDropObject|redrawD|removeByTableGuid|rightGuid|leftGuid|getObjectHeader|512|342|microsoft|updateUnionControls|CreateConnection|getObjectFieldByName|CopyInner|DataSourceLinkPartDto|setLayout|fireEvent|getObjectFieldByGuid|getObjectByGuid|getLineCoord|leftBox|rightBox|propertyValue|QueryPropertiesForm|parentBox|setWidths|objY2|hideOtherLists|objY1|positionElements|addLink|toType|addDataSource|parentId|removeDataSource|layerY|screenX|layerX|initMouseEvent|hideArrow|IntoControls|showArrow|canvasMenuCallback|createEvent|minLeg|ActionDto|QBWebCoreNavBar|QBWebCoreCanvas|newRow|deserialize|treeController|QBWebCoreGrid|delayed|flush|clearSyncDebounce|QBWebCoreCriteriaBuilder|QBWebCoreMetadataTree|sendDataToServerInternal|heightToggle|valueOf|isPrototypeOf|specified|prerendered|__entityMap|From|dontEnumsLength|layerClick|SubQueries|heightHide|splitAccesskey|hasDontEnumBug|Container|parentObj|aks|hasAggregateOrCriteria|QBWebCore|contextMenuShow|noPropagation|zindex|positionSubmenu|siblings|autoHide|typeName|For|sendDataToServerDelayedWrapper|clearSync|triggerObject|eventSelectstart|hasTypes|complete|NeedRebindUserInit|maintain|focusInput|triggerIsFixed|MultipleQueriesPerSession|blurInput|determinePosition|textContent|clearHighlightMatches|adjustHeight|unselectListItem|getMatchItemPrev|getMatchItemNext|Procedure|longDays|charCodeAt|menuitem|fromMenu|updateOnLoad|shortDays|need|Query|Synonyms|Refresh|duplicateOptions|year|Procedures|initEvents|Tables|scrollToListItem|Views|EditableSelectWrapper|May|inputClick|menuMouseleave|menuMouseenter|setMonth|focusItem|itemClick|getTime|proxyEx|Default|isEmptyObject|c1Elements|hideMenu|sepcified|htmlMenuitem|htmlCommand|_meta|Relations|longMonths|shortMonths|removeOption|selectedValues|Sort|blurItem|getMinutes|getSeconds|sel|compatMode|parentIndexId|buildPager|bVer|pathTypes|elementParent|vbt|isPatt|long|short|revert|windowHeight|isOval|_mousemove_|_mouseup_|press|destLeft|_mousedown_|ovalTypes|arrowScroll|innerHeight|path2vml||noRotation|jqXHR|updateNavBarContextMenu|Union|textStatus|usr_vXXX|IsChanged|TreeSelectDto|selectsParent|def|SelectedValue|ajaxFinish|toFilter|jspActive|wide|narrow|selectDataRefresh||ShowLoadingSelect||UnionNavBar|medium|||HideLoadingItems|selectChange|getAllRows|_mouseout_|fontWeight|fontStyle|TABLE|_touchend_|fontFamily|onAllowDrop|itemId|updateTables|updateFilter|TreeSelectNode|filterChangeRoutineT|sqlChanged|_touchmove_|fieldType|tableId|fieldSelect|_touchcancel_|description|fieldDescription|sync|sqlError|onDropStyle|Please|ItemsPerPage|tabIndex|errHandlersConfiguration|UnionNavBarVisible|fired|showDescriptions|TryLoadItems|_positionDragX|newfill|LoadDataByPager|needLoadItems|findDropTargetRow|PreloadedPagesCount|filterChange|filterClear|filterChangeStub|serializeTables|_contextmenu_|onDragStyle|your|_touchstart_|TableObjectFieldOnCheckField|bites|isCurrentQuery|isMove|updateLinkContextMenu|CanvasLink|lined|updateTableContextMenu|_viewBoxShift|sprevious|getInactiveItems|Blur|blurregexp|END|createChildMenu|GetLinkExpression|getActiveItem|CTE|updateLink|tile|_setDto|ENTER|ActiveMenu|createGraph|_getDto|500px|LinkPropertiesForm|DataSourceLinkDto|one|TAB|SPACE||lastJ|rest|nextclass|snextclass|snext|ariaName|previousclass|PAGE_DOWN|LEFT|urn|toBack|updateBreadcrumb|globalCount|RIGHT|globalStart|toFront|updateExpression|touch_enabled|DXImageTransform|scheduled|Your|ShowAllItemInGroupingSelectLists|DOWN|xmlns|buildSelects|nYou|behavior|spreviousclass|schemas|showAllItemInGroupingSelectLists|PAGE_UP|importDto|localCount|HOME|recreateSelect|htmlfile|ipad|tableDnDUpdate|tableDnDSerialize|_mouseDrag|setInputValues|atan|sortOptions|errordialog|copyOptions|_mouseCapture|clientError|reduceRight|ipod|teardown|x7f|x9f|html5|ESCAPE|yxxx|4xxx|WebkitUserSelect||xxxxxxxx|xxxxxxxxxxxx|limit|getJSON|snapTo|_convertPositionTo||xxxx|ajaxAddOption|check_lib|x1f|x00|positionAbs|_generatePosition|write|uid|owns|unique|HTMLCommandElement|fixedPosition|binary|haspopup|Colour|form|16711680||preload|onerror|Picker|_mouseUp|disableTextSelect|u2400|listbox|dispatch|labelledby|MouseEvents|selectstart|Treeview|HTMLMenuItemElement|persist|ontouchend|Implements|trigger_jquery_event|slideUp|send|createTextRange|createPopup|slideDown|999|uniqueId|exp|containsOption|ff0066|selectedTexts|Msxml2|queryCommandValue|onselectstart|Cannot|65280|ForeColor|urlencoded|Connection|child|onreadystatechange|6001|reserved|special|iphone|getInputValues|black|transparent|toPrecision|slide|MSIE|ISURL|reduce|8cc59d|exec|getOwnPropertyDescriptor|getPrototypeOf|preventExtensions|getOwnPropertyNames|ready|defineProperty|oldInstances||defineProperties|camelCase|date||unshift|letter|spacing|0x|forEachMethod|reverse|search|raphaeljs|bezier|hyphenate|NaN|cubic|left2|escapeRegExp|capitalize|10px|ontouchstart|Arguments|Collection|maincol|uniqueID|WhiteSpace|Read|TextNode|pages|invoke|wrapper2|combine|wrapper1|getRandom|err|erase|getLast|associate|front|once|Eve|seal|isExtensible|amd|jPaginate|tDnD_whileDrag|serializeParamName|isSealed|GET|isFrozen|pick|errors|freeze|nts||MouseEvent|178|calc|textnode|widgetName|case_sensitive|_duration_|SVGAngle|implementation|evalJSON|secureEvalJSON|sortByKey|autocomplete|options_value|frameborder|_hidden_select|cte|overloadGetter|padding_right|hide_on_blur_timeout|ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0|BasicStructure|ApplicationEvents|SVG11|feature|Android|u00|_id|radiogroup|valid|MooTools|SyntaxError|hasFeature|bfnrtu|axd|parsing|innerText|encodeURI|_timer_|tpl|achlmrqstvz|escape|achlmqrstvxz|appName|__max_precision|render|isString|appVersion|_blank|unescape|BackCompat|UTF8encode|UTF8decode|decodeURIComponent|_availableAnimAttrs|encodeURIComponent|bName|getUTCHours|getUTCMinutes|getUTCDate|getUTCFullYear|getUTCMilliseconds|substitute|wrapperCleared|getUTCSeconds|mirror|reset_options_value|rstm|me2|meta|matc|getUTCMonth|radial_gradient|getFlags|fillSelectOptions1|pager|dataRefresh|fillSelectOptions2|2573AF|web|file|79B5E3|level|unload|MAX_SELECTS|liveConvert|liveEx|Click|00|onclick|toTimeString|showDescriptons|Wednesday|Tuesday|Friday|Thursday|Sat|Fri|Monday|Sunday|Saturday|nowrap|HTTP|incorrect|configuration|isAtRight|getArrowScroll|horizontalDrag|isAtLeft|live|MAX|LAST|SUM|MIN|COUNT|DESC|FIRST|getByLink|Having|primaryKey|int|offsetY|nullable|old|groups|objid|ObjectField|Synonym|non|TypeError|removeAll|GLOBAL_DEBUG|updateLinks|000B9D|x2F|quot|removeByGraphics|removeLink|async|removeGridRows|addGridRows|contentType|dataType|reload|errorThrown|Thu|nextAll|MessageError|addHandler|hellip|submit|reinitialise|breadcrumb|buttonset|removeHandler|equalHeight|getRec1|SmartAdd|equalWidth|myType|MessageWarning|OnApplicationReady|setGlobalOnLoad|initialise|getContentWidth|getContentHeight|getContentPositionY|DIV|addRule|createStyleSheet|getPercentScrolledX|getPercentScrolledY|getContentPositionX|scrollToPercentY|must|scrollTo|scrollToPercentX|script|animateEase|animateDuration|fixOutsideBounds|offsetWithParent|April|March|July|June|Dec||Nov|February|January|August|Mon|Sun|Wed|Tue|October|September|December|November|Oct||delegate|inArray|superclass|toUpper|doesNotAddBorder|bodyOffset|subtractsBorderForOverflowNotVisible|doesAddBorderForTableAndCells|GenerateClass|Jul|Jun|Sep|Aug|Feb|Jan|Apr|Mar|offsetX|strAddSubQuery|Update|strAddCTE|derived|Uncheck|UncheckAll|updated|changed|strAddNewCTE|strColumnNameAlreadyUsed|strRemove|already|same|strNewUnionSubQuery|strUnionSubMenu|strEncloseWithBrackets|strCopyToNewUnionSubQuery|Check|SelectSyntaxProvider|ObjectTypeUnknown|Syntax|NumericInt|ObjectTypeTable|Insert|ObjectTypeProcedure|ObjectTypeView|Provider|procedures|views|CheckAll|SelectAll|NumericFrac|proceed|tables|MetadataObjectCount|exists|Int64|Int16|Single|SByte|Currency||Byte|Double|Decimal|UInt16|Xml|StringFixedLength|DateTime2|DateTimeOffset|UInt64|UInt32|AnsiStringFixedLength|VarNumeric|Binary|LinkCardinality|Other|Many|One|KindOfType|currentLanguage|StoredProc|TreeSelectTypeDto|LinkSideType|Deny|Allow|AnsiString|DbType|Asc|ItemSortType|LinkManipulations|Desc|InsertEmptyItem|ReadOnly|Precision|Size|Scale|Command|MetaDataDto|Nullable|AltName|ItemsPacketSize|ContextMenuDto|UnionsAdd|QueryStructureDto|ContextMenuItemDto|00000000|ItemsListIncomplete|Label|000000000000|DatasourceName|mdc|LoadFromObject|GridDto|CanvasDto|GetFullName|animportCanvasimation|GetName|DenyIntoClause|DataSourceDto|RightField|LeftField|Cardinality|DataSourceGuid|System|AliasNotQuoted|LinkObjectDto|Into|Selected|EncloseWithBrackets|RemoveBrackets|32E3|CopyToNewUnionSubQuery|props|Order|GroupBy|Universal|NewUnionSubQuery|MoveUp|updateObjects|RemoveItem|MoveDown|backward|MoveBackward|forward|MoveForward|350|Datasource|Kind|RightObject|LeftObject|Test|Expanded|FieldType|OutputColumnDto|SelectAllFromLeft|CacheOptions|Join|Option|Cache|LeftColumn|SelectAllFromRight|JoinExpression|RightColumn|getIsScrollableH|_size1|u00d7|criteriaBuilderFieldSelect|curveslengths|getElementsByBBox|getIntersectionList|x_y|getElementsByPoint|160|elastic|uiDialogTitlebarCloseText|bounce|closeText|04|uiDialogTitlebar|uiDialogClasses|1734|following|_allowInteraction|unmouseover|unhover|cancelBubble|returnValue|getData|uuid|unmouseout|pageXOffset|setFinish|succeed|createSVGRect|undrag|onDragOver|setStart|unmousedown|5625|insertion|u2019s|index2|u2018s|onAnimation|NextItem|setTime|paddingTop|registerFont|print|bolder|descent|baseline|bold|mlcxtrv|lighter|700|easeInOut|easeOut|beforeClose|_createButtons|625|9375|easeIn|984375|requestAnimationFrame|diagonal|finish|alsoResize|grip|mozRequestAnimationFrame|webkitRequestAnimationFrame|msRequestAnimationFrame|oRequestAnimationFrame|onClose|inst|findRowByGuid|checkRow|colspan|_pathToRelative|thead|120|removeRowByDto|currentEdit|rowsHeaders|isEmptyRow|onGridRowCellChanged|rowIndex|findEmptyRow|True|insert|inter|starts|findRow|interCount||notall|any|ends|contain|onRemoveRow|calling|segment2|u201d|u201c|pathIntersection|onAddRow|segment1|pathIntersectionNumber|_UID|rid|expand|Random|limitation|own|paid|sizingmethod|them|isSuperSimple|platform|Computer|Google|focusout|Version|toTransformString|Apple|Chrome|toback|tofront|insertbefore|insertafter|onDeleted|sortOrder|parseDots|GridRowCellOnDeleted|_equaliseTransform|M12|M11|M22|M21|onChanged|pixelWidth|focusin|pixelHeight|fullfill|Created|dashdot|readonly|hijackInternalLinks|getQueryParams|getScreenCTM|setQueryParamValues|longdash|dxdy|21600|ahqstv|Wrong|viewBox|feGaussianBlur|stdDeviation|longdashdotdot|dashstyle|HandlersPath|finally|runtimeStyle|xMinYMin|longdashdot|removeAttribute|scrollToBottom|meet|rotation|Switch|switchToRootQuery|joinstyle|arrowwidth|objects|Linked|shortdash|shortdot|shortdashdot|miter|endcap|flat|focusposition|dash|doesn|270|focussize|left16|tableNameTemplate|shortdashdotdot|Falling|arrowlength|u2019t|clearfix|updateCriteriaBuilder|syncCriteriaBuilder|webkitTapHighlightColor|using|gradientTitle|0z|supports|createElementNS|isScrollableH|kern|msgTime|textpathok|stack|oindex|1999|Info|paddingLeft|colors|ninja|DOMContentLoaded|addClasses|_makeDraggableOriginal|0A2|_setContainment|color2|Warning|message||statusbar|ping|userSpaceOnUse|orient|refY|getGrid|titleTextW|patternUnits|linked|pixelradius|clipPath|uncheck|fillOpacity|getIsScrollableV|patternTransform|Gradient|144|gradientTransform|getContentPane|markerHeight|markerWidth|isScrollableV|setDataSwitch'.split('|'),0,{}))

