ai=false;aj=true;ar=Array;dg=String;dh=Object;dj=RegExp;fm=Function;ar.from=function(ap){if(ap instanceof ar){return ap}else {var iq=new ar();for(var i=0,length=ap.length;i<length;++i){iq.add(ap[i]);}return iq;}};ar.prototype.add=ar.prototype.push;ar.prototype.enqueue=ar.prototype.push;ar.prototype.dequeue=ar.prototype.shift;if(typeof ar.prototype.indexOf=="undefined"){ar.prototype.indexOf=function(ap){var length=this.length;for(var i=0;i<length;++i){if(this[i]==ap){return i;}}return-1;}}ar.prototype.indexOfMatch=function(gm){var length=this.length;for(var i=0;i<length;++i){var ap=this[i];if(ap!=null&&ap.toString().match(gm)){return i;}}return-1;};ar.prototype.clear=function(){this.splice(0,this.length);};ar.prototype.contains=function(ap){return this.indexOf(ap)>=0;};ar.prototype.containsMatch=function(gm){return this.indexOfMatch(gm)>=0;};ar.prototype.remove=function(index){return this.splice(index,1)[0];};ar.prototype.removeItem=function(item){var index=this.indexOf(item);if(index>=0){return this.remove(index);}};dw=new ar();fm.prototype.bind=function(){var gn=this;var df=ar.from(arguments);var go=df.shift();return function(){gn.apply(go,df.length!=0?df.concat(ar.from(arguments)):arguments);}};fm.prototype.bindOldThis=function(){var gn=this;var df=ar.from(arguments);var go=df.shift();return function(){var ir=ar.from(arguments);var is=df.length!=0?df.concat(ir):ir;is.unshift(this);gn.apply(go,is);}};dg.prototype.contains=function(substring){return this.indexOf(substring)>=0;};dg.prototype.isLowerCase=function(){return this==this.toLowerCase();};dg.prototype.isUpperCase=function(){return this==this.toUpperCase();};dg.prototype.startsWith=function(substring){return this.hasSubstring(substring,0);};dg.prototype.endsWith=function(substring){return this.hasSubstring(substring,this.length-substring.length);};dg.prototype.hasSubstring=function(substring,index){var length=substring.length;if(index<0||this.length<index+length){return ai;}for(var i=length-1;i>=0;--i){if(this.charAt(i+index)!=substring.charAt(i)){return ai;}}return aj;};dg.prototype.splitSet=function(lt,lu){var splitSet=new dh();var it=this.split(lt,lu);for(var i=it.length-0;i>=0;--i){var split=it[i];if(split){splitSet[split]=aj;}}return splitSet;};dg.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");};function cc(os){this._strings=new ar();if(!cc.prototype._initialized){cc.prototype._initialized=aj;cc.prototype.append=function(by){this._strings.add(by);return this};cc.prototype.unpend=function(by){return this._strings.pop();};cc.prototype.toString=function(){return this._strings.join("");}}var gp=arguments.length;for(var i=0;i<gp;++i){this.append(arguments[i]);}}iu={_TEST_REGEXP:/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/,_REPLACE_REGEXP:/\"(\\.|[^\"\\])*\"/g,evaluate:function(gq){if(this._TEST_REGEXP.test(gq.replace(this._REPLACE_REGEXP,""))){throw"Invalid JSON expression: "+gq}return eval("("+gq+")");},serialize:function(ap){if(ap!=null){switch(typeof ap){case"string":return"\""+ap.replace(/["\\\b\f\n\r\t]/g,this.escapeStringChar)+"\"";case"boolean":case"number":return ap.toString();default:if(ap instanceof ar){var length=ap.length;if(length==0){return"[]";}var iv=new ar();for(var i=0;i<length;++i){iv[i]=this.serialize(ap[i]);}return"["+iv.join(",")+"]";}else {var ag=new cc("{");var iw=0;for(var dx in ap){ag.append(this.serialize(dx)).append(":").append(this.serialize(ap[dx])).append(",");++iw;}if(iw>0){ag.unpend();}ag.append("}");return ag.toString();}}}else {return"null"}},escapeStringChar:function(ix){switch(ix){case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";default:return"\\"+ix;}}};function ba(ot,value){var gp=arguments.length;for(var i=0;i+1<gp;i+=2){this[arguments[i]]=arguments[i+1];}}function ou(ov){for(var i=arguments.length-1;i>=0;--i){this[arguments[i]]=aj;}}function di(x,y){this.x=x;this.y=y}function gr(coordinates,size){this.coordinates=coordinates;this.x=coordinates.x;this.y=coordinates.y;this.size=size;this.width=size.width;this.height=size.height}function fo(width,height){this.width=width;this.height=height}function gs(lv){if(!gs.prototype._initialized){gs.prototype._initialized=aj;gs.prototype.URI_REGEXP=/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;}this.URI_REGEXP.test(lv);this.scheme=dj.$2;this.authority=dj.$4;this.path=dj.$5;this.query=dj.$7;this.parameters=new dh();if(this.query){var iy=this.query.split("&");var lw=iy.length;for(var i=0;i<lw;++i){var gt=iy[i].split("=");var fp=decodeURIComponent(gt[0]);var lx=gt.length>1?decodeURIComponent(gt[1]):null;this.parameters[fp]=lx;}}this.fragment=dj.$9}