(function(){if(!window.chromeplus){Function.PATTERN_FUNCTION_NAME=/function\s+([\w-]+)/gi;Function.prototype.parseName=function(){Function.PATTERN_FUNCTION_NAME.lastIndex=0;if(Function.PATTERN_FUNCTION_NAME.test(this.toString()))return RegExp.$1;return null};String.prototype.startsWith=function(a){return this.indexOf(a)===0};String.prototype.endsWith=function(a){return this.lastIndexOf(a)===(this.length>>>0)-a.length};String.prototype.contains=function(a){return this.indexOf(a)!=-1};String.prototype.empty=
function(){return this.length>>>0==0};String.prototype.btrim=function(a){if(e.Lang.isUndefined(a)||!e.Lang.isString(a))a="";if(a.empty())if(e.Lang.isFunction(String.prototype.trim))return this.trim();else a="\\s";return this.replace(new RegExp("(^(?:"+a+")*|(?:"+a+")*$)","gi"),"")};Array.prototype.gaze=function(){return this[this.length>>>-1]};Array.prototype.peek=function(){return this[0]};if(!Array.prototype.forEach)Array.prototype.forEach=function(a,b){if(e.Lang.isFunction(a))for(var c=0,d=this.length>>>
0;c<d;c++)a.call(b,this[c],c,this)};var e={parcel:function(a){return this.Package.getPackage(this,a)},reserve:function(a,b){var c=this;b=b||window;if(a=="*")throw new Error("RestrictedNativePackage");this.Package.PATTERN_IMPORT_PACKAGE.lastIndex=0;if(this.Package.PATTERN_IMPORT_PACKAGE.test(a)){var d=RegExp.$1;a=RegExp.$2;if(d.endsWith("."))d=d.substring(0,d.length-1);c=this.Package.getPackage(c,d);a=="*"?c.extract(b):c.extractClass(b,a)}}};window.chromeplus=e;var f=function(a,b){this._host=a;this._name=
b;this._base=null;this._init()};f.getPackage=function(a,b){return new f(a,b)};f.PATTERN_PACKAGE=/^((?:[\w-]+\.)*)([\w-]+)$/gi;f.PATTERN_IMPORT_PACKAGE=/^((?:[\w-]+\.)*)((?:[\w-]+)|\*)$/gi;f.prototype={_init:function(){if(!this._host)throw new Error("Package Host Missing");if(!this.declare(this._name))throw new Error("IllegalPackageNameException");},declare:function(){if(!this._name)throw new Error("RestrictedNativePackage");f.PATTERN_PACKAGE.lastIndex=0;if(!f.PATTERN_PACKAGE.test(this._name))return false;
for(var a=this._host,b=this._name.split("."),c=b.length,d=0;d<c;){if(typeof a[b[d]]=="undefined")a[b[d]]={};a=a[b[d]];d++}this._base=a;return true},getName:function(){return this._name},getClass:function(a){for(var b in this._base)if(b==a)return this._base[b];return null},getClasses:function(){var a=[];for(var b in this._base)a.push(this._base[b]);return a},extract:function(a){if(typeof a=="object"&&a)for(var b in this._base)a[b]||(a[b]=this._base[b])},extractClass:function(a,b){if(typeof a=="object"&&
a&&typeof b=="string")for(var c in this._base)if(c==b){a[c]||(a[c]=this._base[c]);break}},bundle:function(a,b){var c=e.Lang;if(c.isObject(a)||c.isFunction(a)){if(!b&&c.isFunction(a))b=a.parseName();if(!b)throw new Error("FailedToResolveClassAliasName");this._base[b]=a}else throw new Error("IllegalArgumentException");}};e.Package=f;e.Lang={isArray:function(a){return a instanceof Array},isObject:function(a){return!this.isNull(a)&&typeof a=="object"&&!this.isArray(a)},isString:function(a){return typeof a==
"string"},isFunction:function(a){return typeof a=="function"},isNull:function(a){return a===null},isDate:function(a){return typeof a=="date"},isBoolean:function(a){return typeof a=="boolean"},isNumber:function(a){return typeof a=="number"&&isFinite(a)},isUndefined:function(a){return typeof a=="undefined"},Constraint:{STRING:0,NUMBER:1,BOOLEAN:2,UNDEFINED:3,NAN:4,FUCTION:5,DATE:6,OBJECT:7}};e.OOP={extend:function(){}}}})();
