ebiten/_docs/public/examples/piano.js
2016-02-11 03:07:14 +09:00

62 lines
1.1 MiB

"use strict";
(function() {
Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{$global=this;}if($global===undefined||$global.Array===undefined){throw new Error("no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $flushConsole=function(){};var $throwRuntimeError;var $throwNilPointerError=function(){$throwRuntimeError("invalid memory address or nil pointer dereference");};var $call=function(fn,rcvr,args){return fn.apply(rcvr,args);};var $makeFunc=function(fn){return function(){return fn(new($sliceType($jsObjectPtr))($global.Array.prototype.slice.call(arguments,[])));}};var $mapArray=function(array,f){var newArray=new array.constructor(array.length);for(var i=0;i<array.length;i++){newArray[i]=f(array[i]);}return newArray;};var $methodVal=function(recv,name){var vals=recv.$methodVals||{};recv.$methodVals=vals;var f=vals[name];if(f!==undefined){return f;}var method=recv[name];f=function(){$stackDepthOffset--;try{return method.apply(recv,arguments);}finally{$stackDepthOffset++;}};vals[name]=f;return f;};var $methodExpr=function(typ,name){var method=typ.prototype[name];if(method.$expr===undefined){method.$expr=function(){$stackDepthOffset--;try{if(typ.wrapped){arguments[0]=new typ(arguments[0]);}return Function.call.apply(method,arguments);}finally{$stackDepthOffset++;}};}return method.$expr;};var $ifaceMethodExprs={};var $ifaceMethodExpr=function(name){var expr=$ifaceMethodExprs["$"+name];if(expr===undefined){expr=$ifaceMethodExprs["$"+name]=function(){$stackDepthOffset--;try{return Function.call.apply(arguments[0][name],arguments);}finally{$stackDepthOffset++;}};}return expr;};var $subslice=function(slice,low,high,max){if(low<0||high<low||max<high||high>slice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $sliceToArray=function(slice){if(slice.$length===0){return[];}if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF<r){return[0xFFFD,1];}return[r,4];}return[0xFFFD,1];};var $encodeRune=function(r){if(r<0||r>0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length);for(var i=0;i<str.length;i++){array[i]=str.charCodeAt(i);}return array;};var $bytesToString=function(slice){if(slice.$length===0){return"";}var str="";for(var i=0;i<slice.$length;i+=10000){str+=String.fromCharCode.apply(undefined,slice.$array.subarray(slice.$offset+i,slice.$offset+Math.min(slice.$length,i+10000)));}return str;};var $stringToRunes=function(str){var array=new Int32Array(str.length);var rune,j=0;for(var i=0;i<str.length;i+=rune[1],j++){rune=$decodeRune(str,i);array[j]=rune[0];}return array.subarray(0,j);};var $runesToString=function(slice){if(slice.$length===0){return"";}var str="";for(var i=0;i<slice.$length;i++){str+=$encodeRune(slice.$array[slice.$offset+i]);}return str;};var $copyString=function(dst,src){var n=Math.min(src.length,dst.$length);for(var i=0;i<n;i++){dst.$array[dst.$offset+i]=src.charCodeAt(i);}return n;};var $copySlice=function(dst,src){var n=Math.min(src.$length,dst.$length);$copyArray(dst.$array,src.$array,dst.$offset,src.$offset,n,dst.constructor.elem);return n;};var $copyArray=function(dst,src,dstOffset,srcOffset,n,elem){if(n===0||(dst===src&&dstOffset===srcOffset)){return;}if(src.subarray){dst.set(src.subarray(srcOffset,srcOffset+n),dstOffset);return;}switch(elem.kind){case $kindArray:case $kindStruct:if(dst===src&&dstOffset>srcOffset){for(var i=n-1;i>=0;i--){elem.copy(dst[dstOffset+i],src[srcOffset+i]);}return;}for(var i=0;i<n;i++){elem.copy(dst[dstOffset+i],src[srcOffset+i]);}return;}if(dst===src&&dstOffset>srcOffset){for(var i=n-1;i>=0;i--){dst[dstOffset+i]=src[srcOffset+i];}return;}for(var i=0;i<n;i++){dst[dstOffset+i]=src[srcOffset+i];}};var $clone=function(src,type){var clone=type.zero();type.copy(clone,src);return clone;};var $pointerOfStructConversion=function(obj,type){if(obj.$proxies===undefined){obj.$proxies={};obj.$proxies[obj.constructor.string]=obj;}var proxy=obj.$proxies[type.string];if(proxy===undefined){var properties={};for(var i=0;i<type.elem.fields.length;i++){(function(fieldProp){properties[fieldProp]={get:function(){return obj[fieldProp];},set:function(value){obj[fieldProp]=value;}};})(type.elem.fields[i].prop);}proxy=Object.create(type.prototype,properties);proxy.$val=proxy;obj.$proxies[type.string]=proxy;proxy.$proxies=obj.$proxies;}return proxy;};var $append=function(slice){return $internalAppend(slice,arguments,1,arguments.length-1);};var $appendSlice=function(slice,toAppend){if(toAppend.constructor===String){var bytes=$stringToBytes(toAppend);return $internalAppend(slice,bytes,0,bytes.length);}return $internalAppend(slice,toAppend.$array,toAppend.$offset,toAppend.$length);};var $internalAppend=function(slice,array,offset,length){if(length===0){return slice;}var newArray=slice.$array;var newOffset=slice.$offset;var newLength=slice.$length+length;var newCapacity=slice.$capacity;if(newLength>newCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero;for(var i=slice.$length;i<newCapacity;i++){newArray[i]=zero();}}else{newArray=new slice.$array.constructor(newCapacity);newArray.set(slice.$array.subarray(slice.$offset,slice.$offset+slice.$length));}}$copyArray(newArray,array,newOffset+slice.$length,offset,length,slice.constructor.elem);var newSlice=new slice.constructor(newArray);newSlice.$offset=newOffset;newSlice.$length=newLength;newSlice.$capacity=newCapacity;return newSlice;};var $equal=function(a,b,type){if(type===$jsObjectPtr){return a===b;}switch(type.kind){case $kindComplex64:case $kindComplex128:return a.$real===b.$real&&a.$imag===b.$imag;case $kindInt64:case $kindUint64:return a.$high===b.$high&&a.$low===b.$low;case $kindArray:if(a.length!==b.length){return false;}for(var i=0;i<a.length;i++){if(!$equal(a[i],b[i],type.elem)){return false;}}return true;case $kindStruct:for(var i=0;i<type.fields.length;i++){var f=type.fields[i];if(!$equal(a[f.prop],b[f.prop],f.typ)){return false;}}return true;case $kindInterface:return $interfaceIsEqual(a,b);default:return a===b;}};var $interfaceIsEqual=function(a,b){if(a===$ifaceNil||b===$ifaceNil){return a===b;}if(a.constructor!==b.constructor){return false;}if(a.constructor===$jsObjectPtr){return a.object===b.object;}if(!a.constructor.comparable){$throwRuntimeError("comparing uncomparable type "+a.constructor.string);}return $equal(a.$val,b.$val,a.constructor);};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $froundBuf=new Float32Array(1);var $fround=Math.fround||function(f){$froundBuf[0]=f;return $froundBuf[0];};var $imul=Math.imul||function(a,b){var ah=(a>>>16)&0xffff;var al=a&0xffff;var bh=(b>>>16)&0xffff;var bl=b&0xffff;return((al*bl)+(((ah*bl+al*bh)<<16)>>>0)>>0);};var $floatKey=function(f){if(f!==f){$idCounter++;return"NaN$"+$idCounter;}return String(f);};var $flatten64=function(x){return x.$high*4294967296+x.$low;};var $shiftLeft64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high<<y|x.$low>>>(32-y),(x.$low<<y)>>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(var i=1;i<32;i++){if((y.$low&1<<i)!==0){high+=x.$high<<i|x.$low>>>(32-i);low+=(x.$low<<i)>>>0;}}for(var i=0;i<32;i++){if((y.$high&1<<i)!==0){high+=x.$low<<i;}}return new x.constructor(high,low);};var $div64=function(x,y,returnRemainder){if(y.$high===0&&y.$low===0){$throwRuntimeError("integer divide by zero");}var s=1;var rs=1;var xHigh=x.$high;var xLow=x.$low;if(xHigh<0){s=-1;rs=-1;xHigh=-xHigh;if(xLow!==0){xHigh--;xLow=4294967296-xLow;}}var yHigh=y.$high;var yLow=y.$low;if(y.$high<0){s*=-1;yHigh=-yHigh;if(yLow!==0){yHigh--;yLow=4294967296-yLow;}}var high=0,low=0,n=0;while(yHigh<2147483648&&((xHigh>yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(var i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===Infinity||n.$real===-Infinity||n.$imag===Infinity||n.$imag===-Infinity;var dinf=d.$real===Infinity||d.$real===-Infinity||d.$imag===Infinity||d.$imag===-Infinity;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(NaN,NaN);}if(ninf&&!dinf){return new n.constructor(Infinity,Infinity);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(NaN,NaN);}return new n.constructor(Infinity,Infinity);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $kindBool=1;var $kindInt=2;var $kindInt8=3;var $kindInt16=4;var $kindInt32=5;var $kindInt64=6;var $kindUint=7;var $kindUint8=8;var $kindUint16=9;var $kindUint32=10;var $kindUint64=11;var $kindUintptr=12;var $kindFloat32=13;var $kindFloat64=14;var $kindComplex64=15;var $kindComplex128=16;var $kindArray=17;var $kindChan=18;var $kindFunc=19;var $kindInterface=20;var $kindMap=21;var $kindPtr=22;var $kindSlice=23;var $kindString=24;var $kindStruct=25;var $kindUnsafePointer=26;var $methodSynthesizers=[];var $addMethodSynthesizer=function(f){if($methodSynthesizers===null){f();return;}$methodSynthesizers.push(f);};var $synthesizeMethods=function(){$methodSynthesizers.forEach(function(f){f();});$methodSynthesizers=null;};var $ifaceKeyFor=function(x){if(x===$ifaceNil){return'nil';}var c=x.constructor;return c.string+'$'+c.keyFor(x.$val);};var $identity=function(x){return x;};var $typeIDCounter=0;var $idKey=function(x){if(x.$id===undefined){$idCounter++;x.$id=$idCounter;}return String(x.$id);};var $newType=function(size,kind,string,name,pkg,constructor){var typ;switch(kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=$identity;break;case $kindString:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=function(x){return"$"+x;};break;case $kindFloat32:case $kindFloat64:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=function(x){return $floatKey(x);};break;case $kindInt64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>0;this.$low=low>>>0;this.$val=this;};typ.keyFor=function(x){return x.$high+"$"+x.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.keyFor=function(x){return x.$high+"$"+x.$low;};break;case $kindComplex64:typ=function(real,imag){this.$real=$fround(real);this.$imag=$fround(imag);this.$val=this;};typ.keyFor=function(x){return x.$real+"$"+x.$imag;};break;case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.keyFor=function(x){return x.$real+"$"+x.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.wrapped=true;typ.ptr=$newType(4,$kindPtr,"*"+string,"","",function(array){this.$get=function(){return array;};this.$set=function(v){typ.copy(this,v);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.comparable=elem.comparable;typ.keyFor=function(x){return Array.prototype.join.call($mapArray(x,function(e){return String(elem.keyFor(e)).replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.copy=function(dst,src){$copyArray(dst,src,0,0,src.length,elem);};typ.ptr.init(typ);Object.defineProperty(typ.ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=$idKey;typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;};break;case $kindFunc:typ=function(v){this.$val=v;};typ.wrapped=true;typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.comparable=false;};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.keyFor=$ifaceKeyFor;typ.init=function(methods){typ.methods=methods;methods.forEach(function(m){$ifaceNil[m.prop]=$throwNilPointerError;});};break;case $kindMap:typ=function(v){this.$val=v;};typ.wrapped=true;typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.comparable=false;};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.keyFor=$idKey;typ.init=function(elem){typ.elem=elem;typ.wrapped=(elem.kind===$kindArray);typ.nil=new typ($throwNilPointerError,$throwNilPointerError);};break;case $kindSlice:typ=function(array){if(array.constructor!==typ.nativeArray){array=new typ.nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.init=function(elem){typ.elem=elem;typ.comparable=false;typ.nativeArray=$nativeArray(elem.kind);typ.nil=new typ([]);};break;case $kindStruct:typ=function(v){this.$val=v;};typ.wrapped=true;typ.ptr=$newType(4,$kindPtr,"*"+string,"","",constructor);typ.ptr.elem=typ;typ.ptr.prototype.$get=function(){return this;};typ.ptr.prototype.$set=function(v){typ.copy(this,v);};typ.init=function(fields){typ.fields=fields;fields.forEach(function(f){if(!f.typ.comparable){typ.comparable=false;}});typ.keyFor=function(x){var val=x.$val;return $mapArray(fields,function(f){return String(f.typ.keyFor(val[f.prop])).replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}).join("$");};typ.copy=function(dst,src){for(var i=0;i<fields.length;i++){var f=fields[i];switch(f.typ.kind){case $kindArray:case $kindStruct:f.typ.copy(dst[f.prop],src[f.prop]);continue;default:dst[f.prop]=src[f.prop];continue;}}};var properties={};fields.forEach(function(f){properties[f.prop]={get:$throwNilPointerError,set:$throwNilPointerError};});typ.ptr.nil=Object.create(constructor.prototype,properties);typ.ptr.nil.$val=typ.ptr.nil;$addMethodSynthesizer(function(){var synthesizeMethod=function(target,m,f){if(target.prototype[m.prop]!==undefined){return;}target.prototype[m.prop]=function(){var v=this.$val[f.prop];if(f.typ===$jsObjectPtr){v=new $jsObjectPtr(v);}if(v.$val===undefined){v=new f.typ(v);}return v[m.prop].apply(v,arguments);};};fields.forEach(function(f){if(f.name===""){$methodSet(f.typ).forEach(function(m){synthesizeMethod(typ,m,f);synthesizeMethod(typ.ptr,m,f);});$methodSet($ptrType(f.typ)).forEach(function(m){synthesizeMethod(typ.ptr,m,f);});}});});};break;default:$panic(new $String("invalid kind: "+kind));}switch(kind){case $kindBool:case $kindMap:typ.zero=function(){return false;};break;case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:case $kindFloat32:case $kindFloat64:typ.zero=function(){return 0;};break;case $kindString:typ.zero=function(){return"";};break;case $kindInt64:case $kindUint64:case $kindComplex64:case $kindComplex128:var zero=new typ(0,0);typ.zero=function(){return zero;};break;case $kindPtr:case $kindSlice:typ.zero=function(){return typ.nil;};break;case $kindChan:typ.zero=function(){return $chanNil;};case $kindFunc:typ.zero=function(){return $throwNilPointerError;};break;case $kindInterface:typ.zero=function(){return $ifaceNil;};break;case $kindArray:typ.zero=function(){var arrayClass=$nativeArray(typ.elem.kind);if(arrayClass!==Array){return new arrayClass(typ.len);}var array=new Array(typ.len);for(var i=0;i<typ.len;i++){array[i]=typ.elem.zero();}return array;};break;case $kindStruct:typ.zero=function(){return new typ.ptr();};break;default:$panic(new $String("invalid kind: "+kind));}typ.id=$typeIDCounter;$typeIDCounter++;typ.size=size;typ.kind=kind;typ.string=string;typ.typeName=name;typ.pkg=pkg;typ.methods=[];typ.methodSetCache=null;typ.comparable=true;return typ;};var $methodSet=function(typ){if(typ.methodSetCache!==null){return typ.methodSetCache;}var base={};var isPtr=(typ.kind===$kindPtr);if(isPtr&&typ.elem.kind===$kindInterface){typ.methodSetCache=[];return[];}var current=[{typ:isPtr?typ.elem:typ,indirect:isPtr}];var seen={};while(current.length>0){var next=[];var mset=[];current.forEach(function(e){if(seen[e.typ.string]){return;}seen[e.typ.string]=true;if(e.typ.typeName!==""){mset=mset.concat(e.typ.methods);if(e.indirect){mset=mset.concat($ptrType(e.typ).methods);}}switch(e.typ.kind){case $kindStruct:e.typ.fields.forEach(function(f){if(f.name===""){var fTyp=f.typ;var fIsPtr=(fTyp.kind===$kindPtr);next.push({typ:fIsPtr?fTyp.elem:fTyp,indirect:e.indirect||fIsPtr});}});break;case $kindInterface:mset=mset.concat(e.typ.methods);break;}});mset.forEach(function(m){if(base[m.name]===undefined){base[m.name]=m;}});current=next;}typ.methodSetCache=[];Object.keys(base).sort().forEach(function(name){typ.methodSetCache.push(base[name]);});return typ.methodSetCache;};var $Bool=$newType(1,$kindBool,"bool","bool","",null);var $Int=$newType(4,$kindInt,"int","int","",null);var $Int8=$newType(1,$kindInt8,"int8","int8","",null);var $Int16=$newType(2,$kindInt16,"int16","int16","",null);var $Int32=$newType(4,$kindInt32,"int32","int32","",null);var $Int64=$newType(8,$kindInt64,"int64","int64","",null);var $Uint=$newType(4,$kindUint,"uint","uint","",null);var $Uint8=$newType(1,$kindUint8,"uint8","uint8","",null);var $Uint16=$newType(2,$kindUint16,"uint16","uint16","",null);var $Uint32=$newType(4,$kindUint32,"uint32","uint32","",null);var $Uint64=$newType(8,$kindUint64,"uint64","uint64","",null);var $Uintptr=$newType(4,$kindUintptr,"uintptr","uintptr","",null);var $Float32=$newType(4,$kindFloat32,"float32","float32","",null);var $Float64=$newType(8,$kindFloat64,"float64","float64","",null);var $Complex64=$newType(8,$kindComplex64,"complex64","complex64","",null);var $Complex128=$newType(16,$kindComplex128,"complex128","complex128","",null);var $String=$newType(8,$kindString,"string","string","",null);var $UnsafePointer=$newType(4,$kindUnsafePointer,"unsafe.Pointer","Pointer","",null);var $nativeArray=function(elemKind){switch(elemKind){case $kindInt:return Int32Array;case $kindInt8:return Int8Array;case $kindInt16:return Int16Array;case $kindInt32:return Int32Array;case $kindUint:return Uint32Array;case $kindUint8:return Uint8Array;case $kindUint16:return Uint16Array;case $kindUint32:return Uint32Array;case $kindUintptr:return Uint32Array;case $kindFloat32:return Float32Array;case $kindFloat64:return Float64Array;default:return Array;}};var $toNativeArray=function(elemKind,array){var nativeArray=$nativeArray(elemKind);if(nativeArray===Array){return array;}return new nativeArray(array);};var $arrayTypes={};var $arrayType=function(elem,len){var typeKey=elem.id+"$"+len;var typ=$arrayTypes[typeKey];if(typ===undefined){typ=$newType(12,$kindArray,"["+len+"]"+elem.string,"","",null);$arrayTypes[typeKey]=typ;typ.init(elem,len);}return typ;};var $chanType=function(elem,sendOnly,recvOnly){var string=(recvOnly?"<-":"")+"chan"+(sendOnly?"<- ":" ")+elem.string;var field=sendOnly?"SendChan":(recvOnly?"RecvChan":"Chan");var typ=elem[field];if(typ===undefined){typ=$newType(4,$kindChan,string,"","",null);elem[field]=typ;typ.init(elem,sendOnly,recvOnly);}return typ;};var $Chan=function(elem,capacity){if(capacity<0||capacity>2147483647){$throwRuntimeError("makechan: size out of range");}this.$elem=elem;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};var $chanNil=new $Chan(null,0);$chanNil.$sendQueue=$chanNil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};var $funcTypes={};var $funcType=function(params,results,variadic){var typeKey=$mapArray(params,function(p){return p.id;}).join(",")+"$"+$mapArray(results,function(r){return r.id;}).join(",")+"$"+variadic;var typ=$funcTypes[typeKey];if(typ===undefined){var paramTypes=$mapArray(params,function(p){return p.string;});if(variadic){paramTypes[paramTypes.length-1]="..."+paramTypes[paramTypes.length-1].substr(2);}var string="func("+paramTypes.join(", ")+")";if(results.length===1){string+=" "+results[0].string;}else if(results.length>1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}typ=$newType(4,$kindFunc,string,"","",null);$funcTypes[typeKey]=typ;typ.init(params,results,variadic);}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var typeKey=$mapArray(methods,function(m){return m.pkg+","+m.name+","+m.typ.id;}).join("$");var typ=$interfaceTypes[typeKey];if(typ===undefined){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m.pkg!==""?m.pkg+".":"")+m.name+m.typ.string.substr(4);}).join("; ")+" }";}typ=$newType(8,$kindInterface,string,"","",null);$interfaceTypes[typeKey]=typ;typ.init(methods);}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={};var $error=$newType(8,$kindInterface,"error","error","",null);$error.init([{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}]);var $mapTypes={};var $mapType=function(key,elem){var typeKey=key.id+"$"+elem.id;var typ=$mapTypes[typeKey];if(typ===undefined){typ=$newType(4,$kindMap,"map["+key.string+"]"+elem.string,"","",null);$mapTypes[typeKey]=typ;typ.init(key,elem);}return typ;};var $makeMap=function(keyForFunc,entries){var m={};for(var i=0;i<entries.length;i++){var e=entries[i];m[keyForFunc(e.k)]=e;}return m;};var $ptrType=function(elem){var typ=elem.ptr;if(typ===undefined){typ=$newType(4,$kindPtr,"*"+elem.string,"","",null);elem.ptr=typ;typ.init(elem);}return typ;};var $newDataPointer=function(data,constructor){if(constructor.elem.kind===$kindStruct){return data;}return new constructor(function(){return data;},function(v){data=v;});};var $indexPtr=function(array,index,constructor){array.$ptr=array.$ptr||{};return array.$ptr[index]||(array.$ptr[index]=new constructor(function(){return array[index];},function(v){array[index]=v;}));};var $sliceType=function(elem){var typ=elem.slice;if(typ===undefined){typ=$newType(12,$kindSlice,"[]"+elem.string,"","",null);elem.slice=typ;typ.init(elem);}return typ;};var $makeSlice=function(typ,length,capacity){capacity=capacity||length;if(length<0||length>2147483647){$throwRuntimeError("makeslice: len out of range");}if(capacity<0||capacity<length||capacity>2147483647){$throwRuntimeError("makeslice: cap out of range");}var array=new typ.nativeArray(capacity);if(typ.nativeArray===Array){for(var i=0;i<capacity;i++){array[i]=typ.elem.zero();}}var slice=new typ(array);slice.$length=length;return slice;};var $structTypes={};var $structType=function(fields){var typeKey=$mapArray(fields,function(f){return f.name+","+f.typ.id+","+f.tag;}).join("$");var typ=$structTypes[typeKey];if(typ===undefined){var string="struct { "+$mapArray(fields,function(f){return f.name+" "+f.typ.string+(f.tag!==""?(" \""+f.tag.replace(/\\/g,"\\\\").replace(/"/g, "\\\"")+"\""):"");}).join("; ")+" }";if(fields.length===0){string="struct {}";}typ=$newType(0,$kindStruct,string,"","",function(){this.$val=this;for(var i=0;i<fields.length;i++){var f=fields[i];var arg=arguments[i];this[f.prop]=arg!==undefined?arg:f.typ.zero();}});$structTypes[typeKey]=typ;typ.init(fields);}return typ;};var $assertType=function(value,type,returnTuple){var isInterface=(type.kind===$kindInterface),ok,missingMethod="";if(value===$ifaceNil){ok=false;}else if(!isInterface){ok=value.constructor===type;}else{var valueTypeString=value.constructor.string;ok=type.implementedBy[valueTypeString];if(ok===undefined){ok=true;var valueMethodSet=$methodSet(value.constructor);var interfaceMethods=type.methods;for(var i=0;i<interfaceMethods.length;i++){var tm=interfaceMethods[i];var found=false;for(var j=0;j<valueMethodSet.length;j++){var vm=valueMethodSet[j];if(vm.name===tm.name&&vm.pkg===tm.pkg&&vm.typ===tm.typ){found=true;break;}}if(!found){ok=false;type.missingMethodFor[valueTypeString]=tm.name;break;}}type.implementedBy[valueTypeString]=ok;}if(!ok){missingMethod=type.missingMethodFor[valueTypeString];}}if(!ok){if(returnTuple){return[type.zero(),false];}$panic(new $packages["runtime"].TypeAssertionError.ptr("",(value===$ifaceNil?"":value.constructor.string),type.string,missingMethod));}if(!isInterface){value=value.$val;}if(type===$jsObjectPtr){value=value.object;}return returnTuple?[value,true]:value;};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr,fromPanic){if(!fromPanic&&deferred!==null&&deferred.index>=$curGoroutine.deferStack.length){throw jsErr;}if(jsErr!==null){var newErr=null;try{$curGoroutine.deferStack.push(deferred);$panic(new $jsErrorPtr(jsErr));}catch(err){newErr=err;}$curGoroutine.deferStack.pop();$callDeferred(deferred,newErr);return;}if($curGoroutine.asleep){return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}try{while(true){if(deferred===null){deferred=$curGoroutine.deferStack[$curGoroutine.deferStack.length-1];if(deferred===undefined){$panicStackDepth=null;if(localPanicValue.Object instanceof Error){throw localPanicValue.Object;}var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}throw new Error(msg);}}var call=deferred.pop();if(call===undefined){$curGoroutine.deferStack.pop();if(localPanicValue!==undefined){deferred=null;continue;}return;}var r=call[0].apply(call[2],call[1]);if(r&&r.$blk!==undefined){deferred.push([r.$blk,[],r]);if(fromPanic){throw null;}return;}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null,true);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $dummyGoroutine={asleep:false,exit:false,deferStack:[],panicStack:[],canBlock:false};var $curGoroutine=$dummyGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $mainFinished=false;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;var $goroutine=function(){try{$curGoroutine=$goroutine;var r=fun.apply(undefined,args);if(r&&r.$blk!==undefined){fun=function(){return r.$blk();};args=[];return;}$goroutine.exit=true;}catch(err){if(!$goroutine.exit){throw err;}}finally{$curGoroutine=$dummyGoroutine;if($goroutine.exit){$totalGoroutines--;$goroutine.asleep=true;}if($goroutine.asleep){$awakeGoroutines--;if(!$mainFinished&&$awakeGoroutines===0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");if($global.process!==undefined){$global.process.exit(2);}}}}};$goroutine.asleep=false;$goroutine.exit=false;$goroutine.deferStack=[];$goroutine.panicStack=[];$goroutine.canBlock=true;$schedule($goroutine,direct);};var $scheduled=[],$schedulerActive=false;var $runScheduled=function(){try{var r;while((r=$scheduled.shift())!==undefined){r();}$schedulerActive=false;}finally{if($schedulerActive){setTimeout($runScheduled,0);}}};var $schedule=function(goroutine,direct){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}if(direct){goroutine();return;}$scheduled.push(goroutine);if(!$schedulerActive){$schedulerActive=true;setTimeout($runScheduled,0);}};var $setTimeout=function(f,t){$awakeGoroutines++;return setTimeout(function(){$awakeGoroutines--;f();},t);};var $block=function(){if(!$curGoroutine.canBlock){$throwRuntimeError("cannot block in JavaScript callback, fix by wrapping code in goroutine");}$curGoroutine.asleep=true;};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length<chan.$capacity){chan.$buffer.push(value);return;}var thisGoroutine=$curGoroutine;chan.$sendQueue.push(function(){$schedule(thisGoroutine);return value;});$block();return{$blk:function(){if(chan.$closed){$throwRuntimeError("send on closed channel");}}};};var $recv=function(chan){var queuedSend=chan.$sendQueue.shift();if(queuedSend!==undefined){chan.$buffer.push(queuedSend());}var bufferedValue=chan.$buffer.shift();if(bufferedValue!==undefined){return[bufferedValue,true];}if(chan.$closed){return[chan.$elem.zero(),false];}var thisGoroutine=$curGoroutine;var f={$blk:function(){return this.value;}};var queueEntry=function(v){f.value=v;$schedule(thisGoroutine);};chan.$recvQueue.push(queueEntry);$block();return f;};var $close=function(chan){if(chan.$closed){$throwRuntimeError("close of closed channel");}chan.$closed=true;while(true){var queuedSend=chan.$sendQueue.shift();if(queuedSend===undefined){break;}queuedSend();}while(true){var queuedRecv=chan.$recvQueue.shift();if(queuedRecv===undefined){break;}queuedRecv([chan.$elem.zero(),false]);}};var $select=function(comms){var ready=[];var selection=-1;for(var i=0;i<comms.length;i++){var comm=comms[i];var chan=comm[0];switch(comm.length){case 0:selection=i;break;case 1:if(chan.$sendQueue.length!==0||chan.$buffer.length!==0||chan.$closed){ready.push(i);}break;case 2:if(chan.$closed){$throwRuntimeError("send on closed channel");}if(chan.$recvQueue.length!==0||chan.$buffer.length<chan.$capacity){ready.push(i);}break;}}if(ready.length!==0){selection=ready[Math.floor(Math.random()*ready.length)];}if(selection!==-1){var comm=comms[selection];switch(comm.length){case 0:return[selection];case 1:return[selection,$recv(comm[0])];case 2:$send(comm[0],comm[1]);return[selection];}}var entries=[];var thisGoroutine=$curGoroutine;var f={$blk:function(){return this.selection;}};var removeFromQueues=function(){for(var i=0;i<entries.length;i++){var entry=entries[i];var queue=entry[0];var index=queue.indexOf(entry[1]);if(index!==-1){queue.splice(index,1);}}};for(var i=0;i<comms.length;i++){(function(i){var comm=comms[i];switch(comm.length){case 1:var queueEntry=function(value){f.selection=[i,value];removeFromQueues();$schedule(thisGoroutine);};entries.push([comm[0].$recvQueue,queueEntry]);comm[0].$recvQueue.push(queueEntry);break;case 2:var queueEntry=function(){if(comm[0].$closed){$throwRuntimeError("send on closed channel");}f.selection=[i];removeFromQueues();$schedule(thisGoroutine);return comm[1];};entries.push([comm[0].$sendQueue,queueEntry]);comm[0].$sendQueue.push(queueEntry);break;}})(i);}$block();return f;};var $jsObjectPtr,$jsErrorPtr;var $needsExternalization=function(t){switch(t.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return false;default:return t!==$jsObjectPtr;}};var $externalize=function(v,t){if(t===$jsObjectPtr){return v;}switch(t.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return v;case $kindInt64:case $kindUint64:return $flatten64(v);case $kindArray:if($needsExternalization(t.elem)){return $mapArray(v,function(e){return $externalize(e,t.elem);});}return v;case $kindFunc:return $externalizeFunction(v,t,false);case $kindInterface:if(v===$ifaceNil){return null;}if(v.constructor===$jsObjectPtr){return v.$val.object;}return $externalize(v.$val,v.constructor);case $kindMap:var m={};var keys=$keys(v);for(var i=0;i<keys.length;i++){var entry=v[keys[i]];m[$externalize(entry.k,t.key)]=$externalize(entry.v,t.elem);}return m;case $kindPtr:if(v===t.nil){return null;}return $externalize(v.$get(),t.elem);case $kindSlice:if($needsExternalization(t.elem)){return $mapArray($sliceToArray(v),function(e){return $externalize(e,t.elem);});}return $sliceToArray(v);case $kindString:if(v.search(/^[\x00-\x7F]*$/)!==-1){return v;}var s="",r;for(var i=0;i<v.length;i+=r[1]){r=$decodeRune(v,i);var c=r[0];if(c>0xFFFF){var h=Math.floor((c-0x10000)/0x400)+0xD800;var l=(c-0x10000)%0x400+0xDC00;s+=String.fromCharCode(h,l);continue;}s+=String.fromCharCode(c);}return s;case $kindStruct:var timePkg=$packages["time"];if(timePkg!==undefined&&v.constructor===timePkg.Time.ptr){var milli=$div64(v.UnixNano(),new $Int64(0,1000000));return new Date($flatten64(milli));}var noJsObject={};var searchJsObject=function(v,t){if(t===$jsObjectPtr){return v;}switch(t.kind){case $kindPtr:if(v===t.nil){return noJsObject;}return searchJsObject(v.$get(),t.elem);case $kindStruct:var f=t.fields[0];return searchJsObject(v[f.prop],f.typ);case $kindInterface:return searchJsObject(v.$val,v.constructor);default:return noJsObject;}};var o=searchJsObject(v,t);if(o!==noJsObject){return o;}o={};for(var i=0;i<t.fields.length;i++){var f=t.fields[i];if(f.pkg!==""){continue;}o[f.name]=$externalize(v[f.prop],f.typ);}return o;}$throwRuntimeError("cannot externalize "+t.string);};var $externalizeFunction=function(v,t,passThis){if(v===$throwNilPointerError){return null;}if(v.$externalizeWrapper===undefined){$checkForDeadlock=false;v.$externalizeWrapper=function(){var args=[];for(var i=0;i<t.params.length;i++){if(t.variadic&&i===t.params.length-1){var vt=t.params[i].elem,varargs=[];for(var j=i;j<arguments.length;j++){varargs.push($internalize(arguments[j],vt));}args.push(new(t.params[i])(varargs));break;}args.push($internalize(arguments[i],t.params[i]));}var canBlock=$curGoroutine.canBlock;$curGoroutine.canBlock=false;try{var result=v.apply(passThis?this:undefined,args);}finally{$curGoroutine.canBlock=canBlock;}switch(t.results.length){case 0:return;case 1:return $externalize(result,t.results[0]);default:for(var i=0;i<t.results.length;i++){result[i]=$externalize(result[i],t.results[i]);}return result;}};}return v.$externalizeWrapper;};var $internalize=function(v,t,recv){if(t===$jsObjectPtr){return v;}if(t===$jsObjectPtr.elem){$throwRuntimeError("cannot internalize js.Object, use *js.Object instead");}if(v&&v.__internal_object__!==undefined){return $assertType(v.__internal_object__,t,false);}var timePkg=$packages["time"];if(timePkg!==undefined&&t===timePkg.Time){if(!(v!==null&&v!==undefined&&v.constructor===Date)){$throwRuntimeError("cannot internalize time.Time from "+typeof v+", must be Date");}return timePkg.Unix(new $Int64(0,0),new $Int64(0,v.getTime()*1000000));}switch(t.kind){case $kindBool:return!!v;case $kindInt:return parseInt(v);case $kindInt8:return parseInt(v)<<24>>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[];for(var i=0;i<t.params.length;i++){if(t.variadic&&i===t.params.length-1){var vt=t.params[i].elem,varargs=arguments[i];for(var j=0;j<varargs.$length;j++){args.push($externalize(varargs.$array[varargs.$offset+j],vt));}break;}args.push($externalize(arguments[i],t.params[i]));}var result=v.apply(recv,args);switch(t.results.length){case 0:return;case 1:return $internalize(result,t.results[0]);default:for(var i=0;i<t.results.length;i++){result[i]=$internalize(result[i],t.results[i]);}return result;}};case $kindInterface:if(t.methods.length!==0){$throwRuntimeError("cannot internalize "+t.string);}if(v===null){return $ifaceNil;}if(v===undefined){return new $jsObjectPtr(undefined);}switch(v.constructor){case Int8Array:return new($sliceType($Int8))(v);case Int16Array:return new($sliceType($Int16))(v);case Int32Array:return new($sliceType($Int))(v);case Uint8Array:return new($sliceType($Uint8))(v);case Uint16Array:return new($sliceType($Uint16))(v);case Uint32Array:return new($sliceType($Uint))(v);case Float32Array:return new($sliceType($Float32))(v);case Float64Array:return new($sliceType($Float64))(v);case Array:return $internalize(v,$sliceType($emptyInterface));case Boolean:return new $Bool(!!v);case Date:if(timePkg===undefined){return new $jsObjectPtr(v);}return new timePkg.Time($internalize(v,timePkg.Time));case Function:var funcType=$funcType([$sliceType($emptyInterface)],[$jsObjectPtr],true);return new funcType($internalize(v,funcType));case Number:return new $Float64(parseFloat(v));case String:return new $String($internalize(v,$String));default:if($global.Node&&v instanceof $global.Node){return new $jsObjectPtr(v);}var mapType=$mapType($String,$emptyInterface);return new mapType($internalize(v,mapType));}case $kindMap:var m={};var keys=$keys(v);for(var i=0;i<keys.length;i++){var k=$internalize(keys[i],t.key);m[t.key.keyFor(k)]={k:k,v:$internalize(v[keys[i]],t.elem)};}return m;case $kindPtr:if(t.elem.kind===$kindStruct){return $internalize(v,t.elem);}case $kindSlice:return new t($mapArray(v,function(e){return $internalize(e,t.elem);}));case $kindString:v=String(v);if(v.search(/^[\x00-\x7F]*$/)!==-1){return v;}var s="";var i=0;while(i<v.length){var h=v.charCodeAt(i);if(0xD800<=h&&h<=0xDBFF){var l=v.charCodeAt(i+1);var c=(h-0xD800)*0x400+l-0xDC00+0x10000;s+=$encodeRune(c);i+=2;continue;}s+=$encodeRune(h);i++;}return s;case $kindStruct:var noJsObject={};var searchJsObject=function(t){if(t===$jsObjectPtr){return v;}if(t===$jsObjectPtr.elem){$throwRuntimeError("cannot internalize js.Object, use *js.Object instead");}switch(t.kind){case $kindPtr:return searchJsObject(t.elem);case $kindStruct:var f=t.fields[0];var o=searchJsObject(f.typ);if(o!==noJsObject){var n=new t.ptr();n[f.prop]=o;return n;}return noJsObject;default:return noJsObject;}};var o=searchJsObject(t);if(o!==noJsObject){return o;}}$throwRuntimeError("cannot internalize "+t.string);};
$packages["github.com/gopherjs/gopherjs/js"]=(function(){var $pkg={},$init,A,B,L,N,Q,K;A=$pkg.Object=$newType(0,$kindStruct,"js.Object","Object","github.com/gopherjs/gopherjs/js",function(object_){this.$val=this;if(arguments.length===0){this.object=null;return;}this.object=object_;});B=$pkg.Error=$newType(0,$kindStruct,"js.Error","Error","github.com/gopherjs/gopherjs/js",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});L=$sliceType($emptyInterface);N=$ptrType(A);Q=$ptrType(B);A.ptr.prototype.Get=function(a){var $ptr,a,b;b=this;return b.object[$externalize(a,$String)];};A.prototype.Get=function(a){return this.$val.Get(a);};A.ptr.prototype.Set=function(a,b){var $ptr,a,b,c;c=this;c.object[$externalize(a,$String)]=$externalize(b,$emptyInterface);};A.prototype.Set=function(a,b){return this.$val.Set(a,b);};A.ptr.prototype.Delete=function(a){var $ptr,a,b;b=this;delete b.object[$externalize(a,$String)];};A.prototype.Delete=function(a){return this.$val.Delete(a);};A.ptr.prototype.Length=function(){var $ptr,a;a=this;return $parseInt(a.object.length);};A.prototype.Length=function(){return this.$val.Length();};A.ptr.prototype.Index=function(a){var $ptr,a,b;b=this;return b.object[a];};A.prototype.Index=function(a){return this.$val.Index(a);};A.ptr.prototype.SetIndex=function(a,b){var $ptr,a,b,c;c=this;c.object[a]=$externalize(b,$emptyInterface);};A.prototype.SetIndex=function(a,b){return this.$val.SetIndex(a,b);};A.ptr.prototype.Call=function(a,b){var $ptr,a,b,c,d;c=this;return(d=c.object,d[$externalize(a,$String)].apply(d,$externalize(b,L)));};A.prototype.Call=function(a,b){return this.$val.Call(a,b);};A.ptr.prototype.Invoke=function(a){var $ptr,a,b;b=this;return b.object.apply(undefined,$externalize(a,L));};A.prototype.Invoke=function(a){return this.$val.Invoke(a);};A.ptr.prototype.New=function(a){var $ptr,a,b;b=this;return new($global.Function.prototype.bind.apply(b.object,[undefined].concat($externalize(a,L))));};A.prototype.New=function(a){return this.$val.New(a);};A.ptr.prototype.Bool=function(){var $ptr,a;a=this;return!!(a.object);};A.prototype.Bool=function(){return this.$val.Bool();};A.ptr.prototype.String=function(){var $ptr,a;a=this;return $internalize(a.object,$String);};A.prototype.String=function(){return this.$val.String();};A.ptr.prototype.Int=function(){var $ptr,a;a=this;return $parseInt(a.object)>>0;};A.prototype.Int=function(){return this.$val.Int();};A.ptr.prototype.Int64=function(){var $ptr,a;a=this;return $internalize(a.object,$Int64);};A.prototype.Int64=function(){return this.$val.Int64();};A.ptr.prototype.Uint64=function(){var $ptr,a;a=this;return $internalize(a.object,$Uint64);};A.prototype.Uint64=function(){return this.$val.Uint64();};A.ptr.prototype.Float=function(){var $ptr,a;a=this;return $parseFloat(a.object);};A.prototype.Float=function(){return this.$val.Float();};A.ptr.prototype.Interface=function(){var $ptr,a;a=this;return $internalize(a.object,$emptyInterface);};A.prototype.Interface=function(){return this.$val.Interface();};A.ptr.prototype.Unsafe=function(){var $ptr,a;a=this;return a.object;};A.prototype.Unsafe=function(){return this.$val.Unsafe();};B.ptr.prototype.Error=function(){var $ptr,a;a=this;return"JavaScript error: "+$internalize(a.Object.message,$String);};B.prototype.Error=function(){return this.$val.Error();};B.ptr.prototype.Stack=function(){var $ptr,a;a=this;return $internalize(a.Object.stack,$String);};B.prototype.Stack=function(){return this.$val.Stack();};K=function(){var $ptr,a;a=new B.ptr(null);};N.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[N],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$String,$emptyInterface],[],false)},{prop:"Delete",name:"Delete",pkg:"",typ:$funcType([$String],[],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[N],false)},{prop:"SetIndex",name:"SetIndex",pkg:"",typ:$funcType([$Int,$emptyInterface],[],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([$String,L],[N],true)},{prop:"Invoke",name:"Invoke",pkg:"",typ:$funcType([L],[N],true)},{prop:"New",name:"New",pkg:"",typ:$funcType([L],[N],true)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Unsafe",name:"Unsafe",pkg:"",typ:$funcType([],[$Uintptr],false)}];Q.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Stack",name:"Stack",pkg:"",typ:$funcType([],[$String],false)}];A.init([{prop:"object",name:"object",pkg:"github.com/gopherjs/gopherjs/js",typ:N,tag:""}]);B.init([{prop:"Object",name:"",pkg:"",typ:N,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:K();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime"]=(function(){var $pkg={},$init,A,AB,AC,AT,C,F,I,P;A=$packages["github.com/gopherjs/gopherjs/js"];AB=$pkg.TypeAssertionError=$newType(0,$kindStruct,"runtime.TypeAssertionError","TypeAssertionError","runtime",function(interfaceString_,concreteString_,assertedString_,missingMethod_){this.$val=this;if(arguments.length===0){this.interfaceString="";this.concreteString="";this.assertedString="";this.missingMethod="";return;}this.interfaceString=interfaceString_;this.concreteString=concreteString_;this.assertedString=assertedString_;this.missingMethod=missingMethod_;});AC=$pkg.errorString=$newType(8,$kindString,"runtime.errorString","errorString","runtime",null);AT=$ptrType(AB);C=function(){var $ptr,a,b;a=$packages[$externalize("github.com/gopherjs/gopherjs/js",$String)];$jsObjectPtr=a.Object.ptr;$jsErrorPtr=a.Error.ptr;$throwRuntimeError=(function(b){var $ptr,b;$panic(new AC(b));});b=$ifaceNil;b=new AB.ptr("","","","");};F=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c="";d=0;e=false;f=new($global.Error)().stack.split($externalize("\n",$String))[(a+2>>0)];if(f===undefined){g=0;h="";i=0;j=false;b=g;c=h;d=i;e=j;return[b,c,d,e];}k=f.substring(($parseInt(f.indexOf($externalize("(",$String)))>>0)+1>>0,$parseInt(f.indexOf($externalize(")",$String)))>>0).split($externalize(":",$String));l=0;m=$internalize(k[0],$String);n=$parseInt(k[1])>>0;o=true;b=l;c=m;d=n;e=o;return[b,c,d,e];};$pkg.Caller=F;I=function(){var $ptr;$curGoroutine.exit=$externalize(true,$Bool);$throw(null);};$pkg.Goexit=I;P=function(a,b){var $ptr,a,b;};$pkg.SetFinalizer=P;AB.ptr.prototype.RuntimeError=function(){var $ptr;};AB.prototype.RuntimeError=function(){return this.$val.RuntimeError();};AB.ptr.prototype.Error=function(){var $ptr,a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};AB.prototype.Error=function(){return this.$val.Error();};AC.prototype.RuntimeError=function(){var $ptr,a;a=this.$val;};$ptrType(AC).prototype.RuntimeError=function(){return new AC(this.$get()).RuntimeError();};AC.prototype.Error=function(){var $ptr,a;a=this.$val;return"runtime error: "+a;};$ptrType(AC).prototype.Error=function(){return new AC(this.$get()).Error();};AT.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AC.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AB.init([{prop:"interfaceString",name:"interfaceString",pkg:"runtime",typ:$String,tag:""},{prop:"concreteString",name:"concreteString",pkg:"runtime",typ:$String,tag:""},{prop:"assertedString",name:"assertedString",pkg:"runtime",typ:$String,tag:""},{prop:"missingMethod",name:"missingMethod",pkg:"runtime",typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}C();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["errors"]=(function(){var $pkg={},$init,B,C,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString","errorString","errors",function(s_){this.$val=this;if(arguments.length===0){this.s="";return;}this.s=s_;});C=$ptrType(B);A=function(a){var $ptr,a;return new B.ptr(a);};$pkg.New=A;B.ptr.prototype.Error=function(){var $ptr,a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};C.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];B.init([{prop:"s",name:"s",pkg:"errors",typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync/atomic"]=(function(){var $pkg={},$init,A,H,N,U,Y,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=function(ad,ae,af){var $ptr,ad,ae,af;if(ad.$get()===ae){ad.$set(af);return true;}return false;};$pkg.CompareAndSwapInt32=H;N=function(ad,ae){var $ptr,ad,ae,af;af=ad.$get()+ae>>0;ad.$set(af);return af;};$pkg.AddInt32=N;U=function(ad){var $ptr,ad;return ad.$get();};$pkg.LoadUint32=U;Y=function(ad,ae){var $ptr,ad,ae;ad.$set(ae);};$pkg.StoreInt32=Y;AA=function(ad,ae){var $ptr,ad,ae;ad.$set(ae);};$pkg.StoreUint32=AA;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync"]=(function(){var $pkg={},$init,B,A,E,N,O,P,Q,AF,AK,AL,AM,AN,AO,AP,AQ,AU,AX,AY,AZ,BA,BD,BI,BJ,BK,BL,G,T,D,F,H,I,J,R,U,V,AC,AI,AJ;B=$packages["runtime"];A=$packages["sync/atomic"];E=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool","Pool","sync",function(local_,localSize_,store_,New_){this.$val=this;if(arguments.length===0){this.local=0;this.localSize=0;this.store=AY.nil;this.New=$throwNilPointerError;return;}this.local=local_;this.localSize=localSize_;this.store=store_;this.New=New_;});N=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex","Mutex","sync",function(state_,sema_){this.$val=this;if(arguments.length===0){this.state=0;this.sema=0;return;}this.state=state_;this.sema=sema_;});O=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker","Locker","sync",null);P=$pkg.Once=$newType(0,$kindStruct,"sync.Once","Once","sync",function(m_,done_){this.$val=this;if(arguments.length===0){this.m=new N.ptr(0,0);this.done=0;return;}this.m=m_;this.done=done_;});Q=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal","poolLocal","sync",function(private$0_,shared_,Mutex_,pad_){this.$val=this;if(arguments.length===0){this.private$0=$ifaceNil;this.shared=AY.nil;this.Mutex=new N.ptr(0,0);this.pad=BL.zero();return;}this.private$0=private$0_;this.shared=shared_;this.Mutex=Mutex_;this.pad=pad_;});AF=$pkg.syncSema=$newType(0,$kindStruct,"sync.syncSema","syncSema","sync",function(lock_,head_,tail_){this.$val=this;if(arguments.length===0){this.lock=0;this.head=0;this.tail=0;return;}this.lock=lock_;this.head=head_;this.tail=tail_;});AK=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex","RWMutex","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new N.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});AL=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker","rlocker","sync",function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new N.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});AM=$ptrType(E);AN=$sliceType(AM);AO=$ptrType($Uint32);AP=$chanType($Bool,false,false);AQ=$sliceType(AP);AU=$ptrType($Int32);AX=$ptrType(Q);AY=$sliceType($emptyInterface);AZ=$ptrType(AL);BA=$ptrType(AK);BD=$funcType([],[$emptyInterface],false);BI=$ptrType(N);BJ=$funcType([],[],false);BK=$ptrType(P);BL=$arrayType($Uint8,128);D=function(i){var $ptr,i;};E.ptr.prototype.Get=function(){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(i.store.$length===0){$s=1;continue;}$s=2;continue;case 1:if(!(i.New===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:j=i.New();$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=6;case 6:return j;case 4:return $ifaceNil;case 2:m=(k=i.store,l=i.store.$length-1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]));i.store=$subslice(i.store,0,(i.store.$length-1>>0));return m;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Get};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Get=function(){return this.$val.Get();};E.ptr.prototype.Put=function(i){var $ptr,i,j;j=this;if($interfaceIsEqual(i,$ifaceNil)){return;}j.store=$append(j.store,i);};E.prototype.Put=function(i){return this.$val.Put(i);};F=function(i){var $ptr,i;};H=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(i.$get()===0){$s=1;continue;}$s=2;continue;case 1:j=new $Chan($Bool,0);k=i;(G||$throwRuntimeError("assignment to entry in nil map"))[AO.keyFor(k)]={k:k,v:$append((l=G[AO.keyFor(i)],l!==undefined?l.v:AQ.nil),j)};m=$recv(j);$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m[0];case 2:i.$set(i.$get()-(1)>>>0);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};I=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i.$set(i.$get()+(1)>>>0);k=(j=G[AO.keyFor(i)],j!==undefined?j.v:AQ.nil);if(k.$length===0){return;}l=(0>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+0]);k=$subslice(k,1);m=i;(G||$throwRuntimeError("assignment to entry in nil map"))[AO.keyFor(m)]={k:m,v:k};if(k.$length===0){delete G[AO.keyFor(i)];}$r=$send(l,true);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};J=function(i){var $ptr,i;return false;};N.ptr.prototype.Lock=function(){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(A.CompareAndSwapInt32((i.$ptr_state||(i.$ptr_state=new AU(function(){return this.$target.state;},function($v){this.$target.state=$v;},i))),0,1)){return;}j=false;k=0;case 1:l=i.state;m=l|1;if(!(((l&1)===0))){$s=3;continue;}$s=4;continue;case 3:if(J(k)){if(!j&&((l&2)===0)&&!(((l>>2>>0)===0))&&A.CompareAndSwapInt32((i.$ptr_state||(i.$ptr_state=new AU(function(){return this.$target.state;},function($v){this.$target.state=$v;},i))),l,l|2)){j=true;}AJ();k=k+(1)>>0;$s=1;continue;}m=l+4>>0;case 4:if(j){if((m&2)===0){$panic(new $String("sync: inconsistent mutex state"));}m=(m&~(2))>>0;}if(A.CompareAndSwapInt32((i.$ptr_state||(i.$ptr_state=new AU(function(){return this.$target.state;},function($v){this.$target.state=$v;},i))),l,m)){$s=5;continue;}$s=6;continue;case 5:if((l&1)===0){$s=2;continue;}$r=H((i.$ptr_sema||(i.$ptr_sema=new AO(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},i))));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=true;k=0;case 6:$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Lock=function(){return this.$val.Lock();};N.ptr.prototype.Unlock=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=A.AddInt32((i.$ptr_state||(i.$ptr_state=new AU(function(){return this.$target.state;},function($v){this.$target.state=$v;},i))),-1);if((((j+1>>0))&1)===0){$panic(new $String("sync: unlock of unlocked mutex"));}k=j;case 1:if(((k>>2>>0)===0)||!(((k&3)===0))){return;}j=((k-4>>0))|2;if(A.CompareAndSwapInt32((i.$ptr_state||(i.$ptr_state=new AU(function(){return this.$target.state;},function($v){this.$target.state=$v;},i))),k,j)){$s=3;continue;}$s=4;continue;case 3:$r=I((i.$ptr_sema||(i.$ptr_sema=new AO(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},i))));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 4:k=i.state;$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Unlock=function(){return this.$val.Unlock();};P.ptr.prototype.Do=function(i){var $ptr,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j=this;if(A.LoadUint32((j.$ptr_done||(j.$ptr_done=new AO(function(){return this.$target.done;},function($v){this.$target.done=$v;},j))))===1){return;}$r=j.m.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(j.m,"Unlock"),[]]);if(j.done===0){$s=2;continue;}$s=3;continue;case 2:$deferred.push([A.StoreUint32,[(j.$ptr_done||(j.$ptr_done=new AO(function(){return this.$target.done;},function($v){this.$target.done=$v;},j))),1]]);$r=i();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:P.ptr.prototype.Do};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};P.prototype.Do=function(i){return this.$val.Do(i);};R=function(){var $ptr,i,j,k,l,m,n,o,p,q,r;i=T;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);((k<0||k>=T.$length)?$throwRuntimeError("index out of range"):T.$array[T.$offset+k]=AM.nil);m=0;while(true){if(!(m<(l.localSize>>0))){break;}n=V(l.local,m);n.private$0=$ifaceNil;o=n.shared;p=0;while(true){if(!(p<o.$length)){break;}q=p;(r=n.shared,((q<0||q>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+q]=$ifaceNil));p++;}n.shared=AY.nil;m=m+(1)>>0;}l.local=0;l.localSize=0;j++;}T=new AN([]);};U=function(){var $ptr;F(R);};V=function(i,j){var $ptr,i,j,k;return(k=i,(k.nilCheck,((j<0||j>=k.length)?$throwRuntimeError("index out of range"):k[j])));};AC=function(){var $ptr;};AI=function(){var $ptr,i;i=new AF.ptr(0,0,0);D(12);};AJ=function(){$panic("Native function not implemented: sync.runtime_doSpin");};AK.ptr.prototype.RLock=function(){var $ptr,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(A.AddInt32((i.$ptr_readerCount||(i.$ptr_readerCount=new AU(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},i))),1)<0){$s=1;continue;}$s=2;continue;case 1:$r=H((i.$ptr_readerSem||(i.$ptr_readerSem=new AO(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},i))));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.RLock};}$f.$ptr=$ptr;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.RLock=function(){return this.$val.RLock();};AK.ptr.prototype.RUnlock=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=A.AddInt32((i.$ptr_readerCount||(i.$ptr_readerCount=new AU(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},i))),-1);if(j<0){$s=1;continue;}$s=2;continue;case 1:if(((j+1>>0)===0)||((j+1>>0)===-1073741824)){AC();$panic(new $String("sync: RUnlock of unlocked RWMutex"));}if(A.AddInt32((i.$ptr_readerWait||(i.$ptr_readerWait=new AU(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},i))),-1)===0){$s=3;continue;}$s=4;continue;case 3:$r=I((i.$ptr_writerSem||(i.$ptr_writerSem=new AO(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},i))));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.RUnlock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.RUnlock=function(){return this.$val.RUnlock();};AK.ptr.prototype.Lock=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;$r=i.w.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=A.AddInt32((i.$ptr_readerCount||(i.$ptr_readerCount=new AU(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},i))),-1073741824)+1073741824>>0;if(!((j===0))&&!((A.AddInt32((i.$ptr_readerWait||(i.$ptr_readerWait=new AU(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},i))),j)===0))){$s=2;continue;}$s=3;continue;case 2:$r=H((i.$ptr_writerSem||(i.$ptr_writerSem=new AO(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},i))));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.Lock=function(){return this.$val.Lock();};AK.ptr.prototype.Unlock=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=A.AddInt32((i.$ptr_readerCount||(i.$ptr_readerCount=new AU(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},i))),1073741824);if(j>=1073741824){AC();$panic(new $String("sync: Unlock of unlocked RWMutex"));}k=0;case 1:if(!(k<(j>>0))){$s=2;continue;}$r=I((i.$ptr_readerSem||(i.$ptr_readerSem=new AO(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},i))));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=k+(1)>>0;$s=1;continue;case 2:$r=i.w.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.Unlock=function(){return this.$val.Unlock();};AK.ptr.prototype.RLocker=function(){var $ptr,i;i=this;return $pointerOfStructConversion(i,AZ);};AK.prototype.RLocker=function(){return this.$val.RLocker();};AL.ptr.prototype.Lock=function(){var $ptr,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;$r=$pointerOfStructConversion(i,BA).RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.Lock=function(){return this.$val.Lock();};AL.ptr.prototype.Unlock=function(){var $ptr,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;$r=$pointerOfStructConversion(i,BA).RUnlock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.Unlock=function(){return this.$val.Unlock();};AM.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"getSlow",name:"getSlow",pkg:"sync",typ:$funcType([],[$emptyInterface],false)},{prop:"pin",name:"pin",pkg:"sync",typ:$funcType([],[AX],false)},{prop:"pinSlow",name:"pinSlow",pkg:"sync",typ:$funcType([],[AX],false)}];BI.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];BK.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([BJ],[],false)}];BA.methods=[{prop:"RLock",name:"RLock",pkg:"",typ:$funcType([],[],false)},{prop:"RUnlock",name:"RUnlock",pkg:"",typ:$funcType([],[],false)},{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)},{prop:"RLocker",name:"RLocker",pkg:"",typ:$funcType([],[O],false)}];AZ.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];E.init([{prop:"local",name:"local",pkg:"sync",typ:$UnsafePointer,tag:""},{prop:"localSize",name:"localSize",pkg:"sync",typ:$Uintptr,tag:""},{prop:"store",name:"store",pkg:"sync",typ:AY,tag:""},{prop:"New",name:"New",pkg:"",typ:BD,tag:""}]);N.init([{prop:"state",name:"state",pkg:"sync",typ:$Int32,tag:""},{prop:"sema",name:"sema",pkg:"sync",typ:$Uint32,tag:""}]);O.init([{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}]);P.init([{prop:"m",name:"m",pkg:"sync",typ:N,tag:""},{prop:"done",name:"done",pkg:"sync",typ:$Uint32,tag:""}]);Q.init([{prop:"private$0",name:"private",pkg:"sync",typ:$emptyInterface,tag:""},{prop:"shared",name:"shared",pkg:"sync",typ:AY,tag:""},{prop:"Mutex",name:"",pkg:"",typ:N,tag:""},{prop:"pad",name:"pad",pkg:"sync",typ:BL,tag:""}]);AF.init([{prop:"lock",name:"lock",pkg:"sync",typ:$Uintptr,tag:""},{prop:"head",name:"head",pkg:"sync",typ:$UnsafePointer,tag:""},{prop:"tail",name:"tail",pkg:"sync",typ:$UnsafePointer,tag:""}]);AK.init([{prop:"w",name:"w",pkg:"sync",typ:N,tag:""},{prop:"writerSem",name:"writerSem",pkg:"sync",typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",pkg:"sync",typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",pkg:"sync",typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",pkg:"sync",typ:$Int32,tag:""}]);AL.init([{prop:"w",name:"w",pkg:"sync",typ:N,tag:""},{prop:"writerSem",name:"writerSem",pkg:"sync",typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",pkg:"sync",typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",pkg:"sync",typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",pkg:"sync",typ:$Int32,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}T=AN.nil;G={};U();AI();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io"]=(function(){var $pkg={},$init,A,B,C,D,H,N,O,R,U,AX,AI,AJ,Y,Z;A=$packages["errors"];B=$packages["sync"];C=$pkg.Reader=$newType(8,$kindInterface,"io.Reader","Reader","io",null);D=$pkg.Writer=$newType(8,$kindInterface,"io.Writer","Writer","io",null);H=$pkg.ReadCloser=$newType(8,$kindInterface,"io.ReadCloser","ReadCloser","io",null);N=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom","ReaderFrom","io",null);O=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo","WriterTo","io",null);R=$pkg.ByteReader=$newType(8,$kindInterface,"io.ByteReader","ByteReader","io",null);U=$pkg.RuneReader=$newType(8,$kindInterface,"io.RuneReader","RuneReader","io",null);AX=$sliceType($Uint8);Y=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;if(b.$length<c){f=0;g=$pkg.ErrShortBuffer;d=f;e=g;return[d,e];}case 1:if(!(d<c&&$interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}h=0;j=a.Read($subslice(b,d));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;h=i[0];e=i[1];d=d+(h)>>0;$s=1;continue;case 2:if(d>=c){e=$ifaceNil;}else if(d>0&&$interfaceIsEqual(e,$pkg.EOF)){e=$pkg.ErrUnexpectedEOF;}return[d,e];}return;}if($f===undefined){$f={$blk:Y};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadAtLeast=Y;Z=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;f=Y(a,b,b.$length);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;c=e[0];d=e[1];$s=2;case 2:return[c,d];}return;}if($f===undefined){$f={$blk:Z};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadFull=Z;C.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([AX],[$Int,$error],false)}]);D.init([{prop:"Write",name:"Write",pkg:"",typ:$funcType([AX],[$Int,$error],false)}]);H.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AX],[$Int,$error],false)}]);N.init([{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([C],[$Int64,$error],false)}]);O.init([{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([D],[$Int64,$error],false)}]);R.init([{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)}]);U.init([{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrShortWrite=A.New("short write");$pkg.ErrShortBuffer=A.New("short buffer");$pkg.EOF=A.New("EOF");$pkg.ErrUnexpectedEOF=A.New("unexpected EOF");$pkg.ErrNoProgress=A.New("multiple Read calls return no data or error");AI=A.New("Seek: invalid whence");AJ=A.New("Seek: invalid offset");$pkg.ErrClosedPipe=A.New("io: read/write on closed pipe");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode/utf8"]=(function(){var $pkg={},$init,A,B,C,E,F,G,I,J,K,L,M;A=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=false;e=a.$length;if(e<1){f=65533;g=0;h=true;b=f;c=g;d=h;return[b,c,d];}i=(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]);if(i<128){j=(i>>0);k=1;l=false;b=j;c=k;d=l;return[b,c,d];}if(i<192){m=65533;n=1;o=false;b=m;c=n;d=o;return[b,c,d];}if(e<2){p=65533;q=1;r=true;b=p;c=q;d=r;return[b,c,d];}s=(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]);if(s<128||192<=s){t=65533;u=1;v=false;b=t;c=u;d=v;return[b,c,d];}if(i<224){b=((((i&31)>>>0)>>0)<<6>>0)|(((s&63)>>>0)>>0);if(b<=127){w=65533;x=1;y=false;b=w;c=x;d=y;return[b,c,d];}z=b;aa=2;ab=false;b=z;c=aa;d=ab;return[b,c,d];}if(e<3){ac=65533;ad=1;ae=true;b=ac;c=ad;d=ae;return[b,c,d];}af=(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]);if(af<128||192<=af){ag=65533;ah=1;ai=false;b=ag;c=ah;d=ai;return[b,c,d];}if(i<240){b=(((((i&15)>>>0)>>0)<<12>>0)|((((s&63)>>>0)>>0)<<6>>0))|(((af&63)>>>0)>>0);if(b<=2047){aj=65533;ak=1;al=false;b=aj;c=ak;d=al;return[b,c,d];}if(55296<=b&&b<=57343){am=65533;an=1;ao=false;b=am;c=an;d=ao;return[b,c,d];}ap=b;aq=3;ar=false;b=ap;c=aq;d=ar;return[b,c,d];}if(e<4){as=65533;at=1;au=true;b=as;c=at;d=au;return[b,c,d];}av=(3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]);if(av<128||192<=av){aw=65533;ax=1;ay=false;b=aw;c=ax;d=ay;return[b,c,d];}if(i<248){b=((((((i&7)>>>0)>>0)<<18>>0)|((((s&63)>>>0)>>0)<<12>>0))|((((af&63)>>>0)>>0)<<6>>0))|(((av&63)>>>0)>>0);if(b<=65535||1114111<b){az=65533;ba=1;bb=false;b=az;c=ba;d=bb;return[b,c,d];}bc=b;bd=4;be=false;b=bc;c=bd;d=be;return[b,c,d];}bf=65533;bg=1;bh=false;b=bf;c=bg;d=bh;return[b,c,d];};B=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=false;e=a.length;if(e<1){f=65533;g=0;h=true;b=f;c=g;d=h;return[b,c,d];}i=a.charCodeAt(0);if(i<128){j=(i>>0);k=1;l=false;b=j;c=k;d=l;return[b,c,d];}if(i<192){m=65533;n=1;o=false;b=m;c=n;d=o;return[b,c,d];}if(e<2){p=65533;q=1;r=true;b=p;c=q;d=r;return[b,c,d];}s=a.charCodeAt(1);if(s<128||192<=s){t=65533;u=1;v=false;b=t;c=u;d=v;return[b,c,d];}if(i<224){b=((((i&31)>>>0)>>0)<<6>>0)|(((s&63)>>>0)>>0);if(b<=127){w=65533;x=1;y=false;b=w;c=x;d=y;return[b,c,d];}z=b;aa=2;ab=false;b=z;c=aa;d=ab;return[b,c,d];}if(e<3){ac=65533;ad=1;ae=true;b=ac;c=ad;d=ae;return[b,c,d];}af=a.charCodeAt(2);if(af<128||192<=af){ag=65533;ah=1;ai=false;b=ag;c=ah;d=ai;return[b,c,d];}if(i<240){b=(((((i&15)>>>0)>>0)<<12>>0)|((((s&63)>>>0)>>0)<<6>>0))|(((af&63)>>>0)>>0);if(b<=2047){aj=65533;ak=1;al=false;b=aj;c=ak;d=al;return[b,c,d];}if(55296<=b&&b<=57343){am=65533;an=1;ao=false;b=am;c=an;d=ao;return[b,c,d];}ap=b;aq=3;ar=false;b=ap;c=aq;d=ar;return[b,c,d];}if(e<4){as=65533;at=1;au=true;b=as;c=at;d=au;return[b,c,d];}av=a.charCodeAt(3);if(av<128||192<=av){aw=65533;ax=1;ay=false;b=aw;c=ax;d=ay;return[b,c,d];}if(i<248){b=((((((i&7)>>>0)>>0)<<18>>0)|((((s&63)>>>0)>>0)<<12>>0))|((((af&63)>>>0)>>0)<<6>>0))|(((av&63)>>>0)>>0);if(b<=65535||1114111<b){az=65533;ba=1;bb=false;b=az;c=ba;d=bb;return[b,c,d];}bc=b;bd=4;be=false;b=bc;c=bd;d=be;return[b,c,d];}bf=65533;bg=1;bh=false;b=bf;c=bg;d=bh;return[b,c,d];};C=function(a){var $ptr,a,b,c;b=A(a);c=b[2];return!c;};$pkg.FullRune=C;E=function(a){var $ptr,a,b,c,d;b=0;c=0;d=A(a);b=d[0];c=d[1];return[b,c];};$pkg.DecodeRune=E;F=function(a){var $ptr,a,b,c,d;b=0;c=0;d=B(a);b=d[0];c=d[1];return[b,c];};$pkg.DecodeRuneInString=F;G=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.$length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=(((g<0||g>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+g])>>0);if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(M(((g<0||g>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=E($subslice(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRune=G;I=function(a){var $ptr,a;if(a<0){return-1;}else if(a<=127){return 1;}else if(a<=2047){return 2;}else if(55296<=a&&a<=57343){return-1;}else if(a<=65535){return 3;}else if(a<=1114111){return 4;}return-1;};$pkg.RuneLen=I;J=function(a,b){var $ptr,a,b,c;c=(b>>>0);if(c<=127){(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=(b<<24>>>24));return 1;}else if(c<=2047){(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((192|((b>>6>>0)<<24>>>24))>>>0));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((128|(((b<<24>>>24)&63)>>>0))>>>0));return 2;}else if(c>1114111||55296<=c&&c<=57343){b=65533;(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((224|((b>>12>>0)<<24>>>24))>>>0));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0));(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=((128|(((b<<24>>>24)&63)>>>0))>>>0));return 3;}else if(c<=65535){(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((224|((b>>12>>0)<<24>>>24))>>>0));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0));(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=((128|(((b<<24>>>24)&63)>>>0))>>>0));return 3;}else{(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((240|((b>>18>>0)<<24>>>24))>>>0));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((128|((((b>>12>>0)<<24>>>24)&63)>>>0))>>>0));(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=((128|((((b>>6>>0)<<24>>>24)&63)>>>0))>>>0));(3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]=((128|(((b<<24>>>24)&63)>>>0))>>>0));return 4;}};$pkg.EncodeRune=J;K=function(a){var $ptr,a,b,c,d,e;b=0;c=0;c=0;while(true){if(!(b<a.$length)){break;}if(((b<0||b>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+b])<128){b=b+(1)>>0;}else{d=E($subslice(a,b));e=d[1];b=b+(e)>>0;}c=c+(1)>>0;}return c;};$pkg.RuneCount=K;L=function(a){var $ptr,a,b,c,d,e;b=0;c=a;d=0;while(true){if(!(d<c.length)){break;}e=$decodeRune(c,d);b=b+(1)>>0;d+=e[1];}return b;};$pkg.RuneCountInString=L;M=function(a){var $ptr,a;return!((((a&192)>>>0)===128));};$pkg.RuneStart=M;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["bytes"]=(function(){var $pkg={},$init,A,B,D,C,H,I,BI,BK,BL,BM,BN,BQ,E,J,K,BJ;A=$packages["errors"];B=$packages["io"];D=$packages["unicode"];C=$packages["unicode/utf8"];H=$pkg.Buffer=$newType(0,$kindStruct,"bytes.Buffer","Buffer","bytes",function(buf_,off_,runeBytes_,bootstrap_,lastRead_){this.$val=this;if(arguments.length===0){this.buf=BL.nil;this.off=0;this.runeBytes=BM.zero();this.bootstrap=BN.zero();this.lastRead=0;return;}this.buf=buf_;this.off=off_;this.runeBytes=runeBytes_;this.bootstrap=bootstrap_;this.lastRead=lastRead_;});I=$pkg.readOp=$newType(4,$kindInt,"bytes.readOp","readOp","bytes",null);BI=$pkg.Reader=$newType(0,$kindStruct,"bytes.Reader","Reader","bytes",function(s_,i_,prevRune_){this.$val=this;if(arguments.length===0){this.s=BL.nil;this.i=new $Int64(0,0);this.prevRune=0;return;}this.s=s_;this.i=i_;this.prevRune=prevRune_;});BK=$ptrType(H);BL=$sliceType($Uint8);BM=$arrayType($Uint8,4);BN=$arrayType($Uint8,64);BQ=$ptrType(BI);E=function(d,e){var $ptr,d,e,f,g,h,i;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]);if(i===e){return h;}g++;}return-1;};$pkg.IndexByte=E;H.ptr.prototype.Bytes=function(){var $ptr,d;d=this;return $subslice(d.buf,d.off);};H.prototype.Bytes=function(){return this.$val.Bytes();};H.ptr.prototype.String=function(){var $ptr,d;d=this;if(d===BK.nil){return"<nil>";}return $bytesToString($subslice(d.buf,d.off));};H.prototype.String=function(){return this.$val.String();};H.ptr.prototype.Len=function(){var $ptr,d;d=this;return d.buf.$length-d.off>>0;};H.prototype.Len=function(){return this.$val.Len();};H.ptr.prototype.Cap=function(){var $ptr,d;d=this;return d.buf.$capacity;};H.prototype.Cap=function(){return this.$val.Cap();};H.ptr.prototype.Truncate=function(d){var $ptr,d,e;e=this;e.lastRead=0;if(d<0||d>e.Len()){$panic(new $String("bytes.Buffer: truncation out of range"));}else if(d===0){e.off=0;}e.buf=$subslice(e.buf,0,(e.off+d>>0));};H.prototype.Truncate=function(d){return this.$val.Truncate(d);};H.ptr.prototype.Reset=function(){var $ptr,d;d=this;d.Truncate(0);};H.prototype.Reset=function(){return this.$val.Reset();};H.ptr.prototype.grow=function(d){var $ptr,d,e,f,g,h;e=this;f=e.Len();if((f===0)&&!((e.off===0))){e.Truncate(0);}if((e.buf.$length+d>>0)>e.buf.$capacity){g=BL.nil;if(e.buf===BL.nil&&d<=64){g=$subslice(new BL(e.bootstrap),0);}else if((f+d>>0)<=(h=e.buf.$capacity/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))){$copySlice(e.buf,$subslice(e.buf,e.off));g=$subslice(e.buf,0,f);}else{g=J(($imul(2,e.buf.$capacity))+d>>0);$copySlice(g,$subslice(e.buf,e.off));}e.buf=g;e.off=0;}e.buf=$subslice(e.buf,0,((e.off+f>>0)+d>>0));return e.off+f>>0;};H.prototype.grow=function(d){return this.$val.grow(d);};H.ptr.prototype.Grow=function(d){var $ptr,d,e,f;e=this;if(d<0){$panic(new $String("bytes.Buffer.Grow: negative count"));}f=e.grow(d);e.buf=$subslice(e.buf,0,f);};H.prototype.Grow=function(d){return this.$val.Grow(d);};H.ptr.prototype.Write=function(d){var $ptr,d,e,f,g,h,i,j;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.grow(d.$length);i=$copySlice($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.Write=function(d){return this.$val.Write(d);};H.ptr.prototype.WriteString=function(d){var $ptr,d,e,f,g,h,i,j;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.grow(d.length);i=$copyString($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.WriteString=function(d){return this.$val.WriteString(d);};H.ptr.prototype.ReadFrom=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);}case 1:h=g.buf.$capacity-g.buf.$length>>0;if(h<512){i=g.buf;if((g.off+h>>0)<512){i=J(($imul(2,g.buf.$capacity))+512>>0);}$copySlice(i,$subslice(g.buf,g.off));g.buf=$subslice(i,0,(g.buf.$length-g.off>>0));g.off=0;}k=d.Read($subslice(g.buf,g.buf.$length,g.buf.$capacity));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];g.buf=$subslice(g.buf,0,(g.buf.$length+l>>0));e=(n=new $Int64(0,l),new $Int64(e.$high+n.$high,e.$low+n.$low));if($interfaceIsEqual(m,B.EOF)){$s=2;continue;}if(!($interfaceIsEqual(m,$ifaceNil))){o=e;p=m;e=o;f=p;return[e,f];}$s=1;continue;case 2:q=e;r=$ifaceNil;e=q;f=r;return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.ReadFrom};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.ReadFrom=function(d){return this.$val.ReadFrom(d);};J=function(d){var $ptr,d,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){var $ptr;if(!($interfaceIsEqual($recover(),$ifaceNil))){$panic($pkg.ErrTooLarge);}}),[]]);return $makeSlice(BL,d);}catch(err){$err=err;return BL.nil;}finally{$callDeferred($deferred,$err);}};H.ptr.prototype.WriteTo=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off<g.buf.$length){$s=1;continue;}$s=2;continue;case 1:h=g.Len();j=d.Write($subslice(g.buf,g.off));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(k>h){$panic(new $String("bytes.Buffer.WriteTo: invalid Write count"));}g.off=g.off+(k)>>0;e=new $Int64(0,k);if(!($interfaceIsEqual(l,$ifaceNil))){m=e;n=l;e=m;f=n;return[e,f];}if(!((k===h))){o=e;p=B.ErrShortWrite;e=o;f=p;return[e,f];}case 2:g.Truncate(0);return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.WriteTo};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};H.ptr.prototype.WriteByte=function(d){var $ptr,d,e,f,g;e=this;e.lastRead=0;f=e.grow(1);(g=e.buf,((f<0||f>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+f]=d));return $ifaceNil;};H.prototype.WriteByte=function(d){return this.$val.WriteByte(d);};H.ptr.prototype.WriteRune=function(d){var $ptr,d,e,f,g,h,i,j,k;e=0;f=$ifaceNil;g=this;if(d<128){g.WriteByte((d<<24>>>24));h=1;i=$ifaceNil;e=h;f=i;return[e,f];}e=C.EncodeRune($subslice(new BL(g.runeBytes),0),d);g.Write($subslice(new BL(g.runeBytes),0,e));j=e;k=$ifaceNil;e=j;f=k;return[e,f];};H.prototype.WriteRune=function(d){return this.$val.WriteRune(d);};H.ptr.prototype.Read=function(d){var $ptr,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);if(d.$length===0){return[e,f];}h=0;i=B.EOF;e=h;f=i;return[e,f];}e=$copySlice(d,$subslice(g.buf,g.off));g.off=g.off+(e)>>0;if(e>0){g.lastRead=2;}return[e,f];};H.prototype.Read=function(d){return this.$val.Read(d);};H.ptr.prototype.Next=function(d){var $ptr,d,e,f,g;e=this;e.lastRead=0;f=e.Len();if(d>f){d=f;}g=$subslice(e.buf,e.off,(e.off+d>>0));e.off=e.off+(d)>>0;if(d>0){e.lastRead=2;}return g;};H.prototype.Next=function(d){return this.$val.Next(d);};H.ptr.prototype.ReadByte=function(){var $ptr,d,e,f,g,h,i,j,k,l;d=0;e=$ifaceNil;f=this;f.lastRead=0;if(f.off>=f.buf.$length){f.Truncate(0);g=0;h=B.EOF;d=g;e=h;return[d,e];}d=(i=f.buf,j=f.off,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]));f.off=f.off+(1)>>0;f.lastRead=2;k=d;l=$ifaceNil;d=k;e=l;return[d,e];};H.prototype.ReadByte=function(){return this.$val.ReadByte();};H.ptr.prototype.ReadRune=function(){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;d=0;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);h=0;i=0;j=B.EOF;d=h;e=i;f=j;return[d,e,f];}g.lastRead=1;m=(k=g.buf,l=g.off,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]));if(m<128){g.off=g.off+(1)>>0;n=(m>>0);o=1;p=$ifaceNil;d=n;e=o;f=p;return[d,e,f];}q=C.DecodeRune($subslice(g.buf,g.off));d=q[0];r=q[1];g.off=g.off+(r)>>0;s=d;t=r;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];};H.prototype.ReadRune=function(){return this.$val.ReadRune();};H.ptr.prototype.UnreadRune=function(){var $ptr,d,e,f;d=this;if(!((d.lastRead===1))){return A.New("bytes.Buffer: UnreadRune: previous operation was not ReadRune");}d.lastRead=0;if(d.off>0){e=C.DecodeLastRune($subslice(d.buf,0,d.off));f=e[1];d.off=d.off-(f)>>0;}return $ifaceNil;};H.prototype.UnreadRune=function(){return this.$val.UnreadRune();};H.ptr.prototype.UnreadByte=function(){var $ptr,d;d=this;if(!((d.lastRead===1))&&!((d.lastRead===2))){return A.New("bytes.Buffer: UnreadByte: previous operation was not a read");}d.lastRead=0;if(d.off>0){d.off=d.off-(1)>>0;}return $ifaceNil;};H.prototype.UnreadByte=function(){return this.$val.UnreadByte();};H.ptr.prototype.ReadBytes=function(d){var $ptr,d,e,f,g,h,i;e=BL.nil;f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];e=$appendSlice(e,i);return[e,f];};H.prototype.ReadBytes=function(d){return this.$val.ReadBytes(d);};H.ptr.prototype.readSlice=function(d){var $ptr,d,e,f,g,h,i,j,k;e=BL.nil;f=$ifaceNil;g=this;h=E($subslice(g.buf,g.off),d);i=(g.off+h>>0)+1>>0;if(h<0){i=g.buf.$length;f=B.EOF;}e=$subslice(g.buf,g.off,i);g.off=i;g.lastRead=2;j=e;k=f;e=j;f=k;return[e,f];};H.prototype.readSlice=function(d){return this.$val.readSlice(d);};H.ptr.prototype.ReadString=function(d){var $ptr,d,e,f,g,h,i,j,k;e="";f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];j=$bytesToString(i);k=f;e=j;f=k;return[e,f];};H.prototype.ReadString=function(d){return this.$val.ReadString(d);};K=function(d){var $ptr,d;return new H.ptr(d,0,BM.zero(),BN.zero(),0);};$pkg.NewBuffer=K;BI.ptr.prototype.Len=function(){var $ptr,d,e,f,g,h,i;d=this;if((e=d.i,f=new $Int64(0,d.s.$length),(e.$high>f.$high||(e.$high===f.$high&&e.$low>=f.$low)))){return 0;}return((g=(h=new $Int64(0,d.s.$length),i=d.i,new $Int64(h.$high-i.$high,h.$low-i.$low)),g.$low+((g.$high>>31)*4294967296))>>0);};BI.prototype.Len=function(){return this.$val.Len();};BI.ptr.prototype.Size=function(){var $ptr,d;d=this;return new $Int64(0,d.s.$length);};BI.prototype.Size=function(){return this.$val.Size();};BI.ptr.prototype.Read=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o;e=0;f=$ifaceNil;g=this;if(d.$length===0){h=0;i=$ifaceNil;e=h;f=i;return[e,f];}if((j=g.i,k=new $Int64(0,g.s.$length),(j.$high>k.$high||(j.$high===k.$high&&j.$low>=k.$low)))){l=0;m=B.EOF;e=l;f=m;return[e,f];}g.prevRune=-1;e=$copySlice(d,$subslice(g.s,$flatten64(g.i)));g.i=(n=g.i,o=new $Int64(0,e),new $Int64(n.$high+o.$high,n.$low+o.$low));return[e,f];};BI.prototype.Read=function(d){return this.$val.Read(d);};BI.ptr.prototype.ReadAt=function(d,e){var $ptr,d,e,f,g,h,i,j,k,l,m;f=0;g=$ifaceNil;h=this;if((e.$high<0||(e.$high===0&&e.$low<0))){i=0;j=A.New("bytes.Reader.ReadAt: negative offset");f=i;g=j;return[f,g];}if((k=new $Int64(0,h.s.$length),(e.$high>k.$high||(e.$high===k.$high&&e.$low>=k.$low)))){l=0;m=B.EOF;f=l;g=m;return[f,g];}f=$copySlice(d,$subslice(h.s,$flatten64(e)));if(f<d.$length){g=B.EOF;}return[f,g];};BI.prototype.ReadAt=function(d,e){return this.$val.ReadAt(d,e);};BI.ptr.prototype.ReadByte=function(){var $ptr,d,e,f,g,h,i,j,k,l,m,n;d=0;e=$ifaceNil;f=this;f.prevRune=-1;if((g=f.i,h=new $Int64(0,f.s.$length),(g.$high>h.$high||(g.$high===h.$high&&g.$low>=h.$low)))){i=0;j=B.EOF;d=i;e=j;return[d,e];}d=(k=f.s,l=f.i,(($flatten64(l)<0||$flatten64(l)>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+$flatten64(l)]));f.i=(m=f.i,n=new $Int64(0,1),new $Int64(m.$high+n.$high,m.$low+n.$low));return[d,e];};BI.prototype.ReadByte=function(){return this.$val.ReadByte();};BI.ptr.prototype.UnreadByte=function(){var $ptr,d,e,f,g;d=this;d.prevRune=-1;if((e=d.i,(e.$high<0||(e.$high===0&&e.$low<=0)))){return A.New("bytes.Reader.UnreadByte: at beginning of slice");}d.i=(f=d.i,g=new $Int64(0,1),new $Int64(f.$high-g.$high,f.$low-g.$low));return $ifaceNil;};BI.prototype.UnreadByte=function(){return this.$val.UnreadByte();};BI.ptr.prototype.ReadRune=function(){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;d=0;e=0;f=$ifaceNil;g=this;if((h=g.i,i=new $Int64(0,g.s.$length),(h.$high>i.$high||(h.$high===i.$high&&h.$low>=i.$low)))){g.prevRune=-1;j=0;k=0;l=B.EOF;d=j;e=k;f=l;return[d,e,f];}g.prevRune=((m=g.i,m.$low+((m.$high>>31)*4294967296))>>0);p=(n=g.s,o=g.i,(($flatten64(o)<0||$flatten64(o)>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+$flatten64(o)]));if(p<128){g.i=(q=g.i,r=new $Int64(0,1),new $Int64(q.$high+r.$high,q.$low+r.$low));s=(p>>0);t=1;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];}v=C.DecodeRune($subslice(g.s,$flatten64(g.i)));d=v[0];e=v[1];g.i=(w=g.i,x=new $Int64(0,e),new $Int64(w.$high+x.$high,w.$low+x.$low));return[d,e,f];};BI.prototype.ReadRune=function(){return this.$val.ReadRune();};BI.ptr.prototype.UnreadRune=function(){var $ptr,d;d=this;if(d.prevRune<0){return A.New("bytes.Reader.UnreadRune: previous operation was not ReadRune");}d.i=new $Int64(0,d.prevRune);d.prevRune=-1;return $ifaceNil;};BI.prototype.UnreadRune=function(){return this.$val.UnreadRune();};BI.ptr.prototype.Seek=function(d,e){var $ptr,d,e,f,g,h,i,j;f=this;f.prevRune=-1;g=new $Int64(0,0);h=e;if(h===0){g=d;}else if(h===1){g=(i=f.i,new $Int64(i.$high+d.$high,i.$low+d.$low));}else if(h===2){g=(j=new $Int64(0,f.s.$length),new $Int64(j.$high+d.$high,j.$low+d.$low));}else{return[new $Int64(0,0),A.New("bytes.Reader.Seek: invalid whence")];}if((g.$high<0||(g.$high===0&&g.$low<0))){return[new $Int64(0,0),A.New("bytes.Reader.Seek: negative position")];}f.i=g;return[g,$ifaceNil];};BI.prototype.Seek=function(d,e){return this.$val.Seek(d,e);};BI.ptr.prototype.WriteTo=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.prevRune=-1;if((h=g.i,i=new $Int64(0,g.s.$length),(h.$high>i.$high||(h.$high===i.$high&&h.$low>=i.$low)))){j=new $Int64(0,0);k=$ifaceNil;e=j;f=k;return[e,f];}l=$subslice(g.s,$flatten64(g.i));n=d.Write(l);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];f=m[1];if(o>l.$length){$panic(new $String("bytes.Reader.WriteTo: invalid Write count"));}g.i=(p=g.i,q=new $Int64(0,o),new $Int64(p.$high+q.$high,p.$low+q.$low));e=new $Int64(0,o);if(!((o===l.$length))&&$interfaceIsEqual(f,$ifaceNil)){f=B.ErrShortWrite;}return[e,f];}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.WriteTo};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};BJ=function(d){var $ptr,d;return new BI.ptr(d,new $Int64(0,0),-1);};$pkg.NewReader=BJ;BK.methods=[{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[BL],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"grow",name:"grow",pkg:"bytes",typ:$funcType([$Int],[$Int],false)},{prop:"Grow",name:"Grow",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BL],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([B.Reader],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BL],[$Int,$error],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([$Int],[BL],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[BL,$error],false)},{prop:"readSlice",name:"readSlice",pkg:"bytes",typ:$funcType([$Uint8],[BL,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)}];BQ.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BL],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([BL,$Int64],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)}];H.init([{prop:"buf",name:"buf",pkg:"bytes",typ:BL,tag:""},{prop:"off",name:"off",pkg:"bytes",typ:$Int,tag:""},{prop:"runeBytes",name:"runeBytes",pkg:"bytes",typ:BM,tag:""},{prop:"bootstrap",name:"bootstrap",pkg:"bytes",typ:BN,tag:""},{prop:"lastRead",name:"lastRead",pkg:"bytes",typ:I,tag:""}]);BI.init([{prop:"s",name:"s",pkg:"bytes",typ:BL,tag:""},{prop:"i",name:"i",pkg:"bytes",typ:$Int64,tag:""},{prop:"prevRune",name:"prevRune",pkg:"bytes",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrTooLarge=A.New("bytes.Buffer: too large");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math"]=(function(){var $pkg={},$init,A,FH,FI,FJ,FK,FL,B,C,D,E,AQ,EO,N,P,Q,W,AL,AM,AN,AR,AS,AU,EQ;A=$packages["github.com/gopherjs/gopherjs/js"];FH=$arrayType($Uint32,2);FI=$arrayType($Float32,2);FJ=$arrayType($Float64,1);FK=$structType([{prop:"uint32array",name:"uint32array",pkg:"math",typ:FH,tag:""},{prop:"float32array",name:"float32array",pkg:"math",typ:FI,tag:""},{prop:"float64array",name:"float64array",pkg:"math",typ:FJ,tag:""}]);FL=$arrayType($Float64,70);N=function(ao){var $ptr,ao;return $parseFloat(B.cos(ao));};$pkg.Cos=N;P=function(ao){var $ptr,ao;return $parseFloat(B.exp(ao));};$pkg.Exp=P;Q=function(ao){var $ptr,ao;return $parseFloat(B.pow(2,ao));};$pkg.Exp2=Q;W=function(ao,ap){var $ptr,ao,ap;if(ao===D){return ap>=0;}if(ao===E){return ap<=0;}return false;};$pkg.IsInf=W;AL=function(ao){var $ptr,ao;return $parseFloat(B.sin(ao));};$pkg.Sin=AL;AM=function(ao){var $ptr,ao,ap,aq,ar,as;ap=0;aq=0;ar=AL(ao);as=N(ao);ap=ar;aq=as;return[ap,aq];};$pkg.Sincos=AM;AN=function(ao){var $ptr,ao;return $parseFloat(B.sqrt(ao));};$pkg.Sqrt=AN;AR=function(){var $ptr,ao;ao=new($global.ArrayBuffer)(8);AQ.uint32array=new($global.Uint32Array)(ao);AQ.float32array=new($global.Float32Array)(ao);AQ.float64array=new($global.Float64Array)(ao);};AS=function(ao){var $ptr,ao;AQ.float32array[0]=ao;return AQ.uint32array[0];};$pkg.Float32bits=AS;AU=function(ao){var $ptr,ao,ap,aq;AQ.float64array[0]=ao;return(ap=$shiftLeft64(new $Uint64(0,AQ.uint32array[1]),32),aq=new $Uint64(0,AQ.uint32array[0]),new $Uint64(ap.$high+aq.$high,ap.$low+aq.$low));};$pkg.Float64bits=AU;EQ=function(){var $ptr,ao,ap,aq,ar;EO[0]=1;EO[1]=10;ao=2;while(true){if(!(ao<70)){break;}aq=(ap=ao/2,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>0:$throwRuntimeError("integer divide by zero"));((ao<0||ao>=EO.length)?$throwRuntimeError("index out of range"):EO[ao]=((aq<0||aq>=EO.length)?$throwRuntimeError("index out of range"):EO[aq])*(ar=ao-aq>>0,((ar<0||ar>=EO.length)?$throwRuntimeError("index out of range"):EO[ar])));ao=ao+(1)>>0;}};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AQ=new FK.ptr(FH.zero(),FI.zero(),FJ.zero());EO=FL.zero();B=$global.Math;C=0;D=1/C;E=-1/C;AR();EQ();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["syscall"]=(function(){var $pkg={},$init,A,E,B,C,D,EW,EX,KP,KS,KY,LG,MN,MP,MW,MZ,NQ,NR,NZ,OI,OJ,OK,ON,OW,OX,OY,OZ,PD,PE,F,G,N,O,P,AP,AQ,AR,AS,BY,DZ,EY,EZ,FA,GC,H,I,J,K,L,Q,R,S,V,AU,AW,BZ,CW,CX,CZ,DE,DU,EE,EF,FB,FD,FE,GW,HK,HO,HP,HR,HS,HV,HX,HY,HZ,IS,JD,JE,JF,JK,KI,KJ,KK;A=$packages["bytes"];E=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["runtime"];D=$packages["sync"];EW=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper","mmapper","syscall",function(Mutex_,active_,mmap_,munmap_){this.$val=this;if(arguments.length===0){this.Mutex=new D.Mutex.ptr(0,0);this.active=false;this.mmap=$throwNilPointerError;this.munmap=$throwNilPointerError;return;}this.Mutex=Mutex_;this.active=active_;this.mmap=mmap_;this.munmap=munmap_;});EX=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno","Errno","syscall",null);KP=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int","_C_int","syscall",null);KS=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec","Timespec","syscall",function(Sec_,Nsec_){this.$val=this;if(arguments.length===0){this.Sec=new $Int64(0,0);this.Nsec=new $Int64(0,0);return;}this.Sec=Sec_;this.Nsec=Nsec_;});KY=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t","Stat_t","syscall",function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;if(arguments.length===0){this.Dev=0;this.Mode=0;this.Nlink=0;this.Ino=new $Uint64(0,0);this.Uid=0;this.Gid=0;this.Rdev=0;this.Pad_cgo_0=MZ.zero();this.Atimespec=new KS.ptr(new $Int64(0,0),new $Int64(0,0));this.Mtimespec=new KS.ptr(new $Int64(0,0),new $Int64(0,0));this.Ctimespec=new KS.ptr(new $Int64(0,0),new $Int64(0,0));this.Birthtimespec=new KS.ptr(new $Int64(0,0),new $Int64(0,0));this.Size=new $Int64(0,0);this.Blocks=new $Int64(0,0);this.Blksize=0;this.Flags=0;this.Gen=0;this.Lspare=0;this.Qspare=PE.zero();return;}this.Dev=Dev_;this.Mode=Mode_;this.Nlink=Nlink_;this.Ino=Ino_;this.Uid=Uid_;this.Gid=Gid_;this.Rdev=Rdev_;this.Pad_cgo_0=Pad_cgo_0_;this.Atimespec=Atimespec_;this.Mtimespec=Mtimespec_;this.Ctimespec=Ctimespec_;this.Birthtimespec=Birthtimespec_;this.Size=Size_;this.Blocks=Blocks_;this.Blksize=Blksize_;this.Flags=Flags_;this.Gen=Gen_;this.Lspare=Lspare_;this.Qspare=Qspare_;});LG=$pkg.Dirent=$newType(0,$kindStruct,"syscall.Dirent","Dirent","syscall",function(Ino_,Seekoff_,Reclen_,Namlen_,Type_,Name_,Pad_cgo_0_){this.$val=this;if(arguments.length===0){this.Ino=new $Uint64(0,0);this.Seekoff=new $Uint64(0,0);this.Reclen=0;this.Namlen=0;this.Type=0;this.Name=OJ.zero();this.Pad_cgo_0=OK.zero();return;}this.Ino=Ino_;this.Seekoff=Seekoff_;this.Reclen=Reclen_;this.Namlen=Namlen_;this.Type=Type_;this.Name=Name_;this.Pad_cgo_0=Pad_cgo_0_;});MN=$sliceType($Uint8);MP=$sliceType($String);MW=$ptrType($Uint8);MZ=$arrayType($Uint8,4);NQ=$sliceType(KP);NR=$ptrType($Uintptr);NZ=$arrayType($Uint8,32);OI=$arrayType(KP,14);OJ=$arrayType($Int8,1024);OK=$arrayType($Uint8,3);ON=$structType([{prop:"addr",name:"addr",pkg:"syscall",typ:$Uintptr,tag:""},{prop:"len",name:"len",pkg:"syscall",typ:$Int,tag:""},{prop:"cap",name:"cap",pkg:"syscall",typ:$Int,tag:""}]);OW=$ptrType(EW);OX=$mapType(MW,MN);OY=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);OZ=$funcType([$Uintptr,$Uintptr],[$error],false);PD=$ptrType(KS);PE=$arrayType($Int64,2);H=function(){var $ptr;$flushConsole=(function(){var $ptr;if(!((G.$length===0))){$global.console.log($externalize($bytesToString(G),$String));G=MN.nil;}});};I=function(){var $ptr;if(!F){$global.console.error($externalize("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md",$String));}F=true;};J=function(i){var $ptr,i,j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=A.IndexByte(G,10);if(k===-1){break;}$global.console.log($externalize($bytesToString($subslice(G,0,k)),$String));G=$subslice(G,(k+1>>0));}};K=function(i){var $ptr,i;};L=function(){var $ptr,i,j,k,l,m,n;i=$global.process;if(i===undefined){return MP.nil;}j=i.env;k=$global.Object.keys(j);l=$makeSlice(MP,$parseInt(k.length));m=0;while(true){if(!(m<$parseInt(k.length))){break;}n=$internalize(k[m],$String);((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String));m=m+(1)>>0;}return l;};Q=function(i){var $ptr,i,j,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){var $ptr;$recover();}),[]]);if(N===null){if(O){return null;}O=true;j=$global.require;if(j===undefined){$panic(new $String(""));}N=j($externalize("syscall",$String));}return N[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$callDeferred($deferred,$err);}};R=function(i,j,k,l){var $ptr,aa,ab,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=0;o=0;p=Q("Syscall");if(!(p===null)){q=p(i,j,k,l);r=(($parseInt(q[0])>>0)>>>0);s=(($parseInt(q[1])>>0)>>>0);t=(($parseInt(q[2])>>0)>>>0);m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=$makeSlice(MN,$parseInt(u.length));v.$array=u;J(v);w=($parseInt(u.length)>>>0);x=0;y=0;m=w;n=x;o=y;return[m,n,o];}if(i===1){C.Goexit();}I();z=(P>>>0);aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};$pkg.Syscall=R;S=function(i,j,k,l,m,n,o){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;p=0;q=0;r=0;s=Q("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=(($parseInt(t[0])>>0)>>>0);v=(($parseInt(t[1])>>0)>>>0);w=(($parseInt(t[2])>>0)>>>0);p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=(P>>>0);y=0;z=13;p=x;q=y;r=z;return[p,q,r];};$pkg.Syscall6=S;V=function(i){var $ptr,i,j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=new MN($stringToBytes(i));l=0;while(true){if(!(l<k.$length)){break;}m=l;n=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(n===0){return[MW.nil,new EX(22)];}j[m]=n;l++;}j[i.length]=0;return[j,$ifaceNil];};$pkg.BytePtrFromString=V;AU=function(){var $ptr,i,j,k,l,m,n,o,p,q,r;AR={};i=AS;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]);m=0;while(true){if(!(m<l.length)){break;}if(l.charCodeAt(m)===61){n=l.substring(0,m);o=(p=AR[$String.keyFor(n)],p!==undefined?[p.v,true]:[0,false]);q=o[1];if(!q){r=n;(AR||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:k};}else{((k<0||k>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+k]="");}break;}m=m+(1)>>0;}j++;}};AW=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j="";k=false;$r=AP.Do(AU);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(i.length===0){l="";m=false;j=l;k=m;return[j,k];}$r=AQ.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AQ,"RUnlock"),[]]);n=(o=AR[$String.keyFor(i)],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;return[j,k];}t=((p<0||p>=AS.$length)?$throwRuntimeError("index out of range"):AS.$array[AS.$offset+p]);u=0;while(true){if(!(u<t.length)){break;}if(t.charCodeAt(u)===61){v=t.substring((u+1>>0));w=true;j=v;k=w;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;return[j,k];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[j,k];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AW};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Getenv=AW;BZ=function(i){var $ptr,i,j;j=8;j=4;if(i===0){return j;}return(((i+j>>0)-1>>0))&(~((j-1>>0))>>0);};CW=function(i){var $ptr,i;if(i<0){return"-"+CX((-i>>>0));}return CX((i>>>0));};CX=function(i){var $ptr,i,j,k,l,m;j=NZ.zero();k=31;while(true){if(!(i>=10)){break;}((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=(((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24));k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=((i+48>>>0)<<24>>>24));return $bytesToString($subslice(new MN(j),k));};CZ=function(i){var $ptr,i,j,k;j=0;while(true){if(!(j<i.length)){break;}if(i.charCodeAt(j)===0){return[MN.nil,new EX(22)];}j=j+(1)>>0;}k=$makeSlice(MN,(i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};$pkg.ByteSliceFromString=CZ;KS.ptr.prototype.Unix=function(){var $ptr,i,j,k,l,m;i=new $Int64(0,0);j=new $Int64(0,0);k=this;l=k.Sec;m=k.Nsec;i=l;j=m;return[i,j];};KS.prototype.Unix=function(){return this.$val.Unix();};KS.ptr.prototype.Nano=function(){var $ptr,i,j,k;i=this;return(j=$mul64(i.Sec,new $Int64(0,1000000000)),k=i.Nsec,new $Int64(j.$high+k.$high,j.$low+k.$low));};KS.prototype.Nano=function(){return this.$val.Nano();};DE=function(i,j){var $ptr,i,j,k,l,m,n;k=0;l=$ifaceNil;m=new Uint8Array(8);n=HZ(i,j,m);k=n[0];l=n[1];return[k,l];};$pkg.ReadDirent=DE;DU=function(i){var $ptr,aa,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j="";k=$ifaceNil;l=EE(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=GW(m,MW.nil,(q||(q=new NR(function(){return p;},function($v){p=$v;}))),MW.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){r="";s=k;j=r;k=s;return[j,k];}if(p===0){t="";u=$ifaceNil;j=t;k=u;return[j,k];}v=$makeSlice(MN,p);k=GW(m,$indexPtr(v.$array,v.$offset+0,MW),(q||(q=new NR(function(){return p;},function($v){p=$v;}))),MW.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){w="";x=k;j=w;k=x;return[j,k];}if(p>0&&((y=p-1>>>0,((y<0||y>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+y]))===0)){p=p-(1)>>>0;}z=$bytesToString($subslice(v,0,p));aa=$ifaceNil;j=z;k=aa;return[j,k];};$pkg.Sysctl=DU;EE=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;j=NQ.nil;k=$ifaceNil;l=OI.zero();m=48;n=$sliceToArray(new MN(l));o=CZ(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=NQ.nil;r=k;j=q;k=r;return[j,k];}k=GW(new NQ([0,3]),n,(s||(s=new NR(function(){return m;},function($v){m=$v;}))),$indexPtr(p.$array,p.$offset+0,MW),(i.length>>>0));if(!($interfaceIsEqual(k,$ifaceNil))){t=NQ.nil;u=k;j=t;k=u;return[j,k];}v=$subslice(new NQ(l),0,(w=m/4,(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero")));x=$ifaceNil;j=v;k=x;return[j,k];};EF=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;l=0;m=0;n=MP.nil;o=i.$length;while(true){if(!(!((j===0))&&i.$length>0)){break;}s=(p=$sliceToArray(i),q=new LG.ptr(new $Uint64(0,0),new $Uint64(0,0),0,0,0,OJ.zero(),OK.zero()),r=new DataView(p.buffer,p.byteOffset),q.Ino=new $Uint64(r.getUint32(4,true),r.getUint32(0,true)),q.Seekoff=new $Uint64(r.getUint32(12,true),r.getUint32(8,true)),q.Reclen=r.getUint16(16,true),q.Namlen=r.getUint16(18,true),q.Type=r.getUint8(20,true),q.Name=new($nativeArray($kindInt8))(p.buffer,$min(p.byteOffset+21,p.buffer.byteLength)),q.Pad_cgo_0=new($nativeArray($kindUint8))(p.buffer,$min(p.byteOffset+1045,p.buffer.byteLength)),q);if(s.Reclen===0){i=MN.nil;break;}i=$subslice(i,s.Reclen);if((t=s.Ino,(t.$high===0&&t.$low===0))){continue;}u=$sliceToArray(new MN(s.Name));v=$bytesToString($subslice(new MN(u),0,s.Namlen));if(v==="."||v===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,v);}w=o-i.$length>>0;x=m;y=k;l=w;m=x;n=y;return[l,m,n];};$pkg.ParseDirent=EF;EW.ptr.prototype.Mmap=function(i,j,k,l,m){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);n=[n];o=MN.nil;p=$ifaceNil;q=this;if(k<=0){r=MN.nil;s=new EX(22);o=r;p=s;return[o,p];}u=q.mmap(0,(k>>>0),l,m,i,j);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!($interfaceIsEqual(w,$ifaceNil))){x=MN.nil;y=w;o=x;p=y;return[o,p];}n[0]=new ON.ptr(v,k,k);z=n[0];aa=$indexPtr(z.$array,z.$offset+(z.$capacity-1>>0),MW);$r=q.Mutex.Lock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(q.Mutex,"Unlock"),[]]);ab=aa;(q.active||$throwRuntimeError("assignment to entry in nil map"))[MW.keyFor(ab)]={k:ab,v:z};ac=z;ad=$ifaceNil;o=ac;p=ad;return[o,p];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[o,p];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:EW.ptr.prototype.Mmap};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EW.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EW.ptr.prototype.Munmap=function(i){var $ptr,i,j,k,l,m,n,o,p,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j=$ifaceNil;k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new EX(22);return j;}l=$indexPtr(i.$array,i.$offset+(i.$capacity-1>>0),MW);$r=k.Mutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);n=(m=k.active[MW.keyFor(l)],m!==undefined?m.v:MN.nil);if(n===MN.nil||!($indexPtr(n.$array,n.$offset+0,MW)===$indexPtr(i.$array,i.$offset+0,MW))){j=new EX(22);return j;}o=k.munmap($sliceToArray(n),(n.$length>>>0));$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;if(!($interfaceIsEqual(p,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:j=p;return j;case 4:delete k.active[MW.keyFor(l)];j=$ifaceNil;return j;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return j;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:EW.ptr.prototype.Munmap};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EW.prototype.Munmap=function(i){return this.$val.Munmap(i);};EX.prototype.Error=function(){var $ptr,i,j;i=this.$val;if(0<=(i>>0)&&(i>>0)<106){j=((i<0||i>=GC.length)?$throwRuntimeError("index out of range"):GC[i]);if(!(j==="")){return j;}}return"errno "+CW((i>>0));};$ptrType(EX).prototype.Error=function(){return new EX(this.$get()).Error();};EX.prototype.Temporary=function(){var $ptr,i;i=this.$val;return(i===4)||(i===24)||(i===54)||(i===53)||new EX(i).Timeout();};$ptrType(EX).prototype.Temporary=function(){return new EX(this.$get()).Temporary();};EX.prototype.Timeout=function(){var $ptr,i;i=this.$val;return(i===35)||(i===35)||(i===60);};$ptrType(EX).prototype.Timeout=function(){return new EX(this.$get()).Timeout();};FB=function(i){var $ptr,i,j;j=i;if(j===0){return $ifaceNil;}else if(j===35){return EY;}else if(j===22){return EZ;}else if(j===2){return FA;}return new EX(i);};FD=function(i,j){var $ptr,i,j,k,l,m;k=0;l=$ifaceNil;m=JF(i,j);k=m[0];l=m[1];return[k,l];};$pkg.Read=FD;FE=function(i,j){var $ptr,i,j,k,l,m;k=0;l=$ifaceNil;m=KI(i,j);k=m[0];l=m[1];return[k,l];};$pkg.Write=FE;GW=function(i,j,k,l,m){var $ptr,i,j,k,l,m,n,o,p,q;n=$ifaceNil;o=0;if(i.$length>0){o=$sliceToArray(i);}else{o=new Uint8Array(0);}p=S(202,o,(i.$length>>>0),j,k,l,m);q=p[2];if(!((q===0))){n=FB(q);}return n;};HK=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=R(6,(i>>>0),0,0);l=k[2];if(!((l===0))){j=FB(l);}return j;};$pkg.Close=HK;HO=function(i){var $ptr,i;R(1,(i>>>0),0,0);return;};$pkg.Exit=HO;HP=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=R(13,(i>>>0),0,0);l=k[2];if(!((l===0))){j=FB(l);}return j;};$pkg.Fchdir=HP;HR=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=R(124,(i>>>0),(j>>>0),0);m=l[2];if(!((m===0))){k=FB(m);}return k;};$pkg.Fchmod=HR;HS=function(i,j,k){var $ptr,i,j,k,l,m,n;l=$ifaceNil;m=R(123,(i>>>0),(j>>>0),(k>>>0));n=m[2];if(!((n===0))){l=FB(n);}return l;};$pkg.Fchown=HS;HV=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=$ifaceNil;m=new Uint8Array(144);l=R(339,(i>>>0),m,0);n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));p=l[2];if(!((p===0))){k=FB(p);}return k;};$pkg.Fstat=HV;HX=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=R(95,(i>>>0),0,0);l=k[2];if(!((l===0))){j=FB(l);}return j;};$pkg.Fsync=HX;HY=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=R(201,(i>>>0),(j.$low>>>0),0);m=l[2];if(!((m===0))){k=FB(m);}return k;};$pkg.Ftruncate=HY;HZ=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(344,(i>>>0),n,(j.$length>>>0),k,0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=FB(q);}return[l,m];};$pkg.Getdirentries=HZ;IS=function(i,j){var $ptr,i,j,k,l,m,n,o,p,q,r;k=$ifaceNil;l=MW.nil;m=V(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=R(340,l,o,0);p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));r=n[2];K(l);if(!((r===0))){k=FB(r);}return k;};$pkg.Lstat=IS;JD=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(153,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=FB(q);}return[l,m];};$pkg.Pread=JD;JE=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=$sliceToArray(j);}else{n=new Uint8Array(0);}o=S(154,(i>>>0),n,(j.$length>>>0),(k.$low>>>0),0,0);p=o[0];q=o[2];l=(p>>0);if(!((q===0))){m=FB(q);}return[l,m];};$pkg.Pwrite=JE;JF=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(3,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=FB(p);}return[k,l];};JK=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p;l=new $Int64(0,0);m=$ifaceNil;n=R(199,(i>>>0),(j.$low>>>0),(k>>>0));o=n[0];p=n[2];l=new $Int64(0,o.constructor===Number?o:1);if(!((p===0))){m=FB(p);}return[l,m];};$pkg.Seek=JK;KI=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(j.$length>0){m=$sliceToArray(j);}else{m=new Uint8Array(0);}n=R(4,(i>>>0),m,(j.$length>>>0));o=n[0];p=n[2];k=(o>>0);if(!((p===0))){l=FB(p);}return[k,l];};KJ=function(i,j,k,l,m,n){var $ptr,i,j,k,l,m,n,o,p,q,r,s;o=0;p=$ifaceNil;q=S(197,i,j,(k>>>0),(l>>>0),(m>>>0),(n.$low>>>0));r=q[0];s=q[2];o=r;if(!((s===0))){p=FB(s);}return[o,p];};KK=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=R(73,i,j,0);m=l[2];if(!((m===0))){k=FB(m);}return k;};OW.methods=[{prop:"Mmap",name:"Mmap",pkg:"",typ:$funcType([$Int,$Int64,$Int,$Int,$Int],[MN,$error],false)},{prop:"Munmap",name:"Munmap",pkg:"",typ:$funcType([MN],[$error],false)}];EX.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];PD.methods=[{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64,$Int64],false)},{prop:"Nano",name:"Nano",pkg:"",typ:$funcType([],[$Int64],false)}];EW.init([{prop:"Mutex",name:"",pkg:"",typ:D.Mutex,tag:""},{prop:"active",name:"active",pkg:"syscall",typ:OX,tag:""},{prop:"mmap",name:"mmap",pkg:"syscall",typ:OY,tag:""},{prop:"munmap",name:"munmap",pkg:"syscall",typ:OZ,tag:""}]);KS.init([{prop:"Sec",name:"Sec",pkg:"",typ:$Int64,tag:""},{prop:"Nsec",name:"Nsec",pkg:"",typ:$Int64,tag:""}]);KY.init([{prop:"Dev",name:"Dev",pkg:"",typ:$Int32,tag:""},{prop:"Mode",name:"Mode",pkg:"",typ:$Uint16,tag:""},{prop:"Nlink",name:"Nlink",pkg:"",typ:$Uint16,tag:""},{prop:"Ino",name:"Ino",pkg:"",typ:$Uint64,tag:""},{prop:"Uid",name:"Uid",pkg:"",typ:$Uint32,tag:""},{prop:"Gid",name:"Gid",pkg:"",typ:$Uint32,tag:""},{prop:"Rdev",name:"Rdev",pkg:"",typ:$Int32,tag:""},{prop:"Pad_cgo_0",name:"Pad_cgo_0",pkg:"",typ:MZ,tag:""},{prop:"Atimespec",name:"Atimespec",pkg:"",typ:KS,tag:""},{prop:"Mtimespec",name:"Mtimespec",pkg:"",typ:KS,tag:""},{prop:"Ctimespec",name:"Ctimespec",pkg:"",typ:KS,tag:""},{prop:"Birthtimespec",name:"Birthtimespec",pkg:"",typ:KS,tag:""},{prop:"Size",name:"Size",pkg:"",typ:$Int64,tag:""},{prop:"Blocks",name:"Blocks",pkg:"",typ:$Int64,tag:""},{prop:"Blksize",name:"Blksize",pkg:"",typ:$Int32,tag:""},{prop:"Flags",name:"Flags",pkg:"",typ:$Uint32,tag:""},{prop:"Gen",name:"Gen",pkg:"",typ:$Uint32,tag:""},{prop:"Lspare",name:"Lspare",pkg:"",typ:$Int32,tag:""},{prop:"Qspare",name:"Qspare",pkg:"",typ:PE,tag:""}]);LG.init([{prop:"Ino",name:"Ino",pkg:"",typ:$Uint64,tag:""},{prop:"Seekoff",name:"Seekoff",pkg:"",typ:$Uint64,tag:""},{prop:"Reclen",name:"Reclen",pkg:"",typ:$Uint16,tag:""},{prop:"Namlen",name:"Namlen",pkg:"",typ:$Uint16,tag:""},{prop:"Type",name:"Type",pkg:"",typ:$Uint8,tag:""},{prop:"Name",name:"Name",pkg:"",typ:OJ,tag:""},{prop:"Pad_cgo_0",name:"Pad_cgo_0",pkg:"",typ:OK,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=MN.nil;N=null;AP=new D.Once.ptr(new D.Mutex.ptr(0,0),0);AQ=new D.RWMutex.ptr(new D.Mutex.ptr(0,0),0,0,0,0);AR=false;F=false;O=false;P=-1;AS=L();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;EY=new EX(35);EZ=new EX(22);FA=new EX(2);GC=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by device","not a directory","is a directory","invalid argument","too many open files in system","too many open files","inappropriate ioctl for device","text file busy","file too large","no space left on device","illegal seek","read-only file system","too many links","broken pipe","numerical argument out of domain","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","socket operation on non-socket","destination address required","message too long","protocol wrong type for socket","protocol not available","protocol not supported","socket type not supported","operation not supported","protocol family not supported","address family not supported by protocol family","address already in use","can't assign requested address","network is down","network is unreachable","network dropped connection on reset","software caused connection abort","connection reset by peer","no buffer space available","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);DZ=new EW.ptr(new D.Mutex.ptr(0,0),{},KJ,KK);BY=BZ(0);H();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},$init,A,D,F,I,J;A=$pkg.Mutex=$newType(0,$kindStruct,"nosync.Mutex","Mutex","github.com/gopherjs/gopherjs/nosync",function(locked_){this.$val=this;if(arguments.length===0){this.locked=false;return;}this.locked=locked_;});D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once","Once","github.com/gopherjs/gopherjs/nosync",function(doing_,done_){this.$val=this;if(arguments.length===0){this.doing=false;this.done=false;return;}this.doing=doing_;this.done=done_;});F=$ptrType(A);I=$funcType([],[],false);J=$ptrType(D);A.ptr.prototype.Lock=function(){var $ptr,a;a=this;if(a.locked){$panic(new $String("nosync: mutex is already locked"));}a.locked=true;};A.prototype.Lock=function(){return this.$val.Lock();};A.ptr.prototype.Unlock=function(){var $ptr,a;a=this;if(!a.locked){$panic(new $String("nosync: unlock of unlocked mutex"));}a.locked=false;};A.prototype.Unlock=function(){return this.$val.Unlock();};D.ptr.prototype.Do=function(a){var $ptr,a,b,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];b[0]=this;if(b[0].done){return;}if(b[0].doing){$panic(new $String("nosync: Do called within f"));}b[0].doing=true;$deferred.push([(function(b){return function(){var $ptr;b[0].doing=false;b[0].done=true;};})(b),[]]);$r=a();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:D.ptr.prototype.Do};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};D.prototype.Do=function(a){return this.$val.Do(a);};F.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];J.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([I],[],false)}];A.init([{prop:"locked",name:"locked",pkg:"github.com/gopherjs/gopherjs/nosync",typ:$Bool,tag:""}]);D.init([{prop:"doing",name:"doing",pkg:"github.com/gopherjs/gopherjs/nosync",typ:$Bool,tag:""},{prop:"done",name:"done",pkg:"github.com/gopherjs/gopherjs/nosync",typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strings"]=(function(){var $pkg={},$init,C,B,D,E,A,CA,F,G,H,I,AV,BW;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["io"];E=$packages["unicode"];A=$packages["unicode/utf8"];CA=$sliceType($Uint8);F=function(e,f){var $ptr,e,f;return $parseInt(e.indexOf($global.String.fromCharCode(f)))>>0;};$pkg.IndexByte=F;G=function(e,f){var $ptr,e,f;return $parseInt(e.indexOf(f))>>0;};$pkg.Index=G;H=function(e,f){var $ptr,e,f;return $parseInt(e.lastIndexOf(f))>>0;};$pkg.LastIndex=H;I=function(e,f){var $ptr,e,f,g,h;g=0;if(f.length===0){return A.RuneCountInString(e)+1>>0;}else if(f.length>e.length){return 0;}else if(f.length===e.length){if(f===e){return 1;}return 0;}while(true){h=G(e,f);if(h===-1){break;}g=g+(1)>>0;e=e.substring((h+f.length>>0));}return g;};$pkg.Count=I;AV=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m;if(e.$length===0){return"";}if(e.$length===1){return(0>=e.$length?$throwRuntimeError("index out of range"):e.$array[e.$offset+0]);}g=$imul(f.length,((e.$length-1>>0)));h=0;while(true){if(!(h<e.$length)){break;}g=g+(((h<0||h>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+h]).length)>>0;h=h+(1)>>0;}i=$makeSlice(CA,g);j=$copyString(i,(0>=e.$length?$throwRuntimeError("index out of range"):e.$array[e.$offset+0]));k=$subslice(e,1);l=0;while(true){if(!(l<k.$length)){break;}m=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);j=j+($copyString($subslice(i,j),f))>>0;j=j+($copyString($subslice(i,j),m))>>0;l++;}return $bytesToString(i);};$pkg.Join=AV;BW=function(e,f,g,h){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p;if(f===g||(h===0)){return e;}i=I(e,f);if(i===0){return e;}else if(h<0||i<h){h=i;}j=$makeSlice(CA,(e.length+($imul(h,((g.length-f.length>>0))))>>0));k=0;l=0;m=0;while(true){if(!(m<h)){break;}n=l;if(f.length===0){if(m>0){o=A.DecodeRuneInString(e.substring(l));p=o[1];n=n+(p)>>0;}}else{n=n+(G(e.substring(l),f))>>0;}k=k+($copyString($subslice(j,k),e.substring(l,n)))>>0;k=k+($copyString($subslice(j,k),g))>>0;l=n+f.length>>0;m=m+(1)>>0;}k=k+($copyString($subslice(j,k),e.substring(l)))>>0;return $bytesToString($subslice(j,0,k));};$pkg.Replace=BW;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["time"]=(function(){var $pkg={},$init,D,C,F,A,B,E,AF,BL,BM,BO,BS,CF,CG,CH,CY,CZ,DA,DB,DD,DE,DF,DG,DH,DL,DP,DT,R,U,V,W,X,AB,AE,AR,BN,BP,BX,CI,CW,CJ,CX,CK,CM,CQ,g,h,G,I,J,K,S,T,Y,Z,AA,AC,AD,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,AS,BQ,BR,BT,BU,BW,BZ,CA,CB,CC,CD,CE,CL;D=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];F=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["runtime"];B=$packages["strings"];E=$packages["syscall"];AF=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError","ParseError","time",function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;if(arguments.length===0){this.Layout="";this.Value="";this.LayoutElem="";this.ValueElem="";this.Message="";return;}this.Layout=Layout_;this.Value=Value_;this.LayoutElem=LayoutElem_;this.ValueElem=ValueElem_;this.Message=Message_;});BL=$pkg.Time=$newType(0,$kindStruct,"time.Time","Time","time",function(sec_,nsec_,loc_){this.$val=this;if(arguments.length===0){this.sec=new $Int64(0,0);this.nsec=0;this.loc=DH.nil;return;}this.sec=sec_;this.nsec=nsec_;this.loc=loc_;});BM=$pkg.Month=$newType(4,$kindInt,"time.Month","Month","time",null);BO=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday","Weekday","time",null);BS=$pkg.Duration=$newType(8,$kindInt64,"time.Duration","Duration","time",null);CF=$pkg.Location=$newType(0,$kindStruct,"time.Location","Location","time",function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;if(arguments.length===0){this.name="";this.zone=CY.nil;this.tx=CZ.nil;this.cacheStart=new $Int64(0,0);this.cacheEnd=new $Int64(0,0);this.cacheZone=DA.nil;return;}this.name=name_;this.zone=zone_;this.tx=tx_;this.cacheStart=cacheStart_;this.cacheEnd=cacheEnd_;this.cacheZone=cacheZone_;});CG=$pkg.zone=$newType(0,$kindStruct,"time.zone","zone","time",function(name_,offset_,isDST_){this.$val=this;if(arguments.length===0){this.name="";this.offset=0;this.isDST=false;return;}this.name=name_;this.offset=offset_;this.isDST=isDST_;});CH=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans","zoneTrans","time",function(when_,index_,isstd_,isutc_){this.$val=this;if(arguments.length===0){this.when=new $Int64(0,0);this.index=0;this.isstd=false;this.isutc=false;return;}this.when=when_;this.index=index_;this.isstd=isstd_;this.isutc=isutc_;});CY=$sliceType(CG);CZ=$sliceType(CH);DA=$ptrType(CG);DB=$sliceType($String);DD=$arrayType($Uint8,20);DE=$sliceType($Uint8);DF=$arrayType($Uint8,9);DG=$arrayType($Uint8,64);DH=$ptrType(CF);DL=$arrayType($Uint8,32);DP=$ptrType(AF);DT=$ptrType(BL);G=function(){var $ptr;CA(new $Int64(0,0),new $Int64(0,0));};I=function(){var $ptr,i,j,k,l;i=new($global.Date)();j=$internalize(i,$String);k=B.IndexByte(j,40);l=B.IndexByte(j,41);if((k===-1)||(l===-1)){CJ.name="UTC";return;}CJ.name=j.substring((k+1>>0),l);CJ.zone=new CY([new CG.ptr(CJ.name,$imul(($parseInt(i.getTimezoneOffset())>>0),-60),false)]);};J=function(){var $ptr;return $mul64($internalize(new($global.Date)().getTime(),$Int64),new $Int64(0,1000000));};K=function(){var $ptr,i,j,k,l,m,n;i=new $Int64(0,0);j=0;k=J();l=$div64(k,new $Int64(0,1000000000),false);m=((n=$div64(k,new $Int64(0,1000000000),true),n.$low+((n.$high>>31)*4294967296))>>0);i=l;j=m;return[i,j];};S=function(i){var $ptr,i,j;if(i.length===0){return false;}j=i.charCodeAt(0);return 97<=j&&j<=122;};T=function(i){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j="";k=0;l="";m=0;while(true){if(!(m<i.length)){break;}n=(i.charCodeAt(m)>>0);o=n;if(o===74){if(i.length>=(m+3>>0)&&i.substring(m,(m+3>>0))==="Jan"){if(i.length>=(m+7>>0)&&i.substring(m,(m+7>>0))==="January"){p=i.substring(0,m);q=257;r=i.substring((m+7>>0));j=p;k=q;l=r;return[j,k,l];}if(!S(i.substring((m+3>>0)))){s=i.substring(0,m);t=258;u=i.substring((m+3>>0));j=s;k=t;l=u;return[j,k,l];}}}else if(o===77){if(i.length>=(m+3>>0)){if(i.substring(m,(m+3>>0))==="Mon"){if(i.length>=(m+6>>0)&&i.substring(m,(m+6>>0))==="Monday"){v=i.substring(0,m);w=261;x=i.substring((m+6>>0));j=v;k=w;l=x;return[j,k,l];}if(!S(i.substring((m+3>>0)))){y=i.substring(0,m);z=262;aa=i.substring((m+3>>0));j=y;k=z;l=aa;return[j,k,l];}}if(i.substring(m,(m+3>>0))==="MST"){ab=i.substring(0,m);ac=21;ad=i.substring((m+3>>0));j=ab;k=ac;l=ad;return[j,k,l];}}}else if(o===48){if(i.length>=(m+2>>0)&&49<=i.charCodeAt((m+1>>0))&&i.charCodeAt((m+1>>0))<=54){ae=i.substring(0,m);af=(ag=i.charCodeAt((m+1>>0))-49<<24>>>24,((ag<0||ag>=R.length)?$throwRuntimeError("index out of range"):R[ag]));ah=i.substring((m+2>>0));j=ae;k=af;l=ah;return[j,k,l];}}else if(o===49){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===53)){ai=i.substring(0,m);aj=522;ak=i.substring((m+2>>0));j=ai;k=aj;l=ak;return[j,k,l];}al=i.substring(0,m);am=259;an=i.substring((m+1>>0));j=al;k=am;l=an;return[j,k,l];}else if(o===50){if(i.length>=(m+4>>0)&&i.substring(m,(m+4>>0))==="2006"){ao=i.substring(0,m);ap=273;aq=i.substring((m+4>>0));j=ao;k=ap;l=aq;return[j,k,l];}ar=i.substring(0,m);as=263;at=i.substring((m+1>>0));j=ar;k=as;l=at;return[j,k,l];}else if(o===95){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===50)){au=i.substring(0,m);av=264;aw=i.substring((m+2>>0));j=au;k=av;l=aw;return[j,k,l];}}else if(o===51){ax=i.substring(0,m);ay=523;az=i.substring((m+1>>0));j=ax;k=ay;l=az;return[j,k,l];}else if(o===52){ba=i.substring(0,m);bb=525;bc=i.substring((m+1>>0));j=ba;k=bb;l=bc;return[j,k,l];}else if(o===53){bd=i.substring(0,m);be=527;bf=i.substring((m+1>>0));j=bd;k=be;l=bf;return[j,k,l];}else if(o===80){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===77)){bg=i.substring(0,m);bh=531;bi=i.substring((m+2>>0));j=bg;k=bh;l=bi;return[j,k,l];}}else if(o===112){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===109)){bj=i.substring(0,m);bk=532;bl=i.substring((m+2>>0));j=bj;k=bk;l=bl;return[j,k,l];}}else if(o===45){if(i.length>=(m+7>>0)&&i.substring(m,(m+7>>0))==="-070000"){bm=i.substring(0,m);bn=27;bo=i.substring((m+7>>0));j=bm;k=bn;l=bo;return[j,k,l];}if(i.length>=(m+9>>0)&&i.substring(m,(m+9>>0))==="-07:00:00"){bp=i.substring(0,m);bq=30;br=i.substring((m+9>>0));j=bp;k=bq;l=br;return[j,k,l];}if(i.length>=(m+5>>0)&&i.substring(m,(m+5>>0))==="-0700"){bs=i.substring(0,m);bt=26;bu=i.substring((m+5>>0));j=bs;k=bt;l=bu;return[j,k,l];}if(i.length>=(m+6>>0)&&i.substring(m,(m+6>>0))==="-07:00"){bv=i.substring(0,m);bw=29;bx=i.substring((m+6>>0));j=bv;k=bw;l=bx;return[j,k,l];}if(i.length>=(m+3>>0)&&i.substring(m,(m+3>>0))==="-07"){by=i.substring(0,m);bz=28;ca=i.substring((m+3>>0));j=by;k=bz;l=ca;return[j,k,l];}}else if(o===90){if(i.length>=(m+7>>0)&&i.substring(m,(m+7>>0))==="Z070000"){cb=i.substring(0,m);cc=23;cd=i.substring((m+7>>0));j=cb;k=cc;l=cd;return[j,k,l];}if(i.length>=(m+9>>0)&&i.substring(m,(m+9>>0))==="Z07:00:00"){ce=i.substring(0,m);cf=25;cg=i.substring((m+9>>0));j=ce;k=cf;l=cg;return[j,k,l];}if(i.length>=(m+5>>0)&&i.substring(m,(m+5>>0))==="Z0700"){ch=i.substring(0,m);ci=22;cj=i.substring((m+5>>0));j=ch;k=ci;l=cj;return[j,k,l];}if(i.length>=(m+6>>0)&&i.substring(m,(m+6>>0))==="Z07:00"){ck=i.substring(0,m);cl=24;cm=i.substring((m+6>>0));j=ck;k=cl;l=cm;return[j,k,l];}}else if(o===46){if((m+1>>0)<i.length&&((i.charCodeAt((m+1>>0))===48)||(i.charCodeAt((m+1>>0))===57))){cn=i.charCodeAt((m+1>>0));co=m+1>>0;while(true){if(!(co<i.length&&(i.charCodeAt(co)===cn))){break;}co=co+(1)>>0;}if(!AH(i,co)){cp=31;if(i.charCodeAt((m+1>>0))===57){cp=32;}cp=cp|((((co-((m+1>>0))>>0))<<16>>0));cq=i.substring(0,m);cr=cp;cs=i.substring(co);j=cq;k=cr;l=cs;return[j,k,l];}}}m=m+(1)>>0;}ct=i;cu=0;cv="";j=ct;k=cu;l=cv;return[j,k,l];};Y=function(i,j){var $ptr,i,j,k,l,m;k=0;while(true){if(!(k<i.length)){break;}l=i.charCodeAt(k);m=j.charCodeAt(k);if(!((l===m))){l=(l|(32))>>>0;m=(m|(32))>>>0;if(!((l===m))||l<97||l>122){return false;}}k=k+(1)>>0;}return true;};Z=function(i,j){var $ptr,i,j,k,l,m,n;k=i;l=0;while(true){if(!(l<k.$length)){break;}m=l;n=((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]);if(j.length>=n.length&&Y(j.substring(0,n.length),n)){return[m,j.substring(n.length),$ifaceNil];}l++;}return[-1,j,AE];};AA=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=(j>>>0);if(j<0){i=$append(i,45);l=(-j>>>0);}m=DD.zero();n=20;while(true){if(!(l>=10)){break;}n=n-(1)>>0;p=(o=l/10,(o===o&&o!==1/0&&o!==-1/0)?o>>>0:$throwRuntimeError("integer divide by zero"));((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=(((48+l>>>0)-(p*10>>>0)>>>0)<<24>>>24));l=p;}n=n-(1)>>0;((n<0||n>=m.length)?$throwRuntimeError("index out of range"):m[n]=((48+l>>>0)<<24>>>24));q=20-n>>0;while(true){if(!(q<k)){break;}i=$append(i,48);q=q+(1)>>0;}return $appendSlice(i,$subslice(new DE(m),n));};AC=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s;j=0;k=$ifaceNil;l=false;if(!(i==="")&&((i.charCodeAt(0)===45)||(i.charCodeAt(0)===43))){l=i.charCodeAt(0)===45;i=i.substring(1);}m=AS(i);n=m[0];o=m[1];k=m[2];j=((n.$low+((n.$high>>31)*4294967296))>>0);if(!($interfaceIsEqual(k,$ifaceNil))||!(o==="")){p=0;q=AB;j=p;k=q;return[j,k];}if(l){j=-j;}r=j;s=$ifaceNil;j=r;k=s;return[j,k];};AD=function(i,j,k,l){var $ptr,i,j,k,l,m,n,o,p,q,r;m=j;n=DF.zero();o=9;while(true){if(!(o>0)){break;}o=o-(1)>>0;((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o]=(((p=m%10,p===p?p:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24));m=(q=m/(10),(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));}if(k>9){k=9;}if(l){while(true){if(!(k>0&&((r=k-1>>0,((r<0||r>=n.length)?$throwRuntimeError("index out of range"):n[r]))===48))){break;}k=k-(1)>>0;}if(k===0){return i;}}i=$append(i,46);return $appendSlice(i,$subslice(new DE(n),0,k));};BL.ptr.prototype.String=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.Format("2006-01-02 15:04:05.999999999 -0700 MST");$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.String};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.String=function(){return this.$val.String();};BL.ptr.prototype.Format=function(i){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$clone(this,BL);k=DE.nil;l=i.length+10>>0;if(l<64){m=DG.zero();k=$subslice(new DE(m),0,0);}else{k=$makeSlice(DE,0,l);}n=j.AppendFormat(k,i);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}k=n;return $bytesToString(k);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Format};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Format=function(i){return this.$val.Format(i);};BL.ptr.prototype.AppendFormat=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=$clone(this,BL);m=k.locabs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];p=l[2];q=-1;r=0;s=0;t=-1;u=0;v=0;while(true){if(!(!(j===""))){break;}w=T(j);x=w[0];y=w[1];z=w[2];if(!(x==="")){i=$appendSlice(i,x);}if(y===0){break;}j=z;if(q<0&&!(((y&256)===0))){aa=BW(p,true);q=aa[0];r=aa[1];s=aa[2];}if(t<0&&!(((y&512)===0))){ab=BR(p);t=ab[0];u=ab[1];v=ab[2];}ac=y&65535;switch(0){default:if(ac===274){ad=q;if(ad<0){ad=-ad;}i=AA(i,(ae=ad%100,ae===ae?ae:$throwRuntimeError("integer divide by zero")),2);}else if(ac===273){i=AA(i,q,4);}else if(ac===258){i=$appendSlice(i,new BM(r).String().substring(0,3));}else if(ac===257){af=new BM(r).String();i=$appendSlice(i,af);}else if(ac===259){i=AA(i,(r>>0),0);}else if(ac===260){i=AA(i,(r>>0),2);}else if(ac===262){i=$appendSlice(i,new BO(BQ(p)).String().substring(0,3));}else if(ac===261){ag=new BO(BQ(p)).String();i=$appendSlice(i,ag);}else if(ac===263){i=AA(i,s,0);}else if(ac===264){if(s<10){i=$append(i,32);}i=AA(i,s,0);}else if(ac===265){i=AA(i,s,2);}else if(ac===522){i=AA(i,t,2);}else if(ac===523){ai=(ah=t%12,ah===ah?ah:$throwRuntimeError("integer divide by zero"));if(ai===0){ai=12;}i=AA(i,ai,0);}else if(ac===524){ak=(aj=t%12,aj===aj?aj:$throwRuntimeError("integer divide by zero"));if(ak===0){ak=12;}i=AA(i,ak,2);}else if(ac===525){i=AA(i,u,0);}else if(ac===526){i=AA(i,u,2);}else if(ac===527){i=AA(i,v,2);}else if(ac===528){i=AA(i,v,2);}else if(ac===531){if(t>=12){i=$appendSlice(i,"PM");}else{i=$appendSlice(i,"AM");}}else if(ac===532){if(t>=12){i=$appendSlice(i,"pm");}else{i=$appendSlice(i,"am");}}else if(ac===22||ac===24||ac===23||ac===25||ac===26||ac===29||ac===27||ac===30){if((o===0)&&((y===22)||(y===24)||(y===23)||(y===25))){i=$append(i,90);break;}am=(al=o/60,(al===al&&al!==1/0&&al!==-1/0)?al>>0:$throwRuntimeError("integer divide by zero"));an=o;if(am<0){i=$append(i,45);am=-am;an=-an;}else{i=$append(i,43);}i=AA(i,(ao=am/60,(ao===ao&&ao!==1/0&&ao!==-1/0)?ao>>0:$throwRuntimeError("integer divide by zero")),2);if((y===24)||(y===29)||(y===25)||(y===30)){i=$append(i,58);}i=AA(i,(ap=am%60,ap===ap?ap:$throwRuntimeError("integer divide by zero")),2);if((y===23)||(y===27)||(y===30)||(y===25)){if((y===30)||(y===25)){i=$append(i,58);}i=AA(i,(aq=an%60,aq===aq?aq:$throwRuntimeError("integer divide by zero")),2);}}else if(ac===21){if(!(n==="")){i=$appendSlice(i,n);break;}as=(ar=o/60,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>0:$throwRuntimeError("integer divide by zero"));if(as<0){i=$append(i,45);as=-as;}else{i=$append(i,43);}i=AA(i,(at=as/60,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero")),2);i=AA(i,(au=as%60,au===au?au:$throwRuntimeError("integer divide by zero")),2);}else if(ac===31||ac===32){i=AD(i,(k.Nanosecond()>>>0),y>>16>>0,(y&65535)===32);}}}return i;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.AppendFormat};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.AppendFormat=function(i,j){return this.$val.AppendFormat(i,j);};AG=function(i){var $ptr,i;return"\""+i+"\"";};AF.ptr.prototype.Error=function(){var $ptr,i;i=this;if(i.Message===""){return"parsing time "+AG(i.Value)+" as "+AG(i.Layout)+": cannot parse "+AG(i.ValueElem)+" as "+AG(i.LayoutElem);}return"parsing time "+AG(i.Value)+i.Message;};AF.prototype.Error=function(){return this.$val.Error();};AH=function(i,j){var $ptr,i,j,k;if(i.length<=j){return false;}k=i.charCodeAt(j);return 48<=k&&k<=57;};AI=function(i,j){var $ptr,i,j;if(!AH(i,0)){return[0,i,AE];}if(!AH(i,1)){if(j){return[0,i,AE];}return[((i.charCodeAt(0)-48<<24>>>24)>>0),i.substring(1),$ifaceNil];}return[($imul(((i.charCodeAt(0)-48<<24>>>24)>>0),10))+((i.charCodeAt(1)-48<<24>>>24)>>0)>>0,i.substring(2),$ifaceNil];};AJ=function(i){var $ptr,i;while(true){if(!(i.length>0&&(i.charCodeAt(0)===32))){break;}i=i.substring(1);}return i;};AK=function(i,j){var $ptr,i,j;while(true){if(!(j.length>0)){break;}if(j.charCodeAt(0)===32){if(i.length>0&&!((i.charCodeAt(0)===32))){return[i,AE];}j=AJ(j);i=AJ(i);continue;}if((i.length===0)||!((i.charCodeAt(0)===j.charCodeAt(0)))){return[i,AE];}j=j.substring(1);i=i.substring(1);}return[i,$ifaceNil];};AL=function(i,j){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=AN(i,j,$pkg.UTC,$pkg.Local);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:AL};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AL;AN=function(i,j,k,l){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;ef=$f.ef;eg=$f.eg;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=i;n=j;o=m;p=n;q="";r=false;s=false;t=0;u=1;v=1;w=0;x=0;y=0;z=0;aa=DH.nil;ab=-1;ac="";while(true){ad=$ifaceNil;ae=T(i);af=ae[0];ag=ae[1];ah=ae[2];ai=i.substring(af.length,(i.length-ah.length>>0));aj=AK(j,af);j=aj[0];ad=aj[1];if(!($interfaceIsEqual(ad,$ifaceNil))){return[new BL.ptr(new $Int64(0,0),0,DH.nil),new AF.ptr(o,p,af,j,"")];}if(ag===0){if(!((j.length===0))){return[new BL.ptr(new $Int64(0,0),0,DH.nil),new AF.ptr(o,p,"",j,": extra text: "+j)];}break;}i=ah;ak="";al=ag&65535;switch(0){default:if(al===274){if(j.length<2){ad=AE;break;}am=j.substring(0,2);an=j.substring(2);ak=am;j=an;ao=AC(ak);t=ao[0];ad=ao[1];if(t>=69){t=t+(1900)>>0;}else{t=t+(2000)>>0;}}else if(al===273){if(j.length<4||!AH(j,0)){ad=AE;break;}ap=j.substring(0,4);aq=j.substring(4);ak=ap;j=aq;ar=AC(ak);t=ar[0];ad=ar[1];}else if(al===258){as=Z(W,j);u=as[0];j=as[1];ad=as[2];}else if(al===257){at=Z(X,j);u=at[0];j=at[1];ad=at[2];}else if(al===259||al===260){au=AI(j,ag===260);u=au[0];j=au[1];ad=au[2];if(u<=0||12<u){q="month";}}else if(al===262){av=Z(V,j);j=av[1];ad=av[2];}else if(al===261){aw=Z(U,j);j=aw[1];ad=aw[2];}else if(al===263||al===264||al===265){if((ag===264)&&j.length>0&&(j.charCodeAt(0)===32)){j=j.substring(1);}ax=AI(j,ag===265);v=ax[0];j=ax[1];ad=ax[2];if(v<0||31<v){q="day";}}else if(al===522){ay=AI(j,false);w=ay[0];j=ay[1];ad=ay[2];if(w<0||24<=w){q="hour";}}else if(al===523||al===524){az=AI(j,ag===524);w=az[0];j=az[1];ad=az[2];if(w<0||12<w){q="hour";}}else if(al===525||al===526){ba=AI(j,ag===526);x=ba[0];j=ba[1];ad=ba[2];if(x<0||60<=x){q="minute";}}else if(al===527||al===528){bb=AI(j,ag===528);y=bb[0];j=bb[1];ad=bb[2];if(y<0||60<=y){q="second";}if(j.length>=2&&(j.charCodeAt(0)===46)&&AH(j,1)){bc=T(i);ag=bc[1];ag=ag&(65535);if((ag===31)||(ag===32)){break;}bd=2;while(true){if(!(bd<j.length&&AH(j,bd))){break;}bd=bd+(1)>>0;}be=AQ(j,bd);z=be[0];q=be[1];ad=be[2];j=j.substring(bd);}}else if(al===531){if(j.length<2){ad=AE;break;}bf=j.substring(0,2);bg=j.substring(2);ak=bf;j=bg;bh=ak;if(bh==="PM"){s=true;}else if(bh==="AM"){r=true;}else{ad=AE;}}else if(al===532){if(j.length<2){ad=AE;break;}bi=j.substring(0,2);bj=j.substring(2);ak=bi;j=bj;bk=ak;if(bk==="pm"){s=true;}else if(bk==="am"){r=true;}else{ad=AE;}}else if(al===22||al===24||al===23||al===25||al===26||al===28||al===29||al===27||al===30){if(((ag===22)||(ag===24))&&j.length>=1&&(j.charCodeAt(0)===90)){j=j.substring(1);aa=$pkg.UTC;break;}bl="";bm="";bn="";bo="";bp=bl;bq=bm;br=bn;bs=bo;if((ag===24)||(ag===29)){if(j.length<6){ad=AE;break;}if(!((j.charCodeAt(3)===58))){ad=AE;break;}bt=j.substring(0,1);bu=j.substring(1,3);bv=j.substring(4,6);bw="00";bx=j.substring(6);bp=bt;bq=bu;br=bv;bs=bw;j=bx;}else if(ag===28){if(j.length<3){ad=AE;break;}by=j.substring(0,1);bz=j.substring(1,3);ca="00";cb="00";cc=j.substring(3);bp=by;bq=bz;br=ca;bs=cb;j=cc;}else if((ag===25)||(ag===30)){if(j.length<9){ad=AE;break;}if(!((j.charCodeAt(3)===58))||!((j.charCodeAt(6)===58))){ad=AE;break;}cd=j.substring(0,1);ce=j.substring(1,3);cf=j.substring(4,6);cg=j.substring(7,9);ch=j.substring(9);bp=cd;bq=ce;br=cf;bs=cg;j=ch;}else if((ag===23)||(ag===27)){if(j.length<7){ad=AE;break;}ci=j.substring(0,1);cj=j.substring(1,3);ck=j.substring(3,5);cl=j.substring(5,7);cm=j.substring(7);bp=ci;bq=cj;br=ck;bs=cl;j=cm;}else{if(j.length<5){ad=AE;break;}cn=j.substring(0,1);co=j.substring(1,3);cp=j.substring(3,5);cq="00";cr=j.substring(5);bp=cn;bq=co;br=cp;bs=cq;j=cr;}cs=0;ct=0;cu=0;cv=cs;cw=ct;cx=cu;cy=AC(bq);cv=cy[0];ad=cy[1];if($interfaceIsEqual(ad,$ifaceNil)){cz=AC(br);cw=cz[0];ad=cz[1];}if($interfaceIsEqual(ad,$ifaceNil)){da=AC(bs);cx=da[0];ad=da[1];}ab=($imul(((($imul(cv,60))+cw>>0)),60))+cx>>0;db=bp.charCodeAt(0);if(db===43){}else if(db===45){ab=-ab;}else{ad=AE;}}else if(al===21){if(j.length>=3&&j.substring(0,3)==="UTC"){aa=$pkg.UTC;j=j.substring(3);break;}dc=AO(j);dd=dc[0];de=dc[1];if(!de){ad=AE;break;}df=j.substring(0,dd);dg=j.substring(dd);ac=df;j=dg;}else if(al===31){dh=1+((ag>>16>>0))>>0;if(j.length<dh){ad=AE;break;}di=AQ(j,dh);z=di[0];q=di[1];ad=di[2];j=j.substring(dh);}else if(al===32){if(j.length<2||!((j.charCodeAt(0)===46))||j.charCodeAt(1)<48||57<j.charCodeAt(1)){break;}dj=0;while(true){if(!(dj<9&&(dj+1>>0)<j.length&&48<=j.charCodeAt((dj+1>>0))&&j.charCodeAt((dj+1>>0))<=57)){break;}dj=dj+(1)>>0;}dk=AQ(j,1+dj>>0);z=dk[0];q=dk[1];ad=dk[2];j=j.substring((1+dj>>0));}}if(!(q==="")){return[new BL.ptr(new $Int64(0,0),0,DH.nil),new AF.ptr(o,p,ai,j,": "+q+" out of range")];}if(!($interfaceIsEqual(ad,$ifaceNil))){return[new BL.ptr(new $Int64(0,0),0,DH.nil),new AF.ptr(o,p,ai,j,"")];}}if(s&&w<12){w=w+(12)>>0;}else if(r&&(w===12)){w=0;}if(!(aa===DH.nil)){$s=1;continue;}$s=2;continue;case 1:dl=CD(t,(u>>0),v,w,x,y,z,aa);$s=3;case 3:if($c){$c=false;dl=dl.$blk();}if(dl&&dl.$blk!==undefined){break s;}$s=4;case 4:return[dl,$ifaceNil];case 2:if(!((ab===-1))){$s=5;continue;}$s=6;continue;case 5:dm=CD(t,(u>>0),v,w,x,y,z,$pkg.UTC);$s=7;case 7:if($c){$c=false;dm=dm.$blk();}if(dm&&dm.$blk!==undefined){break s;}dn=$clone(dm,BL);dn.sec=(dp=dn.sec,dq=new $Int64(0,ab),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dt=l.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));$s=8;case 8:if($c){$c=false;dt=dt.$blk();}if(dt&&dt.$blk!==undefined){break s;}dr=dt;du=dr[0];dv=dr[1];if((dv===ab)&&(ac===""||du===ac)){dn.loc=l;return[dn,$ifaceNil];}dn.loc=CL(ac,ab);return[dn,$ifaceNil];case 6:if(!(ac==="")){$s=9;continue;}$s=10;continue;case 9:dw=CD(t,(u>>0),v,w,x,y,z,$pkg.UTC);$s=11;case 11:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=$clone(dw,BL);ea=l.lookupName(ac,(dz=dx.sec,new $Int64(dz.$high+-15,dz.$low+2288912640)));$s=12;case 12:if($c){$c=false;ea=ea.$blk();}if(ea&&ea.$blk!==undefined){break s;}dy=ea;eb=dy[0];ec=dy[2];if(ec){dx.sec=(ed=dx.sec,ee=new $Int64(0,eb),new $Int64(ed.$high-ee.$high,ed.$low-ee.$low));dx.loc=l;return[dx,$ifaceNil];}if(ac.length>3&&ac.substring(0,3)==="GMT"){ef=AC(ac.substring(3));eb=ef[0];eb=$imul(eb,(3600));}dx.loc=CL(ac,eb);return[dx,$ifaceNil];case 10:eg=CD(t,(u>>0),v,w,x,y,z,k);$s=13;case 13:if($c){$c=false;eg=eg.$blk();}if(eg&&eg.$blk!==undefined){break s;}$s=14;case 14:return[eg,$ifaceNil];}return;}if($f===undefined){$f={$blk:AN};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.ef=ef;$f.eg=eg;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(i){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=0;k=false;if(i.length<3){l=0;m=false;j=l;k=m;return[j,k];}if(i.length>=4&&(i.substring(0,4)==="ChST"||i.substring(0,4)==="MeST")){n=4;o=true;j=n;k=o;return[j,k];}if(i.substring(0,3)==="GMT"){j=AP(i);p=j;q=true;j=p;k=q;return[j,k];}r=0;r=0;while(true){if(!(r<6)){break;}if(r>=i.length){break;}s=i.charCodeAt(r);if(s<65||90<s){break;}r=r+(1)>>0;}t=r;if(t===0||t===1||t===2||t===6){u=0;v=false;j=u;k=v;return[j,k];}else if(t===5){if(i.charCodeAt(4)===84){w=5;x=true;j=w;k=x;return[j,k];}}else if(t===4){if(i.charCodeAt(3)===84){y=4;z=true;j=y;k=z;return[j,k];}}else if(t===3){aa=3;ab=true;j=aa;k=ab;return[j,k];}ac=0;ad=false;j=ac;k=ad;return[j,k];};AP=function(i){var $ptr,i,j,k,l,m,n;i=i.substring(3);if(i.length===0){return 3;}j=i.charCodeAt(0);if(!((j===45))&&!((j===43))){return 3;}k=AS(i.substring(1));l=k[0];m=k[1];n=k[2];if(!($interfaceIsEqual(n,$ifaceNil))){return 3;}if(j===45){l=new $Int64(-l.$high,-l.$low);}if((l.$high===0&&l.$low===0)||(l.$high<-1||(l.$high===-1&&l.$low<4294967282))||(0<l.$high||(0===l.$high&&12<l.$low))){return 3;}return(3+i.length>>0)-m.length>>0;};AQ=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l="";m=$ifaceNil;if(!((i.charCodeAt(0)===46))){m=AE;return[k,l,m];}n=AC(i.substring(1,j));k=n[0];m=n[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[k,l,m];}if(k<0||1000000000<=k){l="fractional second";return[k,l,m];}o=10-j>>0;p=0;while(true){if(!(p<o)){break;}k=$imul(k,(10));p=p+(1)>>0;}return[k,l,m];};AS=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=new $Int64(0,0);k="";l=$ifaceNil;m=0;while(true){if(!(m<i.length)){break;}n=i.charCodeAt(m);if(n<48||n>57){break;}if((j.$high>214748364||(j.$high===214748364&&j.$low>3435973836))){o=new $Int64(0,0);p="";q=AR;j=o;k=p;l=q;return[j,k,l];}j=(r=(s=$mul64(j,new $Int64(0,10)),t=new $Int64(0,n),new $Int64(s.$high+t.$high,s.$low+t.$low)),new $Int64(r.$high-0,r.$low-48));if((j.$high<0||(j.$high===0&&j.$low<0))){u=new $Int64(0,0);v="";w=AR;j=u;k=v;l=w;return[j,k,l];}m=m+(1)>>0;}x=j;y=i.substring(m);z=$ifaceNil;j=x;k=y;l=z;return[j,k,l];};BL.ptr.prototype.After=function(i){var $ptr,i,j,k,l,m,n;i=$clone(i,BL);j=$clone(this,BL);return(k=j.sec,l=i.sec,(k.$high>l.$high||(k.$high===l.$high&&k.$low>l.$low)))||(m=j.sec,n=i.sec,(m.$high===n.$high&&m.$low===n.$low))&&j.nsec>i.nsec;};BL.prototype.After=function(i){return this.$val.After(i);};BL.ptr.prototype.Before=function(i){var $ptr,i,j,k,l,m,n;i=$clone(i,BL);j=$clone(this,BL);return(k=j.sec,l=i.sec,(k.$high<l.$high||(k.$high===l.$high&&k.$low<l.$low)))||(m=j.sec,n=i.sec,(m.$high===n.$high&&m.$low===n.$low))&&j.nsec<i.nsec;};BL.prototype.Before=function(i){return this.$val.Before(i);};BL.ptr.prototype.Equal=function(i){var $ptr,i,j,k,l;i=$clone(i,BL);j=$clone(this,BL);return(k=j.sec,l=i.sec,(k.$high===l.$high&&k.$low===l.$low))&&(j.nsec===i.nsec);};BL.prototype.Equal=function(i){return this.$val.Equal(i);};BM.prototype.String=function(){var $ptr,i,j;i=this.$val;return(j=i-1>>0,((j<0||j>=BN.length)?$throwRuntimeError("index out of range"):BN[j]));};$ptrType(BM).prototype.String=function(){return new BM(this.$get()).String();};BO.prototype.String=function(){var $ptr,i;i=this.$val;return((i<0||i>=BP.length)?$throwRuntimeError("index out of range"):BP[i]);};$ptrType(BO).prototype.String=function(){return new BO(this.$get()).String();};BL.ptr.prototype.IsZero=function(){var $ptr,i,j;i=$clone(this,BL);return(j=i.sec,(j.$high===0&&j.$low===0))&&(i.nsec===0);};BL.prototype.IsZero=function(){return this.$val.IsZero();};BL.ptr.prototype.abs=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.loc;if(j===DH.nil||j===CJ){$s=1;continue;}$s=2;continue;case 1:k=j.get();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;case 2:m=(l=i.sec,new $Int64(l.$high+-15,l.$low+2288912640));if(!(j===CI)){$s=4;continue;}$s=5;continue;case 4:if(!(j.cacheZone===DA.nil)&&(n=j.cacheStart,(n.$high<m.$high||(n.$high===m.$high&&n.$low<=m.$low)))&&(o=j.cacheEnd,(m.$high<o.$high||(m.$high===o.$high&&m.$low<o.$low)))){$s=6;continue;}$s=7;continue;case 6:m=(p=new $Int64(0,j.cacheZone.offset),new $Int64(m.$high+p.$high,m.$low+p.$low));$s=8;continue;case 7:r=j.lookup(m);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[1];m=(t=new $Int64(0,s),new $Int64(m.$high+t.$high,m.$low+t.$low));case 8:case 5:return(u=new $Int64(m.$high+2147483646,m.$low+450480384),new $Uint64(u.$high,u.$low));}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.abs};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.abs=function(){return this.$val.abs();};BL.ptr.prototype.locabs=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i="";j=0;k=new $Uint64(0,0);l=$clone(this,BL);m=l.loc;if(m===DH.nil||m===CJ){$s=1;continue;}$s=2;continue;case 1:n=m.get();$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;case 2:p=(o=l.sec,new $Int64(o.$high+-15,o.$low+2288912640));if(!(m===CI)){$s=4;continue;}$s=5;continue;case 4:if(!(m.cacheZone===DA.nil)&&(q=m.cacheStart,(q.$high<p.$high||(q.$high===p.$high&&q.$low<=p.$low)))&&(r=m.cacheEnd,(p.$high<r.$high||(p.$high===r.$high&&p.$low<r.$low)))){$s=7;continue;}$s=8;continue;case 7:i=m.cacheZone.name;j=m.cacheZone.offset;$s=9;continue;case 8:t=m.lookup(p);$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;i=s[0];j=s[1];case 9:p=(u=new $Int64(0,j),new $Int64(p.$high+u.$high,p.$low+u.$low));$s=6;continue;case 5:i="UTC";case 6:k=(v=new $Int64(p.$high+2147483646,p.$low+450480384),new $Uint64(v.$high,v.$low));return[i,j,k];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.locabs};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.locabs=function(){return this.$val.locabs();};BL.ptr.prototype.Date=function(){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=0;l=$clone(this,BL);n=l.date(true);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;i=m[0];j=m[1];k=m[2];return[i,j,k];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Date};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Date=function(){return this.$val.Date();};BL.ptr.prototype.Year=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.date(false);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];return l;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Year};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Year=function(){return this.$val.Year();};BL.ptr.prototype.Month=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.date(true);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[1];return l;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Month};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Month=function(){return this.$val.Month();};BL.ptr.prototype.Day=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.date(true);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[2];return l;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Day};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Day=function(){return this.$val.Day();};BL.ptr.prototype.Weekday=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.abs();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=BQ(j);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=3;case 3:return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Weekday};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Weekday=function(){return this.$val.Weekday();};BQ=function(i){var $ptr,i,j,k;j=$div64((new $Uint64(i.$high+0,i.$low+86400)),new $Uint64(0,604800),true);return((k=(j.$low>>0)/86400,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0);};BL.ptr.prototype.ISOWeek=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=$clone(this,BL);m=k.date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;i=l[0];n=l[1];o=l[2];p=l[3];r=k.Weekday();$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=(q=((r+6>>0)>>0)%7,q===q?q:$throwRuntimeError("integer divide by zero"));j=(t=(((p-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-p>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){j=j+(1)>>0;}if(j===0){i=i-(1)>>0;j=52;if((v===4)||((v===5)&&CB(i))){j=j+(1)>>0;}}if((n===12)&&o>=29&&s<3){x=(w=(((s+31>>0)-o>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){i=i+(1)>>0;j=1;}}return[i,j];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.ISOWeek};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BL.ptr.prototype.Clock=function(){var $ptr,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=0;l=$clone(this,BL);n=l.abs();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=BR(n);$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=o;i=m[0];j=m[1];k=m[2];$s=3;case 3:return[i,j,k];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Clock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Clock=function(){return this.$val.Clock();};BR=function(i){var $ptr,i,j,k,l,m,n;j=0;k=0;l=0;l=($div64(i,new $Uint64(0,86400),true).$low>>0);j=(m=l/3600,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"));l=l-(($imul(j,3600)))>>0;k=(n=l/60,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"));l=l-(($imul(k,60)))>>0;return[j,k,l];};BL.ptr.prototype.Hour=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.abs();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=2;case 2:return(j=($div64(k,new $Uint64(0,86400),true).$low>>0)/3600,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Hour};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Hour=function(){return this.$val.Hour();};BL.ptr.prototype.Minute=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.abs();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=2;case 2:return(j=($div64(k,new $Uint64(0,3600),true).$low>>0)/60,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Minute};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Minute=function(){return this.$val.Minute();};BL.ptr.prototype.Second=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.abs();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=2;case 2:return($div64(j,new $Uint64(0,60),true).$low>>0);}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Second};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Second=function(){return this.$val.Second();};BL.ptr.prototype.Nanosecond=function(){var $ptr,i;i=$clone(this,BL);return(i.nsec>>0);};BL.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BL.ptr.prototype.YearDay=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);k=i.date(false);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[3];return l+1>>0;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.YearDay};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.YearDay=function(){return this.$val.YearDay();};BS.prototype.String=function(){var $ptr,i,j,k,l,m,n,o,p;i=this;j=DL.zero();k=32;l=new $Uint64(i.$high,i.$low);m=(i.$high<0||(i.$high===0&&i.$low<0));if(m){l=new $Uint64(-l.$high,-l.$low);}if((l.$high<0||(l.$high===0&&l.$low<1000000000))){n=0;k=k-(1)>>0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=115);k=k-(1)>>0;if((l.$high===0&&l.$low===0)){return"0";}else if((l.$high<0||(l.$high===0&&l.$low<1000))){n=0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=110);}else if((l.$high<0||(l.$high===0&&l.$low<1000000))){n=3;k=k-(1)>>0;$copyString($subslice(new DE(j),k),"\xC2\xB5");}else{n=6;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=109);}o=BT($subslice(new DE(j),0,k),l,n);k=o[0];l=o[1];k=BU($subslice(new DE(j),0,k),l);}else{k=k-(1)>>0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=115);p=BT($subslice(new DE(j),0,k),l,9);k=p[0];l=p[1];k=BU($subslice(new DE(j),0,k),$div64(l,new $Uint64(0,60),true));l=$div64(l,(new $Uint64(0,60)),false);if((l.$high>0||(l.$high===0&&l.$low>0))){k=k-(1)>>0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=109);k=BU($subslice(new DE(j),0,k),$div64(l,new $Uint64(0,60),true));l=$div64(l,(new $Uint64(0,60)),false);if((l.$high>0||(l.$high===0&&l.$low>0))){k=k-(1)>>0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=104);k=BU($subslice(new DE(j),0,k),l);}}}if(m){k=k-(1)>>0;((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=45);}return $bytesToString($subslice(new DE(j),k));};$ptrType(BS).prototype.String=function(){return this.$get().String();};BT=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s;l=0;m=new $Uint64(0,0);n=i.$length;o=false;p=0;while(true){if(!(p<k)){break;}q=$div64(j,new $Uint64(0,10),true);o=o||!((q.$high===0&&q.$low===0));if(o){n=n-(1)>>0;((n<0||n>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+n]=((q.$low<<24>>>24)+48<<24>>>24));}j=$div64(j,(new $Uint64(0,10)),false);p=p+(1)>>0;}if(o){n=n-(1)>>0;((n<0||n>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+n]=46);}r=n;s=j;l=r;m=s;return[l,m];};BU=function(i,j){var $ptr,i,j,k;k=i.$length;if((j.$high===0&&j.$low===0)){k=k-(1)>>0;((k<0||k>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+k]=48);}else{while(true){if(!((j.$high>0||(j.$high===0&&j.$low>0)))){break;}k=k-(1)>>0;((k<0||k>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+k]=(($div64(j,new $Uint64(0,10),true).$low<<24>>>24)+48<<24>>>24));j=$div64(j,(new $Uint64(0,10)),false);}}return k;};BS.prototype.Nanoseconds=function(){var $ptr,i;i=this;return new $Int64(i.$high,i.$low);};$ptrType(BS).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BS.prototype.Seconds=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BS(0,1000000000),false);k=$div64(i,new BS(0,1000000000),true);return $flatten64(j)+$flatten64(k)*1e-09;};$ptrType(BS).prototype.Seconds=function(){return this.$get().Seconds();};BS.prototype.Minutes=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BS(13,4165425152),false);k=$div64(i,new BS(13,4165425152),true);return $flatten64(j)+$flatten64(k)*1.6666666666666667e-11;};$ptrType(BS).prototype.Minutes=function(){return this.$get().Minutes();};BS.prototype.Hours=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BS(838,817405952),false);k=$div64(i,new BS(838,817405952),true);return $flatten64(j)+$flatten64(k)*2.777777777777778e-13;};$ptrType(BS).prototype.Hours=function(){return this.$get().Hours();};BL.ptr.prototype.Add=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s;j=$clone(this,BL);j.sec=(k=j.sec,l=(m=$div64(i,new BS(0,1000000000),false),new $Int64(m.$high,m.$low)),new $Int64(k.$high+l.$high,k.$low+l.$low));o=j.nsec+((n=$div64(i,new BS(0,1000000000),true),n.$low+((n.$high>>31)*4294967296))>>0)>>0;if(o>=1000000000){j.sec=(p=j.sec,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));o=o-(1000000000)>>0;}else if(o<0){j.sec=(r=j.sec,s=new $Int64(0,1),new $Int64(r.$high-s.$high,r.$low-s.$low));o=o+(1000000000)>>0;}j.nsec=o;return j;};BL.prototype.Add=function(i){return this.$val.Add(i);};BL.ptr.prototype.Sub=function(i){var $ptr,i,j,k,l,m,n,o,p;i=$clone(i,BL);j=$clone(this,BL);p=(k=$mul64((l=(m=j.sec,n=i.sec,new $Int64(m.$high-n.$high,m.$low-n.$low)),new BS(l.$high,l.$low)),new BS(0,1000000000)),o=new BS(0,(j.nsec-i.nsec>>0)),new BS(k.$high+o.$high,k.$low+o.$low));if(i.Add(p).Equal(j)){return p;}else if(j.Before(i)){return new BS(-2147483648,0);}else{return new BS(2147483647,4294967295);}};BL.prototype.Sub=function(i){return this.$val.Sub(i);};BL.ptr.prototype.AddDate=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=$clone(this,BL);n=l.Date();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];q=m[2];s=l.Clock();$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=CD(o+i>>0,p+(j>>0)>>0,q+k>>0,t,u,v,(l.nsec>>0),l.loc);$s=3;case 3:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$s=4;case 4:return w;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.AddDate};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.AddDate=function(i,j,k){return this.$val.AddDate(i,j,k);};BL.ptr.prototype.date=function(i){var $ptr,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=0;l=0;m=0;n=$clone(this,BL);p=n.abs();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=BW(p,i);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;j=o[0];k=o[1];l=o[2];m=o[3];$s=3;case 3:return[j,k,l,m];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.date};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.date=function(i){return this.$val.date(i);};BW=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=0;l=0;m=0;n=0;o=$div64(i,new $Uint64(0,86400),false);p=$div64(o,new $Uint64(0,146097),false);q=$mul64(new $Uint64(0,400),p);o=(r=$mul64(new $Uint64(0,146097),p),new $Uint64(o.$high-r.$high,o.$low-r.$low));p=$div64(o,new $Uint64(0,36524),false);p=(s=$shiftRightUint64(p,2),new $Uint64(p.$high-s.$high,p.$low-s.$low));q=(t=$mul64(new $Uint64(0,100),p),new $Uint64(q.$high+t.$high,q.$low+t.$low));o=(u=$mul64(new $Uint64(0,36524),p),new $Uint64(o.$high-u.$high,o.$low-u.$low));p=$div64(o,new $Uint64(0,1461),false);q=(v=$mul64(new $Uint64(0,4),p),new $Uint64(q.$high+v.$high,q.$low+v.$low));o=(w=$mul64(new $Uint64(0,1461),p),new $Uint64(o.$high-w.$high,o.$low-w.$low));p=$div64(o,new $Uint64(0,365),false);p=(x=$shiftRightUint64(p,2),new $Uint64(p.$high-x.$high,p.$low-x.$low));q=(y=p,new $Uint64(q.$high+y.$high,q.$low+y.$low));o=(z=$mul64(new $Uint64(0,365),p),new $Uint64(o.$high-z.$high,o.$low-z.$low));k=((aa=(ab=new $Int64(q.$high,q.$low),new $Int64(ab.$high+-69,ab.$low+4075721025)),aa.$low+((aa.$high>>31)*4294967296))>>0);n=(o.$low>>0);if(!j){return[k,l,m,n];}m=n;if(CB(k)){if(m>59){m=m-(1)>>0;}else if(m===59){l=2;m=29;return[k,l,m,n];}}l=((ac=m/31,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))>>0);ae=((ad=l+1>>0,((ad<0||ad>=BX.length)?$throwRuntimeError("index out of range"):BX[ad]))>>0);af=0;if(m>=ae){l=l+(1)>>0;af=ae;}else{af=(((l<0||l>=BX.length)?$throwRuntimeError("index out of range"):BX[l])>>0);}l=l+(1)>>0;m=(m-af>>0)+1>>0;return[k,l,m,n];};BZ=function(){var $ptr,i,j,k;i=K();j=i[0];k=i[1];return new BL.ptr(new $Int64(j.$high+14,j.$low+2006054656),k,$pkg.Local);};$pkg.Now=BZ;BL.ptr.prototype.UTC=function(){var $ptr,i;i=$clone(this,BL);i.loc=$pkg.UTC;return i;};BL.prototype.UTC=function(){return this.$val.UTC();};BL.ptr.prototype.Local=function(){var $ptr,i;i=$clone(this,BL);i.loc=$pkg.Local;return i;};BL.prototype.Local=function(){return this.$val.Local();};BL.ptr.prototype.In=function(i){var $ptr,i,j;j=$clone(this,BL);if(i===DH.nil){$panic(new $String("time: missing Location in call to Time.In"));}j.loc=i;return j;};BL.prototype.In=function(i){return this.$val.In(i);};BL.ptr.prototype.Location=function(){var $ptr,i,j;i=$clone(this,BL);j=i.loc;if(j===DH.nil){j=$pkg.UTC;}return j;};BL.prototype.Location=function(){return this.$val.Location();};BL.ptr.prototype.Zone=function(){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i="";j=0;k=$clone(this,BL);n=k.loc.lookup((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640)));$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;i=l[0];j=l[1];return[i,j];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.Zone};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.Zone=function(){return this.$val.Zone();};BL.ptr.prototype.Unix=function(){var $ptr,i,j;i=$clone(this,BL);return(j=i.sec,new $Int64(j.$high+-15,j.$low+2288912640));};BL.prototype.Unix=function(){return this.$val.Unix();};BL.ptr.prototype.UnixNano=function(){var $ptr,i,j,k,l;i=$clone(this,BL);return(j=$mul64(((k=i.sec,new $Int64(k.$high+-15,k.$low+2288912640))),new $Int64(0,1000000000)),l=new $Int64(0,i.nsec),new $Int64(j.$high+l.$high,j.$low+l.$low));};BL.prototype.UnixNano=function(){return this.$val.UnixNano();};BL.ptr.prototype.MarshalBinary=function(){var $ptr,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=0;if(i.Location()===CI){$s=1;continue;}$s=2;continue;case 1:j=-1;$s=3;continue;case 2:l=i.Zone();$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[1];if(!(((n=m%60,n===n?n:$throwRuntimeError("integer divide by zero"))===0))){return[DE.nil,D.New("Time.MarshalBinary: zone offset has fractional minute")];}m=(o=m/(60),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));if(m<-32768||(m===-1)||m>32767){return[DE.nil,D.New("Time.MarshalBinary: unexpected zone offset")];}j=(m<<16>>16);case 3:p=new DE([1,($shiftRightInt64(i.sec,56).$low<<24>>>24),($shiftRightInt64(i.sec,48).$low<<24>>>24),($shiftRightInt64(i.sec,40).$low<<24>>>24),($shiftRightInt64(i.sec,32).$low<<24>>>24),($shiftRightInt64(i.sec,24).$low<<24>>>24),($shiftRightInt64(i.sec,16).$low<<24>>>24),($shiftRightInt64(i.sec,8).$low<<24>>>24),(i.sec.$low<<24>>>24),((i.nsec>>24>>0)<<24>>>24),((i.nsec>>16>>0)<<24>>>24),((i.nsec>>8>>0)<<24>>>24),(i.nsec<<24>>>24),((j>>8<<16>>16)<<24>>>24),(j<<24>>>24)]);return[p,$ifaceNil];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalBinary};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BL.ptr.prototype.UnmarshalBinary=function(i){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=i;if(k.$length===0){return D.New("Time.UnmarshalBinary: no data");}if(!(((0>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])===1))){return D.New("Time.UnmarshalBinary: unsupported version");}if(!((k.$length===15))){return D.New("Time.UnmarshalBinary: invalid length");}k=$subslice(k,1);j.sec=(l=(m=(n=(o=(p=(q=(r=new $Int64(0,(7>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+7])),s=$shiftLeft64(new $Int64(0,(6>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+6])),8),new $Int64(r.$high|s.$high,(r.$low|s.$low)>>>0)),t=$shiftLeft64(new $Int64(0,(5>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+5])),16),new $Int64(q.$high|t.$high,(q.$low|t.$low)>>>0)),u=$shiftLeft64(new $Int64(0,(4>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+4])),24),new $Int64(p.$high|u.$high,(p.$low|u.$low)>>>0)),v=$shiftLeft64(new $Int64(0,(3>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+3])),32),new $Int64(o.$high|v.$high,(o.$low|v.$low)>>>0)),w=$shiftLeft64(new $Int64(0,(2>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+2])),40),new $Int64(n.$high|w.$high,(n.$low|w.$low)>>>0)),x=$shiftLeft64(new $Int64(0,(1>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+1])),48),new $Int64(m.$high|x.$high,(m.$low|x.$low)>>>0)),y=$shiftLeft64(new $Int64(0,(0>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])),56),new $Int64(l.$high|y.$high,(l.$low|y.$low)>>>0));k=$subslice(k,8);j.nsec=((((3>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+3])>>0)|(((2>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+2])>>0)<<8>>0))|(((1>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+1])>>0)<<16>>0))|(((0>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])>>0)<<24>>0);k=$subslice(k,4);z=$imul(((((1>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+1])<<16>>16)|(((0>=k.$length?$throwRuntimeError("index out of range"):k.$array[k.$offset+0])<<16>>16)<<8<<16>>16))>>0),60);if(z===-60){$s=1;continue;}$s=2;continue;case 1:j.loc=CI;$s=3;continue;case 2:ac=$pkg.Local.lookup((ab=j.sec,new $Int64(ab.$high+-15,ab.$low+2288912640)));$s=4;case 4:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}aa=ac;ad=aa[1];if(z===ad){$s=5;continue;}$s=6;continue;case 5:j.loc=$pkg.Local;$s=7;continue;case 6:j.loc=CL("",z);case 7:case 3:return $ifaceNil;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalBinary};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalBinary=function(i){return this.$val.UnmarshalBinary(i);};BL.ptr.prototype.GobEncode=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.MarshalBinary();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=2;case 2:return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GobEncode};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GobEncode=function(){return this.$val.GobEncode();};BL.ptr.prototype.GobDecode=function(i){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=j.UnmarshalBinary(i);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=2;case 2:return k;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.GobDecode};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.GobDecode=function(i){return this.$val.GobDecode(i);};BL.ptr.prototype.MarshalJSON=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.Year();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k<0||k>=10000){$s=2;continue;}$s=3;continue;case 2:return[DE.nil,D.New("Time.MarshalJSON: year outside of range [0,9999]")];case 3:l=i.Format("\"2006-01-02T15:04:05.999999999Z07:00\"");$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=5;case 5:return[new DE($stringToBytes(l)),$ifaceNil];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalJSON};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BL.ptr.prototype.UnmarshalJSON=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;k=this;m=AL("\"2006-01-02T15:04:05Z07:00\"",$bytesToString(i));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;BL.copy(k,l[0]);j=l[1];return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalJSON};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalJSON=function(i){return this.$val.UnmarshalJSON(i);};BL.ptr.prototype.MarshalText=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=$clone(this,BL);j=i.Year();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k<0||k>=10000){$s=2;continue;}$s=3;continue;case 2:return[DE.nil,D.New("Time.MarshalText: year outside of range [0,9999]")];case 3:l=i.Format("2006-01-02T15:04:05.999999999Z07:00");$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=5;case 5:return[new DE($stringToBytes(l)),$ifaceNil];}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.MarshalText};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.MarshalText=function(){return this.$val.MarshalText();};BL.ptr.prototype.UnmarshalText=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=$ifaceNil;k=this;m=AL("2006-01-02T15:04:05Z07:00",$bytesToString(i));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;BL.copy(k,l[0]);j=l[1];return j;}return;}if($f===undefined){$f={$blk:BL.ptr.prototype.UnmarshalText};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BL.prototype.UnmarshalText=function(i){return this.$val.UnmarshalText(i);};CA=function(i,j){var $ptr,i,j,k,l,m,n,o;if((j.$high<0||(j.$high===0&&j.$low<0))||(j.$high>0||(j.$high===0&&j.$low>=1000000000))){k=$div64(j,new $Int64(0,1000000000),false);i=(l=k,new $Int64(i.$high+l.$high,i.$low+l.$low));j=(m=$mul64(k,new $Int64(0,1000000000)),new $Int64(j.$high-m.$high,j.$low-m.$low));if((j.$high<0||(j.$high===0&&j.$low<0))){j=(n=new $Int64(0,1000000000),new $Int64(j.$high+n.$high,j.$low+n.$low));i=(o=new $Int64(0,1),new $Int64(i.$high-o.$high,i.$low-o.$low));}}return new BL.ptr(new $Int64(i.$high+14,i.$low+2006054656),((j.$low+((j.$high>>31)*4294967296))>>0),$pkg.Local);};$pkg.Unix=CA;CB=function(i){var $ptr,i,j,k,l;return((j=i%4,j===j?j:$throwRuntimeError("integer divide by zero"))===0)&&(!(((k=i%100,k===k?k:$throwRuntimeError("integer divide by zero"))===0))||((l=i%400,l===l?l:$throwRuntimeError("integer divide by zero"))===0));};CC=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s;l=0;m=0;if(j<0){o=(n=((-j-1>>0))/k,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))+1>>0;i=i-(o)>>0;j=j+(($imul(o,k)))>>0;}if(j>=k){q=(p=j/k,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));i=i+(q)>>0;j=j-(($imul(q,k)))>>0;}r=i;s=j;l=r;m=s;return[l,m];};CD=function(i,j,k,l,m,n,o,p){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(p===DH.nil){$panic(new $String("time: missing Location in call to Date"));}q=(j>>0)-1>>0;r=CC(i,q,12);i=r[0];q=r[1];j=(q>>0)+1>>0;s=CC(n,o,1000000000);n=s[0];o=s[1];t=CC(m,n,60);m=t[0];n=t[1];u=CC(l,m,60);l=u[0];m=u[1];v=CC(k,l,24);k=v[0];l=v[1];y=(w=(x=new $Int64(0,i),new $Int64(x.$high- -69,x.$low-4075721025)),new $Uint64(w.$high,w.$low));z=$div64(y,new $Uint64(0,400),false);y=(aa=$mul64(new $Uint64(0,400),z),new $Uint64(y.$high-aa.$high,y.$low-aa.$low));ab=$mul64(new $Uint64(0,146097),z);z=$div64(y,new $Uint64(0,100),false);y=(ac=$mul64(new $Uint64(0,100),z),new $Uint64(y.$high-ac.$high,y.$low-ac.$low));ab=(ad=$mul64(new $Uint64(0,36524),z),new $Uint64(ab.$high+ad.$high,ab.$low+ad.$low));z=$div64(y,new $Uint64(0,4),false);y=(ae=$mul64(new $Uint64(0,4),z),new $Uint64(y.$high-ae.$high,y.$low-ae.$low));ab=(af=$mul64(new $Uint64(0,1461),z),new $Uint64(ab.$high+af.$high,ab.$low+af.$low));z=y;ab=(ag=$mul64(new $Uint64(0,365),z),new $Uint64(ab.$high+ag.$high,ab.$low+ag.$low));ab=(ah=new $Uint64(0,(ai=j-1>>0,((ai<0||ai>=BX.length)?$throwRuntimeError("index out of range"):BX[ai]))),new $Uint64(ab.$high+ah.$high,ab.$low+ah.$low));if(CB(i)&&j>=3){ab=(aj=new $Uint64(0,1),new $Uint64(ab.$high+aj.$high,ab.$low+aj.$low));}ab=(ak=new $Uint64(0,(k-1>>0)),new $Uint64(ab.$high+ak.$high,ab.$low+ak.$low));al=$mul64(ab,new $Uint64(0,86400));al=(am=new $Uint64(0,((($imul(l,3600))+($imul(m,60))>>0)+n>>0)),new $Uint64(al.$high+am.$high,al.$low+am.$low));ao=(an=new $Int64(al.$high,al.$low),new $Int64(an.$high+-2147483647,an.$low+3844486912));aq=p.lookup(ao);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[1];as=ap[3];at=ap[4];if(!((ar===0))){$s=2;continue;}$s=3;continue;case 2:av=(au=new $Int64(0,ar),new $Int64(ao.$high-au.$high,ao.$low-au.$low));if((av.$high<as.$high||(av.$high===as.$high&&av.$low<as.$low))){$s=4;continue;}if((av.$high>at.$high||(av.$high===at.$high&&av.$low>=at.$low))){$s=5;continue;}$s=6;continue;case 4:ax=p.lookup(new $Int64(as.$high-0,as.$low-1));$s=7;case 7:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ar=aw[1];$s=6;continue;case 5:az=p.lookup(at);$s=8;case 8:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;ar=ay[1];case 6:ao=(ba=new $Int64(0,ar),new $Int64(ao.$high-ba.$high,ao.$low-ba.$low));case 3:return new BL.ptr(new $Int64(ao.$high+14,ao.$low+2006054656),(o>>0),p);}return;}if($f===undefined){$f={$blk:CD};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Date=CD;BL.ptr.prototype.Truncate=function(i){var $ptr,i,j,k,l;j=$clone(this,BL);if((i.$high<0||(i.$high===0&&i.$low<=0))){return j;}k=CE(j,i);l=k[1];return j.Add(new BS(-l.$high,-l.$low));};BL.prototype.Truncate=function(i){return this.$val.Truncate(i);};BL.ptr.prototype.Round=function(i){var $ptr,i,j,k,l,m;j=$clone(this,BL);if((i.$high<0||(i.$high===0&&i.$low<=0))){return j;}k=CE(j,i);l=k[1];if((m=new BS(l.$high+l.$high,l.$low+l.$low),(m.$high<i.$high||(m.$high===i.$high&&m.$low<i.$low)))){return j.Add(new BS(-l.$high,-l.$low));}return j.Add(new BS(i.$high-l.$high,i.$low-l.$low));};BL.prototype.Round=function(i){return this.$val.Round(i);};CE=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=0;l=new BS(0,0);i=$clone(i,BL);m=false;n=i.nsec;if((o=i.sec,(o.$high<0||(o.$high===0&&o.$low<0)))){m=true;i.sec=(p=i.sec,new $Int64(-p.$high,-p.$low));n=-n;if(n<0){n=n+(1000000000)>>0;i.sec=(q=i.sec,r=new $Int64(0,1),new $Int64(q.$high-r.$high,q.$low-r.$low));}}if((j.$high<0||(j.$high===0&&j.$low<1000000000))&&(s=$div64(new BS(0,1000000000),(new BS(j.$high+j.$high,j.$low+j.$low)),true),(s.$high===0&&s.$low===0))){k=((u=n/((j.$low+((j.$high>>31)*4294967296))>>0),(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0)&1;l=new BS(0,(v=n%((j.$low+((j.$high>>31)*4294967296))>>0),v===v?v:$throwRuntimeError("integer divide by zero")));}else if((t=$div64(j,new BS(0,1000000000),true),(t.$high===0&&t.$low===0))){x=(w=$div64(j,new BS(0,1000000000),false),new $Int64(w.$high,w.$low));k=((y=$div64(i.sec,x,false),y.$low+((y.$high>>31)*4294967296))>>0)&1;l=(z=$mul64((aa=$div64(i.sec,x,true),new BS(aa.$high,aa.$low)),new BS(0,1000000000)),ab=new BS(0,n),new BS(z.$high+ab.$high,z.$low+ab.$low));}else{ad=(ac=i.sec,new $Uint64(ac.$high,ac.$low));ae=$mul64(($shiftRightUint64(ad,32)),new $Uint64(0,1000000000));af=$shiftRightUint64(ae,32);ag=$shiftLeft64(ae,32);ae=$mul64(new $Uint64(ad.$high&0,(ad.$low&4294967295)>>>0),new $Uint64(0,1000000000));ah=ag;ai=new $Uint64(ag.$high+ae.$high,ag.$low+ae.$low);aj=ah;ag=ai;if((ag.$high<aj.$high||(ag.$high===aj.$high&&ag.$low<aj.$low))){af=(ak=new $Uint64(0,1),new $Uint64(af.$high+ak.$high,af.$low+ak.$low));}al=ag;am=(an=new $Uint64(0,n),new $Uint64(ag.$high+an.$high,ag.$low+an.$low));aj=al;ag=am;if((ag.$high<aj.$high||(ag.$high===aj.$high&&ag.$low<aj.$low))){af=(ao=new $Uint64(0,1),new $Uint64(af.$high+ao.$high,af.$low+ao.$low));}ap=new $Uint64(j.$high,j.$low);while(true){if(!(!((aq=$shiftRightUint64(ap,63),(aq.$high===0&&aq.$low===1))))){break;}ap=$shiftLeft64(ap,(1));}ar=new $Uint64(0,0);while(true){k=0;if((af.$high>ap.$high||(af.$high===ap.$high&&af.$low>ap.$low))||(af.$high===ap.$high&&af.$low===ap.$low)&&(ag.$high>ar.$high||(ag.$high===ar.$high&&ag.$low>=ar.$low))){k=1;as=ag;at=new $Uint64(ag.$high-ar.$high,ag.$low-ar.$low);aj=as;ag=at;if((ag.$high>aj.$high||(ag.$high===aj.$high&&ag.$low>aj.$low))){af=(au=new $Uint64(0,1),new $Uint64(af.$high-au.$high,af.$low-au.$low));}af=(av=ap,new $Uint64(af.$high-av.$high,af.$low-av.$low));}if((ap.$high===0&&ap.$low===0)&&(aw=new $Uint64(j.$high,j.$low),(ar.$high===aw.$high&&ar.$low===aw.$low))){break;}ar=$shiftRightUint64(ar,(1));ar=(ax=$shiftLeft64((new $Uint64(ap.$high&0,(ap.$low&1)>>>0)),63),new $Uint64(ar.$high|ax.$high,(ar.$low|ax.$low)>>>0));ap=$shiftRightUint64(ap,(1));}l=new BS(ag.$high,ag.$low);}if(m&&!((l.$high===0&&l.$low===0))){k=(k^(1))>>0;l=new BS(j.$high-l.$high,j.$low-l.$low);}return[k,l];};CF.ptr.prototype.get=function(){var $ptr,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(i===DH.nil){return CI;}if(i===CJ){$s=1;continue;}$s=2;continue;case 1:$r=CK.Do(I);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:return i;}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.get};}$f.$ptr=$ptr;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.get=function(){return this.$val.get();};CF.ptr.prototype.String=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.get();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=2;case 2:return j.name;}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.String};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.String=function(){return this.$val.String();};CL=function(i,j){var $ptr,i,j,k,l;k=new CF.ptr(i,new CY([new CG.ptr(i,j,false)]),new CZ([new CH.ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),DA.nil);k.cacheZone=(l=k.zone,(0>=l.$length?$throwRuntimeError("index out of range"):l.$array[l.$offset+0]));return k;};$pkg.FixedZone=CL;CF.ptr.prototype.lookup=function(i){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j="";k=0;l=false;m=new $Int64(0,0);n=new $Int64(0,0);o=this;p=o.get();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;if(o.zone.$length===0){j="UTC";k=0;l=false;m=new $Int64(-2147483648,0);n=new $Int64(2147483647,4294967295);return[j,k,l,m,n];}q=o.cacheZone;if(!(q===DA.nil)&&(r=o.cacheStart,(r.$high<i.$high||(r.$high===i.$high&&r.$low<=i.$low)))&&(s=o.cacheEnd,(i.$high<s.$high||(i.$high===s.$high&&i.$low<s.$low)))){j=q.name;k=q.offset;l=q.isDST;m=o.cacheStart;n=o.cacheEnd;return[j,k,l,m,n];}if((o.tx.$length===0)||(t=(u=o.tx,(0>=u.$length?$throwRuntimeError("index out of range"):u.$array[u.$offset+0])).when,(i.$high<t.$high||(i.$high===t.$high&&i.$low<t.$low)))){x=(v=o.zone,w=o.lookupFirstZone(),((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]));j=x.name;k=x.offset;l=x.isDST;m=new $Int64(-2147483648,0);if(o.tx.$length>0){n=(y=o.tx,(0>=y.$length?$throwRuntimeError("index out of range"):y.$array[y.$offset+0])).when;}else{n=new $Int64(2147483647,4294967295);}return[j,k,l,m,n];}z=o.tx;n=new $Int64(2147483647,4294967295);aa=0;ab=z.$length;while(true){if(!((ab-aa>>0)>1)){break;}ad=aa+(ac=((ab-aa>>0))/2,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))>>0;ae=((ad<0||ad>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+ad]).when;if((i.$high<ae.$high||(i.$high===ae.$high&&i.$low<ae.$low))){n=ae;ab=ad;}else{aa=ad;}}ah=(af=o.zone,ag=((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]).index,((ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]));j=ah.name;k=ah.offset;l=ah.isDST;m=((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]).when;return[j,k,l,m,n];}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.lookup};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.lookup=function(i){return this.$val.lookup(i);};CF.ptr.prototype.lookupFirstZone=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s;i=this;if(!i.firstZoneUsed()){return 0;}if(i.tx.$length>0&&(j=i.zone,k=(l=i.tx,(0>=l.$length?$throwRuntimeError("index out of range"):l.$array[l.$offset+0])).index,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k])).isDST){n=((m=i.tx,(0>=m.$length?$throwRuntimeError("index out of range"):m.$array[m.$offset+0])).index>>0)-1>>0;while(true){if(!(n>=0)){break;}if(!(o=i.zone,((n<0||n>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+n])).isDST){return n;}n=n-(1)>>0;}}p=i.zone;q=0;while(true){if(!(q<p.$length)){break;}r=q;if(!(s=i.zone,((r<0||r>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+r])).isDST){return r;}q++;}return 0;};CF.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CF.ptr.prototype.firstZoneUsed=function(){var $ptr,i,j,k,l;i=this;j=i.tx;k=0;while(true){if(!(k<j.$length)){break;}l=$clone(((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]),CH);if(l.index===0){return true;}k++;}return false;};CF.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CF.ptr.prototype.lookupName=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=false;m=false;n=this;o=n.get();$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n.zone;q=0;case 2:if(!(q<p.$length)){$s=3;continue;}r=q;t=(s=n.zone,((r<0||r>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+r]));if(t.name===i){$s=4;continue;}$s=5;continue;case 4:w=n.lookup((v=new $Int64(0,t.offset),new $Int64(j.$high-v.$high,j.$low-v.$low)));$s=6;case 6:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=w;x=u[0];y=u[1];z=u[2];if(x===t.name){aa=y;ab=z;ac=true;k=aa;l=ab;m=ac;return[k,l,m];}case 5:q++;$s=2;continue;case 3:ad=n.zone;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;ah=(ag=n.zone,((af<0||af>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+af]));if(ah.name===i){ai=ah.offset;aj=ah.isDST;ak=true;k=ai;l=aj;m=ak;return[k,l,m];}ae++;}return[k,l,m];}return;}if($f===undefined){$f={$blk:CF.ptr.prototype.lookupName};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CF.prototype.lookupName=function(i,j){return this.$val.lookupName(i,j);};DP.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];BL.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"AppendFormat",name:"AppendFormat",pkg:"",typ:$funcType([DE,$String],[DE],false)},{prop:"After",name:"After",pkg:"",typ:$funcType([BL],[$Bool],false)},{prop:"Before",name:"Before",pkg:"",typ:$funcType([BL],[$Bool],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([BL],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"abs",name:"abs",pkg:"time",typ:$funcType([],[$Uint64],false)},{prop:"locabs",name:"locabs",pkg:"time",typ:$funcType([],[$String,$Int,$Uint64],false)},{prop:"Date",name:"Date",pkg:"",typ:$funcType([],[$Int,BM,$Int],false)},{prop:"Year",name:"Year",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Month",name:"Month",pkg:"",typ:$funcType([],[BM],false)},{prop:"Day",name:"Day",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Weekday",name:"Weekday",pkg:"",typ:$funcType([],[BO],false)},{prop:"ISOWeek",name:"ISOWeek",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clock",name:"Clock",pkg:"",typ:$funcType([],[$Int,$Int,$Int],false)},{prop:"Hour",name:"Hour",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Minute",name:"Minute",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Second",name:"Second",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Nanosecond",name:"Nanosecond",pkg:"",typ:$funcType([],[$Int],false)},{prop:"YearDay",name:"YearDay",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([BS],[BL],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([BL],[BS],false)},{prop:"AddDate",name:"AddDate",pkg:"",typ:$funcType([$Int,$Int,$Int],[BL],false)},{prop:"date",name:"date",pkg:"time",typ:$funcType([$Bool],[$Int,BM,$Int,$Int],false)},{prop:"UTC",name:"UTC",pkg:"",typ:$funcType([],[BL],false)},{prop:"Local",name:"Local",pkg:"",typ:$funcType([],[BL],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([DH],[BL],false)},{prop:"Location",name:"Location",pkg:"",typ:$funcType([],[DH],false)},{prop:"Zone",name:"Zone",pkg:"",typ:$funcType([],[$String,$Int],false)},{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixNano",name:"UnixNano",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[DE,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DE,$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DE,$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DE,$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BS],[BL],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BS],[BL],false)}];DT.methods=[{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([DE],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DE],[$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DE],[$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DE],[$error],false)}];BM.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BO.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BS.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Nanoseconds",name:"Nanoseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seconds",name:"Seconds",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Minutes",name:"Minutes",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Hours",name:"Hours",pkg:"",typ:$funcType([],[$Float64],false)}];DH.methods=[{prop:"get",name:"get",pkg:"time",typ:$funcType([],[DH],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"lookup",name:"lookup",pkg:"time",typ:$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false)},{prop:"lookupFirstZone",name:"lookupFirstZone",pkg:"time",typ:$funcType([],[$Int],false)},{prop:"firstZoneUsed",name:"firstZoneUsed",pkg:"time",typ:$funcType([],[$Bool],false)},{prop:"lookupName",name:"lookupName",pkg:"time",typ:$funcType([$String,$Int64],[$Int,$Bool,$Bool],false)}];AF.init([{prop:"Layout",name:"Layout",pkg:"",typ:$String,tag:""},{prop:"Value",name:"Value",pkg:"",typ:$String,tag:""},{prop:"LayoutElem",name:"LayoutElem",pkg:"",typ:$String,tag:""},{prop:"ValueElem",name:"ValueElem",pkg:"",typ:$String,tag:""},{prop:"Message",name:"Message",pkg:"",typ:$String,tag:""}]);BL.init([{prop:"sec",name:"sec",pkg:"time",typ:$Int64,tag:""},{prop:"nsec",name:"nsec",pkg:"time",typ:$Int32,tag:""},{prop:"loc",name:"loc",pkg:"time",typ:DH,tag:""}]);CF.init([{prop:"name",name:"name",pkg:"time",typ:$String,tag:""},{prop:"zone",name:"zone",pkg:"time",typ:CY,tag:""},{prop:"tx",name:"tx",pkg:"time",typ:CZ,tag:""},{prop:"cacheStart",name:"cacheStart",pkg:"time",typ:$Int64,tag:""},{prop:"cacheEnd",name:"cacheEnd",pkg:"time",typ:$Int64,tag:""},{prop:"cacheZone",name:"cacheZone",pkg:"time",typ:DA,tag:""}]);CG.init([{prop:"name",name:"name",pkg:"time",typ:$String,tag:""},{prop:"offset",name:"offset",pkg:"time",typ:$Int,tag:""},{prop:"isDST",name:"isDST",pkg:"time",typ:$Bool,tag:""}]);CH.init([{prop:"when",name:"when",pkg:"time",typ:$Int64,tag:""},{prop:"index",name:"index",pkg:"time",typ:$Uint8,tag:""},{prop:"isstd",name:"isstd",pkg:"time",typ:$Bool,tag:""},{prop:"isutc",name:"isutc",pkg:"time",typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CJ=new CF.ptr("",CY.nil,CZ.nil,new $Int64(0,0),new $Int64(0,0),DA.nil);CK=new F.Once.ptr(false,false);R=$toNativeArray($kindInt,[260,265,524,526,528,274]);U=new DB(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);V=new DB(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);W=new DB(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);X=new DB(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);AB=D.New("time: invalid number");AE=D.New("bad value for field");AR=D.New("time: bad [0-9]*");BN=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BP=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BX=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CI=new CF.ptr("UTC",CY.nil,CZ.nil,new $Int64(0,0),new $Int64(0,0),DA.nil);$pkg.UTC=CI;$pkg.Local=CJ;h=E.Getenv("ZONEINFO");$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;CM=g[0];CQ=D.New("malformed time zone information");G();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["os"]=(function(){var $pkg={},$init,E,A,B,F,H,G,C,D,Z,AA,AS,BI,BJ,BL,CW,CX,CZ,DB,DC,DD,DF,DG,DH,DI,DP,DU,DV,DW,DX,EB,ED,EE,EF,AQ,AX,BX,CT,I,J,K,AB,AD,AG,AZ,BA,BC,BK,BM,BP,BS,BZ,CA,CD,CF,CL,CN,CO,CU;E=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["io"];F=$packages["runtime"];H=$packages["sync"];G=$packages["sync/atomic"];C=$packages["syscall"];D=$packages["time"];Z=$pkg.PathError=$newType(0,$kindStruct,"os.PathError","PathError","os",function(Op_,Path_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Path="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Path=Path_;this.Err=Err_;});AA=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError","SyscallError","os",function(Syscall_,Err_){this.$val=this;if(arguments.length===0){this.Syscall="";this.Err=$ifaceNil;return;}this.Syscall=Syscall_;this.Err=Err_;});AS=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError","LinkError","os",function(Op_,Old_,New_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Old="";this.New="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Old=Old_;this.New=New_;this.Err=Err_;});BI=$pkg.File=$newType(0,$kindStruct,"os.File","File","os",function(file_){this.$val=this;if(arguments.length===0){this.file=DU.nil;return;}this.file=file_;});BJ=$pkg.file=$newType(0,$kindStruct,"os.file","file","os",function(fd_,name_,dirinfo_,nepipe_){this.$val=this;if(arguments.length===0){this.fd=0;this.name="";this.dirinfo=DC.nil;this.nepipe=0;return;}this.fd=fd_;this.name=name_;this.dirinfo=dirinfo_;this.nepipe=nepipe_;});BL=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo","dirInfo","os",function(buf_,nbuf_,bufp_){this.$val=this;if(arguments.length===0){this.buf=DD.nil;this.nbuf=0;this.bufp=0;return;}this.buf=buf_;this.nbuf=nbuf_;this.bufp=bufp_;});CW=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo","FileInfo","os",null);CX=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode","FileMode","os",null);CZ=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat","fileStat","os",function(name_,size_,mode_,modTime_,sys_){this.$val=this;if(arguments.length===0){this.name="";this.size=new $Int64(0,0);this.mode=0;this.modTime=new D.Time.ptr(new $Int64(0,0),0,EB.nil);this.sys=$ifaceNil;return;}this.name=name_;this.size=size_;this.mode=mode_;this.modTime=modTime_;this.sys=sys_;});DB=$sliceType($String);DC=$ptrType(BL);DD=$sliceType($Uint8);DF=$sliceType(CW);DG=$ptrType(BI);DH=$ptrType(Z);DI=$ptrType(AS);DP=$arrayType($Uint8,4);DU=$ptrType(BJ);DV=$funcType([DU],[$error],false);DW=$ptrType($Int32);DX=$arrayType($Int64,2);EB=$ptrType(D.Location);ED=$arrayType($Uint8,32);EE=$ptrType(CZ);EF=$ptrType(AA);I=function(){var $ptr;return $pkg.Args;};J=function(){var $ptr,c,d,e;c=$global.process;if(!(c===undefined)){d=c.argv;$pkg.Args=$makeSlice(DB,($parseInt(d.length)-1>>0));e=0;while(true){if(!(e<($parseInt(d.length)-1>>0))){break;}((e<0||e>=$pkg.Args.$length)?$throwRuntimeError("index out of range"):$pkg.Args.$array[$pkg.Args.$offset+e]=$internalize(d[(e+1>>0)],$String));e=e+(1)>>0;}}if($pkg.Args.$length===0){$pkg.Args=new DB(["?"]);}};K=function(){var $ptr;};BI.ptr.prototype.readdirnames=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;d=DB.nil;e=$ifaceNil;f=this;if(f.file.dirinfo===DC.nil){f.file.dirinfo=new BL.ptr(DD.nil,0,0);f.file.dirinfo.buf=$makeSlice(DD,4096);}g=f.file.dirinfo;h=c;if(h<=0){h=100;c=-1;}d=$makeSlice(DB,0,h);while(true){if(!(!((c===0)))){break;}if(g.bufp>=g.nbuf){g.bufp=0;i=$ifaceNil;k=C.ReadDirent(f.file.fd,g.buf);j=AZ(k[0],k[1]);g.nbuf=j[0];i=j[1];if(!($interfaceIsEqual(i,$ifaceNil))){l=d;m=AB("readdirent",i);d=l;e=m;return[d,e];}if(g.nbuf<=0){break;}}n=0;o=0;p=n;q=o;r=C.ParseDirent($subslice(g.buf,g.bufp,g.nbuf),c,d);p=r[0];q=r[1];d=r[2];g.bufp=g.bufp+(p)>>0;c=c-(q)>>0;}if(c>=0&&(d.$length===0)){s=d;t=B.EOF;d=s;e=t;return[d,e];}u=d;v=$ifaceNil;d=u;e=v;return[d,e];};BI.prototype.readdirnames=function(c){return this.$val.readdirnames(c);};BI.ptr.prototype.Readdir=function(c){var $ptr,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=DF.nil;e=$ifaceNil;f=this;if(f===DG.nil){g=DF.nil;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}j=f.readdir(c);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d=i[0];e=i[1];$s=2;case 2:return[d,e];}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.Readdir};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.Readdir=function(c){return this.$val.Readdir(c);};BI.ptr.prototype.Readdirnames=function(c){var $ptr,c,d,e,f,g,h,i;d=DB.nil;e=$ifaceNil;f=this;if(f===DG.nil){g=DB.nil;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.readdirnames(c);d=i[0];e=i[1];return[d,e];};BI.prototype.Readdirnames=function(c){return this.$val.Readdirnames(c);};Z.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=2;case 2:return c.Op+" "+c.Path+": "+d;}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.Error=function(){return this.$val.Error();};AA.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=2;case 2:return c.Syscall+": "+d;}return;}if($f===undefined){$f={$blk:AA.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AA.prototype.Error=function(){return this.$val.Error();};AB=function(c,d){var $ptr,c,d;if($interfaceIsEqual(d,$ifaceNil)){return $ifaceNil;}return new AA.ptr(c,d);};$pkg.NewSyscallError=AB;AD=function(c){var $ptr,c;return AG(c);};$pkg.IsNotExist=AD;AG=function(c){var $ptr,c,d,e,f,g;d=c;if(d===$ifaceNil){e=d;return false;}else if($assertType(d,DH,true)[1]){f=d.$val;c=f.Err;}else if($assertType(d,DI,true)[1]){g=d.$val;c=g.Err;}return $interfaceIsEqual(c,new C.Errno(2))||$interfaceIsEqual(c,$pkg.ErrNotExist);};BI.ptr.prototype.Name=function(){var $ptr,c;c=this;return c.file.name;};BI.prototype.Name=function(){return this.$val.Name();};AS.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=2;case 2:return c.Op+" "+c.Old+" "+c.New+": "+d;}return;}if($f===undefined){$f={$blk:AS.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AS.prototype.Error=function(){return this.$val.Error();};BI.ptr.prototype.Read=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n;d=0;e=$ifaceNil;f=this;if(f===DG.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.read(c);d=i[0];j=i[1];if(d<0){d=0;}if((d===0)&&c.$length>0&&$interfaceIsEqual(j,$ifaceNil)){k=0;l=B.EOF;d=k;e=l;return[d,e];}if(!($interfaceIsEqual(j,$ifaceNil))){e=new Z.ptr("read",f.file.name,j);}m=d;n=e;d=m;e=n;return[d,e];};BI.prototype.Read=function(c){return this.$val.Read(c);};BI.ptr.prototype.ReadAt=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o;e=0;f=$ifaceNil;g=this;if(g===DG.nil){h=0;i=$pkg.ErrInvalid;e=h;f=i;return[e,f];}while(true){if(!(c.$length>0)){break;}j=g.pread(c,d);k=j[0];l=j[1];if((k===0)&&$interfaceIsEqual(l,$ifaceNil)){m=e;n=B.EOF;e=m;f=n;return[e,f];}if(!($interfaceIsEqual(l,$ifaceNil))){f=new Z.ptr("read",g.file.name,l);break;}e=e+(k)>>0;c=$subslice(c,k);d=(o=new $Int64(0,k),new $Int64(d.$high+o.$high,d.$low+o.$low));}return[e,f];};BI.prototype.ReadAt=function(c,d){return this.$val.ReadAt(c,d);};BI.ptr.prototype.Write=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l;d=0;e=$ifaceNil;f=this;if(f===DG.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.write(c);d=i[0];j=i[1];if(d<0){d=0;}if(!((d===c.$length))){e=B.ErrShortWrite;}BM(f,j);if(!($interfaceIsEqual(j,$ifaceNil))){e=new Z.ptr("write",f.file.name,j);}k=d;l=e;d=k;e=l;return[d,e];};BI.prototype.Write=function(c){return this.$val.Write(c);};BI.ptr.prototype.WriteAt=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m;e=0;f=$ifaceNil;g=this;if(g===DG.nil){h=0;i=$pkg.ErrInvalid;e=h;f=i;return[e,f];}while(true){if(!(c.$length>0)){break;}j=g.pwrite(c,d);k=j[0];l=j[1];if(!($interfaceIsEqual(l,$ifaceNil))){f=new Z.ptr("write",g.file.name,l);break;}e=e+(k)>>0;c=$subslice(c,k);d=(m=new $Int64(0,k),new $Int64(d.$high+m.$high,d.$low+m.$low));}return[e,f];};BI.prototype.WriteAt=function(c,d){return this.$val.WriteAt(c,d);};BI.ptr.prototype.Seek=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=new $Int64(0,0);f=$ifaceNil;g=this;if(g===DG.nil){h=new $Int64(0,0);i=$pkg.ErrInvalid;e=h;f=i;return[e,f];}j=g.seek(c,d);k=j[0];l=j[1];if($interfaceIsEqual(l,$ifaceNil)&&!(g.file.dirinfo===DC.nil)&&!((k.$high===0&&k.$low===0))){l=new C.Errno(21);}if(!($interfaceIsEqual(l,$ifaceNil))){m=new $Int64(0,0);n=new Z.ptr("seek",g.file.name,l);e=m;f=n;return[e,f];}o=k;p=$ifaceNil;e=o;f=p;return[e,f];};BI.prototype.Seek=function(c,d){return this.$val.Seek(c,d);};BI.ptr.prototype.WriteString=function(c){var $ptr,c,d,e,f,g,h,i;d=0;e=$ifaceNil;f=this;if(f===DG.nil){g=0;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.Write(new DD($stringToBytes(c)));d=i[0];e=i[1];return[d,e];};BI.prototype.WriteString=function(c){return this.$val.WriteString(c);};BI.ptr.prototype.Chdir=function(){var $ptr,c,d;c=this;if(c===DG.nil){return $pkg.ErrInvalid;}d=C.Fchdir(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){return new Z.ptr("chdir",c.file.name,d);}return $ifaceNil;};BI.prototype.Chdir=function(){return this.$val.Chdir();};AZ=function(c,d){var $ptr,c,d;if(c<0){c=0;}return[c,d];};BA=function(){$panic("Native function not implemented: os.sigpipe");};BC=function(c){var $ptr,c,d;d=0;d=(d|((new CX(c).Perm()>>>0)))>>>0;if(!((((c&8388608)>>>0)===0))){d=(d|(2048))>>>0;}if(!((((c&4194304)>>>0)===0))){d=(d|(1024))>>>0;}if(!((((c&1048576)>>>0)===0))){d=(d|(512))>>>0;}return d;};BI.ptr.prototype.Chmod=function(c){var $ptr,c,d,e;d=this;if(d===DG.nil){return $pkg.ErrInvalid;}e=C.Fchmod(d.file.fd,BC(c));if(!($interfaceIsEqual(e,$ifaceNil))){return new Z.ptr("chmod",d.file.name,e);}return $ifaceNil;};BI.prototype.Chmod=function(c){return this.$val.Chmod(c);};BI.ptr.prototype.Chown=function(c,d){var $ptr,c,d,e,f;e=this;if(e===DG.nil){return $pkg.ErrInvalid;}f=C.Fchown(e.file.fd,c,d);if(!($interfaceIsEqual(f,$ifaceNil))){return new Z.ptr("chown",e.file.name,f);}return $ifaceNil;};BI.prototype.Chown=function(c,d){return this.$val.Chown(c,d);};BI.ptr.prototype.Truncate=function(c){var $ptr,c,d,e;d=this;if(d===DG.nil){return $pkg.ErrInvalid;}e=C.Ftruncate(d.file.fd,c);if(!($interfaceIsEqual(e,$ifaceNil))){return new Z.ptr("truncate",d.file.name,e);}return $ifaceNil;};BI.prototype.Truncate=function(c){return this.$val.Truncate(c);};BI.ptr.prototype.Sync=function(){var $ptr,c,d;c=this;if(c===DG.nil){return $pkg.ErrInvalid;}d=C.Fsync(c.file.fd);if(!($interfaceIsEqual(d,$ifaceNil))){return AB("fsync",d);}return $ifaceNil;};BI.prototype.Sync=function(){return this.$val.Sync();};BI.ptr.prototype.Fd=function(){var $ptr,c;c=this;if(c===DG.nil){return 4294967295;}return(c.file.fd>>>0);};BI.prototype.Fd=function(){return this.$val.Fd();};BK=function(c,d){var $ptr,c,d,e,f;e=(c>>0);if(e<0){return DG.nil;}f=new BI.ptr(new BJ.ptr(e,d,DC.nil,0));F.SetFinalizer(f.file,new DV($methodExpr(DU,"close")));return f;};$pkg.NewFile=BK;BM=function(c,d){var $ptr,c,d;if($interfaceIsEqual(d,new C.Errno(32))){if(G.AddInt32((c.$ptr_nepipe||(c.$ptr_nepipe=new DW(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},c))),1)>=10){BA();}}else{G.StoreInt32((c.$ptr_nepipe||(c.$ptr_nepipe=new DW(function(){return this.$target.file.nepipe;},function($v){this.$target.file.nepipe=$v;},c))),0);}};BI.ptr.prototype.Close=function(){var $ptr,c;c=this;if(c===DG.nil){return $pkg.ErrInvalid;}return c.file.close();};BI.prototype.Close=function(){return this.$val.Close();};BJ.ptr.prototype.close=function(){var $ptr,c,d,e;c=this;if(c===DU.nil||c.fd<0){return new C.Errno(22);}d=$ifaceNil;e=C.Close(c.fd);if(!($interfaceIsEqual(e,$ifaceNil))){d=new Z.ptr("close",c.name,e);}c.fd=-1;F.SetFinalizer(c,$ifaceNil);return d;};BJ.prototype.close=function(){return this.$val.close();};BI.ptr.prototype.Stat=function(){var $ptr,c,d,e;c=this;if(c===DG.nil){return[$ifaceNil,$pkg.ErrInvalid];}d=new C.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DP.zero(),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,DX.zero());e=C.Fstat(c.file.fd,d);if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,new Z.ptr("stat",c.file.name,e)];}return[CN(d,c.file.name),$ifaceNil];};BI.prototype.Stat=function(){return this.$val.Stat();};BP=function(c){var $ptr,c,d,e;d=new C.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DP.zero(),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new C.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,DX.zero());e=C.Lstat(c,d);if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,new Z.ptr("lstat",c,e)];}return[CN(d,c),$ifaceNil];};$pkg.Lstat=BP;BI.ptr.prototype.readdir=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=DF.nil;e=$ifaceNil;f=this;g=f.file.name;if(g===""){g=".";}h=f.Readdirnames(c);i=h[0];e=h[1];d=$makeSlice(DF,0,i.$length);j=i;k=0;case 1:if(!(k<j.$length)){$s=2;continue;}l=((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]);n=AX(g+"/"+l);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(AD(p)){k++;$s=1;continue;}if(!($interfaceIsEqual(p,$ifaceNil))){q=d;r=p;d=q;e=r;return[d,e];}d=$append(d,o);k++;$s=1;continue;case 2:s=d;t=e;d=s;e=t;return[d,e];}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.readdir};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.readdir=function(c){return this.$val.readdir(c);};BI.ptr.prototype.read=function(c){var $ptr,c,d,e,f,g,h;d=0;e=$ifaceNil;f=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}h=C.Read(f.file.fd,c);g=AZ(h[0],h[1]);d=g[0];e=g[1];return[d,e];};BI.prototype.read=function(c){return this.$val.read(c);};BI.ptr.prototype.pread=function(c,d){var $ptr,c,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}i=C.Pread(g.file.fd,c,d);h=AZ(i[0],i[1]);e=h[0];f=h[1];return[e,f];};BI.prototype.pread=function(c,d){return this.$val.pread(c,d);};BI.ptr.prototype.write=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m;d=0;e=$ifaceNil;f=this;while(true){g=c;if(true&&g.$length>1073741824){g=$subslice(g,0,1073741824);}i=C.Write(f.file.fd,g);h=AZ(i[0],i[1]);j=h[0];k=h[1];d=d+(j)>>0;if(0<j&&j<g.$length||$interfaceIsEqual(k,new C.Errno(4))){c=$subslice(c,j);continue;}if(true&&!((g.$length===c.$length))&&$interfaceIsEqual(k,$ifaceNil)){c=$subslice(c,j);continue;}l=d;m=k;d=l;e=m;return[d,e];}};BI.prototype.write=function(c){return this.$val.write(c);};BI.ptr.prototype.pwrite=function(c,d){var $ptr,c,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}i=C.Pwrite(g.file.fd,c,d);h=AZ(i[0],i[1]);e=h[0];f=h[1];return[e,f];};BI.prototype.pwrite=function(c,d){return this.$val.pwrite(c,d);};BI.ptr.prototype.seek=function(c,d){var $ptr,c,d,e,f,g,h;e=new $Int64(0,0);f=$ifaceNil;g=this;h=C.Seek(g.file.fd,c,d);e=h[0];f=h[1];return[e,f];};BI.prototype.seek=function(c,d){return this.$val.seek(c,d);};BS=function(c){var $ptr,c,d;d=c.length-1>>0;while(true){if(!(d>0&&(c.charCodeAt(d)===47))){break;}c=c.substring(0,d);d=d-(1)>>0;}d=d-(1)>>0;while(true){if(!(d>=0)){break;}if(c.charCodeAt(d)===47){c=c.substring((d+1>>0));break;}d=d-(1)>>0;}return c;};BZ=function(){var $ptr;BX=CA;};CA=function(c){var $ptr,c;return!($interfaceIsEqual(c,new C.Errno(45)));};CD=function(c){var $ptr,c;return 47===c;};$pkg.IsPathSeparator=CD;CF=function(){var $ptr;$pkg.Args=I();};CL=function(c){var $ptr,c;if(c===0){K();}C.Exit(c);};$pkg.Exit=CL;CN=function(c,d){var $ptr,c,d,e,f;e=new CZ.ptr(BS(d),c.Size,0,$clone(CO(c.Mtimespec),D.Time),c);e.mode=(((c.Mode&511)>>>0)>>>0);f=(c.Mode&61440)>>>0;if(f===24576||f===57344){e.mode=(e.mode|(67108864))>>>0;}else if(f===8192){e.mode=(e.mode|(69206016))>>>0;}else if(f===16384){e.mode=(e.mode|(2147483648))>>>0;}else if(f===4096){e.mode=(e.mode|(33554432))>>>0;}else if(f===40960){e.mode=(e.mode|(134217728))>>>0;}else if(f===32768){}else if(f===49152){e.mode=(e.mode|(16777216))>>>0;}if(!((((c.Mode&1024)>>>0)===0))){e.mode=(e.mode|(4194304))>>>0;}if(!((((c.Mode&2048)>>>0)===0))){e.mode=(e.mode|(8388608))>>>0;}if(!((((c.Mode&512)>>>0)===0))){e.mode=(e.mode|(1048576))>>>0;}return e;};CO=function(c){var $ptr,c;c=$clone(c,C.Timespec);return D.Unix(c.Sec,c.Nsec);};CU=function(){var $ptr,c,d,e,f,g,h,i;c=C.Sysctl("kern.osrelease");d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}f=0;g=d;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);f=h;if(!((d.charCodeAt(f)===46))){h+=i[1];continue;}h+=i[1];}if(f>2||(f===2)&&d.charCodeAt(0)>=49&&d.charCodeAt(1)>=49){CT=true;}};CX.prototype.String=function(){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=this.$val;d=ED.zero();e=0;f="dalTLDpSugct";g=0;while(true){if(!(g<f.length)){break;}h=$decodeRune(f,g);i=g;j=h[0];if(!((((c&(((k=((31-i>>0)>>>0),k<32?(1<<k):0)>>>0)))>>>0)===0))){((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=(j<<24>>>24));e=e+(1)>>0;}g+=h[1];}if(e===0){((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=45);e=e+(1)>>0;}l="rwxrwxrwx";m=0;while(true){if(!(m<l.length)){break;}n=$decodeRune(l,m);o=m;p=n[0];if(!((((c&(((q=((8-o>>0)>>>0),q<32?(1<<q):0)>>>0)))>>>0)===0))){((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=(p<<24>>>24));}else{((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=45);}e=e+(1)>>0;m+=n[1];}return $bytesToString($subslice(new DD(d),0,e));};$ptrType(CX).prototype.String=function(){return new CX(this.$get()).String();};CX.prototype.IsDir=function(){var $ptr,c;c=this.$val;return!((((c&2147483648)>>>0)===0));};$ptrType(CX).prototype.IsDir=function(){return new CX(this.$get()).IsDir();};CX.prototype.IsRegular=function(){var $ptr,c;c=this.$val;return((c&2399141888)>>>0)===0;};$ptrType(CX).prototype.IsRegular=function(){return new CX(this.$get()).IsRegular();};CX.prototype.Perm=function(){var $ptr,c;c=this.$val;return(c&511)>>>0;};$ptrType(CX).prototype.Perm=function(){return new CX(this.$get()).Perm();};CZ.ptr.prototype.Name=function(){var $ptr,c;c=this;return c.name;};CZ.prototype.Name=function(){return this.$val.Name();};CZ.ptr.prototype.IsDir=function(){var $ptr,c;c=this;return new CX(c.Mode()).IsDir();};CZ.prototype.IsDir=function(){return this.$val.IsDir();};CZ.ptr.prototype.Size=function(){var $ptr,c;c=this;return c.size;};CZ.prototype.Size=function(){return this.$val.Size();};CZ.ptr.prototype.Mode=function(){var $ptr,c;c=this;return c.mode;};CZ.prototype.Mode=function(){return this.$val.Mode();};CZ.ptr.prototype.ModTime=function(){var $ptr,c;c=this;return c.modTime;};CZ.prototype.ModTime=function(){return this.$val.ModTime();};CZ.ptr.prototype.Sys=function(){var $ptr,c;c=this;return c.sys;};CZ.prototype.Sys=function(){return this.$val.Sys();};DH.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];EF.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DI.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DG.methods=[{prop:"readdirnames",name:"readdirnames",pkg:"os",typ:$funcType([$Int],[DB,$error],false)},{prop:"Readdir",name:"Readdir",pkg:"",typ:$funcType([$Int],[DF,$error],false)},{prop:"Readdirnames",name:"Readdirnames",pkg:"",typ:$funcType([$Int],[DB,$error],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([DD],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([DD,$Int64],[$Int,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([DD],[$Int,$error],false)},{prop:"WriteAt",name:"WriteAt",pkg:"",typ:$funcType([DD,$Int64],[$Int,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"Chdir",name:"Chdir",pkg:"",typ:$funcType([],[$error],false)},{prop:"Chmod",name:"Chmod",pkg:"",typ:$funcType([CX],[$error],false)},{prop:"Chown",name:"Chown",pkg:"",typ:$funcType([$Int,$Int],[$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int64],[$error],false)},{prop:"Sync",name:"Sync",pkg:"",typ:$funcType([],[$error],false)},{prop:"Fd",name:"Fd",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Stat",name:"Stat",pkg:"",typ:$funcType([],[CW,$error],false)},{prop:"readdir",name:"readdir",pkg:"os",typ:$funcType([$Int],[DF,$error],false)},{prop:"read",name:"read",pkg:"os",typ:$funcType([DD],[$Int,$error],false)},{prop:"pread",name:"pread",pkg:"os",typ:$funcType([DD,$Int64],[$Int,$error],false)},{prop:"write",name:"write",pkg:"os",typ:$funcType([DD],[$Int,$error],false)},{prop:"pwrite",name:"pwrite",pkg:"os",typ:$funcType([DD,$Int64],[$Int,$error],false)},{prop:"seek",name:"seek",pkg:"os",typ:$funcType([$Int64,$Int],[$Int64,$error],false)}];DU.methods=[{prop:"close",name:"close",pkg:"os",typ:$funcType([],[$error],false)}];CX.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsRegular",name:"IsRegular",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Perm",name:"Perm",pkg:"",typ:$funcType([],[CX],false)}];EE.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[CX],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[D.Time],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}];Z.init([{prop:"Op",name:"Op",pkg:"",typ:$String,tag:""},{prop:"Path",name:"Path",pkg:"",typ:$String,tag:""},{prop:"Err",name:"Err",pkg:"",typ:$error,tag:""}]);AA.init([{prop:"Syscall",name:"Syscall",pkg:"",typ:$String,tag:""},{prop:"Err",name:"Err",pkg:"",typ:$error,tag:""}]);AS.init([{prop:"Op",name:"Op",pkg:"",typ:$String,tag:""},{prop:"Old",name:"Old",pkg:"",typ:$String,tag:""},{prop:"New",name:"New",pkg:"",typ:$String,tag:""},{prop:"Err",name:"Err",pkg:"",typ:$error,tag:""}]);BI.init([{prop:"file",name:"",pkg:"os",typ:DU,tag:""}]);BJ.init([{prop:"fd",name:"fd",pkg:"os",typ:$Int,tag:""},{prop:"name",name:"name",pkg:"os",typ:$String,tag:""},{prop:"dirinfo",name:"dirinfo",pkg:"os",typ:DC,tag:""},{prop:"nepipe",name:"nepipe",pkg:"os",typ:$Int32,tag:""}]);BL.init([{prop:"buf",name:"buf",pkg:"os",typ:DD,tag:""},{prop:"nbuf",name:"nbuf",pkg:"os",typ:$Int,tag:""},{prop:"bufp",name:"bufp",pkg:"os",typ:$Int,tag:""}]);CW.init([{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[D.Time],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[CX],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}]);CZ.init([{prop:"name",name:"name",pkg:"os",typ:$String,tag:""},{prop:"size",name:"size",pkg:"os",typ:$Int64,tag:""},{prop:"mode",name:"mode",pkg:"os",typ:CX,tag:""},{prop:"modTime",name:"modTime",pkg:"os",typ:D.Time,tag:""},{prop:"sys",name:"sys",pkg:"os",typ:$emptyInterface,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Args=DB.nil;CT=false;$pkg.ErrInvalid=E.New("invalid argument");$pkg.ErrPermission=E.New("permission denied");$pkg.ErrExist=E.New("file already exists");$pkg.ErrNotExist=E.New("file does not exist");AQ=E.New("os: process already finished");$pkg.Stdin=BK((C.Stdin>>>0),"/dev/stdin");$pkg.Stdout=BK((C.Stdout>>>0),"/dev/stdout");$pkg.Stderr=BK((C.Stderr>>>0),"/dev/stderr");BX=(function(c){var $ptr,c;return true;});AX=BP;J();BZ();CF();CU();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strconv"]=(function(){var $pkg={},$init,B,A,C,Y,AC,AH,AO,AX,CK,CL,CM,CN,CP,CQ,CR,CS,CT,CU,CV,CW,CX,G,AD,AI,AJ,AK,AP,CF,AQ,CG,BD,BE,BF,BG,BM,Z,AA,AB,AE,AF,AG,AL,AM,AN,AS,AT,AU,AV,AW,AY,AZ,BA,BB,BC,BI,BJ,BN,BO,BP,BR,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];Y=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal","decimal","strconv",function(d_,nd_,dp_,neg_,trunc_){this.$val=this;if(arguments.length===0){this.d=CN.zero();this.nd=0;this.dp=0;this.neg=false;this.trunc=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;this.trunc=trunc_;});AC=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat","leftCheat","strconv",function(delta_,cutoff_){this.$val=this;if(arguments.length===0){this.delta=0;this.cutoff="";return;}this.delta=delta_;this.cutoff=cutoff_;});AH=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat","extFloat","strconv",function(mant_,exp_,neg_){this.$val=this;if(arguments.length===0){this.mant=new $Uint64(0,0);this.exp=0;this.neg=false;return;}this.mant=mant_;this.exp=exp_;this.neg=neg_;});AO=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo","floatInfo","strconv",function(mantbits_,expbits_,bias_){this.$val=this;if(arguments.length===0){this.mantbits=0;this.expbits=0;this.bias=0;return;}this.mantbits=mantbits_;this.expbits=expbits_;this.bias=bias_;});AX=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice","decimalSlice","strconv",function(d_,nd_,dp_,neg_){this.$val=this;if(arguments.length===0){this.d=CP.nil;this.nd=0;this.dp=0;this.neg=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;});CK=$sliceType(AC);CL=$sliceType($Uint16);CM=$sliceType($Uint32);CN=$arrayType($Uint8,800);CP=$sliceType($Uint8);CQ=$arrayType($Uint8,24);CR=$arrayType($Uint8,32);CS=$ptrType(AO);CT=$arrayType($Uint8,65);CU=$arrayType($Uint8,4);CV=$ptrType(Y);CW=$ptrType(AX);CX=$ptrType(AH);Y.ptr.prototype.String=function(){var $ptr,a,b,c,d;a=this;b=10+a.nd>>0;if(a.dp>0){b=b+(a.dp)>>0;}if(a.dp<0){b=b+(-a.dp)>>0;}c=$makeSlice(CP,b);d=0;if(a.nd===0){return"0";}else if(a.dp<=0){((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=48);d=d+(1)>>0;((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+(Z($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new CP(a.d),0,a.nd)))>>0;}else if(a.dp<a.nd){d=d+($copySlice($subslice(c,d),$subslice(new CP(a.d),0,a.dp)))>>0;((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new CP(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new CP(a.d),0,a.nd)))>>0;d=d+(Z($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return $bytesToString($subslice(c,0,d));};Y.prototype.String=function(){return this.$val.String();};Z=function(a){var $ptr,a,b,c,d;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=c;((d<0||d>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+d]=48);c++;}return a.$length;};AA=function(a){var $ptr,a,b,c;while(true){if(!(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Y.ptr.prototype.Assign=function(a){var $ptr,a,b,c,d,e,f,g,h;b=this;c=CQ.zero();d=0;while(true){if(!((a.$high>0||(a.$high===0&&a.$low>0)))){break;}e=$div64(a,new $Uint64(0,10),false);a=(f=$mul64(new $Uint64(0,10),e),new $Uint64(a.$high-f.$high,a.$low-f.$low));((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d]=(new $Uint64(a.$high+0,a.$low+48).$low<<24>>>24));d=d+(1)>>0;a=e;}b.nd=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}(g=b.d,h=b.nd,((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]=((d<0||d>=c.length)?$throwRuntimeError("index out of range"):c[d])));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AA(b);};Y.prototype.Assign=function(a){return this.$val.Assign(a);};AB=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;c=0;d=0;e=0;while(true){if(!(((f=b,f<32?(e>>>f):0)>>>0)===0)){break;}if(c>=a.nd){if(e===0){a.nd=0;return;}while(true){if(!(((g=b,g<32?(e>>>g):0)>>>0)===0)){break;}e=e*10>>>0;c=c+(1)>>0;}break;}i=((h=a.d,((c<0||c>=h.length)?$throwRuntimeError("index out of range"):h[c]))>>>0);e=((e*10>>>0)+i>>>0)-48>>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;while(true){if(!(c<a.nd)){break;}k=((j=a.d,((c<0||c>=j.length)?$throwRuntimeError("index out of range"):j[c]))>>>0);m=(l=b,l<32?(e>>>l):0)>>>0;e=e-(((n=b,n<32?(m<<n):0)>>>0))>>>0;(o=a.d,((d<0||d>=o.length)?$throwRuntimeError("index out of range"):o[d]=((m+48>>>0)<<24>>>24)));d=d+(1)>>0;e=((e*10>>>0)+k>>>0)-48>>>0;c=c+(1)>>0;}while(true){if(!(e>0)){break;}q=(p=b,p<32?(e>>>p):0)>>>0;e=e-(((r=b,r<32?(q<<r):0)>>>0))>>>0;if(d<800){(s=a.d,((d<0||d>=s.length)?$throwRuntimeError("index out of range"):s[d]=((q+48>>>0)<<24>>>24)));d=d+(1)>>0;}else if(q>0){a.trunc=true;}e=e*10>>>0;}a.nd=d;AA(a);};AE=function(a,b){var $ptr,a,b,c;c=0;while(true){if(!(c<b.length)){break;}if(c>=a.$length){return true;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])<b.charCodeAt(c);}c=c+(1)>>0;}return false;};AF=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AD.$length)?$throwRuntimeError("index out of range"):AD.$array[AD.$offset+b]).delta;if(AE($subslice(new CP(a.d),0,a.nd),((b<0||b>=AD.$length)?$throwRuntimeError("index out of range"):AD.$array[AD.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}f=f+(((g=b,g<32?(((((h=a.d,((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]))>>>0)-48>>>0))<<g):0)>>>0))>>>0;j=(i=f/10,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));k=f-(10*j>>>0)>>>0;e=e-(1)>>0;if(e<800){(l=a.d,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e]=((k+48>>>0)<<24>>>24)));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(true){if(!(f>0)){break;}n=(m=f/10,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));o=f-(10*n>>>0)>>>0;e=e-(1)>>0;if(e<800){(p=a.d,((e<0||e>=p.length)?$throwRuntimeError("index out of range"):p[e]=((o+48>>>0)<<24>>>24)));}else if(!((o===0))){a.trunc=true;}f=n;}a.nd=a.nd+(c)>>0;if(a.nd>=800){a.nd=800;}a.dp=a.dp+(c)>>0;AA(a);};Y.ptr.prototype.Shift=function(a){var $ptr,a,b;b=this;if(b.nd===0){}else if(a>0){while(true){if(!(a>28)){break;}AF(b,28);a=a-(28)>>0;}AF(b,(a>>>0));}else if(a<0){while(true){if(!(a<-28)){break;}AB(b,28);a=a+(28)>>0;}AB(b,(-a>>>0));}};Y.prototype.Shift=function(a){return this.$val.Shift(a);};AG=function(a,b){var $ptr,a,b,c,d,e,f,g;if(b<0||b>=a.nd){return false;}if(((c=a.d,((b<0||b>=c.length)?$throwRuntimeError("index out of range"):c[b]))===53)&&((b+1>>0)===a.nd)){if(a.trunc){return true;}return b>0&&!(((d=(((e=a.d,f=b-1>>0,((f<0||f>=e.length)?$throwRuntimeError("index out of range"):e[f]))-48<<24>>>24))%2,d===d?d:$throwRuntimeError("integer divide by zero"))===0));}return(g=a.d,((b<0||b>=g.length)?$throwRuntimeError("index out of range"):g[b]))>=53;};Y.ptr.prototype.Round=function(a){var $ptr,a,b;b=this;if(a<0||a>=b.nd){return;}if(AG(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Y.prototype.Round=function(a){return this.$val.Round(a);};Y.ptr.prototype.RoundDown=function(a){var $ptr,a,b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AA(b);};Y.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Y.ptr.prototype.RoundUp=function(a){var $ptr,a,b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(true){if(!(c>=0)){break;}e=(d=b.d,((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));if(e<57){(g=b.d,((c<0||c>=g.length)?$throwRuntimeError("index out of range"):g[c]=((f=b.d,((c<0||c>=f.length)?$throwRuntimeError("index out of range"):f[c]))+(1)<<24>>>24)));b.nd=c+1>>0;return;}c=c-(1)>>0;}b.d[0]=49;b.nd=1;b.dp=b.dp+(1)>>0;};Y.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Y.ptr.prototype.RoundedInteger=function(){var $ptr,a,b,c,d,e,f,g;a=this;if(a.dp>20){return new $Uint64(4294967295,4294967295);}b=0;c=new $Uint64(0,0);b=0;while(true){if(!(b<a.dp&&b<a.nd)){break;}c=(d=$mul64(c,new $Uint64(0,10)),e=new $Uint64(0,((f=a.d,((b<0||b>=f.length)?$throwRuntimeError("index out of range"):f[b]))-48<<24>>>24)),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(true){if(!(b<a.dp)){break;}c=$mul64(c,(new $Uint64(0,10)));b=b+(1)>>0;}if(AG(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Y.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AH.ptr.prototype.AssignComputeBounds=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=new AH.ptr(new $Uint64(0,0),0,false);f=new AH.ptr(new $Uint64(0,0),0,false);g=this;g.mant=a;g.exp=b-(d.mantbits>>0)>>0;g.neg=c;if(g.exp<=0&&(h=$shiftLeft64(($shiftRightUint64(a,(-g.exp>>>0))),(-g.exp>>>0)),(a.$high===h.$high&&a.$low===h.$low))){g.mant=$shiftRightUint64(g.mant,((-g.exp>>>0)));g.exp=0;i=$clone(g,AH);j=$clone(g,AH);AH.copy(e,i);AH.copy(f,j);return[e,f];}k=b-d.bias>>0;AH.copy(f,new AH.ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg));if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){AH.copy(e,new AH.ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg));}else{AH.copy(e,new AH.ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg));}return[e,f];};AH.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AH.ptr.prototype.Normalize=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n;a=0;b=this;c=b.mant;d=b.exp;e=c;f=d;if((e.$high===0&&e.$low===0)){a=0;return a;}if((g=$shiftRightUint64(e,32),(g.$high===0&&g.$low===0))){e=$shiftLeft64(e,(32));f=f-(32)>>0;}if((h=$shiftRightUint64(e,48),(h.$high===0&&h.$low===0))){e=$shiftLeft64(e,(16));f=f-(16)>>0;}if((i=$shiftRightUint64(e,56),(i.$high===0&&i.$low===0))){e=$shiftLeft64(e,(8));f=f-(8)>>0;}if((j=$shiftRightUint64(e,60),(j.$high===0&&j.$low===0))){e=$shiftLeft64(e,(4));f=f-(4)>>0;}if((k=$shiftRightUint64(e,62),(k.$high===0&&k.$low===0))){e=$shiftLeft64(e,(2));f=f-(2)>>0;}if((l=$shiftRightUint64(e,63),(l.$high===0&&l.$low===0))){e=$shiftLeft64(e,(1));f=f-(1)>>0;}a=((b.exp-f>>0)>>>0);m=e;n=f;b.mant=m;b.exp=n;return a;};AH.prototype.Normalize=function(){return this.$val.Normalize();};AH.ptr.prototype.Multiply=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;a=$clone(a,AH);b=this;c=$shiftRightUint64(b.mant,32);d=new $Uint64(0,(b.mant.$low>>>0));e=c;f=d;g=$shiftRightUint64(a.mant,32);h=new $Uint64(0,(a.mant.$low>>>0));i=g;j=h;k=$mul64(e,j);l=$mul64(f,i);b.mant=(m=(n=$mul64(e,i),o=$shiftRightUint64(k,32),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=$shiftRightUint64(l,32),new $Uint64(m.$high+p.$high,m.$low+p.$low));u=(q=(r=new $Uint64(0,(k.$low>>>0)),s=new $Uint64(0,(l.$low>>>0)),new $Uint64(r.$high+s.$high,r.$low+s.$low)),t=$shiftRightUint64(($mul64(f,j)),32),new $Uint64(q.$high+t.$high,q.$low+t.$low));u=(v=new $Uint64(0,2147483648),new $Uint64(u.$high+v.$high,u.$low+v.$low));b.mant=(w=b.mant,x=($shiftRightUint64(u,32)),new $Uint64(w.$high+x.$high,w.$low+x.$low));b.exp=(b.exp+a.exp>>0)+64>>0;};AH.prototype.Multiply=function(a){return this.$val.Multiply(a);};AH.ptr.prototype.AssignDecimal=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=false;g=this;h=0;if(d){h=h+(4)>>0;}g.mant=a;g.exp=0;g.neg=c;j=(i=((b- -348>>0))/8,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"));if(b<-348||j>=87){f=false;return f;}l=(k=((b- -348>>0))%8,k===k?k:$throwRuntimeError("integer divide by zero"));if(l<19&&(m=(n=19-l>>0,((n<0||n>=AK.length)?$throwRuntimeError("index out of range"):AK[n])),(a.$high<m.$high||(a.$high===m.$high&&a.$low<m.$low)))){g.mant=$mul64(g.mant,(((l<0||l>=AK.length)?$throwRuntimeError("index out of range"):AK[l])));g.Normalize();}else{g.Normalize();g.Multiply(((l<0||l>=AI.length)?$throwRuntimeError("index out of range"):AI[l]));h=h+(4)>>0;}g.Multiply(((j<0||j>=AJ.length)?$throwRuntimeError("index out of range"):AJ[j]));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<<p):0)>>0;q=e.bias-63>>0;r=0;if(g.exp<=q){r=(((63-e.mantbits>>>0)+1>>>0)+((q-g.exp>>0)>>>0)>>>0);}else{r=(63-e.mantbits>>>0);}s=$shiftLeft64(new $Uint64(0,1),((r-1>>>0)));w=(t=g.mant,u=(v=$shiftLeft64(new $Uint64(0,1),r),new $Uint64(v.$high-0,v.$low-1)),new $Uint64(t.$high&u.$high,(t.$low&u.$low)>>>0));if((x=(y=new $Int64(s.$high,s.$low),z=new $Int64(0,h),new $Int64(y.$high-z.$high,y.$low-z.$low)),aa=new $Int64(w.$high,w.$low),(x.$high<aa.$high||(x.$high===aa.$high&&x.$low<aa.$low)))&&(ab=new $Int64(w.$high,w.$low),ac=(ad=new $Int64(s.$high,s.$low),ae=new $Int64(0,h),new $Int64(ad.$high+ae.$high,ad.$low+ae.$low)),(ab.$high<ac.$high||(ab.$high===ac.$high&&ab.$low<ac.$low)))){f=false;return f;}f=true;return f;};AH.prototype.AssignDecimal=function(a,b,c,d,e){return this.$val.AssignDecimal(a,b,c,d,e);};AH.ptr.prototype.frexp10=function(){var $ptr,a,b,c,d,e,f,g,h,i,j;a=0;b=0;c=this;e=(d=($imul(((-46-c.exp>>0)),28))/93,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));g=(f=((e- -348>>0))/8,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"));Loop:while(true){h=(c.exp+((g<0||g>=AJ.length)?$throwRuntimeError("index out of range"):AJ[g]).exp>>0)+64>>0;if(h<-60){g=g+(1)>>0;}else if(h>-32){g=g-(1)>>0;}else{break Loop;}}c.Multiply(((g<0||g>=AJ.length)?$throwRuntimeError("index out of range"):AJ[g]));i=-((-348+($imul(g,8))>>0));j=g;a=i;b=j;return[a,b];};AH.prototype.frexp10=function(){return this.$val.frexp10();};AL=function(a,b,c){var $ptr,a,b,c,d,e,f;d=0;e=c.frexp10();d=e[0];f=e[1];a.Multiply(((f<0||f>=AJ.length)?$throwRuntimeError("index out of range"):AJ[f]));b.Multiply(((f<0||f>=AJ.length)?$throwRuntimeError("index out of range"):AJ[f]));return d;};AH.ptr.prototype.FixedDecimal=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=this;if((d=c.mant,(d.$high===0&&d.$low===0))){a.nd=0;a.dp=0;a.neg=c.neg;return true;}if(b===0){$panic(new $String("strconv: internal error: extFloat.FixedDecimal called with n == 0"));}c.Normalize();e=c.frexp10();f=e[0];g=(-c.exp>>>0);h=($shiftRightUint64(c.mant,g).$low>>>0);k=(i=c.mant,j=$shiftLeft64(new $Uint64(0,h),g),new $Uint64(i.$high-j.$high,i.$low-j.$low));l=new $Uint64(0,1);m=b;n=0;o=new $Uint64(0,1);p=0;q=new $Uint64(0,1);r=p;s=q;while(true){if(!(r<20)){break;}if((t=new $Uint64(0,h),(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low)))){n=r;break;}s=$mul64(s,(new $Uint64(0,10)));r=r+(1)>>0;}u=h;if(n>m){o=(v=n-m>>0,((v<0||v>=AK.length)?$throwRuntimeError("index out of range"):AK[v]));h=(w=h/((o.$low>>>0)),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-(($imul(h,(o.$low>>>0))>>>0))>>>0;}else{u=0;}x=CR.zero();y=32;z=h;while(true){if(!(z>0)){break;}ab=(aa=z/10,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>>0:$throwRuntimeError("integer divide by zero"));z=z-(($imul(10,ab)>>>0))>>>0;y=y-(1)>>0;((y<0||y>=x.length)?$throwRuntimeError("index out of range"):x[y]=((z+48>>>0)<<24>>>24));z=ab;}ac=y;while(true){if(!(ac<32)){break;}(ad=a.d,ae=ac-y>>0,((ae<0||ae>=ad.$length)?$throwRuntimeError("index out of range"):ad.$array[ad.$offset+ae]=((ac<0||ac>=x.length)?$throwRuntimeError("index out of range"):x[ac])));ac=ac+(1)>>0;}af=32-y>>0;a.nd=af;a.dp=n+f>>0;m=m-(af)>>0;if(m>0){if(!((u===0))||!((o.$high===0&&o.$low===1))){$panic(new $String("strconv: internal error, rest != 0 but needed > 0"));}while(true){if(!(m>0)){break;}k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ag=$mul64(new $Uint64(0,2),l),ah=$shiftLeft64(new $Uint64(0,1),g),(ag.$high>ah.$high||(ag.$high===ah.$high&&ag.$low>ah.$low)))){return false;}ai=$shiftRightUint64(k,g);(aj=a.d,((af<0||af>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+af]=(new $Uint64(ai.$high+0,ai.$low+48).$low<<24>>>24)));k=(ak=$shiftLeft64(ai,g),new $Uint64(k.$high-ak.$high,k.$low-ak.$low));af=af+(1)>>0;m=m-(1)>>0;}a.nd=af;}am=AM(a,(al=$shiftLeft64(new $Uint64(0,u),g),new $Uint64(al.$high|k.$high,(al.$low|k.$low)>>>0)),o,g,l);if(!am){return false;}an=a.nd-1>>0;while(true){if(!(an>=0)){break;}if(!(((ao=a.d,((an<0||an>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+an]))===48))){a.nd=an+1>>0;break;}an=an-(1)>>0;}return true;};AH.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AM=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if((f=$shiftLeft64(c,d),(b.$high>f.$high||(b.$high===f.$high&&b.$low>f.$low)))){$panic(new $String("strconv: num > den<<shift in adjustLastDigitFixed"));}if((g=$mul64(new $Uint64(0,2),e),h=$shiftLeft64(c,d),(g.$high>h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<<shift)/2"));}if((i=$mul64(new $Uint64(0,2),(new $Uint64(b.$high+e.$high,b.$low+e.$low))),j=$shiftLeft64(c,d),(i.$high<j.$high||(i.$high===j.$high&&i.$low<j.$low)))){return true;}if((k=$mul64(new $Uint64(0,2),(new $Uint64(b.$high-e.$high,b.$low-e.$low))),l=$shiftLeft64(c,d),(k.$high>l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(true){if(!(m>=0)){break;}if((n=a.d,((m<0||m>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+m]))===57){a.nd=a.nd-(1)>>0;}else{break;}m=m-(1)>>0;}if(m<0){(o=a.d,(0>=o.$length?$throwRuntimeError("index out of range"):o.$array[o.$offset+0]=49));a.nd=1;a.dp=a.dp+(1)>>0;}else{(q=a.d,((m<0||m>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+m]=((p=a.d,((m<0||m>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+m]))+(1)<<24>>>24)));}return true;}return false;};AH.ptr.prototype.ShortestDecimal=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=this;if((e=d.mant,(e.$high===0&&e.$low===0))){a.nd=0;a.dp=0;a.neg=d.neg;return true;}if((d.exp===0)&&$equal(b,d,AH)&&$equal(b,c,AH)){f=CQ.zero();g=23;h=d.mant;while(true){if(!((h.$high>0||(h.$high===0&&h.$low>0)))){break;}i=$div64(h,new $Uint64(0,10),false);h=(j=$mul64(new $Uint64(0,10),i),new $Uint64(h.$high-j.$high,h.$low-j.$low));((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(new $Uint64(h.$high+0,h.$low+48).$low<<24>>>24));g=g-(1)>>0;h=i;}k=(24-g>>0)-1>>0;l=0;while(true){if(!(l<k)){break;}(n=a.d,((l<0||l>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?$throwRuntimeError("index out of range"):f[m]))));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(true){if(!(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}a.neg=d.neg;return true;}c.Normalize();if(d.exp>c.exp){d.mant=$shiftLeft64(d.mant,(((d.exp-c.exp>>0)>>>0)));d.exp=c.exp;}if(b.exp>c.exp){b.mant=$shiftLeft64(b.mant,(((b.exp-c.exp>>0)>>>0)));b.exp=c.exp;}s=AL(b,d,c);c.mant=(t=c.mant,u=new $Uint64(0,1),new $Uint64(t.$high+u.$high,t.$low+u.$low));b.mant=(v=b.mant,w=new $Uint64(0,1),new $Uint64(v.$high-w.$high,v.$low-w.$low));x=(-c.exp>>>0);y=($shiftRightUint64(c.mant,x).$low>>>0);ab=(z=c.mant,aa=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(z.$high-aa.$high,z.$low-aa.$low));ae=(ac=c.mant,ad=b.mant,new $Uint64(ac.$high-ad.$high,ac.$low-ad.$low));ah=(af=c.mant,ag=d.mant,new $Uint64(af.$high-ag.$high,af.$low-ag.$low));ai=0;aj=0;ak=new $Uint64(0,1);al=aj;am=ak;while(true){if(!(al<20)){break;}if((an=new $Uint64(0,y),(am.$high>an.$high||(am.$high===an.$high&&am.$low>an.$low)))){ai=al;break;}am=$mul64(am,(new $Uint64(0,10)));al=al+(1)>>0;}ao=0;while(true){if(!(ao<ai)){break;}aq=(ap=(ai-ao>>0)-1>>0,((ap<0||ap>=AK.length)?$throwRuntimeError("index out of range"):AK[ap]));as=(ar=y/(aq.$low>>>0),(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>>0:$throwRuntimeError("integer divide by zero"));(at=a.d,((ao<0||ao>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+ao]=((as+48>>>0)<<24>>>24)));y=y-(($imul(as,(aq.$low>>>0))>>>0))>>>0;av=(au=$shiftLeft64(new $Uint64(0,y),x),new $Uint64(au.$high+ab.$high,au.$low+ab.$low));if((av.$high<ae.$high||(av.$high===ae.$high&&av.$low<ae.$low))){a.nd=ao+1>>0;a.dp=ai+s>>0;a.neg=d.neg;return AN(a,av,ah,ae,$shiftLeft64(aq,x),new $Uint64(0,2));}ao=ao+(1)>>0;}a.nd=ai;a.dp=a.nd+s>>0;a.neg=d.neg;aw=0;ax=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ax=$mul64(ax,(new $Uint64(0,10)));aw=($shiftRightUint64(ab,x).$low>>0);(ay=a.d,az=a.nd,((az<0||az>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+az]=((aw+48>>0)<<24>>>24)));a.nd=a.nd+(1)>>0;ab=(ba=$shiftLeft64(new $Uint64(0,aw),x),new $Uint64(ab.$high-ba.$high,ab.$low-ba.$low));if((bb=$mul64(ae,ax),(ab.$high<bb.$high||(ab.$high===bb.$high&&ab.$low<bb.$low)))){return AN(a,ab,$mul64(ah,ax),$mul64(ae,ax),$shiftLeft64(new $Uint64(0,1),x),$mul64(ax,new $Uint64(0,2)));}}};AH.prototype.ShortestDecimal=function(a,b,c){return this.$val.ShortestDecimal(a,b,c);};AN=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if((g=$mul64(new $Uint64(0,2),f),(e.$high<g.$high||(e.$high===g.$high&&e.$low<g.$low)))){return false;}while(true){if(!((h=(i=(j=$div64(e,new $Uint64(0,2),false),new $Uint64(b.$high+j.$high,b.$low+j.$low)),new $Uint64(i.$high+f.$high,i.$low+f.$low)),(h.$high<c.$high||(h.$high===c.$high&&h.$low<c.$low))))){break;}k=a.nd-1>>0;(m=a.d,((k<0||k>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+k]=((l=a.d,((k<0||k>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))-(1)<<24>>>24)));b=(n=e,new $Uint64(b.$high+n.$high,b.$low+n.$low));}if((o=new $Uint64(b.$high+e.$high,b.$low+e.$low),p=(q=(r=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+r.$high,c.$low+r.$low)),new $Uint64(q.$high+f.$high,q.$low+f.$low)),(o.$high<p.$high||(o.$high===p.$high&&o.$low<=p.$low)))){return false;}if((b.$high<f.$high||(b.$high===f.$high&&b.$low<f.$low))||(s=new $Uint64(d.$high-f.$high,d.$low-f.$low),(b.$high>s.$high||(b.$high===s.$high&&b.$low>s.$low)))){return false;}if((a.nd===1)&&((t=a.d,(0>=t.$length?$throwRuntimeError("index out of range"):t.$array[t.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AS=function(a,b,c,d,e){var $ptr,a,b,c,d,e;return AT(a,b,c,d,e);};$pkg.AppendFloat=AS;AT=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=new $Uint64(0,0);g=CS.nil;h=e;if(h===32){f=new $Uint64(0,A.Float32bits($fround(b)));g=AP;}else if(h===64){f=A.Float64bits(b);g=AQ;}else{$panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize"));}j=!((i=$shiftRightUint64(f,((g.expbits+g.mantbits>>>0))),(i.$high===0&&i.$low===0)));l=($shiftRightUint64(f,g.mantbits).$low>>0)&((((k=g.expbits,k<32?(1<<k):0)>>0)-1>>0));o=(m=(n=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(n.$high-0,n.$low-1)),new $Uint64(f.$high&m.$high,(f.$low&m.$low)>>>0));p=l;if(p===(((q=g.expbits,q<32?(1<<q):0)>>0)-1>>0)){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,r);}else if(p===0){l=l+(1)>>0;}else{o=(s=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(o.$high|s.$high,(o.$low|s.$low)>>>0));}l=l+(g.bias)>>0;if(c===98){return BA(a,j,o,l,g);}if(!G){return AU(a,d,c,j,o,l,g);}t=new AX.ptr(CP.nil,0,0,false);u=false;v=d<0;if(v){w=new AH.ptr(new $Uint64(0,0),0,false);x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AH);z=$clone(x[1],AH);aa=CR.zero();t.d=new CP(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AU(a,d,c,j,o,l,g);}ab=c;if(ab===101||ab===69){d=BC(t.nd-1>>0,0);}else if(ab===102){d=BC(t.nd-t.dp>>0,0);}else if(ab===103||ab===71){d=t.nd;}}else if(!((c===102))){ac=d;ad=c;if(ad===101||ad===69){ac=ac+(1)>>0;}else if(ad===103||ad===71){if(d===0){d=1;}ac=d;}if(ac<=15){ae=CQ.zero();t.d=new CP(ae);af=new AH.ptr(o,l-(g.mantbits>>0)>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AU(a,d,c,j,o,l,g);}return AV(a,v,j,t,d,c);};AU=function(a,b,c,d,e,f,g){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;h=new Y.ptr(CN.zero(),0,0,false,false);h.Assign(e);h.Shift(f-(g.mantbits>>0)>>0);i=new AX.ptr(CP.nil,0,0,false);j=b<0;if(j){AW(h,e,f,g);AX.copy(i,new AX.ptr(new CP(h.d),h.nd,h.dp,false));k=c;if(k===101||k===69){b=i.nd-1>>0;}else if(k===102){b=BC(i.nd-i.dp>>0,0);}else if(k===103||k===71){b=i.nd;}}else{l=c;if(l===101||l===69){h.Round(b+1>>0);}else if(l===102){h.Round(h.dp+b>>0);}else if(l===103||l===71){if(b===0){b=1;}h.Round(b);}AX.copy(i,new AX.ptr(new CP(h.d),h.nd,h.dp,false));}return AV(a,j,d,i,b,c);};AV=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i;d=$clone(d,AX);g=f;if(g===101||g===69){return AY(a,c,d,e,f);}else if(g===102){return AZ(a,c,d,e);}else if(g===103||g===71){h=e;if(h>d.nd&&d.nd>=d.dp){h=d.nd;}if(b){h=6;}i=d.dp-1>>0;if(i<-4||i>=h){if(e>d.nd){e=d.nd;}return AY(a,c,d,e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return AZ(a,c,d,BC(e-d.dp>>0,0));}return $append(a,37,f);};AW=function(a,b,c,d){var $ptr,a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&($imul(332,((a.dp-a.nd>>0))))>=($imul(100,((c-(d.mantbits>>0)>>0))))){return;}f=new Y.ptr(CN.zero(),0,0,false,false);f.Assign((g=$mul64(b,new $Uint64(0,2)),new $Uint64(g.$high+0,g.$low+1)));f.Shift((c-(d.mantbits>>0)>>0)-1>>0);h=new $Uint64(0,0);i=0;if((j=$shiftLeft64(new $Uint64(0,1),d.mantbits),(b.$high>j.$high||(b.$high===j.$high&&b.$low>j.$low)))||(c===e)){h=new $Uint64(b.$high-0,b.$low-1);i=c;}else{h=(k=$mul64(b,new $Uint64(0,2)),new $Uint64(k.$high-0,k.$low-1));i=c-1>>0;}l=new Y.ptr(CN.zero(),0,0,false,false);l.Assign((m=$mul64(h,new $Uint64(0,2)),new $Uint64(m.$high+0,m.$low+1)));l.Shift((i-(d.mantbits>>0)>>0)-1>>0);o=(n=$div64(b,new $Uint64(0,2),true),(n.$high===0&&n.$low===0));p=0;while(true){if(!(p<a.nd)){break;}q=0;r=0;s=0;t=q;u=r;v=s;if(p<l.nd){t=(w=l.d,((p<0||p>=w.length)?$throwRuntimeError("index out of range"):w[p]));}else{t=48;}u=(x=a.d,((p<0||p>=x.length)?$throwRuntimeError("index out of range"):x[p]));if(p<f.nd){v=(y=f.d,((p<0||p>=y.length)?$throwRuntimeError("index out of range"):y[p]));}else{v=48;}z=!((t===u))||(o&&(t===u)&&((p+1>>0)===l.nd));aa=!((u===v))&&(o||(u+1<<24>>>24)<v||(p+1>>0)<f.nd);if(z&&aa){a.Round(p+1>>0);return;}else if(z){a.RoundDown(p+1>>0);return;}else if(aa){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AY=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=$clone(c,AX);if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,(0>=g.$length?$throwRuntimeError("index out of range"):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=BB(c.nd,d+1>>0);if(h<i){a=$appendSlice(a,$subslice(c.d,h,i));h=i;}while(true){if(!(h<=d)){break;}a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);j=c.dp-1>>0;if(c.nd===0){j=0;}if(j<0){f=45;j=-j;}else{f=43;}a=$append(a,f);if(j<10){a=$append(a,48,(j<<24>>>24)+48<<24>>>24);}else if(j<100){a=$append(a,((k=j/10,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24,((l=j%10,l===l?l:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24);}else{a=$append(a,((m=j/100,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24,(n=((o=j/10,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24)%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48<<24>>>24,((p=j%10,p===p?p:$throwRuntimeError("integer divide by zero"))<<24>>>24)+48<<24>>>24);}return a;};AZ=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i;c=$clone(c,AX);if(b){a=$append(a,45);}if(c.dp>0){e=BB(c.nd,c.dp);a=$appendSlice(a,$subslice(c.d,0,e));while(true){if(!(e<c.dp)){break;}a=$append(a,48);e=e+(1)>>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);f=0;while(true){if(!(f<d)){break;}g=48;h=c.dp+f>>0;if(0<=h&&h<c.nd){g=(i=c.d,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));}a=$append(a,g);f=f+(1)>>0;}}return a;};BA=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g;if(b){a=$append(a,45);}f=BN(a,c,10,false,true);a=f[0];a=$append(a,112);d=d-((e.mantbits>>0))>>0;if(d>=0){a=$append(a,43);}g=BN(a,new $Uint64(0,d),10,d<0,true);a=g[0];return a;};BB=function(a,b){var $ptr,a,b;if(a<b){return a;}return b;};BC=function(a,b){var $ptr,a,b;if(a>b){return a;}return b;};BI=function(a,b){var $ptr,a,b,c,d;c=BN(CP.nil,new $Uint64(a.$high,a.$low),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};$pkg.FormatInt=BI;BJ=function(a){var $ptr,a;return BI(new $Int64(0,a),10);};$pkg.Itoa=BJ;BN=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;f=CP.nil;g="";if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=CT.zero();i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){while(true){if(!((b.$high>0||(b.$high===0&&b.$low>4294967295)))){break;}j=$div64(b,new $Uint64(0,1000000000),false);l=((k=$mul64(j,new $Uint64(0,1000000000)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0);m=9;while(true){if(!(m>0)){break;}i=i-(1)>>0;o=(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"));((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=(((l-($imul(o,10)>>>0)>>>0)+48>>>0)<<24>>>24));l=o;m=m-(1)>>0;}b=j;}p=(b.$low>>>0);while(true){if(!(p>=10)){break;}i=i-(1)>>0;r=(q=p/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=(((p-($imul(r,10)>>>0)>>>0)+48>>>0)<<24>>>24));p=r;}i=i-(1)>>0;((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=((p+48>>>0)<<24>>>24));}else{s=((c<0||c>=BM.length)?$throwRuntimeError("index out of range"):BM[c]);if(s>0){t=new $Uint64(0,c);u=(t.$low>>>0)-1>>>0;while(true){if(!((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low)))){break;}i=i-(1)>>0;((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((b.$low>>>0)&u)>>>0)));b=$shiftRightUint64(b,(s));}i=i-(1)>>0;((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0)));}else{v=new $Uint64(0,c);while(true){if(!((b.$high>v.$high||(b.$high===v.$high&&b.$low>=v.$low)))){break;}i=i-(1)>>0;w=$div64(b,v,false);((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((x=$mul64(w,v),new $Uint64(b.$high-x.$high,b.$low-x.$low)).$low>>>0)));b=w;}i=i-(1)>>0;((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((b.$low>>>0)));}}if(d){i=i-(1)>>0;((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=45);}if(e){f=$appendSlice(a,$subslice(new CP(h),i));return[f,g];}g=$bytesToString($subslice(new CP(h),i));return[f,g];};BO=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m;d=CU.zero();f=$makeSlice(CP,0,(e=($imul(3,a.length))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")));f=$append(f,b);g=0;while(true){if(!(a.length>0)){break;}h=(a.charCodeAt(0)>>0);g=1;if(h>=128){i=C.DecodeRuneInString(a);h=i[0];g=i[1];}if((g===1)&&(h===65533)){f=$appendSlice(f,"\\x");f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));a=a.substring(g);continue;}if((h===(b>>0))||(h===92)){f=$append(f,92);f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}if(c){if(h<128&&CE(h)){f=$append(f,(h<<24>>>24));a=a.substring(g);continue;}}else if(CE(h)){j=C.EncodeRune(new CP(d),h);f=$appendSlice(f,$subslice(new CP(d),0,j));a=a.substring(g);continue;}k=h;if(k===7){f=$appendSlice(f,"\\a");}else if(k===8){f=$appendSlice(f,"\\b");}else if(k===12){f=$appendSlice(f,"\\f");}else if(k===10){f=$appendSlice(f,"\\n");}else if(k===13){f=$appendSlice(f,"\\r");}else if(k===9){f=$appendSlice(f,"\\t");}else if(k===11){f=$appendSlice(f,"\\v");}else{if(h<32){f=$appendSlice(f,"\\x");f=$append(f,"0123456789abcdef".charCodeAt((a.charCodeAt(0)>>>4<<24>>>24)));f=$append(f,"0123456789abcdef".charCodeAt(((a.charCodeAt(0)&15)>>>0)));}else if(h>1114111){h=65533;f=$appendSlice(f,"\\u");l=12;while(true){if(!(l>=0)){break;}f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else if(h<65536){f=$appendSlice(f,"\\u");l=12;while(true){if(!(l>=0)){break;}f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((l>>>0),31))>>0)&15)));l=l-(4)>>0;}}else{f=$appendSlice(f,"\\U");m=28;while(true){if(!(m>=0)){break;}f=$append(f,"0123456789abcdef".charCodeAt((((h>>$min((m>>>0),31))>>0)&15)));m=m-(4)>>0;}}}a=a.substring(g);}f=$append(f,b);return $bytesToString(f);};BP=function(a){var $ptr,a;return BO(a,34,false);};$pkg.Quote=BP;BR=function(a){var $ptr,a;return BO(a,34,true);};$pkg.QuoteToASCII=BR;BT=function(a){var $ptr,a;return BO($encodeRune(a),39,false);};$pkg.QuoteRune=BT;BU=function(a,b){var $ptr,a,b;return $appendSlice(a,BT(b));};$pkg.AppendQuoteRune=BU;BV=function(a){var $ptr,a;return BO($encodeRune(a),39,true);};$pkg.QuoteRuneToASCII=BV;BW=function(a,b){var $ptr,a,b;return $appendSlice(a,BV(b));};$pkg.AppendQuoteRuneToASCII=BW;BX=function(a){var $ptr,a,b,c,d;while(true){if(!(a.length>0)){break;}b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=a.substring(d);if(d>1){if(c===65279){return false;}continue;}if(c===65533){return false;}if((c<32&&!((c===9)))||(c===96)||(c===127)){return false;}}return true;};$pkg.CanBackquote=BX;BY=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=0;c=false;d=(a>>0);if(48<=d&&d<=57){e=d-48>>0;f=true;b=e;c=f;return[b,c];}else if(97<=d&&d<=102){g=(d-97>>0)+10>>0;h=true;b=g;c=h;return[b,c];}else if(65<=d&&d<=70){i=(d-65>>0)+10>>0;j=true;b=i;c=j;return[b,c];}return[b,c];};BZ=function(a,b){var $ptr,a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=false;e="";f=$ifaceNil;g=a.charCodeAt(0);if((g===b)&&((b===39)||(b===34))){f=$pkg.ErrSyntax;return[c,d,e,f];}else if(g>=128){h=C.DecodeRuneInString(a);i=h[0];j=h[1];k=i;l=true;m=a.substring(j);n=$ifaceNil;c=k;d=l;e=m;f=n;return[c,d,e,f];}else if(!((g===92))){o=(a.charCodeAt(0)>>0);p=false;q=a.substring(1);r=$ifaceNil;c=o;d=p;e=q;f=r;return[c,d,e,f];}if(a.length<=1){f=$pkg.ErrSyntax;return[c,d,e,f];}s=a.charCodeAt(1);a=a.substring(2);t=s;switch(0){default:if(t===97){c=7;}else if(t===98){c=8;}else if(t===102){c=12;}else if(t===110){c=10;}else if(t===114){c=13;}else if(t===116){c=9;}else if(t===118){c=11;}else if(t===120||t===117||t===85){u=0;v=s;if(v===120){u=2;}else if(v===117){u=4;}else if(v===85){u=8;}w=0;if(a.length<u){f=$pkg.ErrSyntax;return[c,d,e,f];}x=0;while(true){if(!(x<u)){break;}y=BY(a.charCodeAt(x));z=y[0];aa=y[1];if(!aa){f=$pkg.ErrSyntax;return[c,d,e,f];}w=(w<<4>>0)|z;x=x+(1)>>0;}a=a.substring(u);if(s===120){c=w;break;}if(w>1114111){f=$pkg.ErrSyntax;return[c,d,e,f];}c=w;d=true;}else if(t===48||t===49||t===50||t===51||t===52||t===53||t===54||t===55){ab=(s>>0)-48>>0;if(a.length<2){f=$pkg.ErrSyntax;return[c,d,e,f];}ac=0;while(true){if(!(ac<2)){break;}ad=(a.charCodeAt(ac)>>0)-48>>0;if(ad<0||ad>7){f=$pkg.ErrSyntax;return[c,d,e,f];}ab=((ab<<3>>0))|ad;ac=ac+(1)>>0;}a=a.substring(2);if(ab>255){f=$pkg.ErrSyntax;return[c,d,e,f];}c=ab;}else if(t===92){c=92;}else if(t===39||t===34){if(!((s===b))){f=$pkg.ErrSyntax;return[c,d,e,f];}c=(s>>0);}else{f=$pkg.ErrSyntax;return[c,d,e,f];}}e=a;return[c,d,e,f];};$pkg.UnquoteChar=BZ;CA=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b="";c=$ifaceNil;d=a.length;if(d<2){e="";f=$pkg.ErrSyntax;b=e;c=f;return[b,c];}g=a.charCodeAt(0);if(!((g===a.charCodeAt((d-1>>0))))){h="";i=$pkg.ErrSyntax;b=h;c=i;return[b,c];}a=a.substring(1,(d-1>>0));if(g===96){if(CB(a,96)){j="";k=$pkg.ErrSyntax;b=j;c=k;return[b,c];}l=a;m=$ifaceNil;b=l;c=m;return[b,c];}if(!((g===34))&&!((g===39))){n="";o=$pkg.ErrSyntax;b=n;c=o;return[b,c];}if(CB(a,10)){p="";q=$pkg.ErrSyntax;b=p;c=q;return[b,c];}if(!CB(a,92)&&!CB(a,g)){r=g;if(r===34){s=a;t=$ifaceNil;b=s;c=t;return[b,c];}else if(r===39){u=C.DecodeRuneInString(a);v=u[0];w=u[1];if((w===a.length)&&(!((v===65533))||!((w===1)))){x=a;y=$ifaceNil;b=x;c=y;return[b,c];}}}z=CU.zero();ab=$makeSlice(CP,0,(aa=($imul(3,a.length))/2,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>0:$throwRuntimeError("integer divide by zero")));while(true){if(!(a.length>0)){break;}ac=BZ(a,g);ad=ac[0];ae=ac[1];af=ac[2];ag=ac[3];if(!($interfaceIsEqual(ag,$ifaceNil))){ah="";ai=ag;b=ah;c=ai;return[b,c];}a=af;if(ad<128||!ae){ab=$append(ab,(ad<<24>>>24));}else{aj=C.EncodeRune(new CP(z),ad);ab=$appendSlice(ab,$subslice(new CP(z),0,aj));}if((g===39)&&!((a.length===0))){ak="";al=$pkg.ErrSyntax;b=ak;c=al;return[b,c];}}am=$bytesToString(ab);an=$ifaceNil;b=am;c=an;return[b,c];};$pkg.Unquote=CA;CB=function(a,b){var $ptr,a,b,c;c=0;while(true){if(!(c<a.length)){break;}if(a.charCodeAt(c)===b){return true;}c=c+(1)>>0;}return false;};CC=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CD=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CE=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a<=255){if(32<=a&&a<=126){return true;}if(161<=a&&a<=255){return!((a===173));}return false;}if(0<=a&&a<65536){b=(a<<16>>>16);c=BD;d=BE;e=b;f=c;g=d;h=CC(f,e);if(h>=f.$length||e<(i=(h&~1)>>0,((i<0||i>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+j]))<e){return false;}k=CC(g,e);return k>=g.$length||!((((k<0||k>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+k])===e));}l=(a>>>0);m=BF;n=BG;o=l;p=m;q=n;r=CD(p,o);if(r>=p.$length||o<(s=(r&~1)>>0,((s<0||s>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+t]))<o){return false;}if(a>=131072){return true;}a=a-(65536)>>0;u=CC(q,(a<<16>>>16));return u>=q.$length||!((((u<0||u>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+u])===(a<<16>>>16)));};$pkg.IsPrint=CE;CV.methods=[{prop:"set",name:"set",pkg:"strconv",typ:$funcType([$String],[$Bool],false)},{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([CS],[$Uint64,$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Assign",name:"Assign",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"Shift",name:"Shift",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundDown",name:"RoundDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundUp",name:"RoundUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundedInteger",name:"RoundedInteger",pkg:"",typ:$funcType([],[$Uint64],false)}];CX.methods=[{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([CS],[$Uint64,$Bool],false)},{prop:"AssignComputeBounds",name:"AssignComputeBounds",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,CS],[AH,AH],false)},{prop:"Normalize",name:"Normalize",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Multiply",name:"Multiply",pkg:"",typ:$funcType([AH],[],false)},{prop:"AssignDecimal",name:"AssignDecimal",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,$Bool,CS],[$Bool],false)},{prop:"frexp10",name:"frexp10",pkg:"strconv",typ:$funcType([],[$Int,$Int],false)},{prop:"FixedDecimal",name:"FixedDecimal",pkg:"",typ:$funcType([CW,$Int],[$Bool],false)},{prop:"ShortestDecimal",name:"ShortestDecimal",pkg:"",typ:$funcType([CW,CX,CX],[$Bool],false)}];Y.init([{prop:"d",name:"d",pkg:"strconv",typ:CN,tag:""},{prop:"nd",name:"nd",pkg:"strconv",typ:$Int,tag:""},{prop:"dp",name:"dp",pkg:"strconv",typ:$Int,tag:""},{prop:"neg",name:"neg",pkg:"strconv",typ:$Bool,tag:""},{prop:"trunc",name:"trunc",pkg:"strconv",typ:$Bool,tag:""}]);AC.init([{prop:"delta",name:"delta",pkg:"strconv",typ:$Int,tag:""},{prop:"cutoff",name:"cutoff",pkg:"strconv",typ:$String,tag:""}]);AH.init([{prop:"mant",name:"mant",pkg:"strconv",typ:$Uint64,tag:""},{prop:"exp",name:"exp",pkg:"strconv",typ:$Int,tag:""},{prop:"neg",name:"neg",pkg:"strconv",typ:$Bool,tag:""}]);AO.init([{prop:"mantbits",name:"mantbits",pkg:"strconv",typ:$Uint,tag:""},{prop:"expbits",name:"expbits",pkg:"strconv",typ:$Uint,tag:""},{prop:"bias",name:"bias",pkg:"strconv",typ:$Int,tag:""}]);AX.init([{prop:"d",name:"d",pkg:"strconv",typ:CP,tag:""},{prop:"nd",name:"nd",pkg:"strconv",typ:$Int,tag:""},{prop:"dp",name:"dp",pkg:"strconv",typ:$Int,tag:""},{prop:"neg",name:"neg",pkg:"strconv",typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AD=new CK([new AC.ptr(0,""),new AC.ptr(1,"5"),new AC.ptr(1,"25"),new AC.ptr(1,"125"),new AC.ptr(2,"625"),new AC.ptr(2,"3125"),new AC.ptr(2,"15625"),new AC.ptr(3,"78125"),new AC.ptr(3,"390625"),new AC.ptr(3,"1953125"),new AC.ptr(4,"9765625"),new AC.ptr(4,"48828125"),new AC.ptr(4,"244140625"),new AC.ptr(4,"1220703125"),new AC.ptr(5,"6103515625"),new AC.ptr(5,"30517578125"),new AC.ptr(5,"152587890625"),new AC.ptr(6,"762939453125"),new AC.ptr(6,"3814697265625"),new AC.ptr(6,"19073486328125"),new AC.ptr(7,"95367431640625"),new AC.ptr(7,"476837158203125"),new AC.ptr(7,"2384185791015625"),new AC.ptr(7,"11920928955078125"),new AC.ptr(8,"59604644775390625"),new AC.ptr(8,"298023223876953125"),new AC.ptr(8,"1490116119384765625"),new AC.ptr(9,"7450580596923828125"),new AC.ptr(9,"37252902984619140625"),new AC.ptr(9,"186264514923095703125"),new AC.ptr(10,"931322574615478515625"),new AC.ptr(10,"4656612873077392578125"),new AC.ptr(10,"23283064365386962890625"),new AC.ptr(10,"116415321826934814453125"),new AC.ptr(11,"582076609134674072265625"),new AC.ptr(11,"2910383045673370361328125"),new AC.ptr(11,"14551915228366851806640625"),new AC.ptr(12,"72759576141834259033203125"),new AC.ptr(12,"363797880709171295166015625"),new AC.ptr(12,"1818989403545856475830078125"),new AC.ptr(13,"9094947017729282379150390625"),new AC.ptr(13,"45474735088646411895751953125"),new AC.ptr(13,"227373675443232059478759765625"),new AC.ptr(13,"1136868377216160297393798828125"),new AC.ptr(14,"5684341886080801486968994140625"),new AC.ptr(14,"28421709430404007434844970703125"),new AC.ptr(14,"142108547152020037174224853515625"),new AC.ptr(15,"710542735760100185871124267578125"),new AC.ptr(15,"3552713678800500929355621337890625"),new AC.ptr(15,"17763568394002504646778106689453125"),new AC.ptr(16,"88817841970012523233890533447265625"),new AC.ptr(16,"444089209850062616169452667236328125"),new AC.ptr(16,"2220446049250313080847263336181640625"),new AC.ptr(16,"11102230246251565404236316680908203125"),new AC.ptr(17,"55511151231257827021181583404541015625"),new AC.ptr(17,"277555756156289135105907917022705078125"),new AC.ptr(17,"1387778780781445675529539585113525390625"),new AC.ptr(18,"6938893903907228377647697925567626953125"),new AC.ptr(18,"34694469519536141888238489627838134765625"),new AC.ptr(18,"173472347597680709441192448139190673828125"),new AC.ptr(19,"867361737988403547205962240695953369140625")]);AI=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(2147483648,0),-63,false),new AH.ptr(new $Uint64(2684354560,0),-60,false),new AH.ptr(new $Uint64(3355443200,0),-57,false),new AH.ptr(new $Uint64(4194304000,0),-54,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3276800000,0),-47,false),new AH.ptr(new $Uint64(4096000000,0),-44,false),new AH.ptr(new $Uint64(2560000000,0),-40,false)]);AJ=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(4203730336,136053384),-1220,false),new AH.ptr(new $Uint64(3132023167,2722021238),-1193,false),new AH.ptr(new $Uint64(2333539104,810921078),-1166,false),new AH.ptr(new $Uint64(3477244234,1573795306),-1140,false),new AH.ptr(new $Uint64(2590748842,1432697645),-1113,false),new AH.ptr(new $Uint64(3860516611,1025131999),-1087,false),new AH.ptr(new $Uint64(2876309015,3348809418),-1060,false),new AH.ptr(new $Uint64(4286034428,3200048207),-1034,false),new AH.ptr(new $Uint64(3193344495,1097586188),-1007,false),new AH.ptr(new $Uint64(2379227053,2424306748),-980,false),new AH.ptr(new $Uint64(3545324584,827693699),-954,false),new AH.ptr(new $Uint64(2641472655,2913388981),-927,false),new AH.ptr(new $Uint64(3936100983,602835915),-901,false),new AH.ptr(new $Uint64(2932623761,1081627501),-874,false),new AH.ptr(new $Uint64(2184974969,1572261463),-847,false),new AH.ptr(new $Uint64(3255866422,1308317239),-821,false),new AH.ptr(new $Uint64(2425809519,944281679),-794,false),new AH.ptr(new $Uint64(3614737867,629291719),-768,false),new AH.ptr(new $Uint64(2693189581,2545915892),-741,false),new AH.ptr(new $Uint64(4013165208,388672741),-715,false),new AH.ptr(new $Uint64(2990041083,708162190),-688,false),new AH.ptr(new $Uint64(2227754207,3536207675),-661,false),new AH.ptr(new $Uint64(3319612455,450088378),-635,false),new AH.ptr(new $Uint64(2473304014,3139815830),-608,false),new AH.ptr(new $Uint64(3685510180,2103616900),-582,false),new AH.ptr(new $Uint64(2745919064,224385782),-555,false),new AH.ptr(new $Uint64(4091738259,3737383206),-529,false),new AH.ptr(new $Uint64(3048582568,2868871352),-502,false),new AH.ptr(new $Uint64(2271371013,1820084875),-475,false),new AH.ptr(new $Uint64(3384606560,885076051),-449,false),new AH.ptr(new $Uint64(2521728396,2444895829),-422,false),new AH.ptr(new $Uint64(3757668132,1881767613),-396,false),new AH.ptr(new $Uint64(2799680927,3102062735),-369,false),new AH.ptr(new $Uint64(4171849679,2289335700),-343,false),new AH.ptr(new $Uint64(3108270227,2410191823),-316,false),new AH.ptr(new $Uint64(2315841784,3205436779),-289,false),new AH.ptr(new $Uint64(3450873173,1697722806),-263,false),new AH.ptr(new $Uint64(2571100870,3497754540),-236,false),new AH.ptr(new $Uint64(3831238852,707476230),-210,false),new AH.ptr(new $Uint64(2854495385,1769181907),-183,false),new AH.ptr(new $Uint64(4253529586,2197867022),-157,false),new AH.ptr(new $Uint64(3169126500,2450594539),-130,false),new AH.ptr(new $Uint64(2361183241,1867548876),-103,false),new AH.ptr(new $Uint64(3518437208,3793315116),-77,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3906250000,0),-24,false),new AH.ptr(new $Uint64(2910383045,2892103680),3,false),new AH.ptr(new $Uint64(2168404344,4170451332),30,false),new AH.ptr(new $Uint64(3231174267,3372684723),56,false),new AH.ptr(new $Uint64(2407412430,2078956656),83,false),new AH.ptr(new $Uint64(3587324068,2884206696),109,false),new AH.ptr(new $Uint64(2672764710,395977285),136,false),new AH.ptr(new $Uint64(3982729777,3569679143),162,false),new AH.ptr(new $Uint64(2967364920,2361961896),189,false),new AH.ptr(new $Uint64(2210859150,447440347),216,false),new AH.ptr(new $Uint64(3294436857,1114709402),242,false),new AH.ptr(new $Uint64(2454546732,2786846552),269,false),new AH.ptr(new $Uint64(3657559652,443583978),295,false),new AH.ptr(new $Uint64(2725094297,2599384906),322,false),new AH.ptr(new $Uint64(4060706939,3028118405),348,false),new AH.ptr(new $Uint64(3025462433,2044532855),375,false),new AH.ptr(new $Uint64(2254145170,1536935362),402,false),new AH.ptr(new $Uint64(3358938053,3365297469),428,false),new AH.ptr(new $Uint64(2502603868,4204241075),455,false),new AH.ptr(new $Uint64(3729170365,2577424355),481,false),new AH.ptr(new $Uint64(2778448436,3677981733),508,false),new AH.ptr(new $Uint64(4140210802,2744688476),534,false),new AH.ptr(new $Uint64(3084697427,1424604878),561,false),new AH.ptr(new $Uint64(2298278679,4062331362),588,false),new AH.ptr(new $Uint64(3424702107,3546052773),614,false),new AH.ptr(new $Uint64(2551601907,2065781727),641,false),new AH.ptr(new $Uint64(3802183132,2535403578),667,false),new AH.ptr(new $Uint64(2832847187,1558426518),694,false),new AH.ptr(new $Uint64(4221271257,2762425404),720,false),new AH.ptr(new $Uint64(3145092172,2812560400),747,false),new AH.ptr(new $Uint64(2343276271,3057687578),774,false),new AH.ptr(new $Uint64(3491753744,2790753324),800,false),new AH.ptr(new $Uint64(2601559269,3918606633),827,false),new AH.ptr(new $Uint64(3876625403,2711358621),853,false),new AH.ptr(new $Uint64(2888311001,1648096297),880,false),new AH.ptr(new $Uint64(2151959390,2057817989),907,false),new AH.ptr(new $Uint64(3206669376,61660461),933,false),new AH.ptr(new $Uint64(2389154863,1581580175),960,false),new AH.ptr(new $Uint64(3560118173,2626467905),986,false),new AH.ptr(new $Uint64(2652494738,3034782633),1013,false),new AH.ptr(new $Uint64(3952525166,3135207385),1039,false),new AH.ptr(new $Uint64(2944860731,2616258155),1066,false)]);AK=$toNativeArray($kindUint64,[new $Uint64(0,1),new $Uint64(0,10),new $Uint64(0,100),new $Uint64(0,1000),new $Uint64(0,10000),new $Uint64(0,100000),new $Uint64(0,1000000),new $Uint64(0,10000000),new $Uint64(0,100000000),new $Uint64(0,1000000000),new $Uint64(2,1410065408),new $Uint64(23,1215752192),new $Uint64(232,3567587328),new $Uint64(2328,1316134912),new $Uint64(23283,276447232),new $Uint64(232830,2764472320),new $Uint64(2328306,1874919424),new $Uint64(23283064,1569325056),new $Uint64(232830643,2808348672),new $Uint64(2328306436,2313682944)]);AP=new AO.ptr(23,8,-127);AQ=new AO.ptr(52,11,-1023);BD=new CL([32,126,161,887,890,895,900,1366,1369,1418,1421,1479,1488,1514,1520,1524,1542,1563,1566,1805,1808,1866,1869,1969,1984,2042,2048,2093,2096,2139,2142,2142,2208,2228,2275,2444,2447,2448,2451,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2531,2534,2555,2561,2570,2575,2576,2579,2617,2620,2626,2631,2632,2635,2637,2641,2641,2649,2654,2662,2677,2689,2745,2748,2765,2768,2768,2784,2787,2790,2801,2809,2809,2817,2828,2831,2832,2835,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2915,2918,2935,2946,2954,2958,2965,2969,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3021,3024,3024,3031,3031,3046,3066,3072,3129,3133,3149,3157,3162,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3406,3415,3415,3423,3427,3430,3445,3449,3455,3458,3478,3482,3517,3520,3526,3530,3530,3535,3551,3558,3567,3570,3572,3585,3642,3647,3675,3713,3716,3719,3722,3725,3725,3732,3751,3754,3773,3776,3789,3792,3801,3804,3807,3840,3948,3953,4058,4096,4295,4301,4301,4304,4685,4688,4701,4704,4749,4752,4789,4792,4805,4808,4885,4888,4954,4957,4988,4992,5017,5024,5109,5112,5117,5120,5788,5792,5880,5888,5908,5920,5942,5952,5971,5984,6003,6016,6109,6112,6121,6128,6137,6144,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6443,6448,6459,6464,6464,6468,6509,6512,6516,6528,6571,6576,6601,6608,6618,6622,6683,6686,6780,6783,6793,6800,6809,6816,6829,6832,6846,6912,6987,6992,7036,7040,7155,7164,7223,7227,7241,7245,7295,7360,7367,7376,7417,7424,7669,7676,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8382,8400,8432,8448,8587,8592,9210,9216,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11244,11247,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11842,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40917,40960,42124,42128,42182,42192,42539,42560,42743,42752,42925,42928,42935,42999,43051,43056,43065,43072,43127,43136,43204,43214,43225,43232,43261,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43877,43888,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64449,64467,64831,64848,64911,64914,64967,65008,65021,65024,65049,65056,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CL([173,907,909,930,1328,1376,1416,1424,1757,2111,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3076,3085,3089,3113,3141,3145,3159,3200,3204,3213,3217,3241,3252,3269,3273,3295,3312,3332,3341,3345,3397,3401,3460,3506,3516,3541,3543,3715,3721,3736,3744,3748,3750,3756,3770,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5760,5901,5997,6001,6431,6751,7415,8024,8026,8028,8030,8117,8133,8156,8181,8335,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CM([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65932,65936,65947,65952,65952,66000,66045,66176,66204,66208,66256,66272,66299,66304,66339,66352,66378,66384,66426,66432,66499,66504,66517,66560,66717,66720,66729,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67808,67829,67835,67867,67871,67897,67903,67903,67968,68023,68028,68047,68050,68102,68108,68147,68152,68154,68159,68167,68176,68184,68192,68255,68288,68326,68331,68342,68352,68405,68409,68437,68440,68466,68472,68497,68505,68508,68521,68527,68608,68680,68736,68786,68800,68850,68858,68863,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70093,70096,70132,70144,70205,70272,70313,70320,70378,70384,70393,70400,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70784,70855,70864,70873,71040,71093,71096,71133,71168,71236,71248,71257,71296,71351,71360,71369,71424,71449,71453,71467,71472,71487,71840,71922,71935,71935,72384,72440,73728,74649,74752,74868,74880,75075,77824,78894,82944,83526,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119272,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,121483,121499,121519,124928,125124,125127,125142,126464,126500,126503,126523,126530,126530,126535,126548,126551,126564,126567,126619,126625,126651,126704,126705,126976,127019,127024,127123,127136,127150,127153,127221,127232,127244,127248,127339,127344,127386,127462,127490,127504,127546,127552,127560,127568,127569,127744,128720,128736,128748,128752,128755,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,129296,129304,129408,129412,129472,129472,131072,173782,173824,177972,177984,178205,178208,183969,194560,195101,917760,917999]);BG=new CL([12,39,59,62,926,2057,2102,2134,2291,2564,2580,2584,4285,4405,4576,4626,4743,4745,4750,4766,4868,4905,4913,4916,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,55968,60932,60960,60963,60968,60979,60984,60986,61000,61002,61004,61008,61011,61016,61018,61020,61022,61024,61027,61035,61043,61048,61053,61055,61066,61092,61098,61632,61648,61743,62842,62884]);BM=$toNativeArray($kindUint,[0,0,1,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["reflect"]=(function(){var $pkg={},$init,A,C,F,D,B,E,AK,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CF,CG,CH,DI,DJ,DM,DO,FW,GC,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HD,HE,HF,HG,HH,HI,HJ,HO,HQ,HT,HU,HV,HW,HX,G,L,AW,AX,BB,CE,DV,H,I,J,K,M,N,O,P,Q,R,S,X,Y,Z,AA,AC,AG,AH,AI,AJ,AL,AM,AN,AO,AP,AR,AS,AT,AU,AV,AY,AZ,BA,BC,BD,CJ,CL,CM,CN,DA,DF,DW,EP,ER,ES,ET,EU,EV,EW,EX,EY,EZ,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM;A=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];F=$packages["math"];D=$packages["runtime"];B=$packages["strconv"];E=$packages["sync"];AK=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter","mapIter","reflect",function(t_,m_,keys_,i_){this.$val=this;if(arguments.length===0){this.t=$ifaceNil;this.m=null;this.keys=null;this.i=0;return;}this.t=t_;this.m=m_;this.keys=keys_;this.i=i_;});BM=$pkg.Type=$newType(8,$kindInterface,"reflect.Type","Type","reflect",null);BN=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind","Kind","reflect",null);BO=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype","rtype","reflect",function(size_,ptrdata_,hash_,_$3_,align_,fieldAlign_,kind_,alg_,gcdata_,string_,uncommonType_,ptrToThis_,zero_){this.$val=this;if(arguments.length===0){this.size=0;this.ptrdata=0;this.hash=0;this._$3=0;this.align=0;this.fieldAlign=0;this.kind=0;this.alg=GM.nil;this.gcdata=GN.nil;this.string=GO.nil;this.uncommonType=GP.nil;this.ptrToThis=FW.nil;this.zero=0;return;}this.size=size_;this.ptrdata=ptrdata_;this.hash=hash_;this._$3=_$3_;this.align=align_;this.fieldAlign=fieldAlign_;this.kind=kind_;this.alg=alg_;this.gcdata=gcdata_;this.string=string_;this.uncommonType=uncommonType_;this.ptrToThis=ptrToThis_;this.zero=zero_;});BP=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg","typeAlg","reflect",function(hash_,equal_){this.$val=this;if(arguments.length===0){this.hash=$throwNilPointerError;this.equal=$throwNilPointerError;return;}this.hash=hash_;this.equal=equal_;});BQ=$pkg.method=$newType(0,$kindStruct,"reflect.method","method","reflect",function(name_,pkgPath_,mtyp_,typ_,ifn_,tfn_){this.$val=this;if(arguments.length===0){this.name=GO.nil;this.pkgPath=GO.nil;this.mtyp=FW.nil;this.typ=FW.nil;this.ifn=0;this.tfn=0;return;}this.name=name_;this.pkgPath=pkgPath_;this.mtyp=mtyp_;this.typ=typ_;this.ifn=ifn_;this.tfn=tfn_;});BR=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType","uncommonType","reflect",function(name_,pkgPath_,methods_){this.$val=this;if(arguments.length===0){this.name=GO.nil;this.pkgPath=GO.nil;this.methods=GQ.nil;return;}this.name=name_;this.pkgPath=pkgPath_;this.methods=methods_;});BS=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir","ChanDir","reflect",null);BT=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType","arrayType","reflect",function(rtype_,elem_,slice_,len_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.elem=FW.nil;this.slice=FW.nil;this.len=0;return;}this.rtype=rtype_;this.elem=elem_;this.slice=slice_;this.len=len_;});BU=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType","chanType","reflect",function(rtype_,elem_,dir_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.elem=FW.nil;this.dir=0;return;}this.rtype=rtype_;this.elem=elem_;this.dir=dir_;});BV=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType","funcType","reflect",function(rtype_,dotdotdot_,in$2_,out_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.dotdotdot=false;this.in$2=GC.nil;this.out=GC.nil;return;}this.rtype=rtype_;this.dotdotdot=dotdotdot_;this.in$2=in$2_;this.out=out_;});BW=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod","imethod","reflect",function(name_,pkgPath_,typ_){this.$val=this;if(arguments.length===0){this.name=GO.nil;this.pkgPath=GO.nil;this.typ=FW.nil;return;}this.name=name_;this.pkgPath=pkgPath_;this.typ=typ_;});BX=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType","interfaceType","reflect",function(rtype_,methods_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.methods=GR.nil;return;}this.rtype=rtype_;this.methods=methods_;});BY=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType","mapType","reflect",function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_,reflexivekey_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.key=FW.nil;this.elem=FW.nil;this.bucket=FW.nil;this.hmap=FW.nil;this.keysize=0;this.indirectkey=0;this.valuesize=0;this.indirectvalue=0;this.bucketsize=0;this.reflexivekey=false;return;}this.rtype=rtype_;this.key=key_;this.elem=elem_;this.bucket=bucket_;this.hmap=hmap_;this.keysize=keysize_;this.indirectkey=indirectkey_;this.valuesize=valuesize_;this.indirectvalue=indirectvalue_;this.bucketsize=bucketsize_;this.reflexivekey=reflexivekey_;});BZ=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType","ptrType","reflect",function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.elem=FW.nil;return;}this.rtype=rtype_;this.elem=elem_;});CA=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType","sliceType","reflect",function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.elem=FW.nil;return;}this.rtype=rtype_;this.elem=elem_;});CB=$pkg.structField=$newType(0,$kindStruct,"reflect.structField","structField","reflect",function(name_,pkgPath_,typ_,tag_,offset_){this.$val=this;if(arguments.length===0){this.name=GO.nil;this.pkgPath=GO.nil;this.typ=FW.nil;this.tag=GO.nil;this.offset=0;return;}this.name=name_;this.pkgPath=pkgPath_;this.typ=typ_;this.tag=tag_;this.offset=offset_;});CC=$pkg.structType=$newType(0,$kindStruct,"reflect.structType","structType","reflect",function(rtype_,fields_){this.$val=this;if(arguments.length===0){this.rtype=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);this.fields=GS.nil;return;}this.rtype=rtype_;this.fields=fields_;});CD=$pkg.Method=$newType(0,$kindStruct,"reflect.Method","Method","reflect",function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Func=new DI.ptr(FW.nil,0,0);this.Index=0;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Func=Func_;this.Index=Index_;});CF=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField","StructField","reflect",function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Tag="";this.Offset=0;this.Index=HG.nil;this.Anonymous=false;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Tag=Tag_;this.Offset=Offset_;this.Index=Index_;this.Anonymous=Anonymous_;});CG=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag","StructTag","reflect",null);CH=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan","fieldScan","reflect",function(typ_,index_){this.$val=this;if(arguments.length===0){this.typ=HI.nil;this.index=HG.nil;return;}this.typ=typ_;this.index=index_;});DI=$pkg.Value=$newType(0,$kindStruct,"reflect.Value","Value","reflect",function(typ_,ptr_,flag_){this.$val=this;if(arguments.length===0){this.typ=FW.nil;this.ptr=0;this.flag=0;return;}this.typ=typ_;this.ptr=ptr_;this.flag=flag_;});DJ=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag","flag","reflect",null);DM=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError","ValueError","reflect",function(Method_,Kind_){this.$val=this;if(arguments.length===0){this.Method="";this.Kind=0;return;}this.Method=Method_;this.Kind=Kind_;});DO=$pkg.nonEmptyInterface=$newType(0,$kindStruct,"reflect.nonEmptyInterface","nonEmptyInterface","reflect",function(itab_,word_){this.$val=this;if(arguments.length===0){this.itab=GZ.nil;this.word=0;return;}this.itab=itab_;this.word=word_;});FW=$ptrType(BO);GC=$sliceType(FW);GI=$sliceType($emptyInterface);GJ=$ptrType(C.Object);GK=$funcType([GI],[GJ],true);GL=$sliceType($String);GM=$ptrType(BP);GN=$ptrType($Uint8);GO=$ptrType($String);GP=$ptrType(BR);GQ=$sliceType(BQ);GR=$sliceType(BW);GS=$sliceType(CB);GT=$structType([{prop:"str",name:"str",pkg:"reflect",typ:$String,tag:""}]);GU=$sliceType(GJ);GV=$sliceType(DI);GW=$ptrType(DO);GX=$arrayType($UnsafePointer,100000);GY=$structType([{prop:"ityp",name:"ityp",pkg:"reflect",typ:FW,tag:""},{prop:"typ",name:"typ",pkg:"reflect",typ:FW,tag:""},{prop:"link",name:"link",pkg:"reflect",typ:$UnsafePointer,tag:""},{prop:"bad",name:"bad",pkg:"reflect",typ:$Int32,tag:""},{prop:"unused",name:"unused",pkg:"reflect",typ:$Int32,tag:""},{prop:"fun",name:"fun",pkg:"reflect",typ:GX,tag:""}]);GZ=$ptrType(GY);HA=$sliceType(GI);HD=$ptrType(BQ);HE=$ptrType(BX);HF=$ptrType(BW);HG=$sliceType($Int);HH=$sliceType(CH);HI=$ptrType(CC);HJ=$sliceType($Uint8);HO=$ptrType($UnsafePointer);HQ=$sliceType($Int32);HT=$funcType([$String],[$Bool],false);HU=$funcType([$UnsafePointer,$Uintptr],[$Uintptr],false);HV=$funcType([$UnsafePointer,$UnsafePointer],[$Bool],false);HW=$arrayType($Uintptr,2);HX=$ptrType(DM);H=function(){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=(function(ag){var $ptr,ag;});$r=ag((ah=new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),new ah.constructor.elem(ah)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((ai=new BR.ptr(GO.nil,GO.nil,GQ.nil),new ai.constructor.elem(ai)));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((aj=new BQ.ptr(GO.nil,GO.nil,FW.nil,FW.nil,0,0),new aj.constructor.elem(aj)));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((ak=new BT.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),FW.nil,FW.nil,0),new ak.constructor.elem(ak)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((al=new BU.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),FW.nil,0),new al.constructor.elem(al)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((am=new BV.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),false,GC.nil,GC.nil),new am.constructor.elem(am)));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((an=new BX.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),GR.nil),new an.constructor.elem(an)));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((ao=new BY.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),FW.nil,FW.nil,FW.nil,FW.nil,0,0,0,0,0,false),new ao.constructor.elem(ao)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((ap=new BZ.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),FW.nil),new ap.constructor.elem(ap)));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((aq=new CA.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),FW.nil),new aq.constructor.elem(aq)));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((ar=new CC.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),GS.nil),new ar.constructor.elem(ar)));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((as=new BW.ptr(GO.nil,GO.nil,FW.nil),new as.constructor.elem(as)));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=ag((at=new CB.ptr(GO.nil,GO.nil,FW.nil,GO.nil,0),new at.constructor.elem(at)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=true;DV=$assertType(R(new $Uint8(0)),FW);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};I=function(ag){var $ptr,ag;return ag.jsType;};J=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm;if(ag.reflectType===undefined){ah=new BO.ptr((($parseInt(ag.size)>>0)>>>0),0,0,0,0,0,(($parseInt(ag.kind)>>0)<<24>>>24),GM.nil,GN.nil,M(ag.string),GP.nil,FW.nil,0);ah.jsType=ag;ag.reflectType=ah;ai=$methodSet(ag);if(!($internalize(ag.typeName,$String)==="")||!(($parseInt(ai.length)===0))){aj=$makeSlice(GQ,$parseInt(ai.length));ak=aj;al=0;while(true){if(!(al<ak.$length)){break;}am=al;an=ai[am];ao=an.typ;BQ.copy(((am<0||am>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+am]),new BQ.ptr(M(an.name),M(an.pkg),J(ao),J($funcType(new($global.Array)(ag).concat(ao.params),ao.results,ao.variadic)),0,0));al++;}ah.uncommonType=new BR.ptr(M(ag.typeName),M(ag.pkg),aj);ah.uncommonType.jsType=ag;}ap=ah.Kind();if(ap===17){K(ah,new BT.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),J(ag.elem),FW.nil,(($parseInt(ag.len)>>0)>>>0)));}else if(ap===18){aq=3;if(!!(ag.sendOnly)){aq=2;}if(!!(ag.recvOnly)){aq=1;}K(ah,new BU.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),J(ag.elem),(aq>>>0)));}else if(ap===19){ar=ag.params;as=$makeSlice(GC,$parseInt(ar.length));at=as;au=0;while(true){if(!(au<at.$length)){break;}av=au;((av<0||av>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+av]=J(ar[av]));au++;}aw=ag.results;ax=$makeSlice(GC,$parseInt(aw.length));ay=ax;az=0;while(true){if(!(az<ay.$length)){break;}ba=az;((ba<0||ba>=ax.$length)?$throwRuntimeError("index out of range"):ax.$array[ax.$offset+ba]=J(aw[ba]));az++;}K(ah,new BV.ptr($clone(ah,BO),!!(ag.variadic),as,ax));}else if(ap===20){bb=ag.methods;bc=$makeSlice(GR,$parseInt(bb.length));bd=bc;be=0;while(true){if(!(be<bd.$length)){break;}bf=be;bg=bb[bf];BW.copy(((bf<0||bf>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+bf]),new BW.ptr(M(bg.name),M(bg.pkg),J(bg.typ)));be++;}K(ah,new BX.ptr($clone(ah,BO),bc));}else if(ap===21){K(ah,new BY.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),J(ag.key),J(ag.elem),FW.nil,FW.nil,0,0,0,0,0,false));}else if(ap===22){K(ah,new BZ.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),J(ag.elem)));}else if(ap===23){K(ah,new CA.ptr(new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0),J(ag.elem)));}else if(ap===25){bh=ag.fields;bi=$makeSlice(GS,$parseInt(bh.length));bj=bi;bk=0;while(true){if(!(bk<bj.$length)){break;}bl=bk;bm=bh[bl];CB.copy(((bl<0||bl>=bi.$length)?$throwRuntimeError("index out of range"):bi.$array[bi.$offset+bl]),new CB.ptr(M(bm.name),M(bm.pkg),J(bm.typ),M(bm.tag),(bl>>>0)));bk++;}K(ah,new CC.ptr($clone(ah,BO),bi));}}return ag.reflectType;};K=function(ag,ah){var $ptr,ag,ah;ag.kindType=ah;ah.rtype=ag;};M=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao;ah=new GT.ptr("");ah.str=ag;ai=ah.str;if(ai===""){return GO.nil;}aj=(ak=L[$String.keyFor(ai)],ak!==undefined?[ak.v,true]:[GO.nil,false]);al=aj[0];am=aj[1];if(!am){al=(an||(an=new GO(function(){return ai;},function($v){ai=$v;})));ao=ai;(L||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(ao)]={k:ao,v:al};}return al;};N=function(ag){var $ptr,ag;return!!(I(ag).wrapped);};O=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al;aj=I(ai).fields;ak=0;while(true){if(!(ak<$parseInt(aj.length))){break;}al=$internalize(aj[ak].prop,$String);ag[$externalize(al,$String)]=ah[$externalize(al,$String)];ak=ak+(1)>>0;}};P=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=ag.common();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;an=ag.Kind();$s=6;case 6:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(an===17){am=true;$s=5;continue s;}ao=ag.Kind();$s=7;case 7:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=ao===25;case 5:if(am){al=true;$s=4;continue s;}ap=ag.Kind();$s=8;case 8:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}al=ap===22;case 4:if(al){$s=2;continue;}$s=3;continue;case 2:aq=ag.Kind();$s=9;case 9:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=10;case 10:return new DI.ptr(ak,ah,(ai|(aq>>>0))>>>0);case 3:ar=ag.Kind();$s=11;case 11:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=12;case 12:return new DI.ptr(ak,$newDataPointer(ah,I(ak.ptrTo())),(((ai|(ar>>>0))>>>0)|64)>>>0);}return;}if($f===undefined){$f={$blk:P};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};Q=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=[ag];aj=ag[0].Kind();$s=3;case 3:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}if(!((aj===23))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.MakeSlice of non-slice type"));case 2:if(ah<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(ai<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(ah>ai){$panic(new $String("reflect.MakeSlice: len > cap"));}ak=P(ag[0],$makeSlice(I(ag[0]),ah,ai,(function(ag){return function $b(){var $ptr,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ak=ag[0].Elem();$s=1;case 1:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=I(ak);$s=2;case 2:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=3;case 3:return al.zero();}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};})(ag)),0);$s=4;case 4:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}$s=5;case 5:return ak;}return;}if($f===undefined){$f={$blk:Q};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeSlice=Q;R=function(ag){var $ptr,ag;if(!G){return new BO.ptr(0,0,0,0,0,0,0,GM.nil,GN.nil,GO.nil,GP.nil,FW.nil,0);}if($interfaceIsEqual(ag,$ifaceNil)){return $ifaceNil;}return J(ag.constructor);};$pkg.TypeOf=R;S=function(ag){var $ptr,ag,ah,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(ag,$ifaceNil)){return new DI.ptr(FW.nil,0,0);}ah=P(J(ag.constructor),ag.$val,0);$s=1;case 1:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$s=2;case 2:return ah;}return;}if($f===undefined){$f={$blk:S};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ValueOf=S;BO.ptr.prototype.ptrTo=function(){var $ptr,ag;ag=this;return J($ptrType(I(ag)));};BO.prototype.ptrTo=function(){return this.$val.ptrTo();};X=function(ag){var $ptr,ag;return J($sliceType(I(ag)));};$pkg.SliceOf=X;Y=function(ag){var $ptr,ag,ah,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=P(ag,I(ag).zero(),0);$s=1;case 1:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}$s=2;case 2:return ah;}return;}if($f===undefined){$f={$blk:Y};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Zero=Y;Z=function(ag){var $ptr,ag,ah;ah=ag.Kind();if(ah===25){return new(I(ag).ptr)();}else if(ah===17){return I(ag).zero();}else{return $newDataPointer(I(ag).zero(),I(ag.ptrTo()));}};AA=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=ai.common();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=Z(ak);am=ak.Kind();if(am===3){al.$set((ah.$low<<24>>24));}else if(am===4){al.$set((ah.$low<<16>>16));}else if(am===2||am===5){al.$set((ah.$low>>0));}else if(am===6){al.$set(new $Int64(ah.$high,ah.$low));}else if(am===8){al.$set((ah.$low<<24>>>24));}else if(am===9){al.$set((ah.$low<<16>>>16));}else if(am===7||am===10||am===12){al.$set((ah.$low>>>0));}else if(am===11){al.$set(ah);}return new DI.ptr(ak,al,(((ag|64)>>>0)|(ak.Kind()>>>0))>>>0);}return;}if($f===undefined){$f={$blk:AA};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};AC=function(ag,ah,ai){var $ptr,ag,ah,ai;ah.$set(ai.$get());};AG=function(ag,ah){var $ptr,ag,ah,ai,aj;ai=ah;if(!(ai.$get===undefined)){ai=ai.$get();}aj=$internalize(I(ag.Key()).keyFor(ai),$String);return[ai,aj];};AH=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al;aj=AG(ag,ai);ak=aj[1];al=ah[$externalize(ak,$String)];if(al===undefined){return 0;}return $newDataPointer(al.v,I(CJ(ag.Elem())));};AI=function(ag,ah,ai,aj){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ak=AG(ag,ai);al=ak[0];am=ak[1];an=aj.$get();ao=ag.Elem();ap=ao.Kind();$s=3;case 3:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}if(ap===25){$s=1;continue;}$s=2;continue;case 1:aq=I(ao).zero();O(aq,an,ao);an=aq;case 2:ar=new($global.Object)();ar.k=al;ar.v=an;ah[$externalize(am,$String)]=ar;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AI};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};AJ=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak;aj=AG(ag,ai);ak=aj[1];delete ah[$externalize(ak,$String)];};AL=function(ag,ah){var $ptr,ag,ah;return new AK.ptr(ag,ah,$keys(ah),0);};AM=function(ag){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=ag;ai=ah.keys[ah.i];aj=ah.t.Key();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=CJ(aj);$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=I(ak);$s=3;case 3:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=4;case 4:return $newDataPointer(ah.m[$externalize($internalize(ai,$String),$String)].k,al);}return;}if($f===undefined){$f={$blk:AM};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};AN=function(ag){var $ptr,ag,ah;ah=ag;ah.i=ah.i+(1)>>0;};AO=function(ag){var $ptr,ag;return $parseInt($keys(ag).length);};AP=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ag.object();if(ai===I(ag.typ).nil){$s=1;continue;}$s=2;continue;case 1:aj=P(ah,I(ah).nil,ag.flag);$s=3;case 3:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=4;case 4:return aj;case 2:ak=null;al=ah.Kind();$s=5;case 5:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;an=am;if(an===23){$s=6;continue;}if(an===22){$s=7;continue;}if(an===25){$s=8;continue;}if(an===17||an===1||an===18||an===19||an===20||an===21||an===24){$s=9;continue;}$s=10;continue;case 6:ao=new(I(ah))(ai.$array);ao.$offset=ai.$offset;ao.$length=ai.$length;ao.$capacity=ai.$capacity;ak=$newDataPointer(ao,I(CJ(ah)));$s=11;continue;case 7:ap=ah.Elem();$s=14;case 14:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap.Kind();$s=15;case 15:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(aq===25){$s=12;continue;}$s=13;continue;case 12:ar=ah.Elem();$s=18;case 18:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if($interfaceIsEqual(ar,ag.typ.Elem())){$s=16;continue;}$s=17;continue;case 16:ak=ai;$s=11;continue;case 17:ak=new(I(ah))();as=ak;at=ai;au=ah.Elem();$s=19;case 19:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;$r=O(as,at,av);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 13:ak=new(I(ah))(ai.$get,ai.$set);$s=11;continue;case 8:ak=new(I(ah).ptr)();O(ak,ai,ah);$s=11;continue;case 9:ak=ag.ptr;$s=11;continue;case 10:$panic(new DM.ptr("reflect.Convert",am));case 11:aw=ah.common();$s=21;case 21:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=ah.Kind();$s=22;case 22:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$s=23;case 23:return new DI.ptr(aw,ak,(((ag.flag&96)>>>0)|(ax>>>0))>>>0);}return;}if($f===undefined){$f={$blk:AP};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};AR=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au;aj=FW.nil;ak=FW.nil;al=0;ah=ah;am="";if(ah.typ.Kind()===20){an=ah.typ.kindType;if(ai<0||ai>=an.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}ap=(ao=an.methods,((ai<0||ai>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+ai]));if(!(ap.pkgPath===GO.nil)){$panic(new $String("reflect: "+ag+" of unexported method"));}aq=$pointerOfStructConversion(ah.ptr,GW);if(aq.itab===GZ.nil){$panic(new $String("reflect: "+ag+" of method on nil interface value"));}ak=ap.typ;am=ap.name.$get();}else{ar=ah.typ.uncommonType.uncommon();if(ar===GP.nil||ai<0||ai>=ar.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}at=(as=ar.methods,((ai<0||ai>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ai]));if(!(at.pkgPath===GO.nil)){$panic(new $String("reflect: "+ag+" of unexported method"));}ak=at.mtyp;am=$internalize($methodSet(I(ah.typ))[ai].prop,$String);}au=ah.object();if(N(ah.typ)){au=new(I(ah.typ))(au);}al=au[$externalize(am,$String)];return[aj,ak,al];};AS=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;if(ag.flag===0){$panic(new DM.ptr("reflect.Value.Interface",0));}if(ah&&!((((ag.flag&32)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((ag.flag&256)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:ai=AV("Interface",ag);$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ag=ai;case 2:if(N(ag.typ)){return new(I(ag.typ))(ag.object());}return ag.object();}return;}if($f===undefined){$f={$blk:AS};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};AT=function(ag,ah,ai){var $ptr,ag,ah,ai;ai.$set(ah);};AU=function(){var $ptr;return"?FIXME?";};AV=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ai=[ai];aj=[aj];ah=ah;if(((ah.flag&256)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}ak=AR(ag,ah,(ah.flag>>0)>>9>>0);ai[0]=ak[2];aj[0]=ah.object();if(N(ah.typ)){aj[0]=new(I(ah.typ))(aj[0]);}al=$makeFunc((function(ai,aj){return function(al){var $ptr,al;return ai[0].apply(aj[0],$externalize(al,GU));};})(ai,aj));am=ah.Type().common();$s=1;case 1:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=2;case 2:return new DI.ptr(am,al,(((ah.flag&32)>>>0)|19)>>>0);}return;}if($f===undefined){$f={$blk:AV};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};BO.ptr.prototype.pointers=function(){var $ptr,ag,ah;ag=this;ah=ag.Kind();if(ah===22||ah===21||ah===18||ah===19||ah===25||ah===17){return true;}else{return false;}};BO.prototype.pointers=function(){return this.$val.pointers();};BO.ptr.prototype.Comparable=function(){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;ah=ag.Kind();if(ah===19||ah===23||ah===21){$s=1;continue;}if(ah===17){$s=2;continue;}if(ah===25){$s=3;continue;}$s=4;continue;case 1:return false;case 2:ai=ag.Elem().Comparable();$s=5;case 5:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=6;case 6:return ai;case 3:aj=0;case 7:if(!(aj<ag.NumField())){$s=8;continue;}ak=ag.Field(aj);$s=11;case 11:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak.Type.Comparable();$s=12;case 12:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}if(!al){$s=9;continue;}$s=10;continue;case 9:return false;case 10:aj=aj+(1)>>0;$s=7;continue;case 8:case 4:return true;}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.Comparable};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.Comparable=function(){return this.$val.Comparable();};BR.ptr.prototype.Method=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=this;if(ai===GP.nil||ag<0||ag>=ai.methods.$length){$panic(new $String("reflect: Method index out of range"));}ak=(aj=ai.methods,((ag<0||ag>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ag]));if(!(ak.name===GO.nil)){ah.Name=ak.name.$get();}al=19;if(!(ak.pkgPath===GO.nil)){ah.PkgPath=ak.pkgPath.$get();al=(al|(32))>>>0;}am=ak.typ;ah.Type=am;an=$internalize($methodSet(ai.jsType)[ag].prop,$String);ao=$makeFunc((function(ao){var $ptr,ao,ap;ap=(0>=ao.$length?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+0]);return ap[$externalize(an,$String)].apply(ap,$externalize($subslice(ao,1),GU));}));ah.Func=new DI.ptr(am,ao,al);ah.Index=ag;return ah;};BR.prototype.Method=function(ag){return this.$val.Method(ag);};DI.ptr.prototype.object=function(){var $ptr,ag,ah,ai,aj;ag=this;if((ag.typ.Kind()===17)||(ag.typ.Kind()===25)){return ag.ptr;}if(!((((ag.flag&64)>>>0)===0))){ah=ag.ptr.$get();if(!(ah===$ifaceNil)&&!(ah.constructor===I(ag.typ))){ai=ag.typ.Kind();switch(0){default:if(ai===11||ai===6){ah=new(I(ag.typ))(ah.$high,ah.$low);}else if(ai===15||ai===16){ah=new(I(ag.typ))(ah.$real,ah.$imag);}else if(ai===23){if(ah===ah.constructor.nil){ah=I(ag.typ).nil;break;}aj=new(I(ag.typ))(ah.$array);aj.$offset=ah.$offset;aj.$length=ah.$length;aj.$capacity=ah.$capacity;ah=aj;}}}return ah;}return ag.ptr;};DI.prototype.object=function(){return this.$val.object();};DI.ptr.prototype.call=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ai=this;aj=ai.typ;ak=0;al=null;if(!((((ai.flag&256)>>>0)===0))){am=AR(ag,ai,(ai.flag>>0)>>9>>0);aj=am[1];ak=am[2];al=ai.object();if(N(ai.typ)){al=new(I(ai.typ))(al);}}else{ak=ai.object();al=undefined;}if(ak===0){$panic(new $String("reflect.Value.Call: call of nil function"));}an=ag==="CallSlice";ao=aj.NumIn();if(an){if(!aj.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(ah.$length<ao){$panic(new $String("reflect: CallSlice with too few input arguments"));}if(ah.$length>ao){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(aj.IsVariadic()){ao=ao-(1)>>0;}if(ah.$length<ao){$panic(new $String("reflect: Call with too few input arguments"));}if(!aj.IsVariadic()&&ah.$length>ao){$panic(new $String("reflect: Call with too many input arguments"));}}ap=ah;aq=0;while(true){if(!(aq<ap.$length)){break;}ar=((aq<0||aq>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+aq]);if(ar.Kind()===0){$panic(new $String("reflect: "+ag+" using zero Value argument"));}aq++;}as=0;case 1:if(!(as<ao)){$s=2;continue;}at=((as<0||as>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+as]).Type();au=aj.In(as);av=at;aw=au;ax=av.AssignableTo(aw);$s=5;case 5:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}if(!ax){$s=3;continue;}$s=4;continue;case 3:ay=av.String();$s=6;case 6:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=aw.String();$s=7;case 7:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}$panic(new $String("reflect: "+ag+" using "+ay+" as type "+az));case 4:as=as+(1)>>0;$s=1;continue;case 2:if(!an&&aj.IsVariadic()){$s=8;continue;}$s=9;continue;case 8:ba=ah.$length-ao>>0;bb=Q(aj.In(ao),ba,ba);$s=10;case 10:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=bb;bd=aj.In(ao).Elem();$s=11;case 11:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;bf=0;case 12:if(!(bf<ba)){$s=13;continue;}bh=(bg=ao+bf>>0,((bg<0||bg>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+bg]));bi=bh.Type();bj=bi.AssignableTo(be);$s=16;case 16:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}if(!bj){$s=14;continue;}$s=15;continue;case 14:bk=bi.String();$s=17;case 17:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=be.String();$s=18;case 18:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}$panic(new $String("reflect: cannot use "+bk+" as type "+bl+" in "+ag));case 15:bm=bc.Index(bf);$s=19;case 19:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}$r=bm.Set(bh);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bf=bf+(1)>>0;$s=12;continue;case 13:bn=ah;ah=$makeSlice(GV,(ao+1>>0));$copySlice($subslice(ah,0,ao),bn);((ao<0||ao>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+ao]=bc);case 9:bo=ah.$length;if(!((bo===aj.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bp=aj.NumOut();bq=new($global.Array)(aj.NumIn());br=ah;bs=0;case 21:if(!(bs<br.$length)){$s=22;continue;}bt=bs;bu=((bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]);bv=aj.In(bt);bw=aj.In(bt).common();$s=23;case 23:if($c){$c=false;bw=bw.$blk();}if(bw&&bw.$blk!==undefined){break s;}bx=bw;by=0;bz=bu.assignTo("reflect.Value.Call",bx,by);$s=24;case 24:if($c){$c=false;bz=bz.$blk();}if(bz&&bz.$blk!==undefined){break s;}ca=bz.object();$s=25;case 25:if($c){$c=false;ca=ca.$blk();}if(ca&&ca.$blk!==undefined){break s;}cb=ca;cc=AZ(bv,cb);$s=26;case 26:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}bq[bt]=cc;bs++;$s=21;continue;case 22:cd=AW(new GI([new $jsObjectPtr(ak),new $jsObjectPtr(al),new $jsObjectPtr(bq)]));$s=27;case 27:if($c){$c=false;cd=cd.$blk();}if(cd&&cd.$blk!==undefined){break s;}ce=cd;cf=bp;if(cf===0){$s=28;continue;}if(cf===1){$s=29;continue;}$s=30;continue;case 28:return GV.nil;case 29:cg=P(aj.Out(0),AY(aj.Out(0),ce),0);$s=32;case 32:if($c){$c=false;cg=cg.$blk();}if(cg&&cg.$blk!==undefined){break s;}$s=33;case 33:return new GV([$clone(cg,DI)]);case 30:ch=$makeSlice(GV,bp);ci=ch;cj=0;case 34:if(!(cj<ci.$length)){$s=35;continue;}ck=cj;cl=P(aj.Out(ck),AY(aj.Out(ck),ce[ck]),0);$s=36;case 36:if($c){$c=false;cl=cl.$blk();}if(cl&&cl.$blk!==undefined){break s;}((ck<0||ck>=ch.$length)?$throwRuntimeError("index out of range"):ch.$array[ch.$offset+ck]=cl);cj++;$s=34;continue;case 35:return ch;case 31:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.call};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.call=function(ag,ah){return this.$val.call(ag,ah);};DI.ptr.prototype.Cap=function(){var $ptr,ag,ah,ai;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===17){return ag.typ.Len();}else if(ai===18||ai===23){return $parseInt(ag.object().$capacity)>>0;}$panic(new DM.ptr("reflect.Value.Cap",ah));};DI.prototype.Cap=function(){return this.$val.Cap();};AY=function(ag,ah){var $ptr,ag,ah;if($interfaceIsEqual(ag,AX)){return new(I(AX))(ah);}return ah;};AZ=function(ag,ah){var $ptr,ag,ah;if($interfaceIsEqual(ag,AX)){return ah.object;}return ah;};DI.ptr.prototype.Elem=function(){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===20){$s=1;continue;}if(ai===22){$s=2;continue;}$s=3;continue;case 1:aj=ag.object();if(aj===$ifaceNil){return new DI.ptr(FW.nil,0,0);}ak=J(aj.constructor);al=P(ak,aj.$val,(ag.flag&32)>>>0);$s=5;case 5:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=6;case 6:return al;case 2:if(ag.IsNil()){return new DI.ptr(FW.nil,0,0);}am=ag.object();an=ag.typ.kindType;ao=(((((ag.flag&32)>>>0)|64)>>>0)|128)>>>0;ao=(ao|((an.elem.Kind()>>>0)))>>>0;return new DI.ptr(an.elem,AY(an.elem,am),ao);case 3:$panic(new DM.ptr("reflect.Value.Elem",ah));case 4:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Elem};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Elem=function(){return this.$val.Elem();};DI.ptr.prototype.Field=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=[ah];ai=[ai];aj=[aj];ak=[ak];al=this;new DJ(al.flag).mustBe(25);am=al.typ.kindType;if(ag<0||ag>=am.fields.$length){$panic(new $String("reflect: Field index out of range"));}ak[0]=$internalize(I(al.typ).fields[ag].prop,$String);ao=(an=am.fields,((ag<0||ag>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+ag]));ai[0]=ao.typ;ap=(al.flag&224)>>>0;if(!(ao.pkgPath===GO.nil)){ap=(ap|(32))>>>0;}ap=(ap|((ai[0].Kind()>>>0)))>>>0;ar=(aq=am.fields,((ag<0||ag>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ag])).tag;if(!(ar===GO.nil)&&!((ag===0))){$s=1;continue;}$s=2;continue;case 1:ah[0]=BA(ar.$get());if(!(ah[0]==="")){$s=3;continue;}$s=4;continue;case 3:case 5:as=[as];at=al.Field(0);$s=7;case 7:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}al=at;if(al.typ===AX){$s=8;continue;}$s=9;continue;case 8:as[0]=al.object().object;return new DI.ptr(ai[0],new(I(CJ(ai[0])))((function(ah,ai,aj,ak,as){return function(){var $ptr;return $internalize(as[0][$externalize(ah[0],$String)],I(ai[0]));};})(ah,ai,aj,ak,as),(function(ah,ai,aj,ak,as){return function(au){var $ptr,au;as[0][$externalize(ah[0],$String)]=$externalize(au,I(ai[0]));};})(ah,ai,aj,ak,as)),ap);case 9:if(al.typ.Kind()===22){$s=10;continue;}$s=11;continue;case 10:au=al.Elem();$s=12;case 12:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}al=au;case 11:$s=5;continue;case 6:case 4:case 2:aj[0]=al.ptr;if(!((((ap&64)>>>0)===0))&&!((ai[0].Kind()===17))&&!((ai[0].Kind()===25))){$s=13;continue;}$s=14;continue;case 13:return new DI.ptr(ai[0],new(I(CJ(ai[0])))((function(ah,ai,aj,ak){return function(){var $ptr;return AY(ai[0],aj[0][$externalize(ak[0],$String)]);};})(ah,ai,aj,ak),(function(ah,ai,aj,ak){return function(av){var $ptr,av;aj[0][$externalize(ak[0],$String)]=AZ(ai[0],av);};})(ah,ai,aj,ak)),ap);case 14:av=P(ai[0],AY(ai[0],aj[0][$externalize(ak[0],$String)]),ap);$s=15;case 15:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}$s=16;case 16:return av;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Field};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Field=function(ag){return this.$val.Field(ag);};BA=function(ag){var $ptr,ag,ah,ai,aj,ak,al;while(true){if(!(!(ag===""))){break;}ah=0;while(true){if(!(ah<ag.length&&(ag.charCodeAt(ah)===32))){break;}ah=ah+(1)>>0;}ag=ag.substring(ah);if(ag===""){break;}ah=0;while(true){if(!(ah<ag.length&&!((ag.charCodeAt(ah)===32))&&!((ag.charCodeAt(ah)===58))&&!((ag.charCodeAt(ah)===34)))){break;}ah=ah+(1)>>0;}if((ah+1>>0)>=ag.length||!((ag.charCodeAt(ah)===58))||!((ag.charCodeAt((ah+1>>0))===34))){break;}ai=ag.substring(0,ah);ag=ag.substring((ah+1>>0));ah=1;while(true){if(!(ah<ag.length&&!((ag.charCodeAt(ah)===34)))){break;}if(ag.charCodeAt(ah)===92){ah=ah+(1)>>0;}ah=ah+(1)>>0;}if(ah>=ag.length){break;}aj=ag.substring(0,(ah+1>>0));ag=ag.substring((ah+1>>0));if(ai==="js"){ak=B.Unquote(aj);al=ak[0];return al;}}return"";};DI.ptr.prototype.Index=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=[ag];ah=[ah];ai=[ai];aj=[aj];ak=[ak];al=[al];am=this;an=new DJ(am.flag).kind();ao=an;if(ao===17){$s=1;continue;}if(ao===23){$s=2;continue;}if(ao===24){$s=3;continue;}$s=4;continue;case 1:ap=am.typ.kindType;if(ag[0]<0||ag[0]>(ap.len>>0)){$panic(new $String("reflect: array index out of range"));}ah[0]=ap.elem;aq=(am.flag&224)>>>0;aq=(aq|((ah[0].Kind()>>>0)))>>>0;ai[0]=am.ptr;if(!((((aq&64)>>>0)===0))&&!((ah[0].Kind()===17))&&!((ah[0].Kind()===25))){$s=6;continue;}$s=7;continue;case 6:return new DI.ptr(ah[0],new(I(CJ(ah[0])))((function(ag,ah,ai,aj,ak,al){return function(){var $ptr;return AY(ah[0],ai[0][ag[0]]);};})(ag,ah,ai,aj,ak,al),(function(ag,ah,ai,aj,ak,al){return function(ar){var $ptr,ar;ai[0][ag[0]]=AZ(ah[0],ar);};})(ag,ah,ai,aj,ak,al)),aq);case 7:ar=P(ah[0],AY(ah[0],ai[0][ag[0]]),aq);$s=8;case 8:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=9;case 9:return ar;case 2:as=am.object();if(ag[0]<0||ag[0]>=($parseInt(as.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}at=am.typ.kindType;aj[0]=at.elem;au=(192|((am.flag&32)>>>0))>>>0;au=(au|((aj[0].Kind()>>>0)))>>>0;ag[0]=ag[0]+(($parseInt(as.$offset)>>0))>>0;ak[0]=as.$array;if(!((((au&64)>>>0)===0))&&!((aj[0].Kind()===17))&&!((aj[0].Kind()===25))){$s=10;continue;}$s=11;continue;case 10:return new DI.ptr(aj[0],new(I(CJ(aj[0])))((function(ag,ah,ai,aj,ak,al){return function(){var $ptr;return AY(aj[0],ak[0][ag[0]]);};})(ag,ah,ai,aj,ak,al),(function(ag,ah,ai,aj,ak,al){return function(av){var $ptr,av;ak[0][ag[0]]=AZ(aj[0],av);};})(ag,ah,ai,aj,ak,al)),au);case 11:av=P(aj[0],AY(aj[0],ak[0][ag[0]]),au);$s=12;case 12:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}$s=13;case 13:return av;case 3:aw=am.ptr.$get();if(ag[0]<0||ag[0]>=aw.length){$panic(new $String("reflect: string index out of range"));}ax=(((am.flag&32)>>>0)|8)>>>0;al[0]=aw.charCodeAt(ag[0]);return new DI.ptr(DV,(al.$ptr||(al.$ptr=new GN(function(){return this.$target[0];},function($v){this.$target[0]=$v;},al))),(ax|64)>>>0);case 4:$panic(new DM.ptr("reflect.Value.Index",an));case 5:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Index};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Index=function(ag){return this.$val.Index(ag);};DI.ptr.prototype.InterfaceData=function(){var $ptr,ag;ag=this;$panic(A.New("InterfaceData is not supported by GopherJS"));};DI.prototype.InterfaceData=function(){return this.$val.InterfaceData();};DI.ptr.prototype.IsNil=function(){var $ptr,ag,ah,ai;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===22||ai===23){return ag.object()===I(ag.typ).nil;}else if(ai===18){return ag.object()===$chanNil;}else if(ai===19){return ag.object()===$throwNilPointerError;}else if(ai===21){return ag.object()===false;}else if(ai===20){return ag.object()===$ifaceNil;}else{$panic(new DM.ptr("reflect.Value.IsNil",ah));}};DI.prototype.IsNil=function(){return this.$val.IsNil();};DI.ptr.prototype.Len=function(){var $ptr,ag,ah,ai;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===17||ai===24){return $parseInt(ag.object().length);}else if(ai===23){return $parseInt(ag.object().$length)>>0;}else if(ai===18){return $parseInt(ag.object().$buffer.length)>>0;}else if(ai===21){return $parseInt($keys(ag.object()).length);}else{$panic(new DM.ptr("reflect.Value.Len",ah));}};DI.prototype.Len=function(){return this.$val.Len();};DI.ptr.prototype.Pointer=function(){var $ptr,ag,ah,ai;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===18||ai===21||ai===22||ai===26){if(ag.IsNil()){return 0;}return ag.object();}else if(ai===19){if(ag.IsNil()){return 0;}return 1;}else if(ai===23){if(ag.IsNil()){return 0;}return ag.object().$array;}else{$panic(new DM.ptr("reflect.Value.Pointer",ah));}};DI.prototype.Pointer=function(){return this.$val.Pointer();};DI.ptr.prototype.Set=function(ag){var $ptr,ag,ah,ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ag.flag).mustBeExported();ai=ag.assignTo("reflect.Set",ah.typ,0);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ag=ai;if(!((((ah.flag&64)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:aj=ah.typ.Kind();if(aj===17){$s=4;continue;}if(aj===20){$s=5;continue;}if(aj===25){$s=6;continue;}$s=7;continue;case 4:I(ah.typ).copy(ah.ptr,ag.ptr);$s=8;continue;case 5:ak=AS(ag,false);$s=9;case 9:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ah.ptr.$set(ak);$s=8;continue;case 6:O(ah.ptr,ag.ptr,ah.typ);$s=8;continue;case 7:ah.ptr.$set(ag.object());case 8:return;case 3:ah.ptr=ag.ptr;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Set};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Set=function(ag){return this.$val.Set(ag);};DI.ptr.prototype.SetCap=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(23);ai=ah.ptr.$get();if(ag<($parseInt(ai.$length)>>0)||ag>($parseInt(ai.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}aj=new(I(ah.typ))(ai.$array);aj.$offset=ai.$offset;aj.$length=ai.$length;aj.$capacity=ag;ah.ptr.$set(aj);};DI.prototype.SetCap=function(ag){return this.$val.SetCap(ag);};DI.ptr.prototype.SetLen=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(23);ai=ah.ptr.$get();if(ag<0||ag>($parseInt(ai.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}aj=new(I(ah.typ))(ai.$array);aj.$offset=ai.$offset;aj.$length=ag;aj.$capacity=ai.$capacity;ah.ptr.$set(aj);};DI.prototype.SetLen=function(ag){return this.$val.SetLen(ag);};DI.ptr.prototype.Slice=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ai=this;aj=0;ak=$ifaceNil;al=null;am=new DJ(ai.flag).kind();an=am;if(an===17){$s=1;continue;}if(an===23){$s=2;continue;}if(an===24){$s=3;continue;}$s=4;continue;case 1:if(((ai.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}ao=ai.typ.kindType;aj=(ao.len>>0);ak=X(ao.elem);al=new(I(ak))(ai.object());$s=5;continue;case 2:ak=ai.typ;al=ai.object();aj=$parseInt(al.$capacity)>>0;$s=5;continue;case 3:ap=ai.ptr.$get();if(ag<0||ah<ag||ah>ap.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}aq=S(new $String(ap.substring(ag,ah)));$s=6;case 6:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=7;case 7:return aq;case 4:$panic(new DM.ptr("reflect.Value.Slice",am));case 5:if(ag<0||ah<ag||ah>aj){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}ar=P(ak,$subslice(al,ag,ah),(ai.flag&32)>>>0);$s=8;case 8:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=9;case 9:return ar;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Slice};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Slice=function(ag,ah){return this.$val.Slice(ag,ah);};DI.ptr.prototype.Slice3=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=this;ak=0;al=$ifaceNil;am=null;an=new DJ(aj.flag).kind();ao=an;if(ao===17){if(((aj.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}ap=aj.typ.kindType;ak=(ap.len>>0);al=X(ap.elem);am=new(I(al))(aj.object());}else if(ao===23){al=aj.typ;am=aj.object();ak=$parseInt(am.$capacity)>>0;}else{$panic(new DM.ptr("reflect.Value.Slice3",an));}if(ag<0||ah<ag||ai<ah||ai>ak){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}aq=P(al,$subslice(am,ag,ah,ai),(aj.flag&32)>>>0);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=2;case 2:return aq;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Slice3};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Slice3=function(ag,ah,ai){return this.$val.Slice3(ag,ah,ai);};DI.ptr.prototype.Close=function(){var $ptr,ag;ag=this;new DJ(ag.flag).mustBe(18);new DJ(ag.flag).mustBeExported();$close(ag.object());};DI.prototype.Close=function(){return this.$val.Close();};BC=function(ag,ah,ai,aj){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ak=false;al=false;am=new HA([new GI([new $jsObjectPtr(ah)])]);if(ai){am=$append(am,new GI([]));}an=BB(new GI([am]));$s=1;case 1:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=an;if(ai&&(($parseInt(ao[0])>>0)===1)){ap=false;aq=false;ak=ap;al=aq;return[ak,al];}ar=ao[1];aj.$set(ar[0]);as=true;at=!!(ar[1]);ak=as;al=at;return[ak,al];}return;}if($f===undefined){$f={$blk:BC};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};BD=function(ag,ah,ai,aj){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ak=new HA([new GI([new $jsObjectPtr(ah),new $jsObjectPtr(ai.$get())])]);if(aj){ak=$append(ak,new GI([]));}al=BB(new GI([ak]));$s=1;case 1:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;if(aj&&(($parseInt(am[0])>>0)===1)){return false;}return true;}return;}if($f===undefined){$f={$blk:BD};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};BN.prototype.String=function(){var $ptr,ag;ag=this.$val;if((ag>>0)<CE.$length){return((ag<0||ag>=CE.$length)?$throwRuntimeError("index out of range"):CE.$array[CE.$offset+ag]);}return"kind"+B.Itoa((ag>>0));};$ptrType(BN).prototype.String=function(){return new BN(this.$get()).String();};BR.ptr.prototype.uncommon=function(){var $ptr,ag;ag=this;return ag;};BR.prototype.uncommon=function(){return this.$val.uncommon();};BR.ptr.prototype.PkgPath=function(){var $ptr,ag;ag=this;if(ag===GP.nil||ag.pkgPath===GO.nil){return"";}return ag.pkgPath.$get();};BR.prototype.PkgPath=function(){return this.$val.PkgPath();};BR.ptr.prototype.Name=function(){var $ptr,ag;ag=this;if(ag===GP.nil||ag.name===GO.nil){return"";}return ag.name.$get();};BR.prototype.Name=function(){return this.$val.Name();};BO.ptr.prototype.String=function(){var $ptr,ag;ag=this;return ag.string.$get();};BO.prototype.String=function(){return this.$val.String();};BO.ptr.prototype.Size=function(){var $ptr,ag;ag=this;return ag.size;};BO.prototype.Size=function(){return this.$val.Size();};BO.ptr.prototype.Bits=function(){var $ptr,ag,ah;ag=this;if(ag===FW.nil){$panic(new $String("reflect: Bits of nil Type"));}ah=ag.Kind();if(ah<2||ah>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+ag.String()));}return $imul((ag.size>>0),8);};BO.prototype.Bits=function(){return this.$val.Bits();};BO.ptr.prototype.Align=function(){var $ptr,ag;ag=this;return(ag.align>>0);};BO.prototype.Align=function(){return this.$val.Align();};BO.ptr.prototype.FieldAlign=function(){var $ptr,ag;ag=this;return(ag.fieldAlign>>0);};BO.prototype.FieldAlign=function(){return this.$val.FieldAlign();};BO.ptr.prototype.Kind=function(){var $ptr,ag;ag=this;return(((ag.kind&31)>>>0)>>>0);};BO.prototype.Kind=function(){return this.$val.Kind();};BO.ptr.prototype.common=function(){var $ptr,ag;ag=this;return ag;};BO.prototype.common=function(){return this.$val.common();};BR.ptr.prototype.NumMethod=function(){var $ptr,ag;ag=this;if(ag===GP.nil){return 0;}return ag.methods.$length;};BR.prototype.NumMethod=function(){return this.$val.NumMethod();};BR.ptr.prototype.MethodByName=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=false;aj=this;if(aj===GP.nil){return[ah,ai];}ak=HD.nil;al=aj.methods;am=0;while(true){if(!(am<al.$length)){break;}an=am;ak=(ao=aj.methods,((an<0||an>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+an]));if(!(ak.name===GO.nil)&&ak.name.$get()===ag){ap=$clone(aj.Method(an),CD);aq=true;CD.copy(ah,ap);ai=aq;return[ah,ai];}am++;}return[ah,ai];};BR.prototype.MethodByName=function(ag){return this.$val.MethodByName(ag);};BO.ptr.prototype.NumMethod=function(){var $ptr,ag,ah;ag=this;if(ag.Kind()===20){ah=ag.kindType;return ah.NumMethod();}return ag.uncommonType.NumMethod();};BO.prototype.NumMethod=function(){return this.$val.NumMethod();};BO.ptr.prototype.Method=function(ag){var $ptr,ag,ah,ai,aj;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=this;if(ai.Kind()===20){aj=ai.kindType;CD.copy(ah,aj.Method(ag));return ah;}CD.copy(ah,ai.uncommonType.Method(ag));return ah;};BO.prototype.Method=function(ag){return this.$val.Method(ag);};BO.ptr.prototype.MethodByName=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=false;aj=this;if(aj.Kind()===20){ak=aj.kindType;al=ak.MethodByName(ag);CD.copy(ah,al[0]);ai=al[1];return[ah,ai];}am=aj.uncommonType.MethodByName(ag);CD.copy(ah,am[0]);ai=am[1];return[ah,ai];};BO.prototype.MethodByName=function(ag){return this.$val.MethodByName(ag);};BO.ptr.prototype.PkgPath=function(){var $ptr,ag;ag=this;return ag.uncommonType.PkgPath();};BO.prototype.PkgPath=function(){return this.$val.PkgPath();};BO.ptr.prototype.Name=function(){var $ptr,ag;ag=this;return ag.uncommonType.Name();};BO.prototype.Name=function(){return this.$val.Name();};BO.ptr.prototype.ChanDir=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}ah=ag.kindType;return(ah.dir>>0);};BO.prototype.ChanDir=function(){return this.$val.ChanDir();};BO.ptr.prototype.IsVariadic=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}ah=ag.kindType;return ah.dotdotdot;};BO.prototype.IsVariadic=function(){return this.$val.IsVariadic();};BO.ptr.prototype.Elem=function(){var $ptr,ag,ah,ai,aj,ak,al,am;ag=this;ah=ag.Kind();if(ah===17){ai=ag.kindType;return DA(ai.elem);}else if(ah===18){aj=ag.kindType;return DA(aj.elem);}else if(ah===21){ak=ag.kindType;return DA(ak.elem);}else if(ah===22){al=ag.kindType;return DA(al.elem);}else if(ah===23){am=ag.kindType;return DA(am.elem);}$panic(new $String("reflect: Elem of invalid type"));};BO.prototype.Elem=function(){return this.$val.Elem();};BO.ptr.prototype.Field=function(ag){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(!((ah.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}ai=ah.kindType;aj=ai.Field(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.Field};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.Field=function(ag){return this.$val.Field(ag);};BO.ptr.prototype.FieldByIndex=function(ag){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(!((ah.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}ai=ah.kindType;aj=ai.FieldByIndex(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.FieldByIndex=function(ag){return this.$val.FieldByIndex(ag);};BO.ptr.prototype.FieldByName=function(ag){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(!((ah.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}ai=ah.kindType;aj=ai.FieldByName(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.FieldByName=function(ag){return this.$val.FieldByName(ag);};BO.ptr.prototype.FieldByNameFunc=function(ag){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(!((ah.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}ai=ah.kindType;aj=ai.FieldByNameFunc(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.FieldByNameFunc=function(ag){return this.$val.FieldByNameFunc(ag);};BO.ptr.prototype.In=function(ag){var $ptr,ag,ah,ai,aj;ah=this;if(!((ah.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}ai=ah.kindType;return DA((aj=ai.in$2,((ag<0||ag>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ag])));};BO.prototype.In=function(ag){return this.$val.In(ag);};BO.ptr.prototype.Key=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}ah=ag.kindType;return DA(ah.key);};BO.prototype.Key=function(){return this.$val.Key();};BO.ptr.prototype.Len=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}ah=ag.kindType;return(ah.len>>0);};BO.prototype.Len=function(){return this.$val.Len();};BO.ptr.prototype.NumField=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}ah=ag.kindType;return ah.fields.$length;};BO.prototype.NumField=function(){return this.$val.NumField();};BO.ptr.prototype.NumIn=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}ah=ag.kindType;return ah.in$2.$length;};BO.prototype.NumIn=function(){return this.$val.NumIn();};BO.ptr.prototype.NumOut=function(){var $ptr,ag,ah;ag=this;if(!((ag.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}ah=ag.kindType;return ah.out.$length;};BO.prototype.NumOut=function(){return this.$val.NumOut();};BO.ptr.prototype.Out=function(ag){var $ptr,ag,ah,ai,aj;ah=this;if(!((ah.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}ai=ah.kindType;return DA((aj=ai.out,((ag<0||ag>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ag])));};BO.prototype.Out=function(ag){return this.$val.Out(ag);};BS.prototype.String=function(){var $ptr,ag,ah;ag=this.$val;ah=ag;if(ah===2){return"chan<-";}else if(ah===1){return"<-chan";}else if(ah===3){return"chan";}return"ChanDir"+B.Itoa((ag>>0));};$ptrType(BS).prototype.String=function(){return new BS(this.$get()).String();};BX.ptr.prototype.Method=function(ag){var $ptr,ag,ah,ai,aj,ak;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=this;if(ag<0||ag>=ai.methods.$length){return ah;}ak=(aj=ai.methods,((ag<0||ag>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ag]));ah.Name=ak.name.$get();if(!(ak.pkgPath===GO.nil)){ah.PkgPath=ak.pkgPath.$get();}ah.Type=DA(ak.typ);ah.Index=ag;return ah;};BX.prototype.Method=function(ag){return this.$val.Method(ag);};BX.ptr.prototype.NumMethod=function(){var $ptr,ag;ag=this;return ag.methods.$length;};BX.prototype.NumMethod=function(){return this.$val.NumMethod();};BX.ptr.prototype.MethodByName=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq;ah=new CD.ptr("","",$ifaceNil,new DI.ptr(FW.nil,0,0),0);ai=false;aj=this;if(aj===HE.nil){return[ah,ai];}ak=HF.nil;al=aj.methods;am=0;while(true){if(!(am<al.$length)){break;}an=am;ak=(ao=aj.methods,((an<0||an>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+an]));if(ak.name.$get()===ag){ap=$clone(aj.Method(an),CD);aq=true;CD.copy(ah,ap);ai=aq;return[ah,ai];}am++;}return[ah,ai];};BX.prototype.MethodByName=function(ag){return this.$val.MethodByName(ag);};CG.prototype.Get=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an;ah=this.$val;while(true){if(!(!(ah===""))){break;}ai=0;while(true){if(!(ai<ah.length&&(ah.charCodeAt(ai)===32))){break;}ai=ai+(1)>>0;}ah=ah.substring(ai);if(ah===""){break;}ai=0;while(true){if(!(ai<ah.length&&ah.charCodeAt(ai)>32&&!((ah.charCodeAt(ai)===58))&&!((ah.charCodeAt(ai)===34))&&!((ah.charCodeAt(ai)===127)))){break;}ai=ai+(1)>>0;}if((ai===0)||(ai+1>>0)>=ah.length||!((ah.charCodeAt(ai)===58))||!((ah.charCodeAt((ai+1>>0))===34))){break;}aj=ah.substring(0,ai);ah=ah.substring((ai+1>>0));ai=1;while(true){if(!(ai<ah.length&&!((ah.charCodeAt(ai)===34)))){break;}if(ah.charCodeAt(ai)===92){ai=ai+(1)>>0;}ai=ai+(1)>>0;}if(ai>=ah.length){break;}ak=ah.substring(0,(ai+1>>0));ah=ah.substring((ai+1>>0));if(ag===aj){al=B.Unquote(ak);am=al[0];an=al[1];if(!($interfaceIsEqual(an,$ifaceNil))){break;}return am;}}return"";};$ptrType(CG).prototype.Get=function(ag){return new CG(this.$get()).Get(ag);};CC.ptr.prototype.Field=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=new CF.ptr("","",$ifaceNil,"",0,HG.nil,false);ai=this;if(ag<0||ag>=ai.fields.$length){return ah;}ak=(aj=ai.fields,((ag<0||ag>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ag]));ah.Type=DA(ak.typ);if(!(ak.name===GO.nil)){$s=1;continue;}$s=2;continue;case 1:ah.Name=ak.name.$get();$s=3;continue;case 2:al=ah.Type;am=al.Kind();$s=6;case 6:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}if(am===22){$s=4;continue;}$s=5;continue;case 4:an=al.Elem();$s=7;case 7:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}al=an;case 5:ao=al.Name();$s=8;case 8:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ah.Name=ao;ah.Anonymous=true;case 3:if(!(ak.pkgPath===GO.nil)){ah.PkgPath=ak.pkgPath.$get();}if(!(ak.tag===GO.nil)){ah.Tag=ak.tag.$get();}ah.Offset=ak.offset;ah.Index=new HG([ag]);return ah;}return;}if($f===undefined){$f={$blk:CC.ptr.prototype.Field};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};CC.prototype.Field=function(ag){return this.$val.Field(ag);};CC.ptr.prototype.FieldByIndex=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=new CF.ptr("","",$ifaceNil,"",0,HG.nil,false);ai=this;ah.Type=DA(ai.rtype);aj=ag;ak=0;case 1:if(!(ak<aj.$length)){$s=2;continue;}al=ak;am=((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(al>0){$s=3;continue;}$s=4;continue;case 3:an=ah.Type;ap=an.Kind();$s=8;case 8:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}if(!(ap===22)){ao=false;$s=7;continue s;}aq=an.Elem();$s=9;case 9:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq.Kind();$s=10;case 10:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}ao=ar===25;case 7:if(ao){$s=5;continue;}$s=6;continue;case 5:as=an.Elem();$s=11;case 11:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}an=as;case 6:ah.Type=an;case 4:at=ah.Type.Field(am);$s=12;case 12:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}CF.copy(ah,at);ak++;$s=1;continue;case 2:return ah;}return;}if($f===undefined){$f={$blk:CC.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};CC.prototype.FieldByIndex=function(ag){return this.$val.FieldByIndex(ag);};CC.ptr.prototype.FieldByNameFunc=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=new CF.ptr("","",$ifaceNil,"",0,HG.nil,false);ai=false;aj=this;ak=new HH([]);al=new HH([new CH.ptr(aj,HG.nil)]);am=false;an=$makeMap(HI.keyFor,[]);case 1:if(!(al.$length>0)){$s=2;continue;}ao=al;ap=$subslice(ak,0,0);ak=ao;al=ap;aq=am;am=false;ar=ak;as=0;case 3:if(!(as<ar.$length)){$s=4;continue;}at=$clone(((as<0||as>=ar.$length)?$throwRuntimeError("index out of range"):ar.$array[ar.$offset+as]),CH);au=at.typ;if((av=an[HI.keyFor(au)],av!==undefined?av.v:false)){$s=5;continue;}$s=6;continue;case 5:as++;$s=3;continue;case 6:aw=au;(an||$throwRuntimeError("assignment to entry in nil map"))[HI.keyFor(aw)]={k:aw,v:true};ax=au.fields;ay=0;case 7:if(!(ay<ax.$length)){$s=8;continue;}az=ay;bb=(ba=au.fields,((az<0||az>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+az]));bc="";bd=FW.nil;if(!(bb.name===GO.nil)){$s=9;continue;}$s=10;continue;case 9:bc=bb.name.$get();$s=11;continue;case 10:bd=bb.typ;if(bd.Kind()===22){$s=12;continue;}$s=13;continue;case 12:be=bd.Elem().common();$s=14;case 14:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bd=be;case 13:bc=bd.Name();case 11:bf=ag(bc);$s=17;case 17:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}if(bf){$s=15;continue;}$s=16;continue;case 15:if((bg=aq[HI.keyFor(au)],bg!==undefined?bg.v:0)>1||ai){bh=new CF.ptr("","",$ifaceNil,"",0,HG.nil,false);bi=false;CF.copy(ah,bh);ai=bi;return[ah,ai];}bj=au.Field(az);$s=18;case 18:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}CF.copy(ah,bj);ah.Index=HG.nil;ah.Index=$appendSlice(ah.Index,at.index);ah.Index=$append(ah.Index,az);ai=true;ay++;$s=7;continue;case 16:if(ai||bd===FW.nil||!((bd.Kind()===25))){ay++;$s=7;continue;}bk=bd.kindType;if((bl=am[HI.keyFor(bk)],bl!==undefined?bl.v:0)>0){bm=bk;(am||$throwRuntimeError("assignment to entry in nil map"))[HI.keyFor(bm)]={k:bm,v:2};ay++;$s=7;continue;}if(am===false){am=$makeMap(HI.keyFor,[]);}bn=bk;(am||$throwRuntimeError("assignment to entry in nil map"))[HI.keyFor(bn)]={k:bn,v:1};if((bo=aq[HI.keyFor(au)],bo!==undefined?bo.v:0)>1){bp=bk;(am||$throwRuntimeError("assignment to entry in nil map"))[HI.keyFor(bp)]={k:bp,v:2};}bq=HG.nil;bq=$appendSlice(bq,at.index);bq=$append(bq,az);al=$append(al,new CH.ptr(bk,bq));ay++;$s=7;continue;case 8:as++;$s=3;continue;case 4:if(ai){$s=2;continue;}$s=1;continue;case 2:return[ah,ai];}return;}if($f===undefined){$f={$blk:CC.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.$s=$s;$f.$r=$r;return $f;};CC.prototype.FieldByNameFunc=function(ag){return this.$val.FieldByNameFunc(ag);};CC.ptr.prototype.FieldByName=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=[ag];ah=new CF.ptr("","",$ifaceNil,"",0,HG.nil,false);ai=false;aj=this;ak=false;if(!(ag[0]==="")){$s=1;continue;}$s=2;continue;case 1:al=aj.fields;am=0;case 3:if(!(am<al.$length)){$s=4;continue;}an=am;ap=(ao=aj.fields,((an<0||an>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+an]));if(ap.name===GO.nil){$s=5;continue;}$s=6;continue;case 5:ak=true;am++;$s=3;continue;case 6:if(ap.name.$get()===ag[0]){$s=7;continue;}$s=8;continue;case 7:ar=aj.Field(an);$s=9;case 9:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=$clone(ar,CF);as=true;CF.copy(ah,aq);ai=as;$s=10;case 10:return[ah,ai];case 8:am++;$s=3;continue;case 4:case 2:if(!ak){return[ah,ai];}au=aj.FieldByNameFunc((function(ag){return function(au){var $ptr,au;return au===ag[0];};})(ag));$s=11;case 11:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;CF.copy(ah,at[0]);ai=at[1];$s=12;case 12:return[ah,ai];}return;}if($f===undefined){$f={$blk:CC.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};CC.prototype.FieldByName=function(ag){return this.$val.FieldByName(ag);};CJ=function(ag){var $ptr,ag;return $assertType(ag,FW).ptrTo();};$pkg.PtrTo=CJ;BO.ptr.prototype.Implements=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if($interfaceIsEqual(ag,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}ai=ag.Kind();$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!((ai===20))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect: non-interface type passed to Type.Implements"));case 2:return CL($assertType(ag,FW),ah);}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.Implements};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.Implements=function(ag){return this.$val.Implements(ag);};BO.ptr.prototype.AssignableTo=function(ag){var $ptr,ag,ah,ai;ah=this;if($interfaceIsEqual(ag,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}ai=$assertType(ag,FW);return CM(ai,ah)||CL(ai,ah);};BO.prototype.AssignableTo=function(ag){return this.$val.AssignableTo(ag);};BO.ptr.prototype.ConvertibleTo=function(ag){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if($interfaceIsEqual(ag,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}ai=$assertType(ag,FW);aj=ER(ai,ah);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return!(aj===$throwNilPointerError);}return;}if($f===undefined){$f={$blk:BO.ptr.prototype.ConvertibleTo};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};BO.prototype.ConvertibleTo=function(ag){return this.$val.ConvertibleTo(ag);};CL=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw;if(!((ag.Kind()===20))){return false;}ai=ag.kindType;if(ai.methods.$length===0){return true;}if(ah.Kind()===20){aj=ah.kindType;ak=0;al=0;while(true){if(!(al<aj.methods.$length)){break;}an=(am=ai.methods,((ak<0||ak>=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+ak]));ap=(ao=aj.methods,((al<0||al>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+al]));if(ap.name.$get()===an.name.$get()&&ap.pkgPath===an.pkgPath&&ap.typ===an.typ){ak=ak+(1)>>0;if(ak>=ai.methods.$length){return true;}}al=al+(1)>>0;}return false;}aq=ah.uncommonType.uncommon();if(aq===GP.nil){return false;}ar=0;as=0;while(true){if(!(as<aq.methods.$length)){break;}au=(at=ai.methods,((ar<0||ar>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+ar]));aw=(av=aq.methods,((as<0||as>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+as]));if(aw.name.$get()===au.name.$get()&&aw.pkgPath===au.pkgPath&&aw.mtyp===au.typ){ar=ar+(1)>>0;if(ar>=ai.methods.$length){return true;}}as=as+(1)>>0;}return false;};CM=function(ag,ah){var $ptr,ag,ah;if(ag===ah){return true;}if(!(ag.Name()==="")&&!(ah.Name()==="")||!((ag.Kind()===ah.Kind()))){return false;}return CN(ag,ah);};CN=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg;if(ag===ah){return true;}ai=ag.Kind();if(!((ai===ah.Kind()))){return false;}if(1<=ai&&ai<=16||(ai===24)||(ai===26)){return true;}aj=ai;if(aj===17){return $interfaceIsEqual(ag.Elem(),ah.Elem())&&(ag.Len()===ah.Len());}else if(aj===18){if((ah.ChanDir()===3)&&$interfaceIsEqual(ag.Elem(),ah.Elem())){return true;}return(ah.ChanDir()===ag.ChanDir())&&$interfaceIsEqual(ag.Elem(),ah.Elem());}else if(aj===19){ak=ag.kindType;al=ah.kindType;if(!(ak.dotdotdot===al.dotdotdot)||!((ak.in$2.$length===al.in$2.$length))||!((ak.out.$length===al.out.$length))){return false;}am=ak.in$2;an=0;while(true){if(!(an<am.$length)){break;}ao=an;ap=((an<0||an>=am.$length)?$throwRuntimeError("index out of range"):am.$array[am.$offset+an]);if(!(ap===(aq=al.in$2,((ao<0||ao>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ao])))){return false;}an++;}ar=ak.out;as=0;while(true){if(!(as<ar.$length)){break;}at=as;au=((as<0||as>=ar.$length)?$throwRuntimeError("index out of range"):ar.$array[ar.$offset+as]);if(!(au===(av=al.out,((at<0||at>=av.$length)?$throwRuntimeError("index out of range"):av.$array[av.$offset+at])))){return false;}as++;}return true;}else if(aj===20){aw=ag.kindType;ax=ah.kindType;if((aw.methods.$length===0)&&(ax.methods.$length===0)){return true;}return false;}else if(aj===21){return $interfaceIsEqual(ag.Key(),ah.Key())&&$interfaceIsEqual(ag.Elem(),ah.Elem());}else if(aj===22||aj===23){return $interfaceIsEqual(ag.Elem(),ah.Elem());}else if(aj===25){ay=ag.kindType;az=ah.kindType;if(!((ay.fields.$length===az.fields.$length))){return false;}ba=ay.fields;bb=0;while(true){if(!(bb<ba.$length)){break;}bc=bb;be=(bd=ay.fields,((bc<0||bc>=bd.$length)?$throwRuntimeError("index out of range"):bd.$array[bd.$offset+bc]));bg=(bf=az.fields,((bc<0||bc>=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bc]));if(!(be.name===bg.name)&&(be.name===GO.nil||bg.name===GO.nil||!(be.name.$get()===bg.name.$get()))){return false;}if(!(be.pkgPath===bg.pkgPath)&&(be.pkgPath===GO.nil||bg.pkgPath===GO.nil||!(be.pkgPath.$get()===bg.pkgPath.$get()))){return false;}if(!(be.typ===bg.typ)){return false;}if(!(be.tag===bg.tag)&&(be.tag===GO.nil||bg.tag===GO.nil||!(be.tag.$get()===bg.tag.$get()))){return false;}if(!((be.offset===bg.offset))){return false;}bb++;}return true;}return false;};DA=function(ag){var $ptr,ag;if(ag===FW.nil){return $ifaceNil;}return ag;};DF=function(ag){var $ptr,ag;return((ag.kind&32)>>>0)===0;};DJ.prototype.kind=function(){var $ptr,ag;ag=this.$val;return(((ag&31)>>>0)>>>0);};$ptrType(DJ).prototype.kind=function(){return new DJ(this.$get()).kind();};DI.ptr.prototype.pointer=function(){var $ptr,ag;ag=this;if(!((ag.typ.size===4))||!ag.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((ag.flag&64)>>>0)===0))){return ag.ptr.$get();}return ag.ptr;};DI.prototype.pointer=function(){return this.$val.pointer();};DM.ptr.prototype.Error=function(){var $ptr,ag;ag=this;if(ag.Kind===0){return"reflect: call of "+ag.Method+" on zero Value";}return"reflect: call of "+ag.Method+" on "+new BN(ag.Kind).String()+" Value";};DM.prototype.Error=function(){return this.$val.Error();};DJ.prototype.mustBe=function(ag){var $ptr,ag,ah;ah=this.$val;if(!((new DJ(ah).kind()===ag))){$panic(new DM.ptr(AU(),new DJ(ah).kind()));}};$ptrType(DJ).prototype.mustBe=function(ag){return new DJ(this.$get()).mustBe(ag);};DJ.prototype.mustBeExported=function(){var $ptr,ag;ag=this.$val;if(ag===0){$panic(new DM.ptr(AU(),0));}if(!((((ag&32)>>>0)===0))){$panic(new $String("reflect: "+AU()+" using value obtained using unexported field"));}};$ptrType(DJ).prototype.mustBeExported=function(){return new DJ(this.$get()).mustBeExported();};DJ.prototype.mustBeAssignable=function(){var $ptr,ag;ag=this.$val;if(ag===0){$panic(new DM.ptr(AU(),0));}if(!((((ag&32)>>>0)===0))){$panic(new $String("reflect: "+AU()+" using value obtained using unexported field"));}if(((ag&128)>>>0)===0){$panic(new $String("reflect: "+AU()+" using unaddressable value"));}};$ptrType(DJ).prototype.mustBeAssignable=function(){return new DJ(this.$get()).mustBeAssignable();};DI.ptr.prototype.Addr=function(){var $ptr,ag;ag=this;if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new DI.ptr(ag.typ.ptrTo(),ag.ptr,((((ag.flag&32)>>>0))|22)>>>0);};DI.prototype.Addr=function(){return this.$val.Addr();};DI.ptr.prototype.Bool=function(){var $ptr,ag;ag=this;new DJ(ag.flag).mustBe(1);return ag.ptr.$get();};DI.prototype.Bool=function(){return this.$val.Bool();};DI.ptr.prototype.Bytes=function(){var $ptr,ag,ah,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;new DJ(ag.flag).mustBe(23);ah=ag.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(!((ah===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-byte slice"));case 2:return ag.ptr.$get();}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Bytes};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Bytes=function(){return this.$val.Bytes();};DI.ptr.prototype.runes=function(){var $ptr,ag,ah,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;new DJ(ag.flag).mustBe(23);ah=ag.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}if(!((ah===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-rune slice"));case 2:return ag.ptr.$get();}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.runes};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.runes=function(){return this.$val.runes();};DI.ptr.prototype.CanAddr=function(){var $ptr,ag;ag=this;return!((((ag.flag&128)>>>0)===0));};DI.prototype.CanAddr=function(){return this.$val.CanAddr();};DI.ptr.prototype.CanSet=function(){var $ptr,ag;ag=this;return((ag.flag&160)>>>0)===128;};DI.prototype.CanSet=function(){return this.$val.CanSet();};DI.ptr.prototype.Call=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;new DJ(ah.flag).mustBe(19);new DJ(ah.flag).mustBeExported();ai=ah.call("Call",ag);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Call};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Call=function(ag){return this.$val.Call(ag);};DI.ptr.prototype.CallSlice=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;new DJ(ah.flag).mustBe(19);new DJ(ah.flag).mustBeExported();ai=ah.call("CallSlice",ag);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.CallSlice};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.CallSlice=function(ag){return this.$val.CallSlice(ag);};DI.ptr.prototype.Complex=function(){var $ptr,ag,ah,ai,aj;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===15){return(aj=ag.ptr.$get(),new $Complex128(aj.$real,aj.$imag));}else if(ai===16){return ag.ptr.$get();}$panic(new DM.ptr("reflect.Value.Complex",new DJ(ag.flag).kind()));};DI.prototype.Complex=function(){return this.$val.Complex();};DI.ptr.prototype.FieldByIndex=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(ag.$length===1){$s=1;continue;}$s=2;continue;case 1:ai=ah.Field((0>=ag.$length?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+0]));$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=4;case 4:return ai;case 2:new DJ(ah.flag).mustBe(25);aj=ag;ak=0;case 5:if(!(ak<aj.$length)){$s=6;continue;}al=ak;am=((ak<0||ak>=aj.$length)?$throwRuntimeError("index out of range"):aj.$array[aj.$offset+ak]);if(al>0){$s=7;continue;}$s=8;continue;case 7:if(!(ah.Kind()===22)){an=false;$s=11;continue s;}ao=ah.typ.Elem().Kind();$s=12;case 12:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao===25;case 11:if(an){$s=9;continue;}$s=10;continue;case 9:if(ah.IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}ap=ah.Elem();$s=13;case 13:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ah=ap;case 10:case 8:aq=ah.Field(am);$s=14;case 14:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ah=aq;ak++;$s=5;continue;case 6:return ah;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.FieldByIndex=function(ag){return this.$val.FieldByIndex(ag);};DI.ptr.prototype.FieldByName=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;new DJ(ah.flag).mustBe(25);aj=ah.typ.FieldByName(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=$clone(ai[0],CF);al=ai[1];if(al){$s=2;continue;}$s=3;continue;case 2:am=ah.FieldByIndex(ak.Index);$s=4;case 4:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=5;case 5:return am;case 3:return new DI.ptr(FW.nil,0,0);}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.FieldByName=function(ag){return this.$val.FieldByName(ag);};DI.ptr.prototype.FieldByNameFunc=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;aj=ah.typ.FieldByNameFunc(ag);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=$clone(ai[0],CF);al=ai[1];if(al){$s=2;continue;}$s=3;continue;case 2:am=ah.FieldByIndex(ak.Index);$s=4;case 4:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=5;case 5:return am;case 3:return new DI.ptr(FW.nil,0,0);}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.FieldByNameFunc=function(ag){return this.$val.FieldByNameFunc(ag);};DI.ptr.prototype.Float=function(){var $ptr,ag,ah,ai;ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===13){return ag.ptr.$get();}else if(ai===14){return ag.ptr.$get();}$panic(new DM.ptr("reflect.Value.Float",new DJ(ag.flag).kind()));};DI.prototype.Float=function(){return this.$val.Float();};DI.ptr.prototype.Int=function(){var $ptr,ag,ah,ai,aj;ag=this;ah=new DJ(ag.flag).kind();ai=ag.ptr;aj=ah;if(aj===2){return new $Int64(0,ai.$get());}else if(aj===3){return new $Int64(0,ai.$get());}else if(aj===4){return new $Int64(0,ai.$get());}else if(aj===5){return new $Int64(0,ai.$get());}else if(aj===6){return ai.$get();}$panic(new DM.ptr("reflect.Value.Int",new DJ(ag.flag).kind()));};DI.prototype.Int=function(){return this.$val.Int();};DI.ptr.prototype.CanInterface=function(){var $ptr,ag;ag=this;if(ag.flag===0){$panic(new DM.ptr("reflect.Value.CanInterface",0));}return((ag.flag&32)>>>0)===0;};DI.prototype.CanInterface=function(){return this.$val.CanInterface();};DI.ptr.prototype.Interface=function(){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=$ifaceNil;ah=this;ai=AS(ah,true);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ag=ai;$s=2;case 2:return ag;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Interface};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Interface=function(){return this.$val.Interface();};DI.ptr.prototype.IsValid=function(){var $ptr,ag;ag=this;return!((ag.flag===0));};DI.prototype.IsValid=function(){return this.$val.IsValid();};DI.ptr.prototype.Kind=function(){var $ptr,ag;ag=this;return new DJ(ag.flag).kind();};DI.prototype.Kind=function(){return this.$val.Kind();};DI.ptr.prototype.MapIndex=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ah=this;new DJ(ah.flag).mustBe(21);ai=ah.typ.kindType;aj=ag.assignTo("reflect.Value.MapIndex",ai.key,0);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ag=aj;ak=0;if(!((((ag.flag&64)>>>0)===0))){ak=ag.ptr;}else{ak=(ag.$ptr_ptr||(ag.$ptr_ptr=new HO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ag)));}al=AH(ah.typ,ah.pointer(),ak);if(al===0){return new DI.ptr(FW.nil,0,0);}am=ai.elem;an=((((ah.flag|ag.flag)>>>0))&32)>>>0;an=(an|((am.Kind()>>>0)))>>>0;if(DF(am)){ao=Z(am);AC(am,ao,al);return new DI.ptr(am,ao,(an|64)>>>0);}else{return new DI.ptr(am,al.$get(),an);}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.MapIndex};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.MapIndex=function(ag){return this.$val.MapIndex(ag);};DI.ptr.prototype.MapKeys=function(){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;new DJ(ag.flag).mustBe(21);ah=ag.typ.kindType;ai=ah.key;aj=(((ag.flag&32)>>>0)|(ai.Kind()>>>0))>>>0;ak=ag.pointer();al=0;if(!(ak===0)){al=AO(ak);}am=AL(ag.typ,ak);an=$makeSlice(GV,al);ao=0;ao=0;case 1:if(!(ao<an.$length)){$s=2;continue;}ap=AM(am);$s=3;case 3:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;if(aq===0){$s=2;continue;}if(DF(ai)){ar=Z(ai);AC(ai,ar,aq);((ao<0||ao>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+ao]=new DI.ptr(ai,ar,(aj|64)>>>0));}else{((ao<0||ao>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+ao]=new DI.ptr(ai,aq.$get(),aj));}AN(am);ao=ao+(1)>>0;$s=1;continue;case 2:return $subslice(an,0,ao);}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.MapKeys};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.MapKeys=function(){return this.$val.MapKeys();};DI.ptr.prototype.Method=function(ag){var $ptr,ag,ah,ai;ah=this;if(ah.typ===FW.nil){$panic(new DM.ptr("reflect.Value.Method",0));}if(!((((ah.flag&256)>>>0)===0))||(ag>>>0)>=(ah.typ.NumMethod()>>>0)){$panic(new $String("reflect: Method index out of range"));}if((ah.typ.Kind()===20)&&ah.IsNil()){$panic(new $String("reflect: Method on nil interface value"));}ai=(ah.flag&96)>>>0;ai=(ai|(19))>>>0;ai=(ai|(((((ag>>>0)<<9>>>0)|256)>>>0)))>>>0;return new DI.ptr(ah.typ,ah.ptr,ai);};DI.prototype.Method=function(ag){return this.$val.Method(ag);};DI.ptr.prototype.NumMethod=function(){var $ptr,ag;ag=this;if(ag.typ===FW.nil){$panic(new DM.ptr("reflect.Value.NumMethod",0));}if(!((((ag.flag&256)>>>0)===0))){return 0;}return ag.typ.NumMethod();};DI.prototype.NumMethod=function(){return this.$val.NumMethod();};DI.ptr.prototype.MethodByName=function(ag){var $ptr,ag,ah,ai,aj,ak;ah=this;if(ah.typ===FW.nil){$panic(new DM.ptr("reflect.Value.MethodByName",0));}if(!((((ah.flag&256)>>>0)===0))){return new DI.ptr(FW.nil,0,0);}ai=ah.typ.MethodByName(ag);aj=$clone(ai[0],CD);ak=ai[1];if(!ak){return new DI.ptr(FW.nil,0,0);}return ah.Method(aj.Index);};DI.prototype.MethodByName=function(ag){return this.$val.MethodByName(ag);};DI.ptr.prototype.NumField=function(){var $ptr,ag,ah;ag=this;new DJ(ag.flag).mustBe(25);ah=ag.typ.kindType;return ah.fields.$length;};DI.prototype.NumField=function(){return this.$val.NumField();};DI.ptr.prototype.OverflowComplex=function(ag){var $ptr,ag,ah,ai,aj;ah=this;ai=new DJ(ah.flag).kind();aj=ai;if(aj===15){return DW(ag.$real)||DW(ag.$imag);}else if(aj===16){return false;}$panic(new DM.ptr("reflect.Value.OverflowComplex",new DJ(ah.flag).kind()));};DI.prototype.OverflowComplex=function(ag){return this.$val.OverflowComplex(ag);};DI.ptr.prototype.OverflowFloat=function(ag){var $ptr,ag,ah,ai,aj;ah=this;ai=new DJ(ah.flag).kind();aj=ai;if(aj===13){return DW(ag);}else if(aj===14){return false;}$panic(new DM.ptr("reflect.Value.OverflowFloat",new DJ(ah.flag).kind()));};DI.prototype.OverflowFloat=function(ag){return this.$val.OverflowFloat(ag);};DW=function(ag){var $ptr,ag;if(ag<0){ag=-ag;}return 3.4028234663852886e+38<ag&&ag<=1.7976931348623157e+308;};DI.ptr.prototype.OverflowInt=function(ag){var $ptr,ag,ah,ai,aj,ak,al;ah=this;ai=new DJ(ah.flag).kind();aj=ai;if(aj===2||aj===3||aj===4||aj===5||aj===6){ak=$imul(ah.typ.size,8)>>>0;al=$shiftRightInt64(($shiftLeft64(ag,((64-ak>>>0)))),((64-ak>>>0)));return!((ag.$high===al.$high&&ag.$low===al.$low));}$panic(new DM.ptr("reflect.Value.OverflowInt",new DJ(ah.flag).kind()));};DI.prototype.OverflowInt=function(ag){return this.$val.OverflowInt(ag);};DI.ptr.prototype.OverflowUint=function(ag){var $ptr,ag,ah,ai,aj,ak,al;ah=this;ai=new DJ(ah.flag).kind();aj=ai;if(aj===7||aj===12||aj===8||aj===9||aj===10||aj===11){ak=$imul(ah.typ.size,8)>>>0;al=$shiftRightUint64(($shiftLeft64(ag,((64-ak>>>0)))),((64-ak>>>0)));return!((ag.$high===al.$high&&ag.$low===al.$low));}$panic(new DM.ptr("reflect.Value.OverflowUint",new DJ(ah.flag).kind()));};DI.prototype.OverflowUint=function(ag){return this.$val.OverflowUint(ag);};DI.ptr.prototype.Recv=function(){var $ptr,ag,ah,ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=new DI.ptr(FW.nil,0,0);ah=false;ai=this;new DJ(ai.flag).mustBe(18);new DJ(ai.flag).mustBeExported();ak=ai.recv(false);$s=1;case 1:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;ag=aj[0];ah=aj[1];$s=2;case 2:return[ag,ah];}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Recv};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Recv=function(){return this.$val.Recv();};DI.ptr.prototype.recv=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=new DI.ptr(FW.nil,0,0);ai=false;aj=this;ak=aj.typ.kindType;if(((ak.dir>>0)&1)===0){$panic(new $String("reflect: recv on send-only channel"));}al=ak.elem;ah=new DI.ptr(al,0,(al.Kind()>>>0));am=0;if(DF(al)){am=Z(al);ah.ptr=am;ah.flag=(ah.flag|(64))>>>0;}else{am=(ah.$ptr_ptr||(ah.$ptr_ptr=new HO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ah)));}ao=BC(aj.typ,aj.pointer(),ag,am);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;ap=an[0];ai=an[1];if(!ap){ah=new DI.ptr(FW.nil,0,0);}return[ah,ai];}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.recv};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.recv=function(ag){return this.$val.recv(ag);};DI.ptr.prototype.Send=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ah=this;new DJ(ah.flag).mustBe(18);new DJ(ah.flag).mustBeExported();ai=ah.send(ag,false);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Send};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Send=function(ag){return this.$val.Send(ag);};DI.ptr.prototype.send=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ai=false;ag=ag;aj=this;ak=aj.typ.kindType;if(((ak.dir>>0)&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new DJ(ag.flag).mustBeExported();al=ag.assignTo("reflect.Value.Send",ak.elem,0);$s=1;case 1:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}ag=al;am=0;if(!((((ag.flag&64)>>>0)===0))){am=ag.ptr;}else{am=(ag.$ptr_ptr||(ag.$ptr_ptr=new HO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ag)));}an=BD(aj.typ,aj.pointer(),am,ah);$s=2;case 2:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ai=an;$s=3;case 3:return ai;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.send};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.send=function(ag,ah){return this.$val.send(ag,ah);};DI.ptr.prototype.SetBool=function(ag){var $ptr,ag,ah;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(1);ah.ptr.$set(ag);};DI.prototype.SetBool=function(ag){return this.$val.SetBool(ag);};DI.ptr.prototype.SetBytes=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(23);ai=ah.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!((ai===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.SetBytes of non-byte slice"));case 2:ah.ptr.$set(ag);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.SetBytes};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.SetBytes=function(ag){return this.$val.SetBytes(ag);};DI.ptr.prototype.setRunes=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(23);ai=ah.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}if(!((ai===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.setRunes of non-rune slice"));case 2:ah.ptr.$set(ag);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.setRunes};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.setRunes=function(ag){return this.$val.setRunes(ag);};DI.ptr.prototype.SetComplex=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();ai=new DJ(ah.flag).kind();aj=ai;if(aj===15){ah.ptr.$set(new $Complex64(ag.$real,ag.$imag));}else if(aj===16){ah.ptr.$set(ag);}else{$panic(new DM.ptr("reflect.Value.SetComplex",new DJ(ah.flag).kind()));}};DI.prototype.SetComplex=function(ag){return this.$val.SetComplex(ag);};DI.ptr.prototype.SetFloat=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();ai=new DJ(ah.flag).kind();aj=ai;if(aj===13){ah.ptr.$set($fround(ag));}else if(aj===14){ah.ptr.$set(ag);}else{$panic(new DM.ptr("reflect.Value.SetFloat",new DJ(ah.flag).kind()));}};DI.prototype.SetFloat=function(ag){return this.$val.SetFloat(ag);};DI.ptr.prototype.SetInt=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();ai=new DJ(ah.flag).kind();aj=ai;if(aj===2){ah.ptr.$set(((ag.$low+((ag.$high>>31)*4294967296))>>0));}else if(aj===3){ah.ptr.$set(((ag.$low+((ag.$high>>31)*4294967296))<<24>>24));}else if(aj===4){ah.ptr.$set(((ag.$low+((ag.$high>>31)*4294967296))<<16>>16));}else if(aj===5){ah.ptr.$set(((ag.$low+((ag.$high>>31)*4294967296))>>0));}else if(aj===6){ah.ptr.$set(ag);}else{$panic(new DM.ptr("reflect.Value.SetInt",new DJ(ah.flag).kind()));}};DI.prototype.SetInt=function(ag){return this.$val.SetInt(ag);};DI.ptr.prototype.SetMapIndex=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=ah;ag=ag;ai=this;new DJ(ai.flag).mustBe(21);new DJ(ai.flag).mustBeExported();new DJ(ag.flag).mustBeExported();aj=ai.typ.kindType;ak=ag.assignTo("reflect.Value.SetMapIndex",aj.key,0);$s=1;case 1:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ag=ak;al=0;if(!((((ag.flag&64)>>>0)===0))){al=ag.ptr;}else{al=(ag.$ptr_ptr||(ag.$ptr_ptr=new HO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ag)));}if(ah.typ===FW.nil){AJ(ai.typ,ai.pointer(),al);return;}new DJ(ah.flag).mustBeExported();am=ah.assignTo("reflect.Value.SetMapIndex",aj.elem,0);$s=2;case 2:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}ah=am;an=0;if(!((((ah.flag&64)>>>0)===0))){an=ah.ptr;}else{an=(ah.$ptr_ptr||(ah.$ptr_ptr=new HO(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},ah)));}$r=AI(ai.typ,ai.pointer(),al,an);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.SetMapIndex};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.SetMapIndex=function(ag,ah){return this.$val.SetMapIndex(ag,ah);};DI.ptr.prototype.SetUint=function(ag){var $ptr,ag,ah,ai,aj;ah=this;new DJ(ah.flag).mustBeAssignable();ai=new DJ(ah.flag).kind();aj=ai;if(aj===7){ah.ptr.$set((ag.$low>>>0));}else if(aj===8){ah.ptr.$set((ag.$low<<24>>>24));}else if(aj===9){ah.ptr.$set((ag.$low<<16>>>16));}else if(aj===10){ah.ptr.$set((ag.$low>>>0));}else if(aj===11){ah.ptr.$set(ag);}else if(aj===12){ah.ptr.$set((ag.$low>>>0));}else{$panic(new DM.ptr("reflect.Value.SetUint",new DJ(ah.flag).kind()));}};DI.prototype.SetUint=function(ag){return this.$val.SetUint(ag);};DI.ptr.prototype.SetPointer=function(ag){var $ptr,ag,ah;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(26);ah.ptr.$set(ag);};DI.prototype.SetPointer=function(ag){return this.$val.SetPointer(ag);};DI.ptr.prototype.SetString=function(ag){var $ptr,ag,ah;ah=this;new DJ(ah.flag).mustBeAssignable();new DJ(ah.flag).mustBe(24);ah.ptr.$set(ag);};DI.prototype.SetString=function(ag){return this.$val.SetString(ag);};DI.ptr.prototype.String=function(){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=this;ah=new DJ(ag.flag).kind();ai=ah;if(ai===0){return"<invalid Value>";}else if(ai===24){return ag.ptr.$get();}aj=ag.Type().String();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return"<"+aj+" Value>";}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.String};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.String=function(){return this.$val.String();};DI.ptr.prototype.TryRecv=function(){var $ptr,ag,ah,ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=new DI.ptr(FW.nil,0,0);ah=false;ai=this;new DJ(ai.flag).mustBe(18);new DJ(ai.flag).mustBeExported();ak=ai.recv(true);$s=1;case 1:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;ag=aj[0];ah=aj[1];$s=2;case 2:return[ag,ah];}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.TryRecv};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.TryRecv=function(){return this.$val.TryRecv();};DI.ptr.prototype.TrySend=function(ag){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ah=this;new DJ(ah.flag).mustBe(18);new DJ(ah.flag).mustBeExported();ai=ah.send(ag,true);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.TrySend};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.TrySend=function(ag){return this.$val.TrySend(ag);};DI.ptr.prototype.Type=function(){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao;ag=this;ah=ag.flag;if(ah===0){$panic(new DM.ptr("reflect.Value.Type",0));}if(((ah&256)>>>0)===0){return ag.typ;}ai=(ag.flag>>0)>>9>>0;if(ag.typ.Kind()===20){aj=ag.typ.kindType;if((ai>>>0)>=(aj.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}al=(ak=aj.methods,((ai<0||ai>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+ai]));return al.typ;}am=ag.typ.uncommonType.uncommon();if(am===GP.nil||(ai>>>0)>=(am.methods.$length>>>0)){$panic(new $String("reflect: internal error: invalid method index"));}ao=(an=am.methods,((ai<0||ai>=an.$length)?$throwRuntimeError("index out of range"):an.$array[an.$offset+ai]));return ao.mtyp;};DI.prototype.Type=function(){return this.$val.Type();};DI.ptr.prototype.Uint=function(){var $ptr,ag,ah,ai,aj,ak;ag=this;ah=new DJ(ag.flag).kind();ai=ag.ptr;aj=ah;if(aj===7){return new $Uint64(0,ai.$get());}else if(aj===8){return new $Uint64(0,ai.$get());}else if(aj===9){return new $Uint64(0,ai.$get());}else if(aj===10){return new $Uint64(0,ai.$get());}else if(aj===11){return ai.$get();}else if(aj===12){return(ak=ai.$get(),new $Uint64(0,ak.constructor===Number?ak:1));}$panic(new DM.ptr("reflect.Value.Uint",new DJ(ag.flag).kind()));};DI.prototype.Uint=function(){return this.$val.Uint();};DI.ptr.prototype.UnsafeAddr=function(){var $ptr,ag;ag=this;if(ag.typ===FW.nil){$panic(new DM.ptr("reflect.Value.UnsafeAddr",0));}if(((ag.flag&128)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return ag.ptr;};DI.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};EP=function(ag){var $ptr,ag,ah,ai,aj,ak,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(ag,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}ah=Z($assertType(ag,FW));ai=22;aj=ag.common();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj.ptrTo();$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}$s=3;case 3:return new DI.ptr(ak,ah,ai);}return;}if($f===undefined){$f={$blk:EP};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.$s=$s;$f.$r=$r;return $f;};$pkg.New=EP;DI.ptr.prototype.assignTo=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=this;if(!((((aj.flag&256)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:ak=AV(ag,aj);$s=3;case 3:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aj=ak;case 2:if(CM(ah,aj.typ)){$s=4;continue;}if(CL(ah,aj.typ)){$s=5;continue;}$s=6;continue;case 4:aj.typ=ah;al=(aj.flag&224)>>>0;al=(al|((ah.Kind()>>>0)))>>>0;return new DI.ptr(ah,aj.ptr,al);case 5:if(ai===0){ai=Z(ah);}am=AS(aj,false);$s=7;case 7:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=am;if(ah.NumMethod()===0){ai.$set(an);}else{AT(ah,an,ai);}return new DI.ptr(ah,ai,84);case 6:$panic(new $String(ag+": value of type "+aj.typ.String()+" is not assignable to type "+ah.String()));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.assignTo};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.assignTo=function(ag,ah,ai){return this.$val.assignTo(ag,ah,ai);};DI.ptr.prototype.Convert=function(ag){var $ptr,ag,ah,ai,aj,ak,al,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ah=this;if(!((((ah.flag&256)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:ai=AV("Convert",ah);$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ah=ai;case 2:aj=ag.common();$s=4;case 4:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=ER(aj,ah.typ);$s=5;case 5:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;if(al===$throwNilPointerError){$s=6;continue;}$s=7;continue;case 6:am=ag.String();$s=8;case 8:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$panic(new $String("reflect.Value.Convert: value of type "+ah.typ.String()+" cannot be converted to type "+am));case 7:an=al(ah,ag);$s=9;case 9:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=10;case 10:return an;}return;}if($f===undefined){$f={$blk:DI.ptr.prototype.Convert};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};DI.prototype.Convert=function(ag){return this.$val.Convert(ag);};ER=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ai=ah.Kind();if(ai===2||ai===3||ai===4||ai===5||ai===6){$s=1;continue;}if(ai===7||ai===8||ai===9||ai===10||ai===11||ai===12){$s=2;continue;}if(ai===13||ai===14){$s=3;continue;}if(ai===15||ai===16){$s=4;continue;}if(ai===24){$s=5;continue;}if(ai===23){$s=6;continue;}$s=7;continue;case 1:aj=ag.Kind();if(aj===2||aj===3||aj===4||aj===5||aj===6||aj===7||aj===8||aj===9||aj===10||aj===11||aj===12){return EX;}else if(aj===13||aj===14){return FB;}else if(aj===24){return FF;}$s=7;continue;case 2:ak=ag.Kind();if(ak===2||ak===3||ak===4||ak===5||ak===6||ak===7||ak===8||ak===9||ak===10||ak===11||ak===12){return EY;}else if(ak===13||ak===14){return FC;}else if(ak===24){return FG;}$s=7;continue;case 3:al=ag.Kind();if(al===2||al===3||al===4||al===5||al===6){return EZ;}else if(al===7||al===8||al===9||al===10||al===11||al===12){return FA;}else if(al===13||al===14){return FD;}$s=7;continue;case 4:am=ag.Kind();if(am===15||am===16){return FE;}$s=7;continue;case 5:if(!(ag.Kind()===23)){an=false;$s=10;continue s;}ao=ag.Elem().PkgPath();$s=11;case 11:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao==="";case 10:if(an){$s=8;continue;}$s=9;continue;case 8:aq=ag.Elem().Kind();$s=12;case 12:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;if(ap===8){$s=13;continue;}if(ap===5){$s=14;continue;}$s=15;continue;case 13:return FI;case 14:return FK;case 15:case 9:$s=7;continue;case 6:if(!(ag.Kind()===24)){ar=false;$s=18;continue s;}as=ah.Elem().PkgPath();$s=19;case 19:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as==="";case 18:if(ar){$s=16;continue;}$s=17;continue;case 16:au=ah.Elem().Kind();$s=20;case 20:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;if(at===8){$s=21;continue;}if(at===5){$s=22;continue;}$s=23;continue;case 21:return FH;case 22:return FJ;case 23:case 17:case 7:if(CN(ag,ah)){return AP;}if(!((ag.Kind()===22)&&ag.Name()===""&&(ah.Kind()===22)&&ah.Name()==="")){av=false;$s=26;continue s;}aw=ag.Elem().common();$s=27;case 27:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;ay=ah.Elem().common();$s=28;case 28:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}az=ay;ba=CN(ax,az);$s=29;case 29:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}av=ba;case 26:if(av){$s=24;continue;}$s=25;continue;case 24:return AP;case 25:if(CL(ag,ah)){if(ah.Kind()===20){return FM;}return FL;}return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:ER};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.$s=$s;$f.$r=$r;return $f;};ES=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=ai.common();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=Z(ak);am=ak.size;if(am===4){al.$set($fround(ah));}else if(am===8){al.$set(ah);}return new DI.ptr(ak,al,(((ag|64)>>>0)|(ak.Kind()>>>0))>>>0);}return;}if($f===undefined){$f={$blk:ES};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};ET=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=ai.common();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=Z(ak);am=ak.size;if(am===8){al.$set(new $Complex64(ah.$real,ah.$imag));}else if(am===16){al.$set(ah);}return new DI.ptr(ak,al,(((ag|64)>>>0)|(ak.Kind()>>>0))>>>0);}return;}if($f===undefined){$f={$blk:ET};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};EU=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=EP(ai);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj.Elem();$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;al.SetString(ah);al.flag=(((al.flag&~128)>>>0)|ag)>>>0;return al;}return;}if($f===undefined){$f={$blk:EU};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};EV=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=EP(ai);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj.Elem();$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;$r=al.SetBytes(ah);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al.flag=(((al.flag&~128)>>>0)|ag)>>>0;return al;}return;}if($f===undefined){$f={$blk:EV};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};EW=function(ag,ah,ai){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aj=EP(ai);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj.Elem();$s=2;case 2:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;$r=al.setRunes(ah);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al.flag=(((al.flag&~128)>>>0)|ag)>>>0;return al;}return;}if($f===undefined){$f={$blk:EW};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};EX=function(ag,ah){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;aj=AA((ag.flag&32)>>>0,(ai=ag.Int(),new $Uint64(ai.$high,ai.$low)),ah);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:EX};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};EY=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=AA((ag.flag&32)>>>0,ag.Uint(),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:EY};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};EZ=function(ag,ah){var $ptr,ag,ah,ai,aj,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;aj=AA((ag.flag&32)>>>0,(ai=new $Int64(0,ag.Float()),new $Uint64(ai.$high,ai.$low)),ah);$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=2;case 2:return aj;}return;}if($f===undefined){$f={$blk:EZ};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.$s=$s;$f.$r=$r;return $f;};FA=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=AA((ag.flag&32)>>>0,new $Uint64(0,ag.Float()),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FA};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FB=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ES((ag.flag&32)>>>0,$flatten64(ag.Int()),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FB};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FC=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ES((ag.flag&32)>>>0,$flatten64(ag.Uint()),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FC};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FD=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ES((ag.flag&32)>>>0,ag.Float(),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FD};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FE=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ET((ag.flag&32)>>>0,ag.Complex(),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FE};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FF=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=EU((ag.flag&32)>>>0,$encodeRune(ag.Int().$low),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FF};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FG=function(ag,ah){var $ptr,ag,ah,ai,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=EU((ag.flag&32)>>>0,$encodeRune(ag.Uint().$low),ah);$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$s=2;case 2:return ai;}return;}if($f===undefined){$f={$blk:FG};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.$s=$s;$f.$r=$r;return $f;};FH=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=(ag.flag&32)>>>0;aj=ag.Bytes();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$bytesToString(aj);al=ah;am=EU(ai,ak,al);$s=2;case 2:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=3;case 3:return am;}return;}if($f===undefined){$f={$blk:FH};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};FI=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=(ag.flag&32)>>>0;aj=ag.String();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=new HJ($stringToBytes(aj));al=ah;am=EV(ai,ak,al);$s=2;case 2:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=3;case 3:return am;}return;}if($f===undefined){$f={$blk:FI};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};FJ=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=(ag.flag&32)>>>0;aj=ag.runes();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=$runesToString(aj);al=ah;am=EU(ai,ak,al);$s=2;case 2:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=3;case 3:return am;}return;}if($f===undefined){$f={$blk:FJ};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};FK=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=(ag.flag&32)>>>0;aj=ag.String();$s=1;case 1:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=new HQ($stringToRunes(aj));al=ah;am=EW(ai,ak,al);$s=2;case 2:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}$s=3;case 3:return am;}return;}if($f===undefined){$f={$blk:FK};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.$s=$s;$f.$r=$r;return $f;};FL=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;ai=ah.common();$s=1;case 1:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=Z(ai);$s=2;case 2:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;al=AS(ag,false);$s=3;case 3:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;an=ah.NumMethod();$s=7;case 7:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(an===0){$s=4;continue;}$s=5;continue;case 4:ak.$set(am);$s=6;continue;case 5:AT($assertType(ah,FW),am,ak);case 6:ao=ah.common();$s=8;case 8:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=9;case 9:return new DI.ptr(ao,ak,(((((ag.flag&32)>>>0)|64)>>>0)|20)>>>0);}return;}if($f===undefined){$f={$blk:FL};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};FM=function(ag,ah){var $ptr,ag,ah,ai,aj,ak,al,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ag=ag;if(ag.IsNil()){$s=1;continue;}$s=2;continue;case 1:ai=Y(ah);$s=3;case 3:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;aj.flag=(aj.flag|(((ag.flag&32)>>>0)))>>>0;return aj;case 2:ak=ag.Elem();$s=4;case 4:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=FL(ak,ah);$s=5;case 5:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}$s=6;case 6:return al;}return;}if($f===undefined){$f={$blk:FM};}$f.$ptr=$ptr;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.$s=$s;$f.$r=$r;return $f;};BN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];FW.methods=[{prop:"ptrTo",name:"ptrTo",pkg:"reflect",typ:$funcType([],[FW],false)},{prop:"pointers",name:"pointers",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BN],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[FW],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CD],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CD,$Bool],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[BS],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[BM],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[CF],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([HG],[CF],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[CF,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([HT],[CF,$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[BM],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[BM],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[BM],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([BM],[$Bool],false)}];GP.methods=[{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CD],false)},{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[GP],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CD,$Bool],false)}];BS.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];HE.methods=[{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CD],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CD,$Bool],false)}];HI.methods=[{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[CF],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([HG],[CF],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([HT],[CF,$Bool],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[CF,$Bool],false)}];CG.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[$String],false)}];DI.methods=[{prop:"object",name:"object",pkg:"reflect",typ:$funcType([],[GJ],false)},{prop:"call",name:"call",pkg:"reflect",typ:$funcType([$String,GV],[GV],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[DI],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DI],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[DI],false)},{prop:"InterfaceData",name:"InterfaceData",pkg:"",typ:$funcType([],[HW],false)},{prop:"IsNil",name:"IsNil",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Pointer",name:"Pointer",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([DI],[],false)},{prop:"SetCap",name:"SetCap",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Slice",name:"Slice",pkg:"",typ:$funcType([$Int,$Int],[DI],false)},{prop:"Slice3",name:"Slice3",pkg:"",typ:$funcType([$Int,$Int,$Int],[DI],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[],false)},{prop:"pointer",name:"pointer",pkg:"reflect",typ:$funcType([],[$UnsafePointer],false)},{prop:"Addr",name:"Addr",pkg:"",typ:$funcType([],[DI],false)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[HJ],false)},{prop:"runes",name:"runes",pkg:"reflect",typ:$funcType([],[HQ],false)},{prop:"CanAddr",name:"CanAddr",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"CanSet",name:"CanSet",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([GV],[GV],false)},{prop:"CallSlice",name:"CallSlice",pkg:"",typ:$funcType([GV],[GV],false)},{prop:"Complex",name:"Complex",pkg:"",typ:$funcType([],[$Complex128],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([HG],[DI],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DI],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([HT],[DI],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"CanInterface",name:"CanInterface",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BN],false)},{prop:"MapIndex",name:"MapIndex",pkg:"",typ:$funcType([DI],[DI],false)},{prop:"MapKeys",name:"MapKeys",pkg:"",typ:$funcType([],[GV],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[DI],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[DI],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"OverflowComplex",name:"OverflowComplex",pkg:"",typ:$funcType([$Complex128],[$Bool],false)},{prop:"OverflowFloat",name:"OverflowFloat",pkg:"",typ:$funcType([$Float64],[$Bool],false)},{prop:"OverflowInt",name:"OverflowInt",pkg:"",typ:$funcType([$Int64],[$Bool],false)},{prop:"OverflowUint",name:"OverflowUint",pkg:"",typ:$funcType([$Uint64],[$Bool],false)},{prop:"Recv",name:"Recv",pkg:"",typ:$funcType([],[DI,$Bool],false)},{prop:"recv",name:"recv",pkg:"reflect",typ:$funcType([$Bool],[DI,$Bool],false)},{prop:"Send",name:"Send",pkg:"",typ:$funcType([DI],[],false)},{prop:"send",name:"send",pkg:"reflect",typ:$funcType([DI,$Bool],[$Bool],false)},{prop:"SetBool",name:"SetBool",pkg:"",typ:$funcType([$Bool],[],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([HJ],[],false)},{prop:"setRunes",name:"setRunes",pkg:"reflect",typ:$funcType([HQ],[],false)},{prop:"SetComplex",name:"SetComplex",pkg:"",typ:$funcType([$Complex128],[],false)},{prop:"SetFloat",name:"SetFloat",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"SetInt",name:"SetInt",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"SetMapIndex",name:"SetMapIndex",pkg:"",typ:$funcType([DI,DI],[],false)},{prop:"SetUint",name:"SetUint",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"SetPointer",name:"SetPointer",pkg:"",typ:$funcType([$UnsafePointer],[],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"TryRecv",name:"TryRecv",pkg:"",typ:$funcType([],[DI,$Bool],false)},{prop:"TrySend",name:"TrySend",pkg:"",typ:$funcType([DI],[$Bool],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[BM],false)},{prop:"Uint",name:"Uint",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"UnsafeAddr",name:"UnsafeAddr",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"assignTo",name:"assignTo",pkg:"reflect",typ:$funcType([$String,FW,$UnsafePointer],[DI],false)},{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([BM],[DI],false)}];DJ.methods=[{prop:"kind",name:"kind",pkg:"reflect",typ:$funcType([],[BN],false)},{prop:"mustBe",name:"mustBe",pkg:"reflect",typ:$funcType([BN],[],false)},{prop:"mustBeExported",name:"mustBeExported",pkg:"reflect",typ:$funcType([],[],false)},{prop:"mustBeAssignable",name:"mustBeAssignable",pkg:"reflect",typ:$funcType([],[],false)}];HX.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AK.init([{prop:"t",name:"t",pkg:"reflect",typ:BM,tag:""},{prop:"m",name:"m",pkg:"reflect",typ:GJ,tag:""},{prop:"keys",name:"keys",pkg:"reflect",typ:GJ,tag:""},{prop:"i",name:"i",pkg:"reflect",typ:$Int,tag:""}]);BM.init([{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[BS],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[BM],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[CF],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([HG],[CF],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[CF,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([HT],[CF,$Bool],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[BM],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[BM],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BN],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CD],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CD,$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[BM],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[FW],false)},{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[GP],false)}]);BO.init([{prop:"size",name:"size",pkg:"reflect",typ:$Uintptr,tag:""},{prop:"ptrdata",name:"ptrdata",pkg:"reflect",typ:$Uintptr,tag:""},{prop:"hash",name:"hash",pkg:"reflect",typ:$Uint32,tag:""},{prop:"_$3",name:"_",pkg:"reflect",typ:$Uint8,tag:""},{prop:"align",name:"align",pkg:"reflect",typ:$Uint8,tag:""},{prop:"fieldAlign",name:"fieldAlign",pkg:"reflect",typ:$Uint8,tag:""},{prop:"kind",name:"kind",pkg:"reflect",typ:$Uint8,tag:""},{prop:"alg",name:"alg",pkg:"reflect",typ:GM,tag:""},{prop:"gcdata",name:"gcdata",pkg:"reflect",typ:GN,tag:""},{prop:"string",name:"string",pkg:"reflect",typ:GO,tag:""},{prop:"uncommonType",name:"",pkg:"reflect",typ:GP,tag:""},{prop:"ptrToThis",name:"ptrToThis",pkg:"reflect",typ:FW,tag:""},{prop:"zero",name:"zero",pkg:"reflect",typ:$UnsafePointer,tag:""}]);BP.init([{prop:"hash",name:"hash",pkg:"reflect",typ:HU,tag:""},{prop:"equal",name:"equal",pkg:"reflect",typ:HV,tag:""}]);BQ.init([{prop:"name",name:"name",pkg:"reflect",typ:GO,tag:""},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:GO,tag:""},{prop:"mtyp",name:"mtyp",pkg:"reflect",typ:FW,tag:""},{prop:"typ",name:"typ",pkg:"reflect",typ:FW,tag:""},{prop:"ifn",name:"ifn",pkg:"reflect",typ:$UnsafePointer,tag:""},{prop:"tfn",name:"tfn",pkg:"reflect",typ:$UnsafePointer,tag:""}]);BR.init([{prop:"name",name:"name",pkg:"reflect",typ:GO,tag:""},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:GO,tag:""},{prop:"methods",name:"methods",pkg:"reflect",typ:GQ,tag:""}]);BT.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"array\""},{prop:"elem",name:"elem",pkg:"reflect",typ:FW,tag:""},{prop:"slice",name:"slice",pkg:"reflect",typ:FW,tag:""},{prop:"len",name:"len",pkg:"reflect",typ:$Uintptr,tag:""}]);BU.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"chan\""},{prop:"elem",name:"elem",pkg:"reflect",typ:FW,tag:""},{prop:"dir",name:"dir",pkg:"reflect",typ:$Uintptr,tag:""}]);BV.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"func\""},{prop:"dotdotdot",name:"dotdotdot",pkg:"reflect",typ:$Bool,tag:""},{prop:"in$2",name:"in",pkg:"reflect",typ:GC,tag:""},{prop:"out",name:"out",pkg:"reflect",typ:GC,tag:""}]);BW.init([{prop:"name",name:"name",pkg:"reflect",typ:GO,tag:""},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:GO,tag:""},{prop:"typ",name:"typ",pkg:"reflect",typ:FW,tag:""}]);BX.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"interface\""},{prop:"methods",name:"methods",pkg:"reflect",typ:GR,tag:""}]);BY.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"map\""},{prop:"key",name:"key",pkg:"reflect",typ:FW,tag:""},{prop:"elem",name:"elem",pkg:"reflect",typ:FW,tag:""},{prop:"bucket",name:"bucket",pkg:"reflect",typ:FW,tag:""},{prop:"hmap",name:"hmap",pkg:"reflect",typ:FW,tag:""},{prop:"keysize",name:"keysize",pkg:"reflect",typ:$Uint8,tag:""},{prop:"indirectkey",name:"indirectkey",pkg:"reflect",typ:$Uint8,tag:""},{prop:"valuesize",name:"valuesize",pkg:"reflect",typ:$Uint8,tag:""},{prop:"indirectvalue",name:"indirectvalue",pkg:"reflect",typ:$Uint8,tag:""},{prop:"bucketsize",name:"bucketsize",pkg:"reflect",typ:$Uint16,tag:""},{prop:"reflexivekey",name:"reflexivekey",pkg:"reflect",typ:$Bool,tag:""}]);BZ.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"ptr\""},{prop:"elem",name:"elem",pkg:"reflect",typ:FW,tag:""}]);CA.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"slice\""},{prop:"elem",name:"elem",pkg:"reflect",typ:FW,tag:""}]);CB.init([{prop:"name",name:"name",pkg:"reflect",typ:GO,tag:""},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:GO,tag:""},{prop:"typ",name:"typ",pkg:"reflect",typ:FW,tag:""},{prop:"tag",name:"tag",pkg:"reflect",typ:GO,tag:""},{prop:"offset",name:"offset",pkg:"reflect",typ:$Uintptr,tag:""}]);CC.init([{prop:"rtype",name:"",pkg:"reflect",typ:BO,tag:"reflect:\"struct\""},{prop:"fields",name:"fields",pkg:"reflect",typ:GS,tag:""}]);CD.init([{prop:"Name",name:"Name",pkg:"",typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$String,tag:""},{prop:"Type",name:"Type",pkg:"",typ:BM,tag:""},{prop:"Func",name:"Func",pkg:"",typ:DI,tag:""},{prop:"Index",name:"Index",pkg:"",typ:$Int,tag:""}]);CF.init([{prop:"Name",name:"Name",pkg:"",typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$String,tag:""},{prop:"Type",name:"Type",pkg:"",typ:BM,tag:""},{prop:"Tag",name:"Tag",pkg:"",typ:CG,tag:""},{prop:"Offset",name:"Offset",pkg:"",typ:$Uintptr,tag:""},{prop:"Index",name:"Index",pkg:"",typ:HG,tag:""},{prop:"Anonymous",name:"Anonymous",pkg:"",typ:$Bool,tag:""}]);CH.init([{prop:"typ",name:"typ",pkg:"reflect",typ:HI,tag:""},{prop:"index",name:"index",pkg:"reflect",typ:HG,tag:""}]);DI.init([{prop:"typ",name:"typ",pkg:"reflect",typ:FW,tag:""},{prop:"ptr",name:"ptr",pkg:"reflect",typ:$UnsafePointer,tag:""},{prop:"flag",name:"",pkg:"reflect",typ:DJ,tag:""}]);DM.init([{prop:"Method",name:"Method",pkg:"",typ:$String,tag:""},{prop:"Kind",name:"Kind",pkg:"",typ:BN,tag:""}]);DO.init([{prop:"itab",name:"itab",pkg:"reflect",typ:GZ,tag:""},{prop:"word",name:"word",pkg:"reflect",typ:$UnsafePointer,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=false;L={};AW=$assertType($internalize($call,$emptyInterface),GK);BB=$assertType($internalize($select,$emptyInterface),GK);CE=new GL(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);AX=J($jsObjectPtr);DV=$assertType(R(new $Uint8(0)),FW);$r=H();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["fmt"]=(function(){var $pkg={},$init,D,E,A,F,G,B,H,C,L,M,AF,AG,AH,AI,AJ,AK,BF,BS,BT,BU,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CR,DL,DM,I,J,N,O,Q,R,S,T,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AL,BA,BB,BC,BV,BZ,CB,CC,a,b,K,P,AM,AP,AQ,AT,AW,AX,AY,AZ,BD,BE,BW,BX,CD;D=$packages["errors"];E=$packages["io"];A=$packages["math"];F=$packages["os"];G=$packages["reflect"];B=$packages["strconv"];H=$packages["sync"];C=$packages["unicode/utf8"];L=$pkg.fmtFlags=$newType(0,$kindStruct,"fmt.fmtFlags","fmtFlags","fmt",function(widPresent_,precPresent_,minus_,plus_,sharp_,space_,unicode_,uniQuote_,zero_,plusV_,sharpV_){this.$val=this;if(arguments.length===0){this.widPresent=false;this.precPresent=false;this.minus=false;this.plus=false;this.sharp=false;this.space=false;this.unicode=false;this.uniQuote=false;this.zero=false;this.plusV=false;this.sharpV=false;return;}this.widPresent=widPresent_;this.precPresent=precPresent_;this.minus=minus_;this.plus=plus_;this.sharp=sharp_;this.space=space_;this.unicode=unicode_;this.uniQuote=uniQuote_;this.zero=zero_;this.plusV=plusV_;this.sharpV=sharpV_;});M=$pkg.fmt=$newType(0,$kindStruct,"fmt.fmt","fmt","fmt",function(intbuf_,buf_,wid_,prec_,fmtFlags_){this.$val=this;if(arguments.length===0){this.intbuf=CK.zero();this.buf=CL.nil;this.wid=0;this.prec=0;this.fmtFlags=new L.ptr(false,false,false,false,false,false,false,false,false,false,false);return;}this.intbuf=intbuf_;this.buf=buf_;this.wid=wid_;this.prec=prec_;this.fmtFlags=fmtFlags_;});AF=$pkg.State=$newType(8,$kindInterface,"fmt.State","State","fmt",null);AG=$pkg.Formatter=$newType(8,$kindInterface,"fmt.Formatter","Formatter","fmt",null);AH=$pkg.Stringer=$newType(8,$kindInterface,"fmt.Stringer","Stringer","fmt",null);AI=$pkg.GoStringer=$newType(8,$kindInterface,"fmt.GoStringer","GoStringer","fmt",null);AJ=$pkg.buffer=$newType(12,$kindSlice,"fmt.buffer","buffer","fmt",null);AK=$pkg.pp=$newType(0,$kindStruct,"fmt.pp","pp","fmt",function(n_,panicking_,erroring_,buf_,arg_,value_,reordered_,goodArgNum_,runeBuf_,fmt_){this.$val=this;if(arguments.length===0){this.n=0;this.panicking=false;this.erroring=false;this.buf=AJ.nil;this.arg=$ifaceNil;this.value=new G.Value.ptr(CI.nil,0,0);this.reordered=false;this.goodArgNum=false;this.runeBuf=CJ.zero();this.fmt=new M.ptr(CK.zero(),CL.nil,0,0,new L.ptr(false,false,false,false,false,false,false,false,false,false,false));return;}this.n=n_;this.panicking=panicking_;this.erroring=erroring_;this.buf=buf_;this.arg=arg_;this.value=value_;this.reordered=reordered_;this.goodArgNum=goodArgNum_;this.runeBuf=runeBuf_;this.fmt=fmt_;});BF=$pkg.runeUnreader=$newType(8,$kindInterface,"fmt.runeUnreader","runeUnreader","fmt",null);BS=$pkg.scanError=$newType(0,$kindStruct,"fmt.scanError","scanError","fmt",function(err_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;return;}this.err=err_;});BT=$pkg.ss=$newType(0,$kindStruct,"fmt.ss","ss","fmt",function(rr_,buf_,peekRune_,prevRune_,count_,atEOF_,ssave_){this.$val=this;if(arguments.length===0){this.rr=$ifaceNil;this.buf=AJ.nil;this.peekRune=0;this.prevRune=0;this.count=0;this.atEOF=false;this.ssave=new BU.ptr(false,false,false,0,0,0);return;}this.rr=rr_;this.buf=buf_;this.peekRune=peekRune_;this.prevRune=prevRune_;this.count=count_;this.atEOF=atEOF_;this.ssave=ssave_;});BU=$pkg.ssave=$newType(0,$kindStruct,"fmt.ssave","ssave","fmt",function(validSave_,nlIsEnd_,nlIsSpace_,argLimit_,limit_,maxWid_){this.$val=this;if(arguments.length===0){this.validSave=false;this.nlIsEnd=false;this.nlIsSpace=false;this.argLimit=0;this.limit=0;this.maxWid=0;return;}this.validSave=validSave_;this.nlIsEnd=nlIsEnd_;this.nlIsSpace=nlIsSpace_;this.argLimit=argLimit_;this.limit=limit_;this.maxWid=maxWid_;});CG=$sliceType($Uint8);CH=$sliceType($emptyInterface);CI=$ptrType(G.rtype);CJ=$arrayType($Uint8,4);CK=$arrayType($Uint8,65);CL=$ptrType(AJ);CM=$arrayType($Uint16,2);CN=$sliceType(CM);CO=$ptrType(AK);CR=$ptrType(BT);DL=$ptrType(M);DM=$funcType([$Int32],[$Bool],false);K=function(){var $ptr,c;c=0;while(true){if(!(c<65)){break;}((c<0||c>=I.$length)?$throwRuntimeError("index out of range"):I.$array[I.$offset+c]=48);((c<0||c>=J.$length)?$throwRuntimeError("index out of range"):J.$array[J.$offset+c]=32);c=c+(1)>>0;}};M.ptr.prototype.clearflags=function(){var $ptr,c;c=this;L.copy(c.fmtFlags,new L.ptr(false,false,false,false,false,false,false,false,false,false,false));};M.prototype.clearflags=function(){return this.$val.clearflags();};M.ptr.prototype.init=function(c){var $ptr,c,d;d=this;d.buf=c;d.clearflags();};M.prototype.init=function(c){return this.$val.init(c);};M.ptr.prototype.computePadding=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;d=CG.nil;e=0;f=0;g=this;h=!g.fmtFlags.minus;i=g.wid;if(i<0){h=false;i=-i;}i=i-(c)>>0;if(i>0){if(h&&g.fmtFlags.zero){j=I;k=i;l=0;d=j;e=k;f=l;return[d,e,f];}if(h){m=J;n=i;o=0;d=m;e=n;f=o;return[d,e,f];}else{p=J;q=0;r=i;d=p;e=q;f=r;return[d,e,f];}}return[d,e,f];};M.prototype.computePadding=function(c){return this.$val.computePadding(c);};M.ptr.prototype.writePadding=function(c,d){var $ptr,c,d,e,f;e=this;while(true){if(!(c>0)){break;}f=c;if(f>65){f=65;}e.buf.Write($subslice(d,0,f));c=c-(f)>>0;}};M.prototype.writePadding=function(c,d){return this.$val.writePadding(c,d);};M.ptr.prototype.pad=function(c){var $ptr,c,d,e,f,g,h;d=this;if(!d.fmtFlags.widPresent||(d.wid===0)){d.buf.Write(c);return;}e=d.computePadding(C.RuneCount(c));f=e[0];g=e[1];h=e[2];if(g>0){d.writePadding(g,f);}d.buf.Write(c);if(h>0){d.writePadding(h,f);}};M.prototype.pad=function(c){return this.$val.pad(c);};M.ptr.prototype.padString=function(c){var $ptr,c,d,e,f,g,h;d=this;if(!d.fmtFlags.widPresent||(d.wid===0)){d.buf.WriteString(c);return;}e=d.computePadding(C.RuneCountInString(c));f=e[0];g=e[1];h=e[2];if(g>0){d.writePadding(g,f);}d.buf.WriteString(c);if(h>0){d.writePadding(h,f);}};M.prototype.padString=function(c){return this.$val.padString(c);};M.ptr.prototype.fmt_boolean=function(c){var $ptr,c,d;d=this;if(c){d.pad(N);}else{d.pad(O);}};M.prototype.fmt_boolean=function(c){return this.$val.fmt_boolean(c);};M.ptr.prototype.integer=function(c,d,e,f){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=this;if(g.fmtFlags.precPresent&&(g.prec===0)&&(c.$high===0&&c.$low===0)){return;}h=e&&(c.$high<0||(c.$high===0&&c.$low<0));if(h){c=new $Int64(-c.$high,-c.$low);}i=$subslice(new CG(g.intbuf),0);if(g.fmtFlags.widPresent||g.fmtFlags.precPresent||g.fmtFlags.plus||g.fmtFlags.space){j=g.wid+g.prec>>0;if((d.$high===0&&d.$low===16)&&g.fmtFlags.sharp){j=j+(2)>>0;}if(g.fmtFlags.unicode){j=j+(2)>>0;if(g.fmtFlags.uniQuote){j=j+(7)>>0;}}if(h||g.fmtFlags.plus||g.fmtFlags.space){j=j+(1)>>0;}if(j>65){i=$makeSlice(CG,j);}}k=0;if(g.fmtFlags.precPresent){k=g.prec;g.fmtFlags.zero=false;}else if(g.fmtFlags.zero&&g.fmtFlags.widPresent&&!g.fmtFlags.minus&&g.wid>0){k=g.wid;if(h||g.fmtFlags.plus||g.fmtFlags.space){k=k-(1)>>0;}}l=i.$length;m=new $Uint64(c.$high,c.$low);n=d;if((n.$high===0&&n.$low===10)){while(true){if(!((m.$high>0||(m.$high===0&&m.$low>=10)))){break;}l=l-(1)>>0;o=$div64(m,new $Uint64(0,10),false);((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=((p=new $Uint64(0+m.$high,48+m.$low),q=$mul64(o,new $Uint64(0,10)),new $Uint64(p.$high-q.$high,p.$low-q.$low)).$low<<24>>>24));m=o;}}else if((n.$high===0&&n.$low===16)){while(true){if(!((m.$high>0||(m.$high===0&&m.$low>=16)))){break;}l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=f.charCodeAt($flatten64(new $Uint64(m.$high&0,(m.$low&15)>>>0))));m=$shiftRightUint64(m,(4));}}else if((n.$high===0&&n.$low===8)){while(true){if(!((m.$high>0||(m.$high===0&&m.$low>=8)))){break;}l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=((r=new $Uint64(m.$high&0,(m.$low&7)>>>0),new $Uint64(0+r.$high,48+r.$low)).$low<<24>>>24));m=$shiftRightUint64(m,(3));}}else if((n.$high===0&&n.$low===2)){while(true){if(!((m.$high>0||(m.$high===0&&m.$low>=2)))){break;}l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=((s=new $Uint64(m.$high&0,(m.$low&1)>>>0),new $Uint64(0+s.$high,48+s.$low)).$low<<24>>>24));m=$shiftRightUint64(m,(1));}}else{$panic(new $String("fmt: unknown base; can't happen"));}l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=f.charCodeAt($flatten64(m)));while(true){if(!(l>0&&k>(i.$length-l>>0))){break;}l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=48);}if(g.fmtFlags.sharp){t=d;if((t.$high===0&&t.$low===8)){if(!((((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l])===48))){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=48);}}else if((t.$high===0&&t.$low===16)){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=((120+f.charCodeAt(10)<<24>>>24)-97<<24>>>24));l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=48);}}if(g.fmtFlags.unicode){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=43);l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=85);}if(h){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=45);}else if(g.fmtFlags.plus){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=43);}else if(g.fmtFlags.space){l=l-(1)>>0;((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]=32);}if(g.fmtFlags.unicode&&g.fmtFlags.uniQuote&&(c.$high>0||(c.$high===0&&c.$low>=0))&&(c.$high<0||(c.$high===0&&c.$low<=1114111))&&B.IsPrint(((c.$low+((c.$high>>31)*4294967296))>>0))){u=C.RuneLen(((c.$low+((c.$high>>31)*4294967296))>>0));v=(2+u>>0)+1>>0;$copySlice($subslice(i,(l-v>>0)),$subslice(i,l));l=l-(v)>>0;w=i.$length-v>>0;((w<0||w>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+w]=32);w=w+(1)>>0;((w<0||w>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+w]=39);w=w+(1)>>0;C.EncodeRune($subslice(i,w),((c.$low+((c.$high>>31)*4294967296))>>0));w=w+(u)>>0;((w<0||w>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+w]=39);}g.pad($subslice(i,l));};M.prototype.integer=function(c,d,e,f){return this.$val.integer(c,d,e,f);};M.ptr.prototype.truncate=function(c){var $ptr,c,d,e,f,g,h,i;d=this;if(d.fmtFlags.precPresent&&d.prec<C.RuneCountInString(c)){e=d.prec;f=c;g=0;while(true){if(!(g<f.length)){break;}h=$decodeRune(f,g);i=g;if(e===0){c=c.substring(0,i);break;}e=e-(1)>>0;g+=h[1];}}return c;};M.prototype.truncate=function(c){return this.$val.truncate(c);};M.ptr.prototype.fmt_s=function(c){var $ptr,c,d;d=this;c=d.truncate(c);d.padString(c);};M.prototype.fmt_s=function(c){return this.$val.fmt_s(c);};M.ptr.prototype.fmt_sbx=function(c,d,e){var $ptr,c,d,e,f,g,h,i,j,k;f=this;g=d.$length;if(d===CG.nil){g=c.length;}h=(e.charCodeAt(10)-97<<24>>>24)+120<<24>>>24;i=CG.nil;j=0;while(true){if(!(j<g)){break;}if(j>0&&f.fmtFlags.space){i=$append(i,32);}if(f.fmtFlags.sharp&&(f.fmtFlags.space||(j===0))){i=$append(i,48,h);}k=0;if(d===CG.nil){k=c.charCodeAt(j);}else{k=((j<0||j>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+j]);}i=$append(i,e.charCodeAt((k>>>4<<24>>>24)),e.charCodeAt(((k&15)>>>0)));j=j+(1)>>0;}f.pad(i);};M.prototype.fmt_sbx=function(c,d,e){return this.$val.fmt_sbx(c,d,e);};M.ptr.prototype.fmt_sx=function(c,d){var $ptr,c,d,e;e=this;if(e.fmtFlags.precPresent&&e.prec<c.length){c=c.substring(0,e.prec);}e.fmt_sbx(c,CG.nil,d);};M.prototype.fmt_sx=function(c,d){return this.$val.fmt_sx(c,d);};M.ptr.prototype.fmt_bx=function(c,d){var $ptr,c,d,e;e=this;if(e.fmtFlags.precPresent&&e.prec<c.$length){c=$subslice(c,0,e.prec);}e.fmt_sbx("",c,d);};M.prototype.fmt_bx=function(c,d){return this.$val.fmt_bx(c,d);};M.ptr.prototype.fmt_q=function(c){var $ptr,c,d,e;d=this;c=d.truncate(c);e="";if(d.fmtFlags.sharp&&B.CanBackquote(c)){e="`"+c+"`";}else{if(d.fmtFlags.plus){e=B.QuoteToASCII(c);}else{e=B.Quote(c);}}d.padString(e);};M.prototype.fmt_q=function(c){return this.$val.fmt_q(c);};M.ptr.prototype.fmt_qc=function(c){var $ptr,c,d,e;d=this;e=CG.nil;if(d.fmtFlags.plus){e=B.AppendQuoteRuneToASCII($subslice(new CG(d.intbuf),0,0),((c.$low+((c.$high>>31)*4294967296))>>0));}else{e=B.AppendQuoteRune($subslice(new CG(d.intbuf),0,0),((c.$low+((c.$high>>31)*4294967296))>>0));}d.pad(e);};M.prototype.fmt_qc=function(c){return this.$val.fmt_qc(c);};P=function(c,d){var $ptr,c,d;if(c.fmtFlags.precPresent){return c.prec;}return d;};M.ptr.prototype.formatFloat=function(c,d,e,f){var $ptr,c,d,e,f,g,h,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);g=this;h=B.AppendFloat($subslice(new CG(g.intbuf),0,1),c,d,e,f);if(((1>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+1])===45)||((1>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+1])===43)){h=$subslice(h,1);}else{(0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]=43);}if(A.IsInf(c,0)){if(g.fmtFlags.zero){$deferred.push([(function(){var $ptr;g.fmtFlags.zero=true;}),[]]);g.fmtFlags.zero=false;}}if(g.fmtFlags.zero&&g.fmtFlags.widPresent&&g.wid>h.$length){if(g.fmtFlags.space&&c>=0){g.buf.WriteByte(32);g.wid=g.wid-(1)>>0;}else if(g.fmtFlags.plus||c<0){g.buf.WriteByte((0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));g.wid=g.wid-(1)>>0;}g.pad($subslice(h,1));return;}if(g.fmtFlags.space&&((0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0])===43)){(0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]=32);g.pad(h);return;}if(g.fmtFlags.plus||((0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0])===45)||A.IsInf(c,0)){g.pad(h);return;}g.pad($subslice(h,1));}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};M.prototype.formatFloat=function(c,d,e,f){return this.$val.formatFloat(c,d,e,f);};M.ptr.prototype.fmt_e64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,101,P(d,6),64);};M.prototype.fmt_e64=function(c){return this.$val.fmt_e64(c);};M.ptr.prototype.fmt_E64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,69,P(d,6),64);};M.prototype.fmt_E64=function(c){return this.$val.fmt_E64(c);};M.ptr.prototype.fmt_f64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,102,P(d,6),64);};M.prototype.fmt_f64=function(c){return this.$val.fmt_f64(c);};M.ptr.prototype.fmt_g64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,103,P(d,-1),64);};M.prototype.fmt_g64=function(c){return this.$val.fmt_g64(c);};M.ptr.prototype.fmt_G64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,71,P(d,-1),64);};M.prototype.fmt_G64=function(c){return this.$val.fmt_G64(c);};M.ptr.prototype.fmt_fb64=function(c){var $ptr,c,d;d=this;d.formatFloat(c,98,0,64);};M.prototype.fmt_fb64=function(c){return this.$val.fmt_fb64(c);};M.ptr.prototype.fmt_e32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,101,P(d,6),32);};M.prototype.fmt_e32=function(c){return this.$val.fmt_e32(c);};M.ptr.prototype.fmt_E32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,69,P(d,6),32);};M.prototype.fmt_E32=function(c){return this.$val.fmt_E32(c);};M.ptr.prototype.fmt_f32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,102,P(d,6),32);};M.prototype.fmt_f32=function(c){return this.$val.fmt_f32(c);};M.ptr.prototype.fmt_g32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,103,P(d,-1),32);};M.prototype.fmt_g32=function(c){return this.$val.fmt_g32(c);};M.ptr.prototype.fmt_G32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,71,P(d,-1),32);};M.prototype.fmt_G32=function(c){return this.$val.fmt_G32(c);};M.ptr.prototype.fmt_fb32=function(c){var $ptr,c,d;d=this;d.formatFloat(c,98,0,32);};M.prototype.fmt_fb32=function(c){return this.$val.fmt_fb32(c);};M.ptr.prototype.fmt_c64=function(c,d){var $ptr,c,d,e;e=this;e.fmt_complex(c.$real,c.$imag,32,d);};M.prototype.fmt_c64=function(c,d){return this.$val.fmt_c64(c,d);};M.ptr.prototype.fmt_c128=function(c,d){var $ptr,c,d,e;e=this;e.fmt_complex(c.$real,c.$imag,64,d);};M.prototype.fmt_c128=function(c,d){return this.$val.fmt_c128(c,d);};M.ptr.prototype.fmt_complex=function(c,d,e,f){var $ptr,c,d,e,f,g,h,i,j,k,l;g=this;g.buf.WriteByte(40);h=g.fmtFlags.plus;i=g.fmtFlags.space;j=g.wid;k=0;while(true){l=f;if(l===98){g.formatFloat(c,98,0,e);}else if(l===101){g.formatFloat(c,101,P(g,6),e);}else if(l===69){g.formatFloat(c,69,P(g,6),e);}else if(l===102||l===70){g.formatFloat(c,102,P(g,6),e);}else if(l===103){g.formatFloat(c,103,P(g,-1),e);}else if(l===71){g.formatFloat(c,71,P(g,-1),e);}if(!((k===0))){break;}g.fmtFlags.plus=true;g.fmtFlags.space=false;g.wid=j;c=d;k=k+(1)>>0;}g.fmtFlags.space=i;g.fmtFlags.plus=h;g.wid=j;g.buf.Write(AA);};M.prototype.fmt_complex=function(c,d,e,f){return this.$val.fmt_complex(c,d,e,f);};$ptrType(AJ).prototype.Write=function(c){var $ptr,c,d,e,f,g,h;d=0;e=$ifaceNil;f=this;f.$set($appendSlice(f.$get(),c));g=c.$length;h=$ifaceNil;d=g;e=h;return[d,e];};$ptrType(AJ).prototype.WriteString=function(c){var $ptr,c,d,e,f,g,h;d=0;e=$ifaceNil;f=this;f.$set($appendSlice(f.$get(),c));g=c.length;h=$ifaceNil;d=g;e=h;return[d,e];};$ptrType(AJ).prototype.WriteByte=function(c){var $ptr,c,d;d=this;d.$set($append(d.$get(),c));return $ifaceNil;};$ptrType(AJ).prototype.WriteRune=function(c){var $ptr,c,d,e,f,g,h;d=this;if(c<128){d.$set($append(d.$get(),(c<<24>>>24)));return $ifaceNil;}e=d.$get();f=e.$length;while(true){if(!((f+4>>0)>e.$capacity)){break;}e=$append(e,0);}h=C.EncodeRune((g=$subslice(e,f,(f+4>>0)),$subslice(new CG(g.$array),g.$offset,g.$offset+g.$length)),c);d.$set($subslice(e,0,(f+h>>0)));return $ifaceNil;};AM=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=AL.Get();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$assertType(c,CO);d.panicking=false;d.erroring=false;d.fmt.init((d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))));return d;}return;}if($f===undefined){$f={$blk:AM};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AK.ptr.prototype.free=function(){var $ptr,c;c=this;if(c.buf.$capacity>1024){return;}c.buf=$subslice(c.buf,0,0);c.arg=$ifaceNil;c.value=new G.Value.ptr(CI.nil,0,0);AL.Put(c);};AK.prototype.free=function(){return this.$val.free();};AK.ptr.prototype.Width=function(){var $ptr,c,d,e,f,g;c=0;d=false;e=this;f=e.fmt.wid;g=e.fmt.fmtFlags.widPresent;c=f;d=g;return[c,d];};AK.prototype.Width=function(){return this.$val.Width();};AK.ptr.prototype.Precision=function(){var $ptr,c,d,e,f,g;c=0;d=false;e=this;f=e.fmt.prec;g=e.fmt.fmtFlags.precPresent;c=f;d=g;return[c,d];};AK.prototype.Precision=function(){return this.$val.Precision();};AK.ptr.prototype.Flag=function(c){var $ptr,c,d,e;d=this;e=c;if(e===45){return d.fmt.fmtFlags.minus;}else if(e===43){return d.fmt.fmtFlags.plus;}else if(e===35){return d.fmt.fmtFlags.sharp;}else if(e===32){return d.fmt.fmtFlags.space;}else if(e===48){return d.fmt.fmtFlags.zero;}return false;};AK.prototype.Flag=function(c){return this.$val.Flag(c);};AK.ptr.prototype.add=function(c){var $ptr,c,d;d=this;(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteRune(c);};AK.prototype.add=function(c){return this.$val.add(c);};AK.ptr.prototype.Write=function(c){var $ptr,c,d,e,f,g;d=0;e=$ifaceNil;f=this;g=(f.$ptr_buf||(f.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},f))).Write(c);d=g[0];e=g[1];return[d,e];};AK.prototype.Write=function(c){return this.$val.Write(c);};AP=function(c,d){var $ptr,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AM();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=f.doPrintf(c,d);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=$bytesToString(f.buf);f.free();return g;}return;}if($f===undefined){$f={$blk:AP};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprintf=AP;AQ=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AP(c,d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=D.New(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=3;case 3:return f;}return;}if($f===undefined){$f={$blk:AQ};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Errorf=AQ;AT=function(c){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=AM();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$r=e.doPrint(c,false,false);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$bytesToString(e.buf);e.free();return f;}return;}if($f===undefined){$f={$blk:AT};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprint=AT;AW=function(c){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=AM();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$r=e.doPrint(c,true,true);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$bytesToString(e.buf);e.free();return f;}return;}if($f===undefined){$f={$blk:AW};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprintln=AW;AX=function(c,d){var $ptr,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=c;e=c.Field(d);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if((f.Kind()===20)&&!f.IsNil()){$s=2;continue;}$s=3;continue;case 2:g=f.Elem();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 3:return f;}return;}if($f===undefined){$f={$blk:AX};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AY=function(c){var $ptr,c;return c>1000000||c<-1000000;};AZ=function(c,d,e){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n;f=0;g=false;h=0;if(d>=e){i=0;j=false;k=e;f=i;g=j;h=k;return[f,g,h];}h=d;while(true){if(!(h<e&&48<=c.charCodeAt(h)&&c.charCodeAt(h)<=57)){break;}if(AY(f)){l=0;m=false;n=e;f=l;g=m;h=n;return[f,g,h];}f=($imul(f,10))+((c.charCodeAt(h)-48<<24>>>24)>>0)>>0;g=true;h=h+(1)>>0;}return[f,g,h];};AK.ptr.prototype.unknownType=function(c){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=c;d=this;if(!c.IsValid()){(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).Write(R);return;}(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(63);e=c.Type().String();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(63);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.unknownType};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.unknownType=function(c){return this.$val.unknownType(c);};AK.ptr.prototype.badVerb=function(c){var $ptr,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;d.erroring=true;d.add(37);d.add(33);d.add(c);d.add(40);if(!($interfaceIsEqual(d.arg,$ifaceNil))){$s=1;continue;}if(d.value.IsValid()){$s=2;continue;}$s=3;continue;case 1:e=G.TypeOf(d.arg).String();$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(e);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;d.add(61);g=d.printArg(d.arg,118,0);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=4;continue;case 2:h=d.value.Type().String();$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(h);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;d.add(61);j=d.printValue(d.value,118,0);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;$s=4;continue;case 3:(d.$ptr_buf||(d.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).Write(R);case 4:d.add(41);d.erroring=false;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.badVerb};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.badVerb=function(c){return this.$val.badVerb(c);};AK.ptr.prototype.fmtBool=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===116||f===118){$s=1;continue;}$s=2;continue;case 1:e.fmt.fmt_boolean(c);$s=3;continue;case 2:$r=e.badVerb(d);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtBool};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtBool=function(c,d){return this.$val.fmtBool(c,d);};AK.ptr.prototype.fmtC=function(c){var $ptr,c,d,e,f,g;d=this;e=((c.$low+((c.$high>>31)*4294967296))>>0);if(!((f=new $Int64(0,e),(f.$high===c.$high&&f.$low===c.$low)))){e=65533;}g=C.EncodeRune($subslice(new CG(d.runeBuf),0,4),e);d.fmt.pad($subslice(new CG(d.runeBuf),0,g));};AK.prototype.fmtC=function(c){return this.$val.fmtC(c);};AK.ptr.prototype.fmtInt64=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98){$s=1;continue;}if(f===99){$s=2;continue;}if(f===100||f===118){$s=3;continue;}if(f===111){$s=4;continue;}if(f===113){$s=5;continue;}if(f===120){$s=6;continue;}if(f===85){$s=7;continue;}if(f===88){$s=8;continue;}$s=9;continue;case 1:e.fmt.integer(c,new $Uint64(0,2),true,"0123456789abcdef");$s=10;continue;case 2:e.fmtC(c);$s=10;continue;case 3:e.fmt.integer(c,new $Uint64(0,10),true,"0123456789abcdef");$s=10;continue;case 4:e.fmt.integer(c,new $Uint64(0,8),true,"0123456789abcdef");$s=10;continue;case 5:if((0<c.$high||(0===c.$high&&0<=c.$low))&&(c.$high<0||(c.$high===0&&c.$low<=1114111))){$s=11;continue;}$s=12;continue;case 11:e.fmt.fmt_qc(c);$s=13;continue;case 12:$r=e.badVerb(d);$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=10;continue;case 6:e.fmt.integer(c,new $Uint64(0,16),true,"0123456789abcdef");$s=10;continue;case 7:e.fmtUnicode(c);$s=10;continue;case 8:e.fmt.integer(c,new $Uint64(0,16),true,"0123456789ABCDEF");$s=10;continue;case 9:$r=e.badVerb(d);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtInt64};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtInt64=function(c,d){return this.$val.fmtInt64(c,d);};AK.ptr.prototype.fmt0x64=function(c,d){var $ptr,c,d,e,f;e=this;f=e.fmt.fmtFlags.sharp;e.fmt.fmtFlags.sharp=d;e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,16),false,"0123456789abcdef");e.fmt.fmtFlags.sharp=f;};AK.prototype.fmt0x64=function(c,d){return this.$val.fmt0x64(c,d);};AK.ptr.prototype.fmtUnicode=function(c){var $ptr,c,d,e,f,g;d=this;e=d.fmt.fmtFlags.precPresent;f=d.fmt.fmtFlags.sharp;d.fmt.fmtFlags.sharp=false;g=d.fmt.prec;if(!e){d.fmt.prec=4;d.fmt.fmtFlags.precPresent=true;}d.fmt.fmtFlags.unicode=true;d.fmt.fmtFlags.uniQuote=f;d.fmt.integer(c,new $Uint64(0,16),false,"0123456789ABCDEF");d.fmt.fmtFlags.unicode=false;d.fmt.fmtFlags.uniQuote=false;d.fmt.prec=g;d.fmt.fmtFlags.precPresent=e;d.fmt.fmtFlags.sharp=f;};AK.prototype.fmtUnicode=function(c){return this.$val.fmtUnicode(c);};AK.ptr.prototype.fmtUint64=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98){$s=1;continue;}if(f===99){$s=2;continue;}if(f===100){$s=3;continue;}if(f===118){$s=4;continue;}if(f===111){$s=5;continue;}if(f===113){$s=6;continue;}if(f===120){$s=7;continue;}if(f===88){$s=8;continue;}if(f===85){$s=9;continue;}$s=10;continue;case 1:e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,2),false,"0123456789abcdef");$s=11;continue;case 2:e.fmtC(new $Int64(c.$high,c.$low));$s=11;continue;case 3:e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,10),false,"0123456789abcdef");$s=11;continue;case 4:if(e.fmt.fmtFlags.sharpV){e.fmt0x64(c,true);}else{e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,10),false,"0123456789abcdef");}$s=11;continue;case 5:e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,8),false,"0123456789abcdef");$s=11;continue;case 6:if((0<c.$high||(0===c.$high&&0<=c.$low))&&(c.$high<0||(c.$high===0&&c.$low<=1114111))){$s=12;continue;}$s=13;continue;case 12:e.fmt.fmt_qc(new $Int64(c.$high,c.$low));$s=14;continue;case 13:$r=e.badVerb(d);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$s=11;continue;case 7:e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,16),false,"0123456789abcdef");$s=11;continue;case 8:e.fmt.integer(new $Int64(c.$high,c.$low),new $Uint64(0,16),false,"0123456789ABCDEF");$s=11;continue;case 9:e.fmtUnicode(new $Int64(c.$high,c.$low));$s=11;continue;case 10:$r=e.badVerb(d);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtUint64};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtUint64=function(c,d){return this.$val.fmtUint64(c,d);};AK.ptr.prototype.fmtFloat32=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98){$s=1;continue;}if(f===101){$s=2;continue;}if(f===69){$s=3;continue;}if(f===102||f===70){$s=4;continue;}if(f===103||f===118){$s=5;continue;}if(f===71){$s=6;continue;}$s=7;continue;case 1:e.fmt.fmt_fb32(c);$s=8;continue;case 2:e.fmt.fmt_e32(c);$s=8;continue;case 3:e.fmt.fmt_E32(c);$s=8;continue;case 4:e.fmt.fmt_f32(c);$s=8;continue;case 5:e.fmt.fmt_g32(c);$s=8;continue;case 6:e.fmt.fmt_G32(c);$s=8;continue;case 7:$r=e.badVerb(d);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtFloat32};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtFloat32=function(c,d){return this.$val.fmtFloat32(c,d);};AK.ptr.prototype.fmtFloat64=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98){$s=1;continue;}if(f===101){$s=2;continue;}if(f===69){$s=3;continue;}if(f===102||f===70){$s=4;continue;}if(f===103||f===118){$s=5;continue;}if(f===71){$s=6;continue;}$s=7;continue;case 1:e.fmt.fmt_fb64(c);$s=8;continue;case 2:e.fmt.fmt_e64(c);$s=8;continue;case 3:e.fmt.fmt_E64(c);$s=8;continue;case 4:e.fmt.fmt_f64(c);$s=8;continue;case 5:e.fmt.fmt_g64(c);$s=8;continue;case 6:e.fmt.fmt_G64(c);$s=8;continue;case 7:$r=e.badVerb(d);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtFloat64};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtFloat64=function(c,d){return this.$val.fmtFloat64(c,d);};AK.ptr.prototype.fmtComplex64=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98||f===101||f===69||f===102||f===70||f===103||f===71){$s=1;continue;}if(f===118){$s=2;continue;}$s=3;continue;case 1:e.fmt.fmt_c64(c,d);$s=4;continue;case 2:e.fmt.fmt_c64(c,103);$s=4;continue;case 3:$r=e.badVerb(d);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtComplex64};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtComplex64=function(c,d){return this.$val.fmtComplex64(c,d);};AK.ptr.prototype.fmtComplex128=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===98||f===101||f===69||f===102||f===70||f===103||f===71){$s=1;continue;}if(f===118){$s=2;continue;}$s=3;continue;case 1:e.fmt.fmt_c128(c,d);$s=4;continue;case 2:e.fmt.fmt_c128(c,103);$s=4;continue;case 3:$r=e.badVerb(d);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtComplex128};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtComplex128=function(c,d){return this.$val.fmtComplex128(c,d);};AK.ptr.prototype.fmtString=function(c,d){var $ptr,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=d;if(f===118){$s=1;continue;}if(f===115){$s=2;continue;}if(f===120){$s=3;continue;}if(f===88){$s=4;continue;}if(f===113){$s=5;continue;}$s=6;continue;case 1:if(e.fmt.fmtFlags.sharpV){e.fmt.fmt_q(c);}else{e.fmt.fmt_s(c);}$s=7;continue;case 2:e.fmt.fmt_s(c);$s=7;continue;case 3:e.fmt.fmt_sx(c,"0123456789abcdef");$s=7;continue;case 4:e.fmt.fmt_sx(c,"0123456789ABCDEF");$s=7;continue;case 5:e.fmt.fmt_q(c);$s=7;continue;case 6:$r=e.badVerb(d);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtString};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtString=function(c,d){return this.$val.fmtString(c,d);};AK.ptr.prototype.fmtBytes=function(c,d,e,f){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;if((d===118)||(d===100)){$s=1;continue;}$s=2;continue;case 1:if(g.fmt.fmtFlags.sharpV){$s=3;continue;}$s=4;continue;case 3:if(c===CG.nil){$s=6;continue;}$s=7;continue;case 6:if($interfaceIsEqual(e,$ifaceNil)){$s=8;continue;}$s=9;continue;case 8:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString("[]byte(nil)");$s=10;continue;case 9:h=e.String();$s=11;case 11:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(h);$s=12;case 12:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(S);case 10:return;case 7:if($interfaceIsEqual(e,$ifaceNil)){$s=13;continue;}$s=14;continue;case 13:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(AB);$s=15;continue;case 14:j=e.String();$s=16;case 16:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(j);$s=17;case 17:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(123);case 15:$s=5;continue;case 4:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(91);case 5:l=c;m=0;case 18:if(!(m<l.$length)){$s=19;continue;}n=m;o=((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);if(n>0){if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(Q);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(32);}}p=g.printArg(new $Uint8(o),118,f+1>>0);$s=20;case 20:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;m++;$s=18;continue;case 19:if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(125);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(93);}return;case 2:q=d;if(q===115){$s=21;continue;}if(q===120){$s=22;continue;}if(q===88){$s=23;continue;}if(q===113){$s=24;continue;}$s=25;continue;case 21:g.fmt.fmt_s($bytesToString(c));$s=26;continue;case 22:g.fmt.fmt_bx(c,"0123456789abcdef");$s=26;continue;case 23:g.fmt.fmt_bx(c,"0123456789ABCDEF");$s=26;continue;case 24:g.fmt.fmt_q($bytesToString(c));$s=26;continue;case 25:$r=g.badVerb(d);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 26:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtBytes};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtBytes=function(c,d,e,f){return this.$val.fmtBytes(c,d,e,f);};AK.ptr.prototype.fmtPointer=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=c;e=this;f=true;g=d;if(g===112||g===118){$s=1;continue;}if(g===98||g===100||g===111||g===120||g===88){$s=2;continue;}$s=3;continue;case 1:$s=4;continue;case 2:f=false;$s=4;continue;case 3:$r=e.badVerb(d);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 4:h=0;i=c.Kind();if(i===18||i===19||i===21||i===22||i===23||i===26){$s=6;continue;}$s=7;continue;case 6:h=c.Pointer();$s=8;continue;case 7:$r=e.badVerb(d);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 8:if(e.fmt.fmtFlags.sharpV){$s=10;continue;}if((d===118)&&(h===0)){$s=11;continue;}$s=12;continue;case 10:e.add(40);j=c.Type().String();$s=14;case 14:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteString(j);$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;e.add(41);e.add(40);if(h===0){(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(T);}else{e.fmt0x64(new $Uint64(0,h.constructor===Number?h:1),true);}e.add(41);$s=13;continue;case 11:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(R);$s=13;continue;case 12:if(f){$s=16;continue;}$s=17;continue;case 16:e.fmt0x64(new $Uint64(0,h.constructor===Number?h:1),!e.fmt.fmtFlags.sharp);$s=18;continue;case 17:$r=e.fmtUint64(new $Uint64(0,h.constructor===Number?h:1),d);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 18:case 13:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.fmtPointer};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.fmtPointer=function(c,d){return this.$val.fmtPointer(c,d);};AK.ptr.prototype.catchPanic=function(c,d){var $ptr,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:g=G.ValueOf(c);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if((h.Kind()===22)&&h.IsNil()){$s=4;continue;}$s=5;continue;case 4:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(R);return;case 5:if(e.panicking){$panic(f);}e.fmt.clearflags();(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(V);e.add(d);(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(Y);e.panicking=true;i=e.printArg(f,118,0);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;e.panicking=false;(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteByte(41);case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.catchPanic};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.catchPanic=function(c,d){return this.$val.catchPanic(c,d);};AK.ptr.prototype.clearSpecialFlags=function(){var $ptr,c,d,e;c=false;d=false;e=this;c=e.fmt.fmtFlags.plusV;if(c){e.fmt.fmtFlags.plus=true;e.fmt.fmtFlags.plusV=false;}d=e.fmt.fmtFlags.sharpV;if(d){e.fmt.fmtFlags.sharp=true;e.fmt.fmtFlags.sharpV=false;}return[c,d];};AK.prototype.clearSpecialFlags=function(){return this.$val.clearSpecialFlags();};AK.ptr.prototype.restoreSpecialFlags=function(c,d){var $ptr,c,d,e;e=this;if(c){e.fmt.fmtFlags.plus=false;e.fmt.fmtFlags.plusV=true;}if(d){e.fmt.fmtFlags.sharp=false;e.fmt.fmtFlags.sharpV=true;}};AK.prototype.restoreSpecialFlags=function(c,d){return this.$val.restoreSpecialFlags(c,d);};AK.ptr.prototype.handleMethods=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);e=false;f=this;if(f.erroring){return e;}g=$assertType(f.arg,AG,true);h=g[0];i=g[1];if(i){$s=1;continue;}$s=2;continue;case 1:e=true;j=f.clearSpecialFlags();$deferred.push([$methodVal(f,"restoreSpecialFlags"),[j[0],j[1]]]);$deferred.push([$methodVal(f,"catchPanic"),[f.arg,c]]);$r=h.Format(f,c);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return e;case 2:if(f.fmt.fmtFlags.sharpV){$s=4;continue;}$s=5;continue;case 4:k=$assertType(f.arg,AI,true);l=k[0];m=k[1];if(m){$s=7;continue;}$s=8;continue;case 7:e=true;$deferred.push([$methodVal(f,"catchPanic"),[f.arg,c]]);n=l.GoString();$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=f.fmt.fmt_s(n);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return e;case 8:$s=6;continue;case 5:o=c;if(o===118||o===115||o===120||o===88||o===113){$s=11;continue;}$s=12;continue;case 11:p=f.arg;if($assertType(p,$error,true)[1]){$s=13;continue;}if($assertType(p,AH,true)[1]){$s=14;continue;}$s=15;continue;case 13:q=p;e=true;$deferred.push([$methodVal(f,"catchPanic"),[f.arg,c]]);r=q.Error();$s=16;case 16:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=f.printArg(new $String(r),c,d);$s=17;case 17:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}s;return e;case 14:t=p;e=true;$deferred.push([$methodVal(f,"catchPanic"),[f.arg,c]]);u=t.String();$s=18;case 18:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=f.printArg(new $String(u),c,d);$s=19;case 19:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;return e;case 15:case 12:case 6:e=false;return e;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return e;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AK.ptr.prototype.handleMethods};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AK.prototype.handleMethods=function(c,d){return this.$val.handleMethods(c,d);};AK.ptr.prototype.printArg=function(c,d,e){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=false;g=this;g.arg=c;g.value=new G.Value.ptr(CI.nil,0,0);if($interfaceIsEqual(c,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:if((d===84)||(d===118)){$s=3;continue;}$s=4;continue;case 3:g.fmt.pad(R);$s=5;continue;case 4:$r=g.badVerb(d);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:f=false;return f;case 2:h=d;if(h===84){$s=7;continue;}if(h===112){$s=8;continue;}$s=9;continue;case 7:i=G.TypeOf(c).String();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=g.printArg(new $String(i),115,0);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;f=false;return f;case 8:k=G.ValueOf(c);$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$r=g.fmtPointer(k,d);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=false;return f;case 9:l=c;if($assertType(l,$Bool,true)[1]){$s=14;continue;}if($assertType(l,$Float32,true)[1]){$s=15;continue;}if($assertType(l,$Float64,true)[1]){$s=16;continue;}if($assertType(l,$Complex64,true)[1]){$s=17;continue;}if($assertType(l,$Complex128,true)[1]){$s=18;continue;}if($assertType(l,$Int,true)[1]){$s=19;continue;}if($assertType(l,$Int8,true)[1]){$s=20;continue;}if($assertType(l,$Int16,true)[1]){$s=21;continue;}if($assertType(l,$Int32,true)[1]){$s=22;continue;}if($assertType(l,$Int64,true)[1]){$s=23;continue;}if($assertType(l,$Uint,true)[1]){$s=24;continue;}if($assertType(l,$Uint8,true)[1]){$s=25;continue;}if($assertType(l,$Uint16,true)[1]){$s=26;continue;}if($assertType(l,$Uint32,true)[1]){$s=27;continue;}if($assertType(l,$Uint64,true)[1]){$s=28;continue;}if($assertType(l,$Uintptr,true)[1]){$s=29;continue;}if($assertType(l,$String,true)[1]){$s=30;continue;}if($assertType(l,CG,true)[1]){$s=31;continue;}if($assertType(l,G.Value,true)[1]){$s=32;continue;}$s=33;continue;case 14:m=l.$val;$r=g.fmtBool(m,d);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 15:n=l.$val;$r=g.fmtFloat32(n,d);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 16:o=l.$val;$r=g.fmtFloat64(o,d);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 17:p=l.$val;$r=g.fmtComplex64(p,d);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 18:q=l.$val;$r=g.fmtComplex128(q,d);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 19:r=l.$val;$r=g.fmtInt64(new $Int64(0,r),d);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 20:s=l.$val;$r=g.fmtInt64(new $Int64(0,s),d);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 21:t=l.$val;$r=g.fmtInt64(new $Int64(0,t),d);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 22:u=l.$val;$r=g.fmtInt64(new $Int64(0,u),d);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 23:v=l.$val;$r=g.fmtInt64(v,d);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 24:w=l.$val;$r=g.fmtUint64(new $Uint64(0,w),d);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 25:x=l.$val;$r=g.fmtUint64(new $Uint64(0,x),d);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 26:y=l.$val;$r=g.fmtUint64(new $Uint64(0,y),d);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 27:z=l.$val;$r=g.fmtUint64(new $Uint64(0,z),d);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 28:aa=l.$val;$r=g.fmtUint64(aa,d);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 29:ab=l.$val;$r=g.fmtUint64(new $Uint64(0,ab.constructor===Number?ab:1),d);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=34;continue;case 30:ac=l.$val;$r=g.fmtString(ac,d);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=(d===115)||(d===118);$s=34;continue;case 31:ad=l.$val;$r=g.fmtBytes(ad,d,$ifaceNil,e);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=d===115;$s=34;continue;case 32:ae=l.$val;af=g.printReflectValue(ae,d,e);$s=53;case 53:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}f=af;$s=54;case 54:return f;case 33:ag=l;ah=g.handleMethods(d,e);$s=55;case 55:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if(ai){$s=56;continue;}$s=57;continue;case 56:f=false;return f;case 57:aj=G.ValueOf(c);$s=58;case 58:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=g.printReflectValue(aj,d,e);$s=59;case 59:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}f=ak;$s=60;case 60:return f;case 34:g.arg=$ifaceNil;return f;}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.printArg};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.printArg=function(c,d,e){return this.$val.printArg(c,d,e);};AK.ptr.prototype.printValue=function(c,d,e){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=false;c=c;g=this;if(!c.IsValid()){$s=1;continue;}$s=2;continue;case 1:if((d===84)||(d===118)){$s=3;continue;}$s=4;continue;case 3:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(R);$s=5;continue;case 4:$r=g.badVerb(d);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:f=false;return f;case 2:h=d;if(h===84){$s=7;continue;}if(h===112){$s=8;continue;}$s=9;continue;case 7:i=c.Type().String();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=g.printArg(new $String(i),115,0);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;f=false;return f;case 8:$r=g.fmtPointer(c,d);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=false;return f;case 9:g.arg=$ifaceNil;if(c.CanInterface()){$s=13;continue;}$s=14;continue;case 13:k=c.Interface();$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}g.arg=k;case 14:l=g.handleMethods(d,e);$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(m){$s=17;continue;}$s=18;continue;case 17:f=false;return f;case 18:n=g.printReflectValue(c,d,e);$s=19;case 19:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}f=n;$s=20;case 20:return f;}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.printValue};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.printValue=function(c,d,e){return this.$val.printValue(c,d,e);};AK.ptr.prototype.printReflectValue=function(c,d,e){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=false;c=c;g=this;h=g.value;g.value=c;i=c;j=i.Kind();if(j===0){$s=1;continue;}if(j===1){$s=2;continue;}if(j===2||j===3||j===4||j===5||j===6){$s=3;continue;}if(j===7||j===8||j===9||j===10||j===11||j===12){$s=4;continue;}if(j===13||j===14){$s=5;continue;}if(j===15||j===16){$s=6;continue;}if(j===24){$s=7;continue;}if(j===21){$s=8;continue;}if(j===25){$s=9;continue;}if(j===20){$s=10;continue;}if(j===17||j===23){$s=11;continue;}if(j===22){$s=12;continue;}if(j===18||j===19||j===26){$s=13;continue;}$s=14;continue;case 1:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString("<invalid reflect.Value>");$s=15;continue;case 2:$r=g.fmtBool(i.Bool(),d);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 3:$r=g.fmtInt64(i.Int(),d);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 4:$r=g.fmtUint64(i.Uint(),d);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 5:k=i.Type().Size();$s=22;case 22:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k===4){$s=19;continue;}$s=20;continue;case 19:$r=g.fmtFloat32($fround(i.Float()),d);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=21;continue;case 20:$r=g.fmtFloat64(i.Float(),d);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 21:$s=15;continue;case 6:l=i.Type().Size();$s=28;case 28:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===8){$s=25;continue;}$s=26;continue;case 25:$r=g.fmtComplex64((m=i.Complex(),new $Complex64(m.$real,m.$imag)),d);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=27;continue;case 26:$r=g.fmtComplex128(i.Complex(),d);$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 27:$s=15;continue;case 7:n=i.String();$s=31;case 31:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=g.fmtString(n,d);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 8:if(g.fmt.fmtFlags.sharpV){$s=33;continue;}$s=34;continue;case 33:o=i.Type().String();$s=36;case 36:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(o);$s=37;case 37:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;if(i.IsNil()){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString("(nil)");$s=15;continue;}(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(123);$s=35;continue;case 34:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(U);case 35:q=i.MapKeys();$s=38;case 38:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q;s=r;t=0;case 39:if(!(t<s.$length)){$s=40;continue;}u=t;v=((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]);if(u>0){if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(Q);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(32);}}w=g.printValue(v,d,e+1>>0);$s=41;case 41:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(58);x=i.MapIndex(v);$s=42;case 42:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}y=g.printValue(x,d,e+1>>0);$s=43;case 43:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;t++;$s=39;continue;case 40:if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(125);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(93);}$s=15;continue;case 9:if(g.fmt.fmtFlags.sharpV){$s=44;continue;}$s=45;continue;case 44:z=c.Type().String();$s=46;case 46:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(z);$s=47;case 47:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;case 45:g.add(123);ab=i;ac=ab.Type();ad=0;case 48:if(!(ad<ab.NumField())){$s=49;continue;}if(ad>0){if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(Q);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(32);}}if(g.fmt.fmtFlags.plusV||g.fmt.fmtFlags.sharpV){$s=50;continue;}$s=51;continue;case 50:ae=ac.Field(ad);$s=52;case 52:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=$clone(ae,G.StructField);if(!(af.Name==="")){$s=53;continue;}$s=54;continue;case 53:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(af.Name);(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(58);case 54:case 51:ag=AX(ab,ad);$s=55;case 55:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=g.printValue(ag,d,e+1>>0);$s=56;case 56:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;ad=ad+(1)>>0;$s=48;continue;case 49:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(125);$s=15;continue;case 10:ai=i.Elem();$s=57;case 57:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}aj=ai;if(!aj.IsValid()){$s=58;continue;}$s=59;continue;case 58:if(g.fmt.fmtFlags.sharpV){$s=61;continue;}$s=62;continue;case 61:ak=i.Type().String();$s=64;case 64:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(ak);$s=65;case 65:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}al;(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(S);$s=63;continue;case 62:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(R);case 63:$s=60;continue;case 59:am=g.printValue(aj,d,e+1>>0);$s=66;case 66:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}f=am;case 60:$s=15;continue;case 11:an=i.Type();ap=an.Elem();$s=70;case 70:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap.Kind();$s=71;case 71:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}if(!(aq===8)){ao=false;$s=69;continue s;}ar=an.Elem();$s=72;case 72:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}ao=$interfaceIsEqual(ar,BC)||(d===115)||(d===113)||(d===120);case 69:if(ao){$s=67;continue;}$s=68;continue;case 67:as=CG.nil;if(i.Kind()===23){$s=73;continue;}if(i.CanAddr()){$s=74;continue;}$s=75;continue;case 73:at=i.Bytes();$s=77;case 77:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}as=at;$s=76;continue;case 74:au=i.Slice(0,i.Len());$s=78;case 78:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au.Bytes();$s=79;case 79:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}as=av;$s=76;continue;case 75:as=$makeSlice(CG,i.Len());aw=as;ax=0;case 80:if(!(ax<aw.$length)){$s=81;continue;}ay=ax;az=i.Index(ay);$s=82;case 82:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az.Uint();$s=83;case 83:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}((ay<0||ay>=as.$length)?$throwRuntimeError("index out of range"):as.$array[as.$offset+ay]=(ba.$low<<24>>>24));ax++;$s=80;continue;case 81:case 76:$r=g.fmtBytes(as,d,an,e);$s=84;case 84:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=d===115;$s=15;continue;case 68:if(g.fmt.fmtFlags.sharpV){$s=85;continue;}$s=86;continue;case 85:bb=c.Type().String();$s=88;case 88:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}bc=(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString(bb);$s=89;case 89:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bc;if((i.Kind()===23)&&i.IsNil()){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteString("(nil)");$s=15;continue;}(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(123);$s=87;continue;case 86:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(91);case 87:bd=0;case 90:if(!(bd<i.Len())){$s=91;continue;}if(bd>0){if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).Write(Q);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(32);}}be=i.Index(bd);$s=92;case 92:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=g.printValue(be,d,e+1>>0);$s=93;case 93:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bf;bd=bd+(1)>>0;$s=90;continue;case 91:if(g.fmt.fmtFlags.sharpV){(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(125);}else{(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(93);}$s=15;continue;case 12:bg=i.Pointer();if(!((bg===0))&&(e===0)){$s=94;continue;}$s=95;continue;case 94:bh=i.Elem();$s=96;case 96:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=bh;bj=bi.Kind();if(bj===17||bj===23){$s=97;continue;}if(bj===25){$s=98;continue;}if(bj===21){$s=99;continue;}$s=100;continue;case 97:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(38);bk=g.printValue(bi,d,e+1>>0);$s=101;case 101:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bk;$s=15;continue s;$s=100;continue;case 98:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(38);bl=g.printValue(bi,d,e+1>>0);$s=102;case 102:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bl;$s=15;continue s;$s=100;continue;case 99:(g.$ptr_buf||(g.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},g))).WriteByte(38);bm=g.printValue(bi,d,e+1>>0);$s=103;case 103:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}bm;$s=15;continue s;case 100:case 95:$r=g.fmtPointer(c,d);$s=104;case 104:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 13:$r=g.fmtPointer(c,d);$s=105;case 105:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=15;continue;case 14:$r=g.unknownType(i);$s=106;case 106:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:g.value=h;f=f;return f;}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.printReflectValue};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.printReflectValue=function(c,d,e){return this.$val.printReflectValue(c,d,e);};BD=function(c,d){var $ptr,c,d,e,f,g,h;e=0;f=false;g=0;g=d;if(d<c.$length){h=$assertType(((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]),$Int,true);e=h[0];f=h[1];g=d+1>>0;if(AY(e)){e=0;f=false;}}return[e,f,g];};BE=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=0;e=0;f=false;if(c.length<3){g=0;h=1;i=false;d=g;e=h;f=i;return[d,e,f];}j=1;while(true){if(!(j<c.length)){break;}if(c.charCodeAt(j)===93){k=AZ(c,1,j);l=k[0];m=k[1];n=k[2];if(!m||!((n===j))){o=0;p=j+1>>0;q=false;d=o;e=p;f=q;return[d,e,f];}r=l-1>>0;s=j+1>>0;t=true;d=r;e=s;f=t;return[d,e,f];}j=j+(1)>>0;}u=0;v=1;w=false;d=u;e=v;f=w;return[d,e,f];};AK.ptr.prototype.argNumber=function(c,d,e,f){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;g=0;h=0;i=false;j=this;if(d.length<=e||!((d.charCodeAt(e)===91))){k=c;l=e;m=false;g=k;h=l;i=m;return[g,h,i];}j.reordered=true;n=BE(d.substring(e));o=n[0];p=n[1];q=n[2];if(q&&0<=o&&o<f){r=o;s=e+p>>0;t=true;g=r;h=s;i=t;return[g,h,i];}j.goodArgNum=false;u=c;v=e+p>>0;w=q;g=u;h=v;i=w;return[g,h,i];};AK.prototype.argNumber=function(c,d,e,f){return this.$val.argNumber(c,d,e,f);};AK.ptr.prototype.doPrintf=function(c,d){var $ptr,aa,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=c.length;g=0;h=false;e.reordered=false;i=0;case 1:if(!(i<f)){$s=2;continue;}e.goodArgNum=true;j=i;while(true){if(!(i<f&&!((c.charCodeAt(i)===37)))){break;}i=i+(1)>>0;}if(i>j){(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteString(c.substring(j,i));}if(i>=f){$s=2;continue;}i=i+(1)>>0;e.fmt.clearflags();F:while(true){if(!(i<f)){break;}k=c.charCodeAt(i);if(k===35){e.fmt.fmtFlags.sharp=true;}else if(k===48){e.fmt.fmtFlags.zero=true;}else if(k===43){e.fmt.fmtFlags.plus=true;}else if(k===45){e.fmt.fmtFlags.minus=true;}else if(k===32){e.fmt.fmtFlags.space=true;}else{break F;}i=i+(1)>>0;}l=e.argNumber(g,c,i,d.$length);g=l[0];i=l[1];h=l[2];if(i<f&&(c.charCodeAt(i)===42)){i=i+(1)>>0;m=BD(d,g);e.fmt.wid=m[0];e.fmt.fmtFlags.widPresent=m[1];g=m[2];if(!e.fmt.fmtFlags.widPresent){(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(AC);}if(e.fmt.wid<0){e.fmt.wid=-e.fmt.wid;e.fmt.fmtFlags.minus=true;}h=false;}else{n=AZ(c,i,f);e.fmt.wid=n[0];e.fmt.fmtFlags.widPresent=n[1];i=n[2];if(h&&e.fmt.fmtFlags.widPresent){e.goodArgNum=false;}}if((i+1>>0)<f&&(c.charCodeAt(i)===46)){i=i+(1)>>0;if(h){e.goodArgNum=false;}o=e.argNumber(g,c,i,d.$length);g=o[0];i=o[1];h=o[2];if(i<f&&(c.charCodeAt(i)===42)){i=i+(1)>>0;p=BD(d,g);e.fmt.prec=p[0];e.fmt.fmtFlags.precPresent=p[1];g=p[2];if(e.fmt.prec<0){e.fmt.prec=0;e.fmt.fmtFlags.precPresent=false;}if(!e.fmt.fmtFlags.precPresent){(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(AD);}h=false;}else{q=AZ(c,i,f);e.fmt.prec=q[0];e.fmt.fmtFlags.precPresent=q[1];i=q[2];if(!e.fmt.fmtFlags.precPresent){e.fmt.prec=0;e.fmt.fmtFlags.precPresent=true;}}}if(!h){r=e.argNumber(g,c,i,d.$length);g=r[0];i=r[1];h=r[2];}if(i>=f){$s=3;continue;}$s=4;continue;case 3:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(AE);$s=1;continue;case 4:s=C.DecodeRuneInString(c.substring(i));t=s[0];u=s[1];i=i+(u)>>0;if(t===37){$s=5;continue;}$s=6;continue;case 5:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteByte(37);$s=1;continue;case 6:if(!e.goodArgNum){$s=7;continue;}if(g>=d.$length){$s=8;continue;}$s=9;continue;case 7:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(V);e.add(t);(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(X);$s=1;continue;$s=9;continue;case 8:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(V);e.add(t);(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(W);$s=1;continue;case 9:v=((g<0||g>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+g]);g=g+(1)>>0;if(t===118){if(e.fmt.fmtFlags.sharp){e.fmt.fmtFlags.sharp=false;e.fmt.fmtFlags.sharpV=true;}if(e.fmt.fmtFlags.plus){e.fmt.fmtFlags.plus=false;e.fmt.fmtFlags.plusV=true;}}w=e.printArg(v,t,0);$s=10;case 10:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}w;$s=1;continue;case 2:if(!e.reordered&&g<d.$length){$s=11;continue;}$s=12;continue;case 11:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(Z);case 13:if(!(g<d.$length)){$s=14;continue;}x=((g<0||g>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+g]);if(!($interfaceIsEqual(x,$ifaceNil))){$s=15;continue;}$s=16;continue;case 15:y=G.TypeOf(x).String();$s=17;case 17:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteString(y);$s=18;case 18:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}z;(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteByte(61);case 16:aa=e.printArg(x,118,0);$s=19;case 19:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}aa;if((g+1>>0)<d.$length){(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).Write(Q);}g=g+(1)>>0;$s=13;continue;case 14:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteByte(41);case 12:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.doPrintf};}$f.$ptr=$ptr;$f.aa=aa;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.doPrintf=function(c,d){return this.$val.doPrintf(c,d);};AK.ptr.prototype.doPrint=function(c,d,e){var $ptr,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=false;h=0;case 1:if(!(h<c.$length)){$s=2;continue;}f.fmt.clearflags();i=((h<0||h>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+h]);if(h>0){$s=3;continue;}$s=4;continue;case 3:if(!(!($interfaceIsEqual(i,$ifaceNil)))){j=false;$s=5;continue s;}k=G.TypeOf(i).Kind();$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k===24;case 5:l=j;if(d||!l&&!g){(f.$ptr_buf||(f.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},f))).WriteByte(32);}case 4:m=f.printArg(i,118,0);$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}g=m;h=h+(1)>>0;$s=1;continue;case 2:if(e){(f.$ptr_buf||(f.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},f))).WriteByte(10);}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.doPrint};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.doPrint=function(c,d,e){return this.$val.doPrint(c,d,e);};BT.ptr.prototype.Read=function(c){var $ptr,c,d,e,f,g,h;d=0;e=$ifaceNil;f=this;g=0;h=D.New("ScanState's Read should not be called. Use ReadRune");d=g;e=h;return[d,e];};BT.prototype.Read=function(c){return this.$val.Read(c);};BT.ptr.prototype.ReadRune=function(){var $ptr,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=0;e=$ifaceNil;f=this;if(f.peekRune>=0){f.count=f.count+(1)>>0;c=f.peekRune;d=C.RuneLen(c);f.prevRune=c;f.peekRune=-1;return[c,d,e];}if(f.atEOF||f.ssave.nlIsEnd&&(f.prevRune===10)||f.count>=f.ssave.argLimit){e=E.EOF;return[c,d,e];}h=f.rr.ReadRune();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;c=g[0];d=g[1];e=g[2];if($interfaceIsEqual(e,$ifaceNil)){f.count=f.count+(1)>>0;f.prevRune=c;}else if($interfaceIsEqual(e,E.EOF)){f.atEOF=true;}return[c,d,e];}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.ReadRune};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.ReadRune=function(){return this.$val.ReadRune();};BT.ptr.prototype.Width=function(){var $ptr,c,d,e,f,g,h,i;c=0;d=false;e=this;if(e.ssave.maxWid===1073741824){f=0;g=false;c=f;d=g;return[c,d];}h=e.ssave.maxWid;i=true;c=h;d=i;return[c,d];};BT.prototype.Width=function(){return this.$val.Width();};BT.ptr.prototype.getRune=function(){var $ptr,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=this;f=d.ReadRune();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;c=e[0];g=e[2];if(!($interfaceIsEqual(g,$ifaceNil))){if($interfaceIsEqual(g,E.EOF)){c=-1;return c;}d.error(g);}return c;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.getRune};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.getRune=function(){return this.$val.getRune();};BT.ptr.prototype.UnreadRune=function(){var $ptr,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(c.rr,BF,true);e=d[0];f=d[1];if(f){$s=1;continue;}$s=2;continue;case 1:g=e.UnreadRune();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=3;continue;case 2:c.peekRune=c.prevRune;case 3:c.prevRune=-1;c.count=c.count-(1)>>0;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.UnreadRune};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.UnreadRune=function(){return this.$val.UnreadRune();};BT.ptr.prototype.error=function(c){var $ptr,c,d,e;d=this;$panic((e=new BS.ptr(c),new e.constructor.elem(e)));};BT.prototype.error=function(c){return this.$val.error(c);};BT.ptr.prototype.errorString=function(c){var $ptr,c,d,e;d=this;$panic((e=new BS.ptr(D.New(c)),new e.constructor.elem(e)));};BT.prototype.errorString=function(c){return this.$val.errorString(c);};BT.ptr.prototype.Token=function(c,d){var $ptr,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);e=[e];f=CG.nil;e[0]=$ifaceNil;g=this;$deferred.push([(function(e){return function(){var $ptr,h,i,j,k;h=$recover();if(!($interfaceIsEqual(h,$ifaceNil))){i=$assertType(h,BS,true);j=$clone(i[0],BS);k=i[1];if(k){e[0]=j.err;}else{$panic(h);}}};})(e),[]]);if(d===$throwNilPointerError){d=BX;}g.buf=$subslice(g.buf,0,0);h=g.token(c,d);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=h;return[f,e[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[f,e[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:BT.ptr.prototype.Token};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};BT.prototype.Token=function(c,d){return this.$val.Token(c,d);};BW=function(c){var $ptr,c,d,e,f,g;if(c>=65536){return false;}d=(c<<16>>>16);e=BV;f=0;while(true){if(!(f<e.$length)){break;}g=$clone(((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]),CM);if(d<g[0]){return false;}if(d<=g[1]){return true;}f++;}return false;};BX=function(c){var $ptr,c;return!BW(c);};BT.ptr.prototype.SkipSpace=function(){var $ptr,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=c.skipSpace(false);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.SkipSpace};}$f.$ptr=$ptr;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.SkipSpace=function(){return this.$val.SkipSpace();};BT.ptr.prototype.free=function(c){var $ptr,c,d;c=$clone(c,BU);d=this;if(c.validSave){BU.copy(d.ssave,c);return;}if(d.buf.$capacity>1024){return;}d.buf=$subslice(d.buf,0,0);d.rr=$ifaceNil;BZ.Put(d);};BT.prototype.free=function(c){return this.$val.free(c);};BT.ptr.prototype.skipSpace=function(c){var $ptr,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;case 1:e=d.getRune();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(f===-1){return;}if(!(f===13)){g=false;$s=6;continue s;}h=d.peek("\n");$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 6:if(g){$s=4;continue;}$s=5;continue;case 4:$s=1;continue;case 5:if(f===10){$s=8;continue;}$s=9;continue;case 8:if(c){$s=2;continue;}if(d.ssave.nlIsSpace){$s=1;continue;}d.errorString("unexpected newline");return;case 9:if(!BW(f)){$s=10;continue;}$s=11;continue;case 10:i=d.UnreadRune();$s=12;case 12:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=2;continue;case 11:$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.skipSpace};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.skipSpace=function(c){return this.$val.skipSpace(c);};BT.ptr.prototype.token=function(c,d){var $ptr,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(c){$s=1;continue;}$s=2;continue;case 1:$r=e.skipSpace(false);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:case 4:f=e.getRune();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g===-1){$s=5;continue;}h=d(g);$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}if(!h){$s=7;continue;}$s=8;continue;case 7:i=e.UnreadRune();$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=5;continue;case 8:(e.$ptr_buf||(e.$ptr_buf=new CL(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},e))).WriteRune(g);$s=4;continue;case 5:return(j=e.buf,$subslice(new CG(j.$array),j.$offset,j.$offset+j.$length));}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.token};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.token=function(c,d){return this.$val.token(c,d);};CD=function(c,d){var $ptr,c,d,e,f,g,h,i;e=c;f=0;while(true){if(!(f<e.length)){break;}g=$decodeRune(e,f);h=f;i=g[0];if(i===d){return h;}f+=g[1];}return-1;};BT.ptr.prototype.peek=function(c){var $ptr,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.getRune();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!((f===-1))){$s=2;continue;}$s=3;continue;case 2:g=d.UnreadRune();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;case 3:return CD(c,f)>=0;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.peek};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.peek=function(c){return this.$val.peek(c);};DL.methods=[{prop:"clearflags",name:"clearflags",pkg:"fmt",typ:$funcType([],[],false)},{prop:"init",name:"init",pkg:"fmt",typ:$funcType([CL],[],false)},{prop:"computePadding",name:"computePadding",pkg:"fmt",typ:$funcType([$Int],[CG,$Int,$Int],false)},{prop:"writePadding",name:"writePadding",pkg:"fmt",typ:$funcType([$Int,CG],[],false)},{prop:"pad",name:"pad",pkg:"fmt",typ:$funcType([CG],[],false)},{prop:"padString",name:"padString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_boolean",name:"fmt_boolean",pkg:"fmt",typ:$funcType([$Bool],[],false)},{prop:"integer",name:"integer",pkg:"fmt",typ:$funcType([$Int64,$Uint64,$Bool,$String],[],false)},{prop:"truncate",name:"truncate",pkg:"fmt",typ:$funcType([$String],[$String],false)},{prop:"fmt_s",name:"fmt_s",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_sbx",name:"fmt_sbx",pkg:"fmt",typ:$funcType([$String,CG,$String],[],false)},{prop:"fmt_sx",name:"fmt_sx",pkg:"fmt",typ:$funcType([$String,$String],[],false)},{prop:"fmt_bx",name:"fmt_bx",pkg:"fmt",typ:$funcType([CG,$String],[],false)},{prop:"fmt_q",name:"fmt_q",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_qc",name:"fmt_qc",pkg:"fmt",typ:$funcType([$Int64],[],false)},{prop:"formatFloat",name:"formatFloat",pkg:"fmt",typ:$funcType([$Float64,$Uint8,$Int,$Int],[],false)},{prop:"fmt_e64",name:"fmt_e64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_E64",name:"fmt_E64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_f64",name:"fmt_f64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_g64",name:"fmt_g64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_G64",name:"fmt_G64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_fb64",name:"fmt_fb64",pkg:"fmt",typ:$funcType([$Float64],[],false)},{prop:"fmt_e32",name:"fmt_e32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_E32",name:"fmt_E32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_f32",name:"fmt_f32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_g32",name:"fmt_g32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_G32",name:"fmt_G32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_fb32",name:"fmt_fb32",pkg:"fmt",typ:$funcType([$Float32],[],false)},{prop:"fmt_c64",name:"fmt_c64",pkg:"fmt",typ:$funcType([$Complex64,$Int32],[],false)},{prop:"fmt_c128",name:"fmt_c128",pkg:"fmt",typ:$funcType([$Complex128,$Int32],[],false)},{prop:"fmt_complex",name:"fmt_complex",pkg:"fmt",typ:$funcType([$Float64,$Float64,$Int,$Int32],[],false)}];CL.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([CG],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$error],false)}];CO.methods=[{prop:"free",name:"free",pkg:"fmt",typ:$funcType([],[],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"add",name:"add",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([CG],[$Int,$error],false)},{prop:"unknownType",name:"unknownType",pkg:"fmt",typ:$funcType([G.Value],[],false)},{prop:"badVerb",name:"badVerb",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"fmtBool",name:"fmtBool",pkg:"fmt",typ:$funcType([$Bool,$Int32],[],false)},{prop:"fmtC",name:"fmtC",pkg:"fmt",typ:$funcType([$Int64],[],false)},{prop:"fmtInt64",name:"fmtInt64",pkg:"fmt",typ:$funcType([$Int64,$Int32],[],false)},{prop:"fmt0x64",name:"fmt0x64",pkg:"fmt",typ:$funcType([$Uint64,$Bool],[],false)},{prop:"fmtUnicode",name:"fmtUnicode",pkg:"fmt",typ:$funcType([$Int64],[],false)},{prop:"fmtUint64",name:"fmtUint64",pkg:"fmt",typ:$funcType([$Uint64,$Int32],[],false)},{prop:"fmtFloat32",name:"fmtFloat32",pkg:"fmt",typ:$funcType([$Float32,$Int32],[],false)},{prop:"fmtFloat64",name:"fmtFloat64",pkg:"fmt",typ:$funcType([$Float64,$Int32],[],false)},{prop:"fmtComplex64",name:"fmtComplex64",pkg:"fmt",typ:$funcType([$Complex64,$Int32],[],false)},{prop:"fmtComplex128",name:"fmtComplex128",pkg:"fmt",typ:$funcType([$Complex128,$Int32],[],false)},{prop:"fmtString",name:"fmtString",pkg:"fmt",typ:$funcType([$String,$Int32],[],false)},{prop:"fmtBytes",name:"fmtBytes",pkg:"fmt",typ:$funcType([CG,$Int32,G.Type,$Int],[],false)},{prop:"fmtPointer",name:"fmtPointer",pkg:"fmt",typ:$funcType([G.Value,$Int32],[],false)},{prop:"catchPanic",name:"catchPanic",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32],[],false)},{prop:"clearSpecialFlags",name:"clearSpecialFlags",pkg:"fmt",typ:$funcType([],[$Bool,$Bool],false)},{prop:"restoreSpecialFlags",name:"restoreSpecialFlags",pkg:"fmt",typ:$funcType([$Bool,$Bool],[],false)},{prop:"handleMethods",name:"handleMethods",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Bool],false)},{prop:"printArg",name:"printArg",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32,$Int],[$Bool],false)},{prop:"printValue",name:"printValue",pkg:"fmt",typ:$funcType([G.Value,$Int32,$Int],[$Bool],false)},{prop:"printReflectValue",name:"printReflectValue",pkg:"fmt",typ:$funcType([G.Value,$Int32,$Int],[$Bool],false)},{prop:"argNumber",name:"argNumber",pkg:"fmt",typ:$funcType([$Int,$String,$Int,$Int],[$Int,$Int,$Bool],false)},{prop:"doPrintf",name:"doPrintf",pkg:"fmt",typ:$funcType([$String,CH],[],false)},{prop:"doPrint",name:"doPrint",pkg:"fmt",typ:$funcType([CH,$Bool,$Bool],[],false)}];CR.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([CG],[$Int,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"getRune",name:"getRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"mustReadRune",name:"mustReadRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"error",name:"error",pkg:"fmt",typ:$funcType([$error],[],false)},{prop:"errorString",name:"errorString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"Token",name:"Token",pkg:"",typ:$funcType([$Bool,DM],[CG,$error],false)},{prop:"SkipSpace",name:"SkipSpace",pkg:"",typ:$funcType([],[],false)},{prop:"free",name:"free",pkg:"fmt",typ:$funcType([BU],[],false)},{prop:"skipSpace",name:"skipSpace",pkg:"fmt",typ:$funcType([$Bool],[],false)},{prop:"token",name:"token",pkg:"fmt",typ:$funcType([$Bool,DM],[CG],false)},{prop:"consume",name:"consume",pkg:"fmt",typ:$funcType([$String,$Bool],[$Bool],false)},{prop:"peek",name:"peek",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"notEOF",name:"notEOF",pkg:"fmt",typ:$funcType([],[],false)},{prop:"accept",name:"accept",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"okVerb",name:"okVerb",pkg:"fmt",typ:$funcType([$Int32,$String,$String],[$Bool],false)},{prop:"scanBool",name:"scanBool",pkg:"fmt",typ:$funcType([$Int32],[$Bool],false)},{prop:"getBase",name:"getBase",pkg:"fmt",typ:$funcType([$Int32],[$Int,$String],false)},{prop:"scanNumber",name:"scanNumber",pkg:"fmt",typ:$funcType([$String,$Bool],[$String],false)},{prop:"scanRune",name:"scanRune",pkg:"fmt",typ:$funcType([$Int],[$Int64],false)},{prop:"scanBasePrefix",name:"scanBasePrefix",pkg:"fmt",typ:$funcType([],[$Int,$String,$Bool],false)},{prop:"scanInt",name:"scanInt",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Int64],false)},{prop:"scanUint",name:"scanUint",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Uint64],false)},{prop:"floatToken",name:"floatToken",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"complexTokens",name:"complexTokens",pkg:"fmt",typ:$funcType([],[$String,$String],false)},{prop:"convertFloat",name:"convertFloat",pkg:"fmt",typ:$funcType([$String,$Int],[$Float64],false)},{prop:"scanComplex",name:"scanComplex",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Complex128],false)},{prop:"convertString",name:"convertString",pkg:"fmt",typ:$funcType([$Int32],[$String],false)},{prop:"quotedString",name:"quotedString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"hexByte",name:"hexByte",pkg:"fmt",typ:$funcType([],[$Uint8,$Bool],false)},{prop:"hexString",name:"hexString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"scanOne",name:"scanOne",pkg:"fmt",typ:$funcType([$Int32,$emptyInterface],[],false)},{prop:"doScan",name:"doScan",pkg:"fmt",typ:$funcType([CH],[$Int,$error],false)},{prop:"advance",name:"advance",pkg:"fmt",typ:$funcType([$String],[$Int],false)},{prop:"doScanf",name:"doScanf",pkg:"fmt",typ:$funcType([$String,CH],[$Int,$error],false)}];L.init([{prop:"widPresent",name:"widPresent",pkg:"fmt",typ:$Bool,tag:""},{prop:"precPresent",name:"precPresent",pkg:"fmt",typ:$Bool,tag:""},{prop:"minus",name:"minus",pkg:"fmt",typ:$Bool,tag:""},{prop:"plus",name:"plus",pkg:"fmt",typ:$Bool,tag:""},{prop:"sharp",name:"sharp",pkg:"fmt",typ:$Bool,tag:""},{prop:"space",name:"space",pkg:"fmt",typ:$Bool,tag:""},{prop:"unicode",name:"unicode",pkg:"fmt",typ:$Bool,tag:""},{prop:"uniQuote",name:"uniQuote",pkg:"fmt",typ:$Bool,tag:""},{prop:"zero",name:"zero",pkg:"fmt",typ:$Bool,tag:""},{prop:"plusV",name:"plusV",pkg:"fmt",typ:$Bool,tag:""},{prop:"sharpV",name:"sharpV",pkg:"fmt",typ:$Bool,tag:""}]);M.init([{prop:"intbuf",name:"intbuf",pkg:"fmt",typ:CK,tag:""},{prop:"buf",name:"buf",pkg:"fmt",typ:CL,tag:""},{prop:"wid",name:"wid",pkg:"fmt",typ:$Int,tag:""},{prop:"prec",name:"prec",pkg:"fmt",typ:$Int,tag:""},{prop:"fmtFlags",name:"",pkg:"fmt",typ:L,tag:""}]);AF.init([{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([CG],[$Int,$error],false)}]);AG.init([{prop:"Format",name:"Format",pkg:"",typ:$funcType([AF,$Int32],[],false)}]);AH.init([{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}]);AI.init([{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}]);AJ.init($Uint8);AK.init([{prop:"n",name:"n",pkg:"fmt",typ:$Int,tag:""},{prop:"panicking",name:"panicking",pkg:"fmt",typ:$Bool,tag:""},{prop:"erroring",name:"erroring",pkg:"fmt",typ:$Bool,tag:""},{prop:"buf",name:"buf",pkg:"fmt",typ:AJ,tag:""},{prop:"arg",name:"arg",pkg:"fmt",typ:$emptyInterface,tag:""},{prop:"value",name:"value",pkg:"fmt",typ:G.Value,tag:""},{prop:"reordered",name:"reordered",pkg:"fmt",typ:$Bool,tag:""},{prop:"goodArgNum",name:"goodArgNum",pkg:"fmt",typ:$Bool,tag:""},{prop:"runeBuf",name:"runeBuf",pkg:"fmt",typ:CJ,tag:""},{prop:"fmt",name:"fmt",pkg:"fmt",typ:M,tag:""}]);BF.init([{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)}]);BS.init([{prop:"err",name:"err",pkg:"fmt",typ:$error,tag:""}]);BT.init([{prop:"rr",name:"rr",pkg:"fmt",typ:E.RuneReader,tag:""},{prop:"buf",name:"buf",pkg:"fmt",typ:AJ,tag:""},{prop:"peekRune",name:"peekRune",pkg:"fmt",typ:$Int32,tag:""},{prop:"prevRune",name:"prevRune",pkg:"fmt",typ:$Int32,tag:""},{prop:"count",name:"count",pkg:"fmt",typ:$Int,tag:""},{prop:"atEOF",name:"atEOF",pkg:"fmt",typ:$Bool,tag:""},{prop:"ssave",name:"",pkg:"fmt",typ:BU,tag:""}]);BU.init([{prop:"validSave",name:"validSave",pkg:"fmt",typ:$Bool,tag:""},{prop:"nlIsEnd",name:"nlIsEnd",pkg:"fmt",typ:$Bool,tag:""},{prop:"nlIsSpace",name:"nlIsSpace",pkg:"fmt",typ:$Bool,tag:""},{prop:"argLimit",name:"argLimit",pkg:"fmt",typ:$Int,tag:""},{prop:"limit",name:"limit",pkg:"fmt",typ:$Int,tag:""},{prop:"maxWid",name:"maxWid",pkg:"fmt",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=$makeSlice(CG,65);J=$makeSlice(CG,65);N=new CG($stringToBytes("true"));O=new CG($stringToBytes("false"));Q=new CG($stringToBytes(", "));R=new CG($stringToBytes("<nil>"));S=new CG($stringToBytes("(nil)"));T=new CG($stringToBytes("nil"));U=new CG($stringToBytes("map["));V=new CG($stringToBytes("%!"));W=new CG($stringToBytes("(MISSING)"));X=new CG($stringToBytes("(BADINDEX)"));Y=new CG($stringToBytes("(PANIC="));Z=new CG($stringToBytes("%!(EXTRA "));AA=new CG($stringToBytes("i)"));AB=new CG($stringToBytes("[]byte{"));AC=new CG($stringToBytes("%!(BADWIDTH)"));AD=new CG($stringToBytes("%!(BADPREC)"));AE=new CG($stringToBytes("%!(NOVERB)"));AL=new H.Pool.ptr(0,0,CH.nil,(function(){var $ptr;return new AK.ptr(0,false,false,AJ.nil,$ifaceNil,new G.Value.ptr(CI.nil,0,0),false,false,CJ.zero(),new M.ptr(CK.zero(),CL.nil,0,0,new L.ptr(false,false,false,false,false,false,false,false,false,false,false)));}));a=G.TypeOf(new $Int(0)).Bits();$s=9;case 9:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}BA=a;b=G.TypeOf(new $Uintptr(0)).Bits();$s=10;case 10:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}BB=b;BC=G.TypeOf(new $Uint8(0));BV=new CN([$toNativeArray($kindUint16,[9,13]),$toNativeArray($kindUint16,[32,32]),$toNativeArray($kindUint16,[133,133]),$toNativeArray($kindUint16,[160,160]),$toNativeArray($kindUint16,[5760,5760]),$toNativeArray($kindUint16,[8192,8202]),$toNativeArray($kindUint16,[8232,8233]),$toNativeArray($kindUint16,[8239,8239]),$toNativeArray($kindUint16,[8287,8287]),$toNativeArray($kindUint16,[12288,12288])]);BZ=new H.Pool.ptr(0,0,CH.nil,(function(){var $ptr;return new BT.ptr($ifaceNil,AJ.nil,0,0,0,false,new BU.ptr(false,false,false,0,0,0));}));CB=D.New("syntax error scanning complex number");CC=D.New("syntax error scanning boolean");K();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sort"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["path/filepath"]=(function(){var $pkg={},$init,G,A,B,C,D,E,F,O,AR,AU,P,R,U,AJ,AN;G=$packages["bytes"];A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];O=$pkg.lazybuf=$newType(0,$kindStruct,"filepath.lazybuf","lazybuf","path/filepath",function(path_,buf_,w_,volAndPath_,volLen_){this.$val=this;if(arguments.length===0){this.path="";this.buf=AR.nil;this.w=0;this.volAndPath="";this.volLen=0;return;}this.path=path_;this.buf=buf_;this.w=w_;this.volAndPath=volAndPath_;this.volLen=volLen_;});AR=$sliceType($Uint8);AU=$ptrType(O);O.ptr.prototype.index=function(a){var $ptr,a,b,c;b=this;if(!(b.buf===AR.nil)){return(c=b.buf,((a<0||a>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+a]));}return b.path.charCodeAt(a);};O.prototype.index=function(a){return this.$val.index(a);};O.ptr.prototype.append=function(a){var $ptr,a,b,c,d;b=this;if(b.buf===AR.nil){if(b.w<b.path.length&&(b.path.charCodeAt(b.w)===a)){b.w=b.w+(1)>>0;return;}b.buf=$makeSlice(AR,b.path.length);$copyString(b.buf,b.path.substring(0,b.w));}(c=b.buf,d=b.w,((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=a));b.w=b.w+(1)>>0;};O.prototype.append=function(a){return this.$val.append(a);};O.ptr.prototype.string=function(){var $ptr,a;a=this;if(a.buf===AR.nil){return a.volAndPath.substring(0,(a.volLen+a.w>>0));}return a.volAndPath.substring(0,a.volLen)+$bytesToString($subslice(a.buf,0,a.w));};O.prototype.string=function(){return this.$val.string();};P=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;b=a;c=AJ(a);a=a.substring(c);if(a===""){if(c>1&&!((b.charCodeAt(1)===58))){return R(b);}return b+".";}d=B.IsPathSeparator(a.charCodeAt(0));e=a.length;f=new O.ptr(a,AR.nil,0,b,c);g=0;h=0;i=g;j=h;if(d){f.append(47);k=1;l=1;i=k;j=l;}while(true){if(!(i<e)){break;}if(B.IsPathSeparator(a.charCodeAt(i))){i=i+(1)>>0;}else if((a.charCodeAt(i)===46)&&(((i+1>>0)===e)||B.IsPathSeparator(a.charCodeAt((i+1>>0))))){i=i+(1)>>0;}else if((a.charCodeAt(i)===46)&&(a.charCodeAt((i+1>>0))===46)&&(((i+2>>0)===e)||B.IsPathSeparator(a.charCodeAt((i+2>>0))))){i=i+(2)>>0;if(f.w>j){f.w=f.w-(1)>>0;while(true){if(!(f.w>j&&!B.IsPathSeparator(f.index(f.w)))){break;}f.w=f.w-(1)>>0;}}else if(!d){if(f.w>0){f.append(47);}f.append(46);f.append(46);j=f.w;}}else{if(d&&!((f.w===1))||!d&&!((f.w===0))){f.append(47);}while(true){if(!(i<e&&!B.IsPathSeparator(a.charCodeAt(i)))){break;}f.append(a.charCodeAt(i));i=i+(1)>>0;}}}if(f.w===0){f.append(46);}return R(f.string());};$pkg.Clean=P;R=function(a){var $ptr,a;return a;return E.Replace(a,"/","/",-1);};$pkg.FromSlash=R;U=function(a){var $ptr,a;return AN(a);};$pkg.Join=U;AJ=function(a){var $ptr,a;return 0;};AN=function(a){var $ptr,a,b,c,d,e;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=c;e=((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);if(!(e==="")){return P(E.Join($subslice(a,d),"/"));}c++;}return"";};AU.methods=[{prop:"index",name:"index",pkg:"path/filepath",typ:$funcType([$Int],[$Uint8],false)},{prop:"append",name:"append",pkg:"path/filepath",typ:$funcType([$Uint8],[],false)},{prop:"string",name:"string",pkg:"path/filepath",typ:$funcType([],[$String],false)}];O.init([{prop:"path",name:"path",pkg:"path/filepath",typ:$String,tag:""},{prop:"buf",name:"buf",pkg:"path/filepath",typ:AR,tag:""},{prop:"w",name:"w",pkg:"path/filepath",typ:$Int,tag:""},{prop:"volAndPath",name:"volAndPath",pkg:"path/filepath",typ:$String,tag:""},{prop:"volLen",name:"volLen",pkg:"path/filepath",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=G.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io/ioutil"]=(function(){var $pkg={},$init,A,B,C,F,D,G,E,H,Y,Z,AA,R,I,J;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];Y=$sliceType($emptyInterface);Z=$sliceType($Uint8);AA=$ptrType(Z);I=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=[c];d=Z.nil;c[0]=$ifaceNil;e=A.NewBuffer($makeSlice(Z,0,$flatten64(b)));$deferred.push([(function(c){return function(){var $ptr,f,g,h,i;f=$recover();if($interfaceIsEqual(f,$ifaceNil)){return;}g=$assertType(f,$error,true);h=g[0];i=g[1];if(i&&$interfaceIsEqual(h,A.ErrTooLarge)){c[0]=h;}else{$panic(f);}};})(c),[]]);g=e.ReadFrom(a);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c[0]=f[1];h=e.Bytes();i=c[0];d=h;c[0]=i;return[d,c[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d,c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};J=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=I(a,new $Int64(0,512));$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return b;}return;}if($f===undefined){$f={$blk:J};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ReadAll=J;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}R=new E.Pool.ptr(0,0,Y.nil,(function(){var $ptr,a,b;a=$makeSlice(Z,8192);return(b||(b=new AA(function(){return a;},function($v){a=$subslice(new Z($v.$array),$v.$offset,$v.$offset+$v.$length);})));}));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/internal/audio"]=(function(){var $pkg={},$init,C,A,B,E,I,M,N,O,D,H,F,G,J,K,L;C=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["io"];B=$packages["io/ioutil"];E=$pkg.ReadSeekCloser=$newType(8,$kindInterface,"audio.ReadSeekCloser","ReadSeekCloser","github.com/hajimehoshi/ebiten/internal/audio",null);I=$pkg.audioProcessor=$newType(0,$kindStruct,"audio.audioProcessor","audioProcessor","github.com/hajimehoshi/ebiten/internal/audio",function(src_,sampleRate_,position_){this.$val=this;if(arguments.length===0){this.src=$ifaceNil;this.sampleRate=0;this.position=0;return;}this.src=src_;this.sampleRate=sampleRate_;this.position=position_;});M=$sliceType($Int16);N=$sliceType($Uint8);O=$ptrType(I);F=function(){var $ptr;L();};$pkg.Init=F;G=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=K(a,b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:G};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Play=G;J=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k;c=$makeSlice(M,(b=a.$length/4,(b===b&&b!==1/0&&b!==-1/0)?b>>0:$throwRuntimeError("integer divide by zero")));e=$makeSlice(M,(d=a.$length/4,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero")));f=0;while(true){if(!(f<(g=a.$length/4,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")))){break;}((f<0||f>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+f]=(((h=$imul(4,f),((h<0||h>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+h]))<<16>>16)|(((i=($imul(4,f))+1>>0,((i<0||i>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+i]))<<16>>16)<<8<<16>>16)));((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]=(((j=($imul(4,f))+2>>0,((j<0||j>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+j]))<<16>>16)|(((k=($imul(4,f))+3>>0,((k<0||k>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+k]))<<16>>16)<<8<<16>>16)));f=f+(1)>>0;}return[c,e];};I.ptr.prototype.play=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=B.ReadAll(a.src);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}if(d.$length===0){return $ifaceNil;}g=H.createBuffer(2,(f=d.$length/4,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero")),a.sampleRate);h=g.getChannelData(0);i=g.getChannelData(1);j=J(d);k=j[0];l=j[1];m=0;while(true){if(!(m<k.$length)){break;}h[m]=((m<0||m>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+m])/32768;i[m]=((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m])/32768;m=m+(1)>>0;}n=H.createBufferSource();n.buffer=g;n.connect(H.destination);n.start(a.position);a.position=a.position+($parseFloat(g.duration));return $ifaceNil;}return;}if($f===undefined){$f={$blk:I.ptr.prototype.play};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};I.prototype.play=function(){return this.$val.play();};K=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new I.ptr(a,b,$parseFloat(H.currentTime));d=c.play();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=2;case 2:return d;}return;}if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};L=function(){var $ptr,a;if(!($global.require===undefined)){return;}a=$global.AudioContext;if(a===undefined){a=$global.webkitAudioContext;}if(a===undefined){return;}H=new(a)();D=true;};O.methods=[{prop:"play",name:"play",pkg:"github.com/hajimehoshi/ebiten/internal/audio",typ:$funcType([],[$error],false)}];E.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([N],[$Int,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)}]);I.init([{prop:"src",name:"src",pkg:"github.com/hajimehoshi/ebiten/internal/audio",typ:E,tag:""},{prop:"sampleRate",name:"sampleRate",pkg:"github.com/hajimehoshi/ebiten/internal/audio",typ:$Int,tag:""},{prop:"position",name:"position",pkg:"github.com/hajimehoshi/ebiten/internal/audio",typ:$Float64,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}H=null;D=false;}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/gopherjs/webgl"]=(function(){var $pkg={},$init,A,B,C,E,G,H,I,J,K,L,M,D,F;A=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$pkg.ContextAttributes=$newType(0,$kindStruct,"webgl.ContextAttributes","ContextAttributes","github.com/gopherjs/webgl",function(Alpha_,Depth_,Stencil_,Antialias_,PremultipliedAlpha_,PreserveDrawingBuffer_){this.$val=this;if(arguments.length===0){this.Alpha=false;this.Depth=false;this.Stencil=false;this.Antialias=false;this.PremultipliedAlpha=false;this.PreserveDrawingBuffer=false;return;}this.Alpha=Alpha_;this.Depth=Depth_;this.Stencil=Stencil_;this.Antialias=Antialias_;this.PremultipliedAlpha=PremultipliedAlpha_;this.PreserveDrawingBuffer=PreserveDrawingBuffer_;});E=$pkg.Context=$newType(0,$kindStruct,"webgl.Context","Context","github.com/gopherjs/webgl",function(Object_,ARRAY_BUFFER_,ARRAY_BUFFER_BINDING_,ATTACHED_SHADERS_,BACK_,BLEND_,BLEND_COLOR_,BLEND_DST_ALPHA_,BLEND_DST_RGB_,BLEND_EQUATION_,BLEND_EQUATION_ALPHA_,BLEND_EQUATION_RGB_,BLEND_SRC_ALPHA_,BLEND_SRC_RGB_,BLUE_BITS_,BOOL_,BOOL_VEC2_,BOOL_VEC3_,BOOL_VEC4_,BROWSER_DEFAULT_WEBGL_,BUFFER_SIZE_,BUFFER_USAGE_,BYTE_,CCW_,CLAMP_TO_EDGE_,COLOR_ATTACHMENT0_,COLOR_BUFFER_BIT_,COLOR_CLEAR_VALUE_,COLOR_WRITEMASK_,COMPILE_STATUS_,COMPRESSED_TEXTURE_FORMATS_,CONSTANT_ALPHA_,CONSTANT_COLOR_,CONTEXT_LOST_WEBGL_,CULL_FACE_,CULL_FACE_MODE_,CURRENT_PROGRAM_,CURRENT_VERTEX_ATTRIB_,CW_,DECR_,DECR_WRAP_,DELETE_STATUS_,DEPTH_ATTACHMENT_,DEPTH_BITS_,DEPTH_BUFFER_BIT_,DEPTH_CLEAR_VALUE_,DEPTH_COMPONENT_,DEPTH_COMPONENT16_,DEPTH_FUNC_,DEPTH_RANGE_,DEPTH_STENCIL_,DEPTH_STENCIL_ATTACHMENT_,DEPTH_TEST_,DEPTH_WRITEMASK_,DITHER_,DONT_CARE_,DST_ALPHA_,DST_COLOR_,DYNAMIC_DRAW_,ELEMENT_ARRAY_BUFFER_,ELEMENT_ARRAY_BUFFER_BINDING_,EQUAL_,FASTEST_,FLOAT_,FLOAT_MAT2_,FLOAT_MAT3_,FLOAT_MAT4_,FLOAT_VEC2_,FLOAT_VEC3_,FLOAT_VEC4_,FRAGMENT_SHADER_,FRAMEBUFFER_,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_,FRAMEBUFFER_BINDING_,FRAMEBUFFER_COMPLETE_,FRAMEBUFFER_INCOMPLETE_ATTACHMENT_,FRAMEBUFFER_INCOMPLETE_DIMENSIONS_,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_,FRAMEBUFFER_UNSUPPORTED_,FRONT_,FRONT_AND_BACK_,FRONT_FACE_,FUNC_ADD_,FUNC_REVERSE_SUBTRACT_,FUNC_SUBTRACT_,GENERATE_MIPMAP_HINT_,GEQUAL_,GREATER_,GREEN_BITS_,HIGH_FLOAT_,HIGH_INT_,INCR_,INCR_WRAP_,INFO_LOG_LENGTH_,INT_,INT_VEC2_,INT_VEC3_,INT_VEC4_,INVALID_ENUM_,INVALID_FRAMEBUFFER_OPERATION_,INVALID_OPERATION_,INVALID_VALUE_,INVERT_,KEEP_,LEQUAL_,LESS_,LINEAR_,LINEAR_MIPMAP_LINEAR_,LINEAR_MIPMAP_NEAREST_,LINES_,LINE_LOOP_,LINE_STRIP_,LINE_WIDTH_,LINK_STATUS_,LOW_FLOAT_,LOW_INT_,LUMINANCE_,LUMINANCE_ALPHA_,MAX_COMBINED_TEXTURE_IMAGE_UNITS_,MAX_CUBE_MAP_TEXTURE_SIZE_,MAX_FRAGMENT_UNIFORM_VECTORS_,MAX_RENDERBUFFER_SIZE_,MAX_TEXTURE_IMAGE_UNITS_,MAX_TEXTURE_SIZE_,MAX_VARYING_VECTORS_,MAX_VERTEX_ATTRIBS_,MAX_VERTEX_TEXTURE_IMAGE_UNITS_,MAX_VERTEX_UNIFORM_VECTORS_,MAX_VIEWPORT_DIMS_,MEDIUM_FLOAT_,MEDIUM_INT_,MIRRORED_REPEAT_,NEAREST_,NEAREST_MIPMAP_LINEAR_,NEAREST_MIPMAP_NEAREST_,NEVER_,NICEST_,NONE_,NOTEQUAL_,NO_ERROR_,NUM_COMPRESSED_TEXTURE_FORMATS_,ONE_,ONE_MINUS_CONSTANT_ALPHA_,ONE_MINUS_CONSTANT_COLOR_,ONE_MINUS_DST_ALPHA_,ONE_MINUS_DST_COLOR_,ONE_MINUS_SRC_ALPHA_,ONE_MINUS_SRC_COLOR_,OUT_OF_MEMORY_,PACK_ALIGNMENT_,POINTS_,POLYGON_OFFSET_FACTOR_,POLYGON_OFFSET_FILL_,POLYGON_OFFSET_UNITS_,RED_BITS_,RENDERBUFFER_,RENDERBUFFER_ALPHA_SIZE_,RENDERBUFFER_BINDING_,RENDERBUFFER_BLUE_SIZE_,RENDERBUFFER_DEPTH_SIZE_,RENDERBUFFER_GREEN_SIZE_,RENDERBUFFER_HEIGHT_,RENDERBUFFER_INTERNAL_FORMAT_,RENDERBUFFER_RED_SIZE_,RENDERBUFFER_STENCIL_SIZE_,RENDERBUFFER_WIDTH_,RENDERER_,REPEAT_,REPLACE_,RGB_,RGB5_A1_,RGB565_,RGBA_,RGBA4_,SAMPLER_2D_,SAMPLER_CUBE_,SAMPLES_,SAMPLE_ALPHA_TO_COVERAGE_,SAMPLE_BUFFERS_,SAMPLE_COVERAGE_,SAMPLE_COVERAGE_INVERT_,SAMPLE_COVERAGE_VALUE_,SCISSOR_BOX_,SCISSOR_TEST_,SHADER_COMPILER_,SHADER_SOURCE_LENGTH_,SHADER_TYPE_,SHADING_LANGUAGE_VERSION_,SHORT_,SRC_ALPHA_,SRC_ALPHA_SATURATE_,SRC_COLOR_,STATIC_DRAW_,STENCIL_ATTACHMENT_,STENCIL_BACK_FAIL_,STENCIL_BACK_FUNC_,STENCIL_BACK_PASS_DEPTH_FAIL_,STENCIL_BACK_PASS_DEPTH_PASS_,STENCIL_BACK_REF_,STENCIL_BACK_VALUE_MASK_,STENCIL_BACK_WRITEMASK_,STENCIL_BITS_,STENCIL_BUFFER_BIT_,STENCIL_CLEAR_VALUE_,STENCIL_FAIL_,STENCIL_FUNC_,STENCIL_INDEX_,STENCIL_INDEX8_,STENCIL_PASS_DEPTH_FAIL_,STENCIL_PASS_DEPTH_PASS_,STENCIL_REF_,STENCIL_TEST_,STENCIL_VALUE_MASK_,STENCIL_WRITEMASK_,STREAM_DRAW_,SUBPIXEL_BITS_,TEXTURE_,TEXTURE0_,TEXTURE1_,TEXTURE2_,TEXTURE3_,TEXTURE4_,TEXTURE5_,TEXTURE6_,TEXTURE7_,TEXTURE8_,TEXTURE9_,TEXTURE10_,TEXTURE11_,TEXTURE12_,TEXTURE13_,TEXTURE14_,TEXTURE15_,TEXTURE16_,TEXTURE17_,TEXTURE18_,TEXTURE19_,TEXTURE20_,TEXTURE21_,TEXTURE22_,TEXTURE23_,TEXTURE24_,TEXTURE25_,TEXTURE26_,TEXTURE27_,TEXTURE28_,TEXTURE29_,TEXTURE30_,TEXTURE31_,TEXTURE_2D_,TEXTURE_BINDING_2D_,TEXTURE_BINDING_CUBE_MAP_,TEXTURE_CUBE_MAP_,TEXTURE_CUBE_MAP_NEGATIVE_X_,TEXTURE_CUBE_MAP_NEGATIVE_Y_,TEXTURE_CUBE_MAP_NEGATIVE_Z_,TEXTURE_CUBE_MAP_POSITIVE_X_,TEXTURE_CUBE_MAP_POSITIVE_Y_,TEXTURE_CUBE_MAP_POSITIVE_Z_,TEXTURE_MAG_FILTER_,TEXTURE_MIN_FILTER_,TEXTURE_WRAP_S_,TEXTURE_WRAP_T_,TRIANGLES_,TRIANGLE_FAN_,TRIANGLE_STRIP_,UNPACK_ALIGNMENT_,UNPACK_COLORSPACE_CONVERSION_WEBGL_,UNPACK_FLIP_Y_WEBGL_,UNPACK_PREMULTIPLY_ALPHA_WEBGL_,UNSIGNED_BYTE_,UNSIGNED_INT_,UNSIGNED_SHORT_,UNSIGNED_SHORT_4_4_4_4_,UNSIGNED_SHORT_5_5_5_1_,UNSIGNED_SHORT_5_6_5_,VALIDATE_STATUS_,VENDOR_,VERSION_,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_,VERTEX_ATTRIB_ARRAY_ENABLED_,VERTEX_ATTRIB_ARRAY_NORMALIZED_,VERTEX_ATTRIB_ARRAY_POINTER_,VERTEX_ATTRIB_ARRAY_SIZE_,VERTEX_ATTRIB_ARRAY_STRIDE_,VERTEX_ATTRIB_ARRAY_TYPE_,VERTEX_SHADER_,VIEWPORT_,ZERO_){this.$val=this;if(arguments.length===0){this.Object=null;this.ARRAY_BUFFER=0;this.ARRAY_BUFFER_BINDING=0;this.ATTACHED_SHADERS=0;this.BACK=0;this.BLEND=0;this.BLEND_COLOR=0;this.BLEND_DST_ALPHA=0;this.BLEND_DST_RGB=0;this.BLEND_EQUATION=0;this.BLEND_EQUATION_ALPHA=0;this.BLEND_EQUATION_RGB=0;this.BLEND_SRC_ALPHA=0;this.BLEND_SRC_RGB=0;this.BLUE_BITS=0;this.BOOL=0;this.BOOL_VEC2=0;this.BOOL_VEC3=0;this.BOOL_VEC4=0;this.BROWSER_DEFAULT_WEBGL=0;this.BUFFER_SIZE=0;this.BUFFER_USAGE=0;this.BYTE=0;this.CCW=0;this.CLAMP_TO_EDGE=0;this.COLOR_ATTACHMENT0=0;this.COLOR_BUFFER_BIT=0;this.COLOR_CLEAR_VALUE=0;this.COLOR_WRITEMASK=0;this.COMPILE_STATUS=0;this.COMPRESSED_TEXTURE_FORMATS=0;this.CONSTANT_ALPHA=0;this.CONSTANT_COLOR=0;this.CONTEXT_LOST_WEBGL=0;this.CULL_FACE=0;this.CULL_FACE_MODE=0;this.CURRENT_PROGRAM=0;this.CURRENT_VERTEX_ATTRIB=0;this.CW=0;this.DECR=0;this.DECR_WRAP=0;this.DELETE_STATUS=0;this.DEPTH_ATTACHMENT=0;this.DEPTH_BITS=0;this.DEPTH_BUFFER_BIT=0;this.DEPTH_CLEAR_VALUE=0;this.DEPTH_COMPONENT=0;this.DEPTH_COMPONENT16=0;this.DEPTH_FUNC=0;this.DEPTH_RANGE=0;this.DEPTH_STENCIL=0;this.DEPTH_STENCIL_ATTACHMENT=0;this.DEPTH_TEST=0;this.DEPTH_WRITEMASK=0;this.DITHER=0;this.DONT_CARE=0;this.DST_ALPHA=0;this.DST_COLOR=0;this.DYNAMIC_DRAW=0;this.ELEMENT_ARRAY_BUFFER=0;this.ELEMENT_ARRAY_BUFFER_BINDING=0;this.EQUAL=0;this.FASTEST=0;this.FLOAT=0;this.FLOAT_MAT2=0;this.FLOAT_MAT3=0;this.FLOAT_MAT4=0;this.FLOAT_VEC2=0;this.FLOAT_VEC3=0;this.FLOAT_VEC4=0;this.FRAGMENT_SHADER=0;this.FRAMEBUFFER=0;this.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=0;this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=0;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=0;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=0;this.FRAMEBUFFER_BINDING=0;this.FRAMEBUFFER_COMPLETE=0;this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=0;this.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=0;this.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=0;this.FRAMEBUFFER_UNSUPPORTED=0;this.FRONT=0;this.FRONT_AND_BACK=0;this.FRONT_FACE=0;this.FUNC_ADD=0;this.FUNC_REVERSE_SUBTRACT=0;this.FUNC_SUBTRACT=0;this.GENERATE_MIPMAP_HINT=0;this.GEQUAL=0;this.GREATER=0;this.GREEN_BITS=0;this.HIGH_FLOAT=0;this.HIGH_INT=0;this.INCR=0;this.INCR_WRAP=0;this.INFO_LOG_LENGTH=0;this.INT=0;this.INT_VEC2=0;this.INT_VEC3=0;this.INT_VEC4=0;this.INVALID_ENUM=0;this.INVALID_FRAMEBUFFER_OPERATION=0;this.INVALID_OPERATION=0;this.INVALID_VALUE=0;this.INVERT=0;this.KEEP=0;this.LEQUAL=0;this.LESS=0;this.LINEAR=0;this.LINEAR_MIPMAP_LINEAR=0;this.LINEAR_MIPMAP_NEAREST=0;this.LINES=0;this.LINE_LOOP=0;this.LINE_STRIP=0;this.LINE_WIDTH=0;this.LINK_STATUS=0;this.LOW_FLOAT=0;this.LOW_INT=0;this.LUMINANCE=0;this.LUMINANCE_ALPHA=0;this.MAX_COMBINED_TEXTURE_IMAGE_UNITS=0;this.MAX_CUBE_MAP_TEXTURE_SIZE=0;this.MAX_FRAGMENT_UNIFORM_VECTORS=0;this.MAX_RENDERBUFFER_SIZE=0;this.MAX_TEXTURE_IMAGE_UNITS=0;this.MAX_TEXTURE_SIZE=0;this.MAX_VARYING_VECTORS=0;this.MAX_VERTEX_ATTRIBS=0;this.MAX_VERTEX_TEXTURE_IMAGE_UNITS=0;this.MAX_VERTEX_UNIFORM_VECTORS=0;this.MAX_VIEWPORT_DIMS=0;this.MEDIUM_FLOAT=0;this.MEDIUM_INT=0;this.MIRRORED_REPEAT=0;this.NEAREST=0;this.NEAREST_MIPMAP_LINEAR=0;this.NEAREST_MIPMAP_NEAREST=0;this.NEVER=0;this.NICEST=0;this.NONE=0;this.NOTEQUAL=0;this.NO_ERROR=0;this.NUM_COMPRESSED_TEXTURE_FORMATS=0;this.ONE=0;this.ONE_MINUS_CONSTANT_ALPHA=0;this.ONE_MINUS_CONSTANT_COLOR=0;this.ONE_MINUS_DST_ALPHA=0;this.ONE_MINUS_DST_COLOR=0;this.ONE_MINUS_SRC_ALPHA=0;this.ONE_MINUS_SRC_COLOR=0;this.OUT_OF_MEMORY=0;this.PACK_ALIGNMENT=0;this.POINTS=0;this.POLYGON_OFFSET_FACTOR=0;this.POLYGON_OFFSET_FILL=0;this.POLYGON_OFFSET_UNITS=0;this.RED_BITS=0;this.RENDERBUFFER=0;this.RENDERBUFFER_ALPHA_SIZE=0;this.RENDERBUFFER_BINDING=0;this.RENDERBUFFER_BLUE_SIZE=0;this.RENDERBUFFER_DEPTH_SIZE=0;this.RENDERBUFFER_GREEN_SIZE=0;this.RENDERBUFFER_HEIGHT=0;this.RENDERBUFFER_INTERNAL_FORMAT=0;this.RENDERBUFFER_RED_SIZE=0;this.RENDERBUFFER_STENCIL_SIZE=0;this.RENDERBUFFER_WIDTH=0;this.RENDERER=0;this.REPEAT=0;this.REPLACE=0;this.RGB=0;this.RGB5_A1=0;this.RGB565=0;this.RGBA=0;this.RGBA4=0;this.SAMPLER_2D=0;this.SAMPLER_CUBE=0;this.SAMPLES=0;this.SAMPLE_ALPHA_TO_COVERAGE=0;this.SAMPLE_BUFFERS=0;this.SAMPLE_COVERAGE=0;this.SAMPLE_COVERAGE_INVERT=0;this.SAMPLE_COVERAGE_VALUE=0;this.SCISSOR_BOX=0;this.SCISSOR_TEST=0;this.SHADER_COMPILER=0;this.SHADER_SOURCE_LENGTH=0;this.SHADER_TYPE=0;this.SHADING_LANGUAGE_VERSION=0;this.SHORT=0;this.SRC_ALPHA=0;this.SRC_ALPHA_SATURATE=0;this.SRC_COLOR=0;this.STATIC_DRAW=0;this.STENCIL_ATTACHMENT=0;this.STENCIL_BACK_FAIL=0;this.STENCIL_BACK_FUNC=0;this.STENCIL_BACK_PASS_DEPTH_FAIL=0;this.STENCIL_BACK_PASS_DEPTH_PASS=0;this.STENCIL_BACK_REF=0;this.STENCIL_BACK_VALUE_MASK=0;this.STENCIL_BACK_WRITEMASK=0;this.STENCIL_BITS=0;this.STENCIL_BUFFER_BIT=0;this.STENCIL_CLEAR_VALUE=0;this.STENCIL_FAIL=0;this.STENCIL_FUNC=0;this.STENCIL_INDEX=0;this.STENCIL_INDEX8=0;this.STENCIL_PASS_DEPTH_FAIL=0;this.STENCIL_PASS_DEPTH_PASS=0;this.STENCIL_REF=0;this.STENCIL_TEST=0;this.STENCIL_VALUE_MASK=0;this.STENCIL_WRITEMASK=0;this.STREAM_DRAW=0;this.SUBPIXEL_BITS=0;this.TEXTURE=0;this.TEXTURE0=0;this.TEXTURE1=0;this.TEXTURE2=0;this.TEXTURE3=0;this.TEXTURE4=0;this.TEXTURE5=0;this.TEXTURE6=0;this.TEXTURE7=0;this.TEXTURE8=0;this.TEXTURE9=0;this.TEXTURE10=0;this.TEXTURE11=0;this.TEXTURE12=0;this.TEXTURE13=0;this.TEXTURE14=0;this.TEXTURE15=0;this.TEXTURE16=0;this.TEXTURE17=0;this.TEXTURE18=0;this.TEXTURE19=0;this.TEXTURE20=0;this.TEXTURE21=0;this.TEXTURE22=0;this.TEXTURE23=0;this.TEXTURE24=0;this.TEXTURE25=0;this.TEXTURE26=0;this.TEXTURE27=0;this.TEXTURE28=0;this.TEXTURE29=0;this.TEXTURE30=0;this.TEXTURE31=0;this.TEXTURE_2D=0;this.TEXTURE_BINDING_2D=0;this.TEXTURE_BINDING_CUBE_MAP=0;this.TEXTURE_CUBE_MAP=0;this.TEXTURE_CUBE_MAP_NEGATIVE_X=0;this.TEXTURE_CUBE_MAP_NEGATIVE_Y=0;this.TEXTURE_CUBE_MAP_NEGATIVE_Z=0;this.TEXTURE_CUBE_MAP_POSITIVE_X=0;this.TEXTURE_CUBE_MAP_POSITIVE_Y=0;this.TEXTURE_CUBE_MAP_POSITIVE_Z=0;this.TEXTURE_MAG_FILTER=0;this.TEXTURE_MIN_FILTER=0;this.TEXTURE_WRAP_S=0;this.TEXTURE_WRAP_T=0;this.TRIANGLES=0;this.TRIANGLE_FAN=0;this.TRIANGLE_STRIP=0;this.UNPACK_ALIGNMENT=0;this.UNPACK_COLORSPACE_CONVERSION_WEBGL=0;this.UNPACK_FLIP_Y_WEBGL=0;this.UNPACK_PREMULTIPLY_ALPHA_WEBGL=0;this.UNSIGNED_BYTE=0;this.UNSIGNED_INT=0;this.UNSIGNED_SHORT=0;this.UNSIGNED_SHORT_4_4_4_4=0;this.UNSIGNED_SHORT_5_5_5_1=0;this.UNSIGNED_SHORT_5_6_5=0;this.VALIDATE_STATUS=0;this.VENDOR=0;this.VERSION=0;this.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=0;this.VERTEX_ATTRIB_ARRAY_ENABLED=0;this.VERTEX_ATTRIB_ARRAY_NORMALIZED=0;this.VERTEX_ATTRIB_ARRAY_POINTER=0;this.VERTEX_ATTRIB_ARRAY_SIZE=0;this.VERTEX_ATTRIB_ARRAY_STRIDE=0;this.VERTEX_ATTRIB_ARRAY_TYPE=0;this.VERTEX_SHADER=0;this.VIEWPORT=0;this.ZERO=0;return;}this.Object=Object_;this.ARRAY_BUFFER=ARRAY_BUFFER_;this.ARRAY_BUFFER_BINDING=ARRAY_BUFFER_BINDING_;this.ATTACHED_SHADERS=ATTACHED_SHADERS_;this.BACK=BACK_;this.BLEND=BLEND_;this.BLEND_COLOR=BLEND_COLOR_;this.BLEND_DST_ALPHA=BLEND_DST_ALPHA_;this.BLEND_DST_RGB=BLEND_DST_RGB_;this.BLEND_EQUATION=BLEND_EQUATION_;this.BLEND_EQUATION_ALPHA=BLEND_EQUATION_ALPHA_;this.BLEND_EQUATION_RGB=BLEND_EQUATION_RGB_;this.BLEND_SRC_ALPHA=BLEND_SRC_ALPHA_;this.BLEND_SRC_RGB=BLEND_SRC_RGB_;this.BLUE_BITS=BLUE_BITS_;this.BOOL=BOOL_;this.BOOL_VEC2=BOOL_VEC2_;this.BOOL_VEC3=BOOL_VEC3_;this.BOOL_VEC4=BOOL_VEC4_;this.BROWSER_DEFAULT_WEBGL=BROWSER_DEFAULT_WEBGL_;this.BUFFER_SIZE=BUFFER_SIZE_;this.BUFFER_USAGE=BUFFER_USAGE_;this.BYTE=BYTE_;this.CCW=CCW_;this.CLAMP_TO_EDGE=CLAMP_TO_EDGE_;this.COLOR_ATTACHMENT0=COLOR_ATTACHMENT0_;this.COLOR_BUFFER_BIT=COLOR_BUFFER_BIT_;this.COLOR_CLEAR_VALUE=COLOR_CLEAR_VALUE_;this.COLOR_WRITEMASK=COLOR_WRITEMASK_;this.COMPILE_STATUS=COMPILE_STATUS_;this.COMPRESSED_TEXTURE_FORMATS=COMPRESSED_TEXTURE_FORMATS_;this.CONSTANT_ALPHA=CONSTANT_ALPHA_;this.CONSTANT_COLOR=CONSTANT_COLOR_;this.CONTEXT_LOST_WEBGL=CONTEXT_LOST_WEBGL_;this.CULL_FACE=CULL_FACE_;this.CULL_FACE_MODE=CULL_FACE_MODE_;this.CURRENT_PROGRAM=CURRENT_PROGRAM_;this.CURRENT_VERTEX_ATTRIB=CURRENT_VERTEX_ATTRIB_;this.CW=CW_;this.DECR=DECR_;this.DECR_WRAP=DECR_WRAP_;this.DELETE_STATUS=DELETE_STATUS_;this.DEPTH_ATTACHMENT=DEPTH_ATTACHMENT_;this.DEPTH_BITS=DEPTH_BITS_;this.DEPTH_BUFFER_BIT=DEPTH_BUFFER_BIT_;this.DEPTH_CLEAR_VALUE=DEPTH_CLEAR_VALUE_;this.DEPTH_COMPONENT=DEPTH_COMPONENT_;this.DEPTH_COMPONENT16=DEPTH_COMPONENT16_;this.DEPTH_FUNC=DEPTH_FUNC_;this.DEPTH_RANGE=DEPTH_RANGE_;this.DEPTH_STENCIL=DEPTH_STENCIL_;this.DEPTH_STENCIL_ATTACHMENT=DEPTH_STENCIL_ATTACHMENT_;this.DEPTH_TEST=DEPTH_TEST_;this.DEPTH_WRITEMASK=DEPTH_WRITEMASK_;this.DITHER=DITHER_;this.DONT_CARE=DONT_CARE_;this.DST_ALPHA=DST_ALPHA_;this.DST_COLOR=DST_COLOR_;this.DYNAMIC_DRAW=DYNAMIC_DRAW_;this.ELEMENT_ARRAY_BUFFER=ELEMENT_ARRAY_BUFFER_;this.ELEMENT_ARRAY_BUFFER_BINDING=ELEMENT_ARRAY_BUFFER_BINDING_;this.EQUAL=EQUAL_;this.FASTEST=FASTEST_;this.FLOAT=FLOAT_;this.FLOAT_MAT2=FLOAT_MAT2_;this.FLOAT_MAT3=FLOAT_MAT3_;this.FLOAT_MAT4=FLOAT_MAT4_;this.FLOAT_VEC2=FLOAT_VEC2_;this.FLOAT_VEC3=FLOAT_VEC3_;this.FLOAT_VEC4=FLOAT_VEC4_;this.FRAGMENT_SHADER=FRAGMENT_SHADER_;this.FRAMEBUFFER=FRAMEBUFFER_;this.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_;this.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_;this.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_;this.FRAMEBUFFER_BINDING=FRAMEBUFFER_BINDING_;this.FRAMEBUFFER_COMPLETE=FRAMEBUFFER_COMPLETE_;this.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=FRAMEBUFFER_INCOMPLETE_ATTACHMENT_;this.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=FRAMEBUFFER_INCOMPLETE_DIMENSIONS_;this.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_;this.FRAMEBUFFER_UNSUPPORTED=FRAMEBUFFER_UNSUPPORTED_;this.FRONT=FRONT_;this.FRONT_AND_BACK=FRONT_AND_BACK_;this.FRONT_FACE=FRONT_FACE_;this.FUNC_ADD=FUNC_ADD_;this.FUNC_REVERSE_SUBTRACT=FUNC_REVERSE_SUBTRACT_;this.FUNC_SUBTRACT=FUNC_SUBTRACT_;this.GENERATE_MIPMAP_HINT=GENERATE_MIPMAP_HINT_;this.GEQUAL=GEQUAL_;this.GREATER=GREATER_;this.GREEN_BITS=GREEN_BITS_;this.HIGH_FLOAT=HIGH_FLOAT_;this.HIGH_INT=HIGH_INT_;this.INCR=INCR_;this.INCR_WRAP=INCR_WRAP_;this.INFO_LOG_LENGTH=INFO_LOG_LENGTH_;this.INT=INT_;this.INT_VEC2=INT_VEC2_;this.INT_VEC3=INT_VEC3_;this.INT_VEC4=INT_VEC4_;this.INVALID_ENUM=INVALID_ENUM_;this.INVALID_FRAMEBUFFER_OPERATION=INVALID_FRAMEBUFFER_OPERATION_;this.INVALID_OPERATION=INVALID_OPERATION_;this.INVALID_VALUE=INVALID_VALUE_;this.INVERT=INVERT_;this.KEEP=KEEP_;this.LEQUAL=LEQUAL_;this.LESS=LESS_;this.LINEAR=LINEAR_;this.LINEAR_MIPMAP_LINEAR=LINEAR_MIPMAP_LINEAR_;this.LINEAR_MIPMAP_NEAREST=LINEAR_MIPMAP_NEAREST_;this.LINES=LINES_;this.LINE_LOOP=LINE_LOOP_;this.LINE_STRIP=LINE_STRIP_;this.LINE_WIDTH=LINE_WIDTH_;this.LINK_STATUS=LINK_STATUS_;this.LOW_FLOAT=LOW_FLOAT_;this.LOW_INT=LOW_INT_;this.LUMINANCE=LUMINANCE_;this.LUMINANCE_ALPHA=LUMINANCE_ALPHA_;this.MAX_COMBINED_TEXTURE_IMAGE_UNITS=MAX_COMBINED_TEXTURE_IMAGE_UNITS_;this.MAX_CUBE_MAP_TEXTURE_SIZE=MAX_CUBE_MAP_TEXTURE_SIZE_;this.MAX_FRAGMENT_UNIFORM_VECTORS=MAX_FRAGMENT_UNIFORM_VECTORS_;this.MAX_RENDERBUFFER_SIZE=MAX_RENDERBUFFER_SIZE_;this.MAX_TEXTURE_IMAGE_UNITS=MAX_TEXTURE_IMAGE_UNITS_;this.MAX_TEXTURE_SIZE=MAX_TEXTURE_SIZE_;this.MAX_VARYING_VECTORS=MAX_VARYING_VECTORS_;this.MAX_VERTEX_ATTRIBS=MAX_VERTEX_ATTRIBS_;this.MAX_VERTEX_TEXTURE_IMAGE_UNITS=MAX_VERTEX_TEXTURE_IMAGE_UNITS_;this.MAX_VERTEX_UNIFORM_VECTORS=MAX_VERTEX_UNIFORM_VECTORS_;this.MAX_VIEWPORT_DIMS=MAX_VIEWPORT_DIMS_;this.MEDIUM_FLOAT=MEDIUM_FLOAT_;this.MEDIUM_INT=MEDIUM_INT_;this.MIRRORED_REPEAT=MIRRORED_REPEAT_;this.NEAREST=NEAREST_;this.NEAREST_MIPMAP_LINEAR=NEAREST_MIPMAP_LINEAR_;this.NEAREST_MIPMAP_NEAREST=NEAREST_MIPMAP_NEAREST_;this.NEVER=NEVER_;this.NICEST=NICEST_;this.NONE=NONE_;this.NOTEQUAL=NOTEQUAL_;this.NO_ERROR=NO_ERROR_;this.NUM_COMPRESSED_TEXTURE_FORMATS=NUM_COMPRESSED_TEXTURE_FORMATS_;this.ONE=ONE_;this.ONE_MINUS_CONSTANT_ALPHA=ONE_MINUS_CONSTANT_ALPHA_;this.ONE_MINUS_CONSTANT_COLOR=ONE_MINUS_CONSTANT_COLOR_;this.ONE_MINUS_DST_ALPHA=ONE_MINUS_DST_ALPHA_;this.ONE_MINUS_DST_COLOR=ONE_MINUS_DST_COLOR_;this.ONE_MINUS_SRC_ALPHA=ONE_MINUS_SRC_ALPHA_;this.ONE_MINUS_SRC_COLOR=ONE_MINUS_SRC_COLOR_;this.OUT_OF_MEMORY=OUT_OF_MEMORY_;this.PACK_ALIGNMENT=PACK_ALIGNMENT_;this.POINTS=POINTS_;this.POLYGON_OFFSET_FACTOR=POLYGON_OFFSET_FACTOR_;this.POLYGON_OFFSET_FILL=POLYGON_OFFSET_FILL_;this.POLYGON_OFFSET_UNITS=POLYGON_OFFSET_UNITS_;this.RED_BITS=RED_BITS_;this.RENDERBUFFER=RENDERBUFFER_;this.RENDERBUFFER_ALPHA_SIZE=RENDERBUFFER_ALPHA_SIZE_;this.RENDERBUFFER_BINDING=RENDERBUFFER_BINDING_;this.RENDERBUFFER_BLUE_SIZE=RENDERBUFFER_BLUE_SIZE_;this.RENDERBUFFER_DEPTH_SIZE=RENDERBUFFER_DEPTH_SIZE_;this.RENDERBUFFER_GREEN_SIZE=RENDERBUFFER_GREEN_SIZE_;this.RENDERBUFFER_HEIGHT=RENDERBUFFER_HEIGHT_;this.RENDERBUFFER_INTERNAL_FORMAT=RENDERBUFFER_INTERNAL_FORMAT_;this.RENDERBUFFER_RED_SIZE=RENDERBUFFER_RED_SIZE_;this.RENDERBUFFER_STENCIL_SIZE=RENDERBUFFER_STENCIL_SIZE_;this.RENDERBUFFER_WIDTH=RENDERBUFFER_WIDTH_;this.RENDERER=RENDERER_;this.REPEAT=REPEAT_;this.REPLACE=REPLACE_;this.RGB=RGB_;this.RGB5_A1=RGB5_A1_;this.RGB565=RGB565_;this.RGBA=RGBA_;this.RGBA4=RGBA4_;this.SAMPLER_2D=SAMPLER_2D_;this.SAMPLER_CUBE=SAMPLER_CUBE_;this.SAMPLES=SAMPLES_;this.SAMPLE_ALPHA_TO_COVERAGE=SAMPLE_ALPHA_TO_COVERAGE_;this.SAMPLE_BUFFERS=SAMPLE_BUFFERS_;this.SAMPLE_COVERAGE=SAMPLE_COVERAGE_;this.SAMPLE_COVERAGE_INVERT=SAMPLE_COVERAGE_INVERT_;this.SAMPLE_COVERAGE_VALUE=SAMPLE_COVERAGE_VALUE_;this.SCISSOR_BOX=SCISSOR_BOX_;this.SCISSOR_TEST=SCISSOR_TEST_;this.SHADER_COMPILER=SHADER_COMPILER_;this.SHADER_SOURCE_LENGTH=SHADER_SOURCE_LENGTH_;this.SHADER_TYPE=SHADER_TYPE_;this.SHADING_LANGUAGE_VERSION=SHADING_LANGUAGE_VERSION_;this.SHORT=SHORT_;this.SRC_ALPHA=SRC_ALPHA_;this.SRC_ALPHA_SATURATE=SRC_ALPHA_SATURATE_;this.SRC_COLOR=SRC_COLOR_;this.STATIC_DRAW=STATIC_DRAW_;this.STENCIL_ATTACHMENT=STENCIL_ATTACHMENT_;this.STENCIL_BACK_FAIL=STENCIL_BACK_FAIL_;this.STENCIL_BACK_FUNC=STENCIL_BACK_FUNC_;this.STENCIL_BACK_PASS_DEPTH_FAIL=STENCIL_BACK_PASS_DEPTH_FAIL_;this.STENCIL_BACK_PASS_DEPTH_PASS=STENCIL_BACK_PASS_DEPTH_PASS_;this.STENCIL_BACK_REF=STENCIL_BACK_REF_;this.STENCIL_BACK_VALUE_MASK=STENCIL_BACK_VALUE_MASK_;this.STENCIL_BACK_WRITEMASK=STENCIL_BACK_WRITEMASK_;this.STENCIL_BITS=STENCIL_BITS_;this.STENCIL_BUFFER_BIT=STENCIL_BUFFER_BIT_;this.STENCIL_CLEAR_VALUE=STENCIL_CLEAR_VALUE_;this.STENCIL_FAIL=STENCIL_FAIL_;this.STENCIL_FUNC=STENCIL_FUNC_;this.STENCIL_INDEX=STENCIL_INDEX_;this.STENCIL_INDEX8=STENCIL_INDEX8_;this.STENCIL_PASS_DEPTH_FAIL=STENCIL_PASS_DEPTH_FAIL_;this.STENCIL_PASS_DEPTH_PASS=STENCIL_PASS_DEPTH_PASS_;this.STENCIL_REF=STENCIL_REF_;this.STENCIL_TEST=STENCIL_TEST_;this.STENCIL_VALUE_MASK=STENCIL_VALUE_MASK_;this.STENCIL_WRITEMASK=STENCIL_WRITEMASK_;this.STREAM_DRAW=STREAM_DRAW_;this.SUBPIXEL_BITS=SUBPIXEL_BITS_;this.TEXTURE=TEXTURE_;this.TEXTURE0=TEXTURE0_;this.TEXTURE1=TEXTURE1_;this.TEXTURE2=TEXTURE2_;this.TEXTURE3=TEXTURE3_;this.TEXTURE4=TEXTURE4_;this.TEXTURE5=TEXTURE5_;this.TEXTURE6=TEXTURE6_;this.TEXTURE7=TEXTURE7_;this.TEXTURE8=TEXTURE8_;this.TEXTURE9=TEXTURE9_;this.TEXTURE10=TEXTURE10_;this.TEXTURE11=TEXTURE11_;this.TEXTURE12=TEXTURE12_;this.TEXTURE13=TEXTURE13_;this.TEXTURE14=TEXTURE14_;this.TEXTURE15=TEXTURE15_;this.TEXTURE16=TEXTURE16_;this.TEXTURE17=TEXTURE17_;this.TEXTURE18=TEXTURE18_;this.TEXTURE19=TEXTURE19_;this.TEXTURE20=TEXTURE20_;this.TEXTURE21=TEXTURE21_;this.TEXTURE22=TEXTURE22_;this.TEXTURE23=TEXTURE23_;this.TEXTURE24=TEXTURE24_;this.TEXTURE25=TEXTURE25_;this.TEXTURE26=TEXTURE26_;this.TEXTURE27=TEXTURE27_;this.TEXTURE28=TEXTURE28_;this.TEXTURE29=TEXTURE29_;this.TEXTURE30=TEXTURE30_;this.TEXTURE31=TEXTURE31_;this.TEXTURE_2D=TEXTURE_2D_;this.TEXTURE_BINDING_2D=TEXTURE_BINDING_2D_;this.TEXTURE_BINDING_CUBE_MAP=TEXTURE_BINDING_CUBE_MAP_;this.TEXTURE_CUBE_MAP=TEXTURE_CUBE_MAP_;this.TEXTURE_CUBE_MAP_NEGATIVE_X=TEXTURE_CUBE_MAP_NEGATIVE_X_;this.TEXTURE_CUBE_MAP_NEGATIVE_Y=TEXTURE_CUBE_MAP_NEGATIVE_Y_;this.TEXTURE_CUBE_MAP_NEGATIVE_Z=TEXTURE_CUBE_MAP_NEGATIVE_Z_;this.TEXTURE_CUBE_MAP_POSITIVE_X=TEXTURE_CUBE_MAP_POSITIVE_X_;this.TEXTURE_CUBE_MAP_POSITIVE_Y=TEXTURE_CUBE_MAP_POSITIVE_Y_;this.TEXTURE_CUBE_MAP_POSITIVE_Z=TEXTURE_CUBE_MAP_POSITIVE_Z_;this.TEXTURE_MAG_FILTER=TEXTURE_MAG_FILTER_;this.TEXTURE_MIN_FILTER=TEXTURE_MIN_FILTER_;this.TEXTURE_WRAP_S=TEXTURE_WRAP_S_;this.TEXTURE_WRAP_T=TEXTURE_WRAP_T_;this.TRIANGLES=TRIANGLES_;this.TRIANGLE_FAN=TRIANGLE_FAN_;this.TRIANGLE_STRIP=TRIANGLE_STRIP_;this.UNPACK_ALIGNMENT=UNPACK_ALIGNMENT_;this.UNPACK_COLORSPACE_CONVERSION_WEBGL=UNPACK_COLORSPACE_CONVERSION_WEBGL_;this.UNPACK_FLIP_Y_WEBGL=UNPACK_FLIP_Y_WEBGL_;this.UNPACK_PREMULTIPLY_ALPHA_WEBGL=UNPACK_PREMULTIPLY_ALPHA_WEBGL_;this.UNSIGNED_BYTE=UNSIGNED_BYTE_;this.UNSIGNED_INT=UNSIGNED_INT_;this.UNSIGNED_SHORT=UNSIGNED_SHORT_;this.UNSIGNED_SHORT_4_4_4_4=UNSIGNED_SHORT_4_4_4_4_;this.UNSIGNED_SHORT_5_5_5_1=UNSIGNED_SHORT_5_5_5_1_;this.UNSIGNED_SHORT_5_6_5=UNSIGNED_SHORT_5_6_5_;this.VALIDATE_STATUS=VALIDATE_STATUS_;this.VENDOR=VENDOR_;this.VERSION=VERSION_;this.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_;this.VERTEX_ATTRIB_ARRAY_ENABLED=VERTEX_ATTRIB_ARRAY_ENABLED_;this.VERTEX_ATTRIB_ARRAY_NORMALIZED=VERTEX_ATTRIB_ARRAY_NORMALIZED_;this.VERTEX_ATTRIB_ARRAY_POINTER=VERTEX_ATTRIB_ARRAY_POINTER_;this.VERTEX_ATTRIB_ARRAY_SIZE=VERTEX_ATTRIB_ARRAY_SIZE_;this.VERTEX_ATTRIB_ARRAY_STRIDE=VERTEX_ATTRIB_ARRAY_STRIDE_;this.VERTEX_ATTRIB_ARRAY_TYPE=VERTEX_ATTRIB_ARRAY_TYPE_;this.VERTEX_SHADER=VERTEX_SHADER_;this.VIEWPORT=VIEWPORT_;this.ZERO=ZERO_;});G=$ptrType(E);H=$ptrType(C);I=$mapType($String,$Bool);J=$ptrType(B.Object);K=$sliceType(J);L=$sliceType($String);M=$sliceType($Float32);D=function(){var $ptr;return new C.ptr(true,true,false,true,true,false);};$pkg.DefaultAttributes=D;F=function(a,b){var $ptr,a,b,c,d,e;if($global.WebGLRenderingContext===undefined){return[G.nil,A.New("Your browser doesn't appear to support webgl.")];}if(b===H.nil){b=D();}c=$makeMap($String.keyFor,[{k:"alpha",v:b.Alpha},{k:"depth",v:b.Depth},{k:"stencil",v:b.Stencil},{k:"antialias",v:b.Antialias},{k:"premultipliedAlpha",v:b.PremultipliedAlpha},{k:"preserveDrawingBuffer",v:b.PreserveDrawingBuffer}]);d=a.getContext($externalize("webgl",$String),$externalize(c,I));if(d===null){d=a.getContext($externalize("experimental-webgl",$String),$externalize(c,I));if(d===null){return[G.nil,A.New("Creating a webgl context has failed.")];}}e=new E.ptr(null,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);e.Object=d;return[e,$ifaceNil];};$pkg.NewContext=F;E.ptr.prototype.GetContextAttributes=function(){var $ptr,a,b;a=this;b=a.Object.getContextAttributes();return new C.ptr(!!(b.alpha),!!(b.depth),!!(b.stencil),!!(b.antialias),!!(b.premultipliedAlpha),!!(b.preservedDrawingBuffer));};E.prototype.GetContextAttributes=function(){return this.$val.GetContextAttributes();};E.ptr.prototype.ActiveTexture=function(a){var $ptr,a,b;b=this;b.Object.activeTexture(a);};E.prototype.ActiveTexture=function(a){return this.$val.ActiveTexture(a);};E.ptr.prototype.AttachShader=function(a,b){var $ptr,a,b,c;c=this;c.Object.attachShader(a,b);};E.prototype.AttachShader=function(a,b){return this.$val.AttachShader(a,b);};E.ptr.prototype.BindAttribLocation=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.bindAttribLocation(a,b,$externalize(c,$String));};E.prototype.BindAttribLocation=function(a,b,c){return this.$val.BindAttribLocation(a,b,c);};E.ptr.prototype.BindBuffer=function(a,b){var $ptr,a,b,c;c=this;c.Object.bindBuffer(a,b);};E.prototype.BindBuffer=function(a,b){return this.$val.BindBuffer(a,b);};E.ptr.prototype.BindFramebuffer=function(a,b){var $ptr,a,b,c;c=this;c.Object.bindFramebuffer(a,b);};E.prototype.BindFramebuffer=function(a,b){return this.$val.BindFramebuffer(a,b);};E.ptr.prototype.BindRenderbuffer=function(a,b){var $ptr,a,b,c;c=this;c.Object.bindRenderbuffer(a,b);};E.prototype.BindRenderbuffer=function(a,b){return this.$val.BindRenderbuffer(a,b);};E.ptr.prototype.BindTexture=function(a,b){var $ptr,a,b,c;c=this;c.Object.bindTexture(a,b);};E.prototype.BindTexture=function(a,b){return this.$val.BindTexture(a,b);};E.ptr.prototype.BlendColor=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.blendColor(a,b,c,d);};E.prototype.BlendColor=function(a,b,c,d){return this.$val.BlendColor(a,b,c,d);};E.ptr.prototype.BlendEquation=function(a){var $ptr,a,b;b=this;b.Object.blendEquation(a);};E.prototype.BlendEquation=function(a){return this.$val.BlendEquation(a);};E.ptr.prototype.BlendEquationSeparate=function(a,b){var $ptr,a,b,c;c=this;c.Object.blendEquationSeparate(a,b);};E.prototype.BlendEquationSeparate=function(a,b){return this.$val.BlendEquationSeparate(a,b);};E.ptr.prototype.BlendFunc=function(a,b){var $ptr,a,b,c;c=this;c.Object.blendFunc(a,b);};E.prototype.BlendFunc=function(a,b){return this.$val.BlendFunc(a,b);};E.ptr.prototype.BlendFuncSeparate=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.blendFuncSeparate(a,b,c,d);};E.prototype.BlendFuncSeparate=function(a,b,c,d){return this.$val.BlendFuncSeparate(a,b,c,d);};E.ptr.prototype.BufferData=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.bufferData(a,$externalize(b,$emptyInterface),c);};E.prototype.BufferData=function(a,b,c){return this.$val.BufferData(a,b,c);};E.ptr.prototype.BufferSubData=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.bufferSubData(a,b,$externalize(c,$emptyInterface));};E.prototype.BufferSubData=function(a,b,c){return this.$val.BufferSubData(a,b,c);};E.ptr.prototype.CheckFramebufferStatus=function(a){var $ptr,a,b;b=this;return $parseInt(b.Object.checkFramebufferStatus(a))>>0;};E.prototype.CheckFramebufferStatus=function(a){return this.$val.CheckFramebufferStatus(a);};E.ptr.prototype.Clear=function(a){var $ptr,a,b;b=this;b.Object.clear(a);};E.prototype.Clear=function(a){return this.$val.Clear(a);};E.ptr.prototype.ClearColor=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.clearColor(a,b,c,d);};E.prototype.ClearColor=function(a,b,c,d){return this.$val.ClearColor(a,b,c,d);};E.ptr.prototype.ClearDepth=function(a){var $ptr,a,b;b=this;b.Object.clearDepth(a);};E.prototype.ClearDepth=function(a){return this.$val.ClearDepth(a);};E.ptr.prototype.ClearStencil=function(a){var $ptr,a,b;b=this;b.Object.clearStencil(a);};E.prototype.ClearStencil=function(a){return this.$val.ClearStencil(a);};E.ptr.prototype.ColorMask=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.colorMask($externalize(a,$Bool),$externalize(b,$Bool),$externalize(c,$Bool),$externalize(d,$Bool));};E.prototype.ColorMask=function(a,b,c,d){return this.$val.ColorMask(a,b,c,d);};E.ptr.prototype.CompileShader=function(a){var $ptr,a,b;b=this;b.Object.compileShader(a);};E.prototype.CompileShader=function(a){return this.$val.CompileShader(a);};E.ptr.prototype.CopyTexImage2D=function(a,b,c,d,e,f,g,h){var $ptr,a,b,c,d,e,f,g,h,i;i=this;i.Object.copyTexImage2D(a,b,c,d,e,f,g,h);};E.prototype.CopyTexImage2D=function(a,b,c,d,e,f,g,h){return this.$val.CopyTexImage2D(a,b,c,d,e,f,g,h);};E.ptr.prototype.CopyTexSubImage2D=function(a,b,c,d,e,f,g,h){var $ptr,a,b,c,d,e,f,g,h,i;i=this;i.Object.copyTexSubImage2D(a,b,c,d,e,f,g,h);};E.prototype.CopyTexSubImage2D=function(a,b,c,d,e,f,g,h){return this.$val.CopyTexSubImage2D(a,b,c,d,e,f,g,h);};E.ptr.prototype.CreateBuffer=function(){var $ptr,a;a=this;return a.Object.createBuffer();};E.prototype.CreateBuffer=function(){return this.$val.CreateBuffer();};E.ptr.prototype.CreateFramebuffer=function(){var $ptr,a;a=this;return a.Object.createFramebuffer();};E.prototype.CreateFramebuffer=function(){return this.$val.CreateFramebuffer();};E.ptr.prototype.CreateProgram=function(){var $ptr,a;a=this;return a.Object.createProgram();};E.prototype.CreateProgram=function(){return this.$val.CreateProgram();};E.ptr.prototype.CreateRenderbuffer=function(){var $ptr,a;a=this;return a.Object.createRenderbuffer();};E.prototype.CreateRenderbuffer=function(){return this.$val.CreateRenderbuffer();};E.ptr.prototype.CreateShader=function(a){var $ptr,a,b;b=this;return b.Object.createShader(a);};E.prototype.CreateShader=function(a){return this.$val.CreateShader(a);};E.ptr.prototype.CreateTexture=function(){var $ptr,a;a=this;return a.Object.createTexture();};E.prototype.CreateTexture=function(){return this.$val.CreateTexture();};E.ptr.prototype.CullFace=function(a){var $ptr,a,b;b=this;b.Object.cullFace(a);};E.prototype.CullFace=function(a){return this.$val.CullFace(a);};E.ptr.prototype.DeleteBuffer=function(a){var $ptr,a,b;b=this;b.Object.deleteBuffer(a);};E.prototype.DeleteBuffer=function(a){return this.$val.DeleteBuffer(a);};E.ptr.prototype.DeleteFramebuffer=function(a){var $ptr,a,b;b=this;b.Object.deleteFramebuffer(a);};E.prototype.DeleteFramebuffer=function(a){return this.$val.DeleteFramebuffer(a);};E.ptr.prototype.DeleteProgram=function(a){var $ptr,a,b;b=this;b.Object.deleteProgram(a);};E.prototype.DeleteProgram=function(a){return this.$val.DeleteProgram(a);};E.ptr.prototype.DeleteRenderbuffer=function(a){var $ptr,a,b;b=this;b.Object.deleteRenderbuffer(a);};E.prototype.DeleteRenderbuffer=function(a){return this.$val.DeleteRenderbuffer(a);};E.ptr.prototype.DeleteShader=function(a){var $ptr,a,b;b=this;b.Object.deleteShader(a);};E.prototype.DeleteShader=function(a){return this.$val.DeleteShader(a);};E.ptr.prototype.DeleteTexture=function(a){var $ptr,a,b;b=this;b.Object.deleteTexture(a);};E.prototype.DeleteTexture=function(a){return this.$val.DeleteTexture(a);};E.ptr.prototype.DepthFunc=function(a){var $ptr,a,b;b=this;b.Object.depthFunc(a);};E.prototype.DepthFunc=function(a){return this.$val.DepthFunc(a);};E.ptr.prototype.DepthMask=function(a){var $ptr,a,b;b=this;b.Object.depthMask($externalize(a,$Bool));};E.prototype.DepthMask=function(a){return this.$val.DepthMask(a);};E.ptr.prototype.DepthRange=function(a,b){var $ptr,a,b,c;c=this;c.Object.depthRange(a,b);};E.prototype.DepthRange=function(a,b){return this.$val.DepthRange(a,b);};E.ptr.prototype.DetachShader=function(a,b){var $ptr,a,b,c;c=this;c.Object.detachShader(a,b);};E.prototype.DetachShader=function(a,b){return this.$val.DetachShader(a,b);};E.ptr.prototype.Disable=function(a){var $ptr,a,b;b=this;b.Object.disable(a);};E.prototype.Disable=function(a){return this.$val.Disable(a);};E.ptr.prototype.DisableVertexAttribArray=function(a){var $ptr,a,b;b=this;b.Object.disableVertexAttribArray(a);};E.prototype.DisableVertexAttribArray=function(a){return this.$val.DisableVertexAttribArray(a);};E.ptr.prototype.DrawArrays=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.drawArrays(a,b,c);};E.prototype.DrawArrays=function(a,b,c){return this.$val.DrawArrays(a,b,c);};E.ptr.prototype.DrawElements=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.drawElements(a,b,c,d);};E.prototype.DrawElements=function(a,b,c,d){return this.$val.DrawElements(a,b,c,d);};E.ptr.prototype.Enable=function(a){var $ptr,a,b;b=this;b.Object.enable(a);};E.prototype.Enable=function(a){return this.$val.Enable(a);};E.ptr.prototype.EnableVertexAttribArray=function(a){var $ptr,a,b;b=this;b.Object.enableVertexAttribArray(a);};E.prototype.EnableVertexAttribArray=function(a){return this.$val.EnableVertexAttribArray(a);};E.ptr.prototype.Finish=function(){var $ptr,a;a=this;a.Object.finish();};E.prototype.Finish=function(){return this.$val.Finish();};E.ptr.prototype.Flush=function(){var $ptr,a;a=this;a.Object.flush();};E.prototype.Flush=function(){return this.$val.Flush();};E.ptr.prototype.FrameBufferRenderBuffer=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.framebufferRenderBuffer(a,b,c,d);};E.prototype.FrameBufferRenderBuffer=function(a,b,c,d){return this.$val.FrameBufferRenderBuffer(a,b,c,d);};E.ptr.prototype.FramebufferTexture2D=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f;f=this;f.Object.framebufferTexture2D(a,b,c,d,e);};E.prototype.FramebufferTexture2D=function(a,b,c,d,e){return this.$val.FramebufferTexture2D(a,b,c,d,e);};E.ptr.prototype.FrontFace=function(a){var $ptr,a,b;b=this;b.Object.frontFace(a);};E.prototype.FrontFace=function(a){return this.$val.FrontFace(a);};E.ptr.prototype.GenerateMipmap=function(a){var $ptr,a,b;b=this;b.Object.generateMipmap(a);};E.prototype.GenerateMipmap=function(a){return this.$val.GenerateMipmap(a);};E.ptr.prototype.GetActiveAttrib=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getActiveAttrib(a,b);};E.prototype.GetActiveAttrib=function(a,b){return this.$val.GetActiveAttrib(a,b);};E.ptr.prototype.GetActiveUniform=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getActiveUniform(a,b);};E.prototype.GetActiveUniform=function(a,b){return this.$val.GetActiveUniform(a,b);};E.ptr.prototype.GetAttachedShaders=function(a){var $ptr,a,b,c,d,e;b=this;c=b.Object.getAttachedShaders(a);d=$makeSlice(K,$parseInt(c.length));e=0;while(true){if(!(e<$parseInt(c.length))){break;}((e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]=c[e]);e=e+(1)>>0;}return d;};E.prototype.GetAttachedShaders=function(a){return this.$val.GetAttachedShaders(a);};E.ptr.prototype.GetAttribLocation=function(a,b){var $ptr,a,b,c;c=this;return $parseInt(c.Object.getAttribLocation(a,$externalize(b,$String)))>>0;};E.prototype.GetAttribLocation=function(a,b){return this.$val.GetAttribLocation(a,b);};E.ptr.prototype.GetBufferParameter=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getBufferParameter(a,b);};E.prototype.GetBufferParameter=function(a,b){return this.$val.GetBufferParameter(a,b);};E.ptr.prototype.GetParameter=function(a){var $ptr,a,b;b=this;return b.Object.getParameter(a);};E.prototype.GetParameter=function(a){return this.$val.GetParameter(a);};E.ptr.prototype.GetError=function(){var $ptr,a;a=this;return $parseInt(a.Object.getError())>>0;};E.prototype.GetError=function(){return this.$val.GetError();};E.ptr.prototype.GetExtension=function(a){var $ptr,a,b;b=this;return b.Object.getExtension($externalize(a,$String));};E.prototype.GetExtension=function(a){return this.$val.GetExtension(a);};E.ptr.prototype.GetFramebufferAttachmentParameter=function(a,b,c){var $ptr,a,b,c,d;d=this;return d.Object.getFramebufferAttachmentParameter(a,b,c);};E.prototype.GetFramebufferAttachmentParameter=function(a,b,c){return this.$val.GetFramebufferAttachmentParameter(a,b,c);};E.ptr.prototype.GetProgramParameteri=function(a,b){var $ptr,a,b,c;c=this;return $parseInt(c.Object.getProgramParameter(a,b))>>0;};E.prototype.GetProgramParameteri=function(a,b){return this.$val.GetProgramParameteri(a,b);};E.ptr.prototype.GetProgramParameterb=function(a,b){var $ptr,a,b,c;c=this;return!!(c.Object.getProgramParameter(a,b));};E.prototype.GetProgramParameterb=function(a,b){return this.$val.GetProgramParameterb(a,b);};E.ptr.prototype.GetProgramInfoLog=function(a){var $ptr,a,b;b=this;return $internalize(b.Object.getProgramInfoLog(a),$String);};E.prototype.GetProgramInfoLog=function(a){return this.$val.GetProgramInfoLog(a);};E.ptr.prototype.GetRenderbufferParameter=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getRenderbufferParameter(a,b);};E.prototype.GetRenderbufferParameter=function(a,b){return this.$val.GetRenderbufferParameter(a,b);};E.ptr.prototype.GetShaderParameter=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getShaderParameter(a,b);};E.prototype.GetShaderParameter=function(a,b){return this.$val.GetShaderParameter(a,b);};E.ptr.prototype.GetShaderParameterb=function(a,b){var $ptr,a,b,c;c=this;return!!(c.Object.getShaderParameter(a,b));};E.prototype.GetShaderParameterb=function(a,b){return this.$val.GetShaderParameterb(a,b);};E.ptr.prototype.GetShaderInfoLog=function(a){var $ptr,a,b;b=this;return $internalize(b.Object.getShaderInfoLog(a),$String);};E.prototype.GetShaderInfoLog=function(a){return this.$val.GetShaderInfoLog(a);};E.ptr.prototype.GetShaderSource=function(a){var $ptr,a,b;b=this;return $internalize(b.Object.getShaderSource(a),$String);};E.prototype.GetShaderSource=function(a){return this.$val.GetShaderSource(a);};E.ptr.prototype.GetSupportedExtensions=function(){var $ptr,a,b,c,d;a=this;b=a.Object.getSupportedExtensions();c=$makeSlice(L,$parseInt(b.length));d=0;while(true){if(!(d<$parseInt(b.length))){break;}((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=$internalize(b[d],$String));d=d+(1)>>0;}return c;};E.prototype.GetSupportedExtensions=function(){return this.$val.GetSupportedExtensions();};E.ptr.prototype.GetTexParameter=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getTexParameter(a,b);};E.prototype.GetTexParameter=function(a,b){return this.$val.GetTexParameter(a,b);};E.ptr.prototype.GetUniform=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getUniform(a,b);};E.prototype.GetUniform=function(a,b){return this.$val.GetUniform(a,b);};E.ptr.prototype.GetUniformLocation=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getUniformLocation(a,$externalize(b,$String));};E.prototype.GetUniformLocation=function(a,b){return this.$val.GetUniformLocation(a,b);};E.ptr.prototype.GetVertexAttrib=function(a,b){var $ptr,a,b,c;c=this;return c.Object.getVertexAttrib(a,b);};E.prototype.GetVertexAttrib=function(a,b){return this.$val.GetVertexAttrib(a,b);};E.ptr.prototype.GetVertexAttribOffset=function(a,b){var $ptr,a,b,c;c=this;return $parseInt(c.Object.getVertexAttribOffset(a,b))>>0;};E.prototype.GetVertexAttribOffset=function(a,b){return this.$val.GetVertexAttribOffset(a,b);};E.ptr.prototype.IsBuffer=function(a){var $ptr,a,b;b=this;return!!(b.Object.isBuffer(a));};E.prototype.IsBuffer=function(a){return this.$val.IsBuffer(a);};E.ptr.prototype.IsContextLost=function(){var $ptr,a;a=this;return!!(a.Object.isContextLost());};E.prototype.IsContextLost=function(){return this.$val.IsContextLost();};E.ptr.prototype.IsFramebuffer=function(a){var $ptr,a,b;b=this;return!!(b.Object.isFramebuffer(a));};E.prototype.IsFramebuffer=function(a){return this.$val.IsFramebuffer(a);};E.ptr.prototype.IsProgram=function(a){var $ptr,a,b;b=this;return!!(b.Object.isProgram(a));};E.prototype.IsProgram=function(a){return this.$val.IsProgram(a);};E.ptr.prototype.IsRenderbuffer=function(a){var $ptr,a,b;b=this;return!!(b.Object.isRenderbuffer(a));};E.prototype.IsRenderbuffer=function(a){return this.$val.IsRenderbuffer(a);};E.ptr.prototype.IsShader=function(a){var $ptr,a,b;b=this;return!!(b.Object.isShader(a));};E.prototype.IsShader=function(a){return this.$val.IsShader(a);};E.ptr.prototype.IsTexture=function(a){var $ptr,a,b;b=this;return!!(b.Object.isTexture(a));};E.prototype.IsTexture=function(a){return this.$val.IsTexture(a);};E.ptr.prototype.IsEnabled=function(a){var $ptr,a,b;b=this;return!!(b.Object.isEnabled(a));};E.prototype.IsEnabled=function(a){return this.$val.IsEnabled(a);};E.ptr.prototype.LineWidth=function(a){var $ptr,a,b;b=this;b.Object.lineWidth(a);};E.prototype.LineWidth=function(a){return this.$val.LineWidth(a);};E.ptr.prototype.LinkProgram=function(a){var $ptr,a,b;b=this;b.Object.linkProgram(a);};E.prototype.LinkProgram=function(a){return this.$val.LinkProgram(a);};E.ptr.prototype.PixelStorei=function(a,b){var $ptr,a,b,c;c=this;c.Object.pixelStorei(a,b);};E.prototype.PixelStorei=function(a,b){return this.$val.PixelStorei(a,b);};E.ptr.prototype.PolygonOffset=function(a,b){var $ptr,a,b,c;c=this;c.Object.polygonOffset(a,b);};E.prototype.PolygonOffset=function(a,b){return this.$val.PolygonOffset(a,b);};E.ptr.prototype.ReadPixels=function(a,b,c,d,e,f,g){var $ptr,a,b,c,d,e,f,g,h;h=this;h.Object.readPixels(a,b,c,d,e,f,g);};E.prototype.ReadPixels=function(a,b,c,d,e,f,g){return this.$val.ReadPixels(a,b,c,d,e,f,g);};E.ptr.prototype.RenderbufferStorage=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.renderbufferStorage(a,b,c,d);};E.prototype.RenderbufferStorage=function(a,b,c,d){return this.$val.RenderbufferStorage(a,b,c,d);};E.ptr.prototype.Scissor=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.scissor(a,b,c,d);};E.prototype.Scissor=function(a,b,c,d){return this.$val.Scissor(a,b,c,d);};E.ptr.prototype.ShaderSource=function(a,b){var $ptr,a,b,c;c=this;c.Object.shaderSource(a,$externalize(b,$String));};E.prototype.ShaderSource=function(a,b){return this.$val.ShaderSource(a,b);};E.ptr.prototype.TexImage2D=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g;g=this;g.Object.texImage2D(a,b,c,d,e,f);};E.prototype.TexImage2D=function(a,b,c,d,e,f){return this.$val.TexImage2D(a,b,c,d,e,f);};E.ptr.prototype.TexParameteri=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.texParameteri(a,b,c);};E.prototype.TexParameteri=function(a,b,c){return this.$val.TexParameteri(a,b,c);};E.ptr.prototype.TexSubImage2D=function(a,b,c,d,e,f,g){var $ptr,a,b,c,d,e,f,g,h;h=this;h.Object.texSubImage2D(a,b,c,d,e,f,g);};E.prototype.TexSubImage2D=function(a,b,c,d,e,f,g){return this.$val.TexSubImage2D(a,b,c,d,e,f,g);};E.ptr.prototype.Uniform1f=function(a,b){var $ptr,a,b,c;c=this;c.Object.uniform1f(a,b);};E.prototype.Uniform1f=function(a,b){return this.$val.Uniform1f(a,b);};E.ptr.prototype.Uniform1i=function(a,b){var $ptr,a,b,c;c=this;c.Object.uniform1i(a,b);};E.prototype.Uniform1i=function(a,b){return this.$val.Uniform1i(a,b);};E.ptr.prototype.Uniform2f=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.uniform2f(a,b,c);};E.prototype.Uniform2f=function(a,b,c){return this.$val.Uniform2f(a,b,c);};E.ptr.prototype.Uniform2i=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.uniform2i(a,b,c);};E.prototype.Uniform2i=function(a,b,c){return this.$val.Uniform2i(a,b,c);};E.ptr.prototype.Uniform3f=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.uniform3f(a,b,c,d);};E.prototype.Uniform3f=function(a,b,c,d){return this.$val.Uniform3f(a,b,c,d);};E.ptr.prototype.Uniform3i=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.uniform3i(a,b,c,d);};E.prototype.Uniform3i=function(a,b,c,d){return this.$val.Uniform3i(a,b,c,d);};E.ptr.prototype.Uniform4f=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f;f=this;f.Object.uniform4f(a,b,c,d,e);};E.prototype.Uniform4f=function(a,b,c,d,e){return this.$val.Uniform4f(a,b,c,d,e);};E.ptr.prototype.Uniform4i=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f;f=this;f.Object.uniform4i(a,b,c,d,e);};E.prototype.Uniform4i=function(a,b,c,d,e){return this.$val.Uniform4i(a,b,c,d,e);};E.ptr.prototype.UniformMatrix2fv=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.uniformMatrix2fv(a,$externalize(b,$Bool),$externalize(c,M));};E.prototype.UniformMatrix2fv=function(a,b,c){return this.$val.UniformMatrix2fv(a,b,c);};E.ptr.prototype.UniformMatrix3fv=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.uniformMatrix3fv(a,$externalize(b,$Bool),$externalize(c,M));};E.prototype.UniformMatrix3fv=function(a,b,c){return this.$val.UniformMatrix3fv(a,b,c);};E.ptr.prototype.UniformMatrix4fv=function(a,b,c){var $ptr,a,b,c,d;d=this;d.Object.uniformMatrix4fv(a,$externalize(b,$Bool),$externalize(c,M));};E.prototype.UniformMatrix4fv=function(a,b,c){return this.$val.UniformMatrix4fv(a,b,c);};E.ptr.prototype.UseProgram=function(a){var $ptr,a,b;b=this;b.Object.useProgram(a);};E.prototype.UseProgram=function(a){return this.$val.UseProgram(a);};E.ptr.prototype.ValidateProgram=function(a){var $ptr,a,b;b=this;b.Object.validateProgram(a);};E.prototype.ValidateProgram=function(a){return this.$val.ValidateProgram(a);};E.ptr.prototype.VertexAttribPointer=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g;g=this;g.Object.vertexAttribPointer(a,b,c,$externalize(d,$Bool),e,f);};E.prototype.VertexAttribPointer=function(a,b,c,d,e,f){return this.$val.VertexAttribPointer(a,b,c,d,e,f);};E.ptr.prototype.Viewport=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;e.Object.viewport(a,b,c,d);};E.prototype.Viewport=function(a,b,c,d){return this.$val.Viewport(a,b,c,d);};G.methods=[{prop:"GetContextAttributes",name:"GetContextAttributes",pkg:"",typ:$funcType([],[C],false)},{prop:"ActiveTexture",name:"ActiveTexture",pkg:"",typ:$funcType([$Int],[],false)},{prop:"AttachShader",name:"AttachShader",pkg:"",typ:$funcType([J,J],[],false)},{prop:"BindAttribLocation",name:"BindAttribLocation",pkg:"",typ:$funcType([J,$Int,$String],[],false)},{prop:"BindBuffer",name:"BindBuffer",pkg:"",typ:$funcType([$Int,J],[],false)},{prop:"BindFramebuffer",name:"BindFramebuffer",pkg:"",typ:$funcType([$Int,J],[],false)},{prop:"BindRenderbuffer",name:"BindRenderbuffer",pkg:"",typ:$funcType([$Int,J],[],false)},{prop:"BindTexture",name:"BindTexture",pkg:"",typ:$funcType([$Int,J],[],false)},{prop:"BlendColor",name:"BlendColor",pkg:"",typ:$funcType([$Float64,$Float64,$Float64,$Float64],[],false)},{prop:"BlendEquation",name:"BlendEquation",pkg:"",typ:$funcType([$Int],[],false)},{prop:"BlendEquationSeparate",name:"BlendEquationSeparate",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"BlendFunc",name:"BlendFunc",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"BlendFuncSeparate",name:"BlendFuncSeparate",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int],[],false)},{prop:"BufferData",name:"BufferData",pkg:"",typ:$funcType([$Int,$emptyInterface,$Int],[],false)},{prop:"BufferSubData",name:"BufferSubData",pkg:"",typ:$funcType([$Int,$Int,$emptyInterface],[],false)},{prop:"CheckFramebufferStatus",name:"CheckFramebufferStatus",pkg:"",typ:$funcType([$Int],[$Int],false)},{prop:"Clear",name:"Clear",pkg:"",typ:$funcType([$Int],[],false)},{prop:"ClearColor",name:"ClearColor",pkg:"",typ:$funcType([$Float32,$Float32,$Float32,$Float32],[],false)},{prop:"ClearDepth",name:"ClearDepth",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"ClearStencil",name:"ClearStencil",pkg:"",typ:$funcType([$Int],[],false)},{prop:"ColorMask",name:"ColorMask",pkg:"",typ:$funcType([$Bool,$Bool,$Bool,$Bool],[],false)},{prop:"CompileShader",name:"CompileShader",pkg:"",typ:$funcType([J],[],false)},{prop:"CopyTexImage2D",name:"CopyTexImage2D",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int,$Int,$Int,$Int,$Int],[],false)},{prop:"CopyTexSubImage2D",name:"CopyTexSubImage2D",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int,$Int,$Int,$Int,$Int],[],false)},{prop:"CreateBuffer",name:"CreateBuffer",pkg:"",typ:$funcType([],[J],false)},{prop:"CreateFramebuffer",name:"CreateFramebuffer",pkg:"",typ:$funcType([],[J],false)},{prop:"CreateProgram",name:"CreateProgram",pkg:"",typ:$funcType([],[J],false)},{prop:"CreateRenderbuffer",name:"CreateRenderbuffer",pkg:"",typ:$funcType([],[J],false)},{prop:"CreateShader",name:"CreateShader",pkg:"",typ:$funcType([$Int],[J],false)},{prop:"CreateTexture",name:"CreateTexture",pkg:"",typ:$funcType([],[J],false)},{prop:"CullFace",name:"CullFace",pkg:"",typ:$funcType([$Int],[],false)},{prop:"DeleteBuffer",name:"DeleteBuffer",pkg:"",typ:$funcType([J],[],false)},{prop:"DeleteFramebuffer",name:"DeleteFramebuffer",pkg:"",typ:$funcType([J],[],false)},{prop:"DeleteProgram",name:"DeleteProgram",pkg:"",typ:$funcType([J],[],false)},{prop:"DeleteRenderbuffer",name:"DeleteRenderbuffer",pkg:"",typ:$funcType([J],[],false)},{prop:"DeleteShader",name:"DeleteShader",pkg:"",typ:$funcType([J],[],false)},{prop:"DeleteTexture",name:"DeleteTexture",pkg:"",typ:$funcType([J],[],false)},{prop:"DepthFunc",name:"DepthFunc",pkg:"",typ:$funcType([$Int],[],false)},{prop:"DepthMask",name:"DepthMask",pkg:"",typ:$funcType([$Bool],[],false)},{prop:"DepthRange",name:"DepthRange",pkg:"",typ:$funcType([$Float64,$Float64],[],false)},{prop:"DetachShader",name:"DetachShader",pkg:"",typ:$funcType([J,J],[],false)},{prop:"Disable",name:"Disable",pkg:"",typ:$funcType([$Int],[],false)},{prop:"DisableVertexAttribArray",name:"DisableVertexAttribArray",pkg:"",typ:$funcType([$Int],[],false)},{prop:"DrawArrays",name:"DrawArrays",pkg:"",typ:$funcType([$Int,$Int,$Int],[],false)},{prop:"DrawElements",name:"DrawElements",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int],[],false)},{prop:"Enable",name:"Enable",pkg:"",typ:$funcType([$Int],[],false)},{prop:"EnableVertexAttribArray",name:"EnableVertexAttribArray",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Finish",name:"Finish",pkg:"",typ:$funcType([],[],false)},{prop:"Flush",name:"Flush",pkg:"",typ:$funcType([],[],false)},{prop:"FrameBufferRenderBuffer",name:"FrameBufferRenderBuffer",pkg:"",typ:$funcType([$Int,$Int,$Int,J],[],false)},{prop:"FramebufferTexture2D",name:"FramebufferTexture2D",pkg:"",typ:$funcType([$Int,$Int,$Int,J,$Int],[],false)},{prop:"FrontFace",name:"FrontFace",pkg:"",typ:$funcType([$Int],[],false)},{prop:"GenerateMipmap",name:"GenerateMipmap",pkg:"",typ:$funcType([$Int],[],false)},{prop:"GetActiveAttrib",name:"GetActiveAttrib",pkg:"",typ:$funcType([J,$Int],[J],false)},{prop:"GetActiveUniform",name:"GetActiveUniform",pkg:"",typ:$funcType([J,$Int],[J],false)},{prop:"GetAttachedShaders",name:"GetAttachedShaders",pkg:"",typ:$funcType([J],[K],false)},{prop:"GetAttribLocation",name:"GetAttribLocation",pkg:"",typ:$funcType([J,$String],[$Int],false)},{prop:"GetBufferParameter",name:"GetBufferParameter",pkg:"",typ:$funcType([$Int,$Int],[J],false)},{prop:"GetParameter",name:"GetParameter",pkg:"",typ:$funcType([$Int],[J],false)},{prop:"GetError",name:"GetError",pkg:"",typ:$funcType([],[$Int],false)},{prop:"GetExtension",name:"GetExtension",pkg:"",typ:$funcType([$String],[J],false)},{prop:"GetFramebufferAttachmentParameter",name:"GetFramebufferAttachmentParameter",pkg:"",typ:$funcType([$Int,$Int,$Int],[J],false)},{prop:"GetProgramParameteri",name:"GetProgramParameteri",pkg:"",typ:$funcType([J,$Int],[$Int],false)},{prop:"GetProgramParameterb",name:"GetProgramParameterb",pkg:"",typ:$funcType([J,$Int],[$Bool],false)},{prop:"GetProgramInfoLog",name:"GetProgramInfoLog",pkg:"",typ:$funcType([J],[$String],false)},{prop:"GetRenderbufferParameter",name:"GetRenderbufferParameter",pkg:"",typ:$funcType([$Int,$Int],[J],false)},{prop:"GetShaderParameter",name:"GetShaderParameter",pkg:"",typ:$funcType([J,$Int],[J],false)},{prop:"GetShaderParameterb",name:"GetShaderParameterb",pkg:"",typ:$funcType([J,$Int],[$Bool],false)},{prop:"GetShaderInfoLog",name:"GetShaderInfoLog",pkg:"",typ:$funcType([J],[$String],false)},{prop:"GetShaderSource",name:"GetShaderSource",pkg:"",typ:$funcType([J],[$String],false)},{prop:"GetSupportedExtensions",name:"GetSupportedExtensions",pkg:"",typ:$funcType([],[L],false)},{prop:"GetTexParameter",name:"GetTexParameter",pkg:"",typ:$funcType([$Int,$Int],[J],false)},{prop:"GetUniform",name:"GetUniform",pkg:"",typ:$funcType([J,J],[J],false)},{prop:"GetUniformLocation",name:"GetUniformLocation",pkg:"",typ:$funcType([J,$String],[J],false)},{prop:"GetVertexAttrib",name:"GetVertexAttrib",pkg:"",typ:$funcType([$Int,$Int],[J],false)},{prop:"GetVertexAttribOffset",name:"GetVertexAttribOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"IsBuffer",name:"IsBuffer",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsContextLost",name:"IsContextLost",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsFramebuffer",name:"IsFramebuffer",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsProgram",name:"IsProgram",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsRenderbuffer",name:"IsRenderbuffer",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsShader",name:"IsShader",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsTexture",name:"IsTexture",pkg:"",typ:$funcType([J],[$Bool],false)},{prop:"IsEnabled",name:"IsEnabled",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"LineWidth",name:"LineWidth",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"LinkProgram",name:"LinkProgram",pkg:"",typ:$funcType([J],[],false)},{prop:"PixelStorei",name:"PixelStorei",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"PolygonOffset",name:"PolygonOffset",pkg:"",typ:$funcType([$Float64,$Float64],[],false)},{prop:"ReadPixels",name:"ReadPixels",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int,$Int,$Int,J],[],false)},{prop:"RenderbufferStorage",name:"RenderbufferStorage",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int],[],false)},{prop:"Scissor",name:"Scissor",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int],[],false)},{prop:"ShaderSource",name:"ShaderSource",pkg:"",typ:$funcType([J,$String],[],false)},{prop:"TexImage2D",name:"TexImage2D",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int,$Int,J],[],false)},{prop:"TexParameteri",name:"TexParameteri",pkg:"",typ:$funcType([$Int,$Int,$Int],[],false)},{prop:"TexSubImage2D",name:"TexSubImage2D",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int,$Int,$Int,J],[],false)},{prop:"Uniform1f",name:"Uniform1f",pkg:"",typ:$funcType([J,$Float32],[],false)},{prop:"Uniform1i",name:"Uniform1i",pkg:"",typ:$funcType([J,$Int],[],false)},{prop:"Uniform2f",name:"Uniform2f",pkg:"",typ:$funcType([J,$Float32,$Float32],[],false)},{prop:"Uniform2i",name:"Uniform2i",pkg:"",typ:$funcType([J,$Int,$Int],[],false)},{prop:"Uniform3f",name:"Uniform3f",pkg:"",typ:$funcType([J,$Float32,$Float32,$Float32],[],false)},{prop:"Uniform3i",name:"Uniform3i",pkg:"",typ:$funcType([J,$Int,$Int,$Int],[],false)},{prop:"Uniform4f",name:"Uniform4f",pkg:"",typ:$funcType([J,$Float32,$Float32,$Float32,$Float32],[],false)},{prop:"Uniform4i",name:"Uniform4i",pkg:"",typ:$funcType([J,$Int,$Int,$Int,$Int],[],false)},{prop:"UniformMatrix2fv",name:"UniformMatrix2fv",pkg:"",typ:$funcType([J,$Bool,M],[],false)},{prop:"UniformMatrix3fv",name:"UniformMatrix3fv",pkg:"",typ:$funcType([J,$Bool,M],[],false)},{prop:"UniformMatrix4fv",name:"UniformMatrix4fv",pkg:"",typ:$funcType([J,$Bool,M],[],false)},{prop:"UseProgram",name:"UseProgram",pkg:"",typ:$funcType([J],[],false)},{prop:"ValidateProgram",name:"ValidateProgram",pkg:"",typ:$funcType([J],[],false)},{prop:"VertexAttribPointer",name:"VertexAttribPointer",pkg:"",typ:$funcType([$Int,$Int,$Int,$Bool,$Int,$Int],[],false)},{prop:"Viewport",name:"Viewport",pkg:"",typ:$funcType([$Int,$Int,$Int,$Int],[],false)}];C.init([{prop:"Alpha",name:"Alpha",pkg:"",typ:$Bool,tag:""},{prop:"Depth",name:"Depth",pkg:"",typ:$Bool,tag:""},{prop:"Stencil",name:"Stencil",pkg:"",typ:$Bool,tag:""},{prop:"Antialias",name:"Antialias",pkg:"",typ:$Bool,tag:""},{prop:"PremultipliedAlpha",name:"PremultipliedAlpha",pkg:"",typ:$Bool,tag:""},{prop:"PreserveDrawingBuffer",name:"PreserveDrawingBuffer",pkg:"",typ:$Bool,tag:""}]);E.init([{prop:"Object",name:"",pkg:"",typ:J,tag:""},{prop:"ARRAY_BUFFER",name:"ARRAY_BUFFER",pkg:"",typ:$Int,tag:"js:\"ARRAY_BUFFER\""},{prop:"ARRAY_BUFFER_BINDING",name:"ARRAY_BUFFER_BINDING",pkg:"",typ:$Int,tag:"js:\"ARRAY_BUFFER_BINDING\""},{prop:"ATTACHED_SHADERS",name:"ATTACHED_SHADERS",pkg:"",typ:$Int,tag:"js:\"ATTACHED_SHADERS\""},{prop:"BACK",name:"BACK",pkg:"",typ:$Int,tag:"js:\"BACK\""},{prop:"BLEND",name:"BLEND",pkg:"",typ:$Int,tag:"js:\"BLEND\""},{prop:"BLEND_COLOR",name:"BLEND_COLOR",pkg:"",typ:$Int,tag:"js:\"BLEND_COLOR\""},{prop:"BLEND_DST_ALPHA",name:"BLEND_DST_ALPHA",pkg:"",typ:$Int,tag:"js:\"BLEND_DST_ALPHA\""},{prop:"BLEND_DST_RGB",name:"BLEND_DST_RGB",pkg:"",typ:$Int,tag:"js:\"BLEND_DST_RGB\""},{prop:"BLEND_EQUATION",name:"BLEND_EQUATION",pkg:"",typ:$Int,tag:"js:\"BLEND_EQUATION\""},{prop:"BLEND_EQUATION_ALPHA",name:"BLEND_EQUATION_ALPHA",pkg:"",typ:$Int,tag:"js:\"BLEND_EQUATION_ALPHA\""},{prop:"BLEND_EQUATION_RGB",name:"BLEND_EQUATION_RGB",pkg:"",typ:$Int,tag:"js:\"BLEND_EQUATION_RGB\""},{prop:"BLEND_SRC_ALPHA",name:"BLEND_SRC_ALPHA",pkg:"",typ:$Int,tag:"js:\"BLEND_SRC_ALPHA\""},{prop:"BLEND_SRC_RGB",name:"BLEND_SRC_RGB",pkg:"",typ:$Int,tag:"js:\"BLEND_SRC_RGB\""},{prop:"BLUE_BITS",name:"BLUE_BITS",pkg:"",typ:$Int,tag:"js:\"BLUE_BITS\""},{prop:"BOOL",name:"BOOL",pkg:"",typ:$Int,tag:"js:\"BOOL\""},{prop:"BOOL_VEC2",name:"BOOL_VEC2",pkg:"",typ:$Int,tag:"js:\"BOOL_VEC2\""},{prop:"BOOL_VEC3",name:"BOOL_VEC3",pkg:"",typ:$Int,tag:"js:\"BOOL_VEC3\""},{prop:"BOOL_VEC4",name:"BOOL_VEC4",pkg:"",typ:$Int,tag:"js:\"BOOL_VEC4\""},{prop:"BROWSER_DEFAULT_WEBGL",name:"BROWSER_DEFAULT_WEBGL",pkg:"",typ:$Int,tag:"js:\"BROWSER_DEFAULT_WEBGL\""},{prop:"BUFFER_SIZE",name:"BUFFER_SIZE",pkg:"",typ:$Int,tag:"js:\"BUFFER_SIZE\""},{prop:"BUFFER_USAGE",name:"BUFFER_USAGE",pkg:"",typ:$Int,tag:"js:\"BUFFER_USAGE\""},{prop:"BYTE",name:"BYTE",pkg:"",typ:$Int,tag:"js:\"BYTE\""},{prop:"CCW",name:"CCW",pkg:"",typ:$Int,tag:"js:\"CCW\""},{prop:"CLAMP_TO_EDGE",name:"CLAMP_TO_EDGE",pkg:"",typ:$Int,tag:"js:\"CLAMP_TO_EDGE\""},{prop:"COLOR_ATTACHMENT0",name:"COLOR_ATTACHMENT0",pkg:"",typ:$Int,tag:"js:\"COLOR_ATTACHMENT0\""},{prop:"COLOR_BUFFER_BIT",name:"COLOR_BUFFER_BIT",pkg:"",typ:$Int,tag:"js:\"COLOR_BUFFER_BIT\""},{prop:"COLOR_CLEAR_VALUE",name:"COLOR_CLEAR_VALUE",pkg:"",typ:$Int,tag:"js:\"COLOR_CLEAR_VALUE\""},{prop:"COLOR_WRITEMASK",name:"COLOR_WRITEMASK",pkg:"",typ:$Int,tag:"js:\"COLOR_WRITEMASK\""},{prop:"COMPILE_STATUS",name:"COMPILE_STATUS",pkg:"",typ:$Int,tag:"js:\"COMPILE_STATUS\""},{prop:"COMPRESSED_TEXTURE_FORMATS",name:"COMPRESSED_TEXTURE_FORMATS",pkg:"",typ:$Int,tag:"js:\"COMPRESSED_TEXTURE_FORMATS\""},{prop:"CONSTANT_ALPHA",name:"CONSTANT_ALPHA",pkg:"",typ:$Int,tag:"js:\"CONSTANT_ALPHA\""},{prop:"CONSTANT_COLOR",name:"CONSTANT_COLOR",pkg:"",typ:$Int,tag:"js:\"CONSTANT_COLOR\""},{prop:"CONTEXT_LOST_WEBGL",name:"CONTEXT_LOST_WEBGL",pkg:"",typ:$Int,tag:"js:\"CONTEXT_LOST_WEBGL\""},{prop:"CULL_FACE",name:"CULL_FACE",pkg:"",typ:$Int,tag:"js:\"CULL_FACE\""},{prop:"CULL_FACE_MODE",name:"CULL_FACE_MODE",pkg:"",typ:$Int,tag:"js:\"CULL_FACE_MODE\""},{prop:"CURRENT_PROGRAM",name:"CURRENT_PROGRAM",pkg:"",typ:$Int,tag:"js:\"CURRENT_PROGRAM\""},{prop:"CURRENT_VERTEX_ATTRIB",name:"CURRENT_VERTEX_ATTRIB",pkg:"",typ:$Int,tag:"js:\"CURRENT_VERTEX_ATTRIB\""},{prop:"CW",name:"CW",pkg:"",typ:$Int,tag:"js:\"CW\""},{prop:"DECR",name:"DECR",pkg:"",typ:$Int,tag:"js:\"DECR\""},{prop:"DECR_WRAP",name:"DECR_WRAP",pkg:"",typ:$Int,tag:"js:\"DECR_WRAP\""},{prop:"DELETE_STATUS",name:"DELETE_STATUS",pkg:"",typ:$Int,tag:"js:\"DELETE_STATUS\""},{prop:"DEPTH_ATTACHMENT",name:"DEPTH_ATTACHMENT",pkg:"",typ:$Int,tag:"js:\"DEPTH_ATTACHMENT\""},{prop:"DEPTH_BITS",name:"DEPTH_BITS",pkg:"",typ:$Int,tag:"js:\"DEPTH_BITS\""},{prop:"DEPTH_BUFFER_BIT",name:"DEPTH_BUFFER_BIT",pkg:"",typ:$Int,tag:"js:\"DEPTH_BUFFER_BIT\""},{prop:"DEPTH_CLEAR_VALUE",name:"DEPTH_CLEAR_VALUE",pkg:"",typ:$Int,tag:"js:\"DEPTH_CLEAR_VALUE\""},{prop:"DEPTH_COMPONENT",name:"DEPTH_COMPONENT",pkg:"",typ:$Int,tag:"js:\"DEPTH_COMPONENT\""},{prop:"DEPTH_COMPONENT16",name:"DEPTH_COMPONENT16",pkg:"",typ:$Int,tag:"js:\"DEPTH_COMPONENT16\""},{prop:"DEPTH_FUNC",name:"DEPTH_FUNC",pkg:"",typ:$Int,tag:"js:\"DEPTH_FUNC\""},{prop:"DEPTH_RANGE",name:"DEPTH_RANGE",pkg:"",typ:$Int,tag:"js:\"DEPTH_RANGE\""},{prop:"DEPTH_STENCIL",name:"DEPTH_STENCIL",pkg:"",typ:$Int,tag:"js:\"DEPTH_STENCIL\""},{prop:"DEPTH_STENCIL_ATTACHMENT",name:"DEPTH_STENCIL_ATTACHMENT",pkg:"",typ:$Int,tag:"js:\"DEPTH_STENCIL_ATTACHMENT\""},{prop:"DEPTH_TEST",name:"DEPTH_TEST",pkg:"",typ:$Int,tag:"js:\"DEPTH_TEST\""},{prop:"DEPTH_WRITEMASK",name:"DEPTH_WRITEMASK",pkg:"",typ:$Int,tag:"js:\"DEPTH_WRITEMASK\""},{prop:"DITHER",name:"DITHER",pkg:"",typ:$Int,tag:"js:\"DITHER\""},{prop:"DONT_CARE",name:"DONT_CARE",pkg:"",typ:$Int,tag:"js:\"DONT_CARE\""},{prop:"DST_ALPHA",name:"DST_ALPHA",pkg:"",typ:$Int,tag:"js:\"DST_ALPHA\""},{prop:"DST_COLOR",name:"DST_COLOR",pkg:"",typ:$Int,tag:"js:\"DST_COLOR\""},{prop:"DYNAMIC_DRAW",name:"DYNAMIC_DRAW",pkg:"",typ:$Int,tag:"js:\"DYNAMIC_DRAW\""},{prop:"ELEMENT_ARRAY_BUFFER",name:"ELEMENT_ARRAY_BUFFER",pkg:"",typ:$Int,tag:"js:\"ELEMENT_ARRAY_BUFFER\""},{prop:"ELEMENT_ARRAY_BUFFER_BINDING",name:"ELEMENT_ARRAY_BUFFER_BINDING",pkg:"",typ:$Int,tag:"js:\"ELEMENT_ARRAY_BUFFER_BINDING\""},{prop:"EQUAL",name:"EQUAL",pkg:"",typ:$Int,tag:"js:\"EQUAL\""},{prop:"FASTEST",name:"FASTEST",pkg:"",typ:$Int,tag:"js:\"FASTEST\""},{prop:"FLOAT",name:"FLOAT",pkg:"",typ:$Int,tag:"js:\"FLOAT\""},{prop:"FLOAT_MAT2",name:"FLOAT_MAT2",pkg:"",typ:$Int,tag:"js:\"FLOAT_MAT2\""},{prop:"FLOAT_MAT3",name:"FLOAT_MAT3",pkg:"",typ:$Int,tag:"js:\"FLOAT_MAT3\""},{prop:"FLOAT_MAT4",name:"FLOAT_MAT4",pkg:"",typ:$Int,tag:"js:\"FLOAT_MAT4\""},{prop:"FLOAT_VEC2",name:"FLOAT_VEC2",pkg:"",typ:$Int,tag:"js:\"FLOAT_VEC2\""},{prop:"FLOAT_VEC3",name:"FLOAT_VEC3",pkg:"",typ:$Int,tag:"js:\"FLOAT_VEC3\""},{prop:"FLOAT_VEC4",name:"FLOAT_VEC4",pkg:"",typ:$Int,tag:"js:\"FLOAT_VEC4\""},{prop:"FRAGMENT_SHADER",name:"FRAGMENT_SHADER",pkg:"",typ:$Int,tag:"js:\"FRAGMENT_SHADER\""},{prop:"FRAMEBUFFER",name:"FRAMEBUFFER",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER\""},{prop:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",name:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\""},{prop:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",name:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\""},{prop:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",name:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\""},{prop:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",name:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\""},{prop:"FRAMEBUFFER_BINDING",name:"FRAMEBUFFER_BINDING",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_BINDING\""},{prop:"FRAMEBUFFER_COMPLETE",name:"FRAMEBUFFER_COMPLETE",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_COMPLETE\""},{prop:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",name:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\""},{prop:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",name:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\""},{prop:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",name:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\""},{prop:"FRAMEBUFFER_UNSUPPORTED",name:"FRAMEBUFFER_UNSUPPORTED",pkg:"",typ:$Int,tag:"js:\"FRAMEBUFFER_UNSUPPORTED\""},{prop:"FRONT",name:"FRONT",pkg:"",typ:$Int,tag:"js:\"FRONT\""},{prop:"FRONT_AND_BACK",name:"FRONT_AND_BACK",pkg:"",typ:$Int,tag:"js:\"FRONT_AND_BACK\""},{prop:"FRONT_FACE",name:"FRONT_FACE",pkg:"",typ:$Int,tag:"js:\"FRONT_FACE\""},{prop:"FUNC_ADD",name:"FUNC_ADD",pkg:"",typ:$Int,tag:"js:\"FUNC_ADD\""},{prop:"FUNC_REVERSE_SUBTRACT",name:"FUNC_REVERSE_SUBTRACT",pkg:"",typ:$Int,tag:"js:\"FUNC_REVERSE_SUBTRACT\""},{prop:"FUNC_SUBTRACT",name:"FUNC_SUBTRACT",pkg:"",typ:$Int,tag:"js:\"FUNC_SUBTRACT\""},{prop:"GENERATE_MIPMAP_HINT",name:"GENERATE_MIPMAP_HINT",pkg:"",typ:$Int,tag:"js:\"GENERATE_MIPMAP_HINT\""},{prop:"GEQUAL",name:"GEQUAL",pkg:"",typ:$Int,tag:"js:\"GEQUAL\""},{prop:"GREATER",name:"GREATER",pkg:"",typ:$Int,tag:"js:\"GREATER\""},{prop:"GREEN_BITS",name:"GREEN_BITS",pkg:"",typ:$Int,tag:"js:\"GREEN_BITS\""},{prop:"HIGH_FLOAT",name:"HIGH_FLOAT",pkg:"",typ:$Int,tag:"js:\"HIGH_FLOAT\""},{prop:"HIGH_INT",name:"HIGH_INT",pkg:"",typ:$Int,tag:"js:\"HIGH_INT\""},{prop:"INCR",name:"INCR",pkg:"",typ:$Int,tag:"js:\"INCR\""},{prop:"INCR_WRAP",name:"INCR_WRAP",pkg:"",typ:$Int,tag:"js:\"INCR_WRAP\""},{prop:"INFO_LOG_LENGTH",name:"INFO_LOG_LENGTH",pkg:"",typ:$Int,tag:"js:\"INFO_LOG_LENGTH\""},{prop:"INT",name:"INT",pkg:"",typ:$Int,tag:"js:\"INT\""},{prop:"INT_VEC2",name:"INT_VEC2",pkg:"",typ:$Int,tag:"js:\"INT_VEC2\""},{prop:"INT_VEC3",name:"INT_VEC3",pkg:"",typ:$Int,tag:"js:\"INT_VEC3\""},{prop:"INT_VEC4",name:"INT_VEC4",pkg:"",typ:$Int,tag:"js:\"INT_VEC4\""},{prop:"INVALID_ENUM",name:"INVALID_ENUM",pkg:"",typ:$Int,tag:"js:\"INVALID_ENUM\""},{prop:"INVALID_FRAMEBUFFER_OPERATION",name:"INVALID_FRAMEBUFFER_OPERATION",pkg:"",typ:$Int,tag:"js:\"INVALID_FRAMEBUFFER_OPERATION\""},{prop:"INVALID_OPERATION",name:"INVALID_OPERATION",pkg:"",typ:$Int,tag:"js:\"INVALID_OPERATION\""},{prop:"INVALID_VALUE",name:"INVALID_VALUE",pkg:"",typ:$Int,tag:"js:\"INVALID_VALUE\""},{prop:"INVERT",name:"INVERT",pkg:"",typ:$Int,tag:"js:\"INVERT\""},{prop:"KEEP",name:"KEEP",pkg:"",typ:$Int,tag:"js:\"KEEP\""},{prop:"LEQUAL",name:"LEQUAL",pkg:"",typ:$Int,tag:"js:\"LEQUAL\""},{prop:"LESS",name:"LESS",pkg:"",typ:$Int,tag:"js:\"LESS\""},{prop:"LINEAR",name:"LINEAR",pkg:"",typ:$Int,tag:"js:\"LINEAR\""},{prop:"LINEAR_MIPMAP_LINEAR",name:"LINEAR_MIPMAP_LINEAR",pkg:"",typ:$Int,tag:"js:\"LINEAR_MIPMAP_LINEAR\""},{prop:"LINEAR_MIPMAP_NEAREST",name:"LINEAR_MIPMAP_NEAREST",pkg:"",typ:$Int,tag:"js:\"LINEAR_MIPMAP_NEAREST\""},{prop:"LINES",name:"LINES",pkg:"",typ:$Int,tag:"js:\"LINES\""},{prop:"LINE_LOOP",name:"LINE_LOOP",pkg:"",typ:$Int,tag:"js:\"LINE_LOOP\""},{prop:"LINE_STRIP",name:"LINE_STRIP",pkg:"",typ:$Int,tag:"js:\"LINE_STRIP\""},{prop:"LINE_WIDTH",name:"LINE_WIDTH",pkg:"",typ:$Int,tag:"js:\"LINE_WIDTH\""},{prop:"LINK_STATUS",name:"LINK_STATUS",pkg:"",typ:$Int,tag:"js:\"LINK_STATUS\""},{prop:"LOW_FLOAT",name:"LOW_FLOAT",pkg:"",typ:$Int,tag:"js:\"LOW_FLOAT\""},{prop:"LOW_INT",name:"LOW_INT",pkg:"",typ:$Int,tag:"js:\"LOW_INT\""},{prop:"LUMINANCE",name:"LUMINANCE",pkg:"",typ:$Int,tag:"js:\"LUMINANCE\""},{prop:"LUMINANCE_ALPHA",name:"LUMINANCE_ALPHA",pkg:"",typ:$Int,tag:"js:\"LUMINANCE_ALPHA\""},{prop:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",name:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",pkg:"",typ:$Int,tag:"js:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\""},{prop:"MAX_CUBE_MAP_TEXTURE_SIZE",name:"MAX_CUBE_MAP_TEXTURE_SIZE",pkg:"",typ:$Int,tag:"js:\"MAX_CUBE_MAP_TEXTURE_SIZE\""},{prop:"MAX_FRAGMENT_UNIFORM_VECTORS",name:"MAX_FRAGMENT_UNIFORM_VECTORS",pkg:"",typ:$Int,tag:"js:\"MAX_FRAGMENT_UNIFORM_VECTORS\""},{prop:"MAX_RENDERBUFFER_SIZE",name:"MAX_RENDERBUFFER_SIZE",pkg:"",typ:$Int,tag:"js:\"MAX_RENDERBUFFER_SIZE\""},{prop:"MAX_TEXTURE_IMAGE_UNITS",name:"MAX_TEXTURE_IMAGE_UNITS",pkg:"",typ:$Int,tag:"js:\"MAX_TEXTURE_IMAGE_UNITS\""},{prop:"MAX_TEXTURE_SIZE",name:"MAX_TEXTURE_SIZE",pkg:"",typ:$Int,tag:"js:\"MAX_TEXTURE_SIZE\""},{prop:"MAX_VARYING_VECTORS",name:"MAX_VARYING_VECTORS",pkg:"",typ:$Int,tag:"js:\"MAX_VARYING_VECTORS\""},{prop:"MAX_VERTEX_ATTRIBS",name:"MAX_VERTEX_ATTRIBS",pkg:"",typ:$Int,tag:"js:\"MAX_VERTEX_ATTRIBS\""},{prop:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",name:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",pkg:"",typ:$Int,tag:"js:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\""},{prop:"MAX_VERTEX_UNIFORM_VECTORS",name:"MAX_VERTEX_UNIFORM_VECTORS",pkg:"",typ:$Int,tag:"js:\"MAX_VERTEX_UNIFORM_VECTORS\""},{prop:"MAX_VIEWPORT_DIMS",name:"MAX_VIEWPORT_DIMS",pkg:"",typ:$Int,tag:"js:\"MAX_VIEWPORT_DIMS\""},{prop:"MEDIUM_FLOAT",name:"MEDIUM_FLOAT",pkg:"",typ:$Int,tag:"js:\"MEDIUM_FLOAT\""},{prop:"MEDIUM_INT",name:"MEDIUM_INT",pkg:"",typ:$Int,tag:"js:\"MEDIUM_INT\""},{prop:"MIRRORED_REPEAT",name:"MIRRORED_REPEAT",pkg:"",typ:$Int,tag:"js:\"MIRRORED_REPEAT\""},{prop:"NEAREST",name:"NEAREST",pkg:"",typ:$Int,tag:"js:\"NEAREST\""},{prop:"NEAREST_MIPMAP_LINEAR",name:"NEAREST_MIPMAP_LINEAR",pkg:"",typ:$Int,tag:"js:\"NEAREST_MIPMAP_LINEAR\""},{prop:"NEAREST_MIPMAP_NEAREST",name:"NEAREST_MIPMAP_NEAREST",pkg:"",typ:$Int,tag:"js:\"NEAREST_MIPMAP_NEAREST\""},{prop:"NEVER",name:"NEVER",pkg:"",typ:$Int,tag:"js:\"NEVER\""},{prop:"NICEST",name:"NICEST",pkg:"",typ:$Int,tag:"js:\"NICEST\""},{prop:"NONE",name:"NONE",pkg:"",typ:$Int,tag:"js:\"NONE\""},{prop:"NOTEQUAL",name:"NOTEQUAL",pkg:"",typ:$Int,tag:"js:\"NOTEQUAL\""},{prop:"NO_ERROR",name:"NO_ERROR",pkg:"",typ:$Int,tag:"js:\"NO_ERROR\""},{prop:"NUM_COMPRESSED_TEXTURE_FORMATS",name:"NUM_COMPRESSED_TEXTURE_FORMATS",pkg:"",typ:$Int,tag:"js:\"NUM_COMPRESSED_TEXTURE_FORMATS\""},{prop:"ONE",name:"ONE",pkg:"",typ:$Int,tag:"js:\"ONE\""},{prop:"ONE_MINUS_CONSTANT_ALPHA",name:"ONE_MINUS_CONSTANT_ALPHA",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_CONSTANT_ALPHA\""},{prop:"ONE_MINUS_CONSTANT_COLOR",name:"ONE_MINUS_CONSTANT_COLOR",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_CONSTANT_COLOR\""},{prop:"ONE_MINUS_DST_ALPHA",name:"ONE_MINUS_DST_ALPHA",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_DST_ALPHA\""},{prop:"ONE_MINUS_DST_COLOR",name:"ONE_MINUS_DST_COLOR",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_DST_COLOR\""},{prop:"ONE_MINUS_SRC_ALPHA",name:"ONE_MINUS_SRC_ALPHA",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_SRC_ALPHA\""},{prop:"ONE_MINUS_SRC_COLOR",name:"ONE_MINUS_SRC_COLOR",pkg:"",typ:$Int,tag:"js:\"ONE_MINUS_SRC_COLOR\""},{prop:"OUT_OF_MEMORY",name:"OUT_OF_MEMORY",pkg:"",typ:$Int,tag:"js:\"OUT_OF_MEMORY\""},{prop:"PACK_ALIGNMENT",name:"PACK_ALIGNMENT",pkg:"",typ:$Int,tag:"js:\"PACK_ALIGNMENT\""},{prop:"POINTS",name:"POINTS",pkg:"",typ:$Int,tag:"js:\"POINTS\""},{prop:"POLYGON_OFFSET_FACTOR",name:"POLYGON_OFFSET_FACTOR",pkg:"",typ:$Int,tag:"js:\"POLYGON_OFFSET_FACTOR\""},{prop:"POLYGON_OFFSET_FILL",name:"POLYGON_OFFSET_FILL",pkg:"",typ:$Int,tag:"js:\"POLYGON_OFFSET_FILL\""},{prop:"POLYGON_OFFSET_UNITS",name:"POLYGON_OFFSET_UNITS",pkg:"",typ:$Int,tag:"js:\"POLYGON_OFFSET_UNITS\""},{prop:"RED_BITS",name:"RED_BITS",pkg:"",typ:$Int,tag:"js:\"RED_BITS\""},{prop:"RENDERBUFFER",name:"RENDERBUFFER",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER\""},{prop:"RENDERBUFFER_ALPHA_SIZE",name:"RENDERBUFFER_ALPHA_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_ALPHA_SIZE\""},{prop:"RENDERBUFFER_BINDING",name:"RENDERBUFFER_BINDING",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_BINDING\""},{prop:"RENDERBUFFER_BLUE_SIZE",name:"RENDERBUFFER_BLUE_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_BLUE_SIZE\""},{prop:"RENDERBUFFER_DEPTH_SIZE",name:"RENDERBUFFER_DEPTH_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_DEPTH_SIZE\""},{prop:"RENDERBUFFER_GREEN_SIZE",name:"RENDERBUFFER_GREEN_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_GREEN_SIZE\""},{prop:"RENDERBUFFER_HEIGHT",name:"RENDERBUFFER_HEIGHT",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_HEIGHT\""},{prop:"RENDERBUFFER_INTERNAL_FORMAT",name:"RENDERBUFFER_INTERNAL_FORMAT",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_INTERNAL_FORMAT\""},{prop:"RENDERBUFFER_RED_SIZE",name:"RENDERBUFFER_RED_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_RED_SIZE\""},{prop:"RENDERBUFFER_STENCIL_SIZE",name:"RENDERBUFFER_STENCIL_SIZE",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_STENCIL_SIZE\""},{prop:"RENDERBUFFER_WIDTH",name:"RENDERBUFFER_WIDTH",pkg:"",typ:$Int,tag:"js:\"RENDERBUFFER_WIDTH\""},{prop:"RENDERER",name:"RENDERER",pkg:"",typ:$Int,tag:"js:\"RENDERER\""},{prop:"REPEAT",name:"REPEAT",pkg:"",typ:$Int,tag:"js:\"REPEAT\""},{prop:"REPLACE",name:"REPLACE",pkg:"",typ:$Int,tag:"js:\"REPLACE\""},{prop:"RGB",name:"RGB",pkg:"",typ:$Int,tag:"js:\"RGB\""},{prop:"RGB5_A1",name:"RGB5_A1",pkg:"",typ:$Int,tag:"js:\"RGB5_A1\""},{prop:"RGB565",name:"RGB565",pkg:"",typ:$Int,tag:"js:\"RGB565\""},{prop:"RGBA",name:"RGBA",pkg:"",typ:$Int,tag:"js:\"RGBA\""},{prop:"RGBA4",name:"RGBA4",pkg:"",typ:$Int,tag:"js:\"RGBA4\""},{prop:"SAMPLER_2D",name:"SAMPLER_2D",pkg:"",typ:$Int,tag:"js:\"SAMPLER_2D\""},{prop:"SAMPLER_CUBE",name:"SAMPLER_CUBE",pkg:"",typ:$Int,tag:"js:\"SAMPLER_CUBE\""},{prop:"SAMPLES",name:"SAMPLES",pkg:"",typ:$Int,tag:"js:\"SAMPLES\""},{prop:"SAMPLE_ALPHA_TO_COVERAGE",name:"SAMPLE_ALPHA_TO_COVERAGE",pkg:"",typ:$Int,tag:"js:\"SAMPLE_ALPHA_TO_COVERAGE\""},{prop:"SAMPLE_BUFFERS",name:"SAMPLE_BUFFERS",pkg:"",typ:$Int,tag:"js:\"SAMPLE_BUFFERS\""},{prop:"SAMPLE_COVERAGE",name:"SAMPLE_COVERAGE",pkg:"",typ:$Int,tag:"js:\"SAMPLE_COVERAGE\""},{prop:"SAMPLE_COVERAGE_INVERT",name:"SAMPLE_COVERAGE_INVERT",pkg:"",typ:$Int,tag:"js:\"SAMPLE_COVERAGE_INVERT\""},{prop:"SAMPLE_COVERAGE_VALUE",name:"SAMPLE_COVERAGE_VALUE",pkg:"",typ:$Int,tag:"js:\"SAMPLE_COVERAGE_VALUE\""},{prop:"SCISSOR_BOX",name:"SCISSOR_BOX",pkg:"",typ:$Int,tag:"js:\"SCISSOR_BOX\""},{prop:"SCISSOR_TEST",name:"SCISSOR_TEST",pkg:"",typ:$Int,tag:"js:\"SCISSOR_TEST\""},{prop:"SHADER_COMPILER",name:"SHADER_COMPILER",pkg:"",typ:$Int,tag:"js:\"SHADER_COMPILER\""},{prop:"SHADER_SOURCE_LENGTH",name:"SHADER_SOURCE_LENGTH",pkg:"",typ:$Int,tag:"js:\"SHADER_SOURCE_LENGTH\""},{prop:"SHADER_TYPE",name:"SHADER_TYPE",pkg:"",typ:$Int,tag:"js:\"SHADER_TYPE\""},{prop:"SHADING_LANGUAGE_VERSION",name:"SHADING_LANGUAGE_VERSION",pkg:"",typ:$Int,tag:"js:\"SHADING_LANGUAGE_VERSION\""},{prop:"SHORT",name:"SHORT",pkg:"",typ:$Int,tag:"js:\"SHORT\""},{prop:"SRC_ALPHA",name:"SRC_ALPHA",pkg:"",typ:$Int,tag:"js:\"SRC_ALPHA\""},{prop:"SRC_ALPHA_SATURATE",name:"SRC_ALPHA_SATURATE",pkg:"",typ:$Int,tag:"js:\"SRC_ALPHA_SATURATE\""},{prop:"SRC_COLOR",name:"SRC_COLOR",pkg:"",typ:$Int,tag:"js:\"SRC_COLOR\""},{prop:"STATIC_DRAW",name:"STATIC_DRAW",pkg:"",typ:$Int,tag:"js:\"STATIC_DRAW\""},{prop:"STENCIL_ATTACHMENT",name:"STENCIL_ATTACHMENT",pkg:"",typ:$Int,tag:"js:\"STENCIL_ATTACHMENT\""},{prop:"STENCIL_BACK_FAIL",name:"STENCIL_BACK_FAIL",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_FAIL\""},{prop:"STENCIL_BACK_FUNC",name:"STENCIL_BACK_FUNC",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_FUNC\""},{prop:"STENCIL_BACK_PASS_DEPTH_FAIL",name:"STENCIL_BACK_PASS_DEPTH_FAIL",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_PASS_DEPTH_FAIL\""},{prop:"STENCIL_BACK_PASS_DEPTH_PASS",name:"STENCIL_BACK_PASS_DEPTH_PASS",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_PASS_DEPTH_PASS\""},{prop:"STENCIL_BACK_REF",name:"STENCIL_BACK_REF",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_REF\""},{prop:"STENCIL_BACK_VALUE_MASK",name:"STENCIL_BACK_VALUE_MASK",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_VALUE_MASK\""},{prop:"STENCIL_BACK_WRITEMASK",name:"STENCIL_BACK_WRITEMASK",pkg:"",typ:$Int,tag:"js:\"STENCIL_BACK_WRITEMASK\""},{prop:"STENCIL_BITS",name:"STENCIL_BITS",pkg:"",typ:$Int,tag:"js:\"STENCIL_BITS\""},{prop:"STENCIL_BUFFER_BIT",name:"STENCIL_BUFFER_BIT",pkg:"",typ:$Int,tag:"js:\"STENCIL_BUFFER_BIT\""},{prop:"STENCIL_CLEAR_VALUE",name:"STENCIL_CLEAR_VALUE",pkg:"",typ:$Int,tag:"js:\"STENCIL_CLEAR_VALUE\""},{prop:"STENCIL_FAIL",name:"STENCIL_FAIL",pkg:"",typ:$Int,tag:"js:\"STENCIL_FAIL\""},{prop:"STENCIL_FUNC",name:"STENCIL_FUNC",pkg:"",typ:$Int,tag:"js:\"STENCIL_FUNC\""},{prop:"STENCIL_INDEX",name:"STENCIL_INDEX",pkg:"",typ:$Int,tag:"js:\"STENCIL_INDEX\""},{prop:"STENCIL_INDEX8",name:"STENCIL_INDEX8",pkg:"",typ:$Int,tag:"js:\"STENCIL_INDEX8\""},{prop:"STENCIL_PASS_DEPTH_FAIL",name:"STENCIL_PASS_DEPTH_FAIL",pkg:"",typ:$Int,tag:"js:\"STENCIL_PASS_DEPTH_FAIL\""},{prop:"STENCIL_PASS_DEPTH_PASS",name:"STENCIL_PASS_DEPTH_PASS",pkg:"",typ:$Int,tag:"js:\"STENCIL_PASS_DEPTH_PASS\""},{prop:"STENCIL_REF",name:"STENCIL_REF",pkg:"",typ:$Int,tag:"js:\"STENCIL_REF\""},{prop:"STENCIL_TEST",name:"STENCIL_TEST",pkg:"",typ:$Int,tag:"js:\"STENCIL_TEST\""},{prop:"STENCIL_VALUE_MASK",name:"STENCIL_VALUE_MASK",pkg:"",typ:$Int,tag:"js:\"STENCIL_VALUE_MASK\""},{prop:"STENCIL_WRITEMASK",name:"STENCIL_WRITEMASK",pkg:"",typ:$Int,tag:"js:\"STENCIL_WRITEMASK\""},{prop:"STREAM_DRAW",name:"STREAM_DRAW",pkg:"",typ:$Int,tag:"js:\"STREAM_DRAW\""},{prop:"SUBPIXEL_BITS",name:"SUBPIXEL_BITS",pkg:"",typ:$Int,tag:"js:\"SUBPIXEL_BITS\""},{prop:"TEXTURE",name:"TEXTURE",pkg:"",typ:$Int,tag:"js:\"TEXTURE\""},{prop:"TEXTURE0",name:"TEXTURE0",pkg:"",typ:$Int,tag:"js:\"TEXTURE0\""},{prop:"TEXTURE1",name:"TEXTURE1",pkg:"",typ:$Int,tag:"js:\"TEXTURE1\""},{prop:"TEXTURE2",name:"TEXTURE2",pkg:"",typ:$Int,tag:"js:\"TEXTURE2\""},{prop:"TEXTURE3",name:"TEXTURE3",pkg:"",typ:$Int,tag:"js:\"TEXTURE3\""},{prop:"TEXTURE4",name:"TEXTURE4",pkg:"",typ:$Int,tag:"js:\"TEXTURE4\""},{prop:"TEXTURE5",name:"TEXTURE5",pkg:"",typ:$Int,tag:"js:\"TEXTURE5\""},{prop:"TEXTURE6",name:"TEXTURE6",pkg:"",typ:$Int,tag:"js:\"TEXTURE6\""},{prop:"TEXTURE7",name:"TEXTURE7",pkg:"",typ:$Int,tag:"js:\"TEXTURE7\""},{prop:"TEXTURE8",name:"TEXTURE8",pkg:"",typ:$Int,tag:"js:\"TEXTURE8\""},{prop:"TEXTURE9",name:"TEXTURE9",pkg:"",typ:$Int,tag:"js:\"TEXTURE9\""},{prop:"TEXTURE10",name:"TEXTURE10",pkg:"",typ:$Int,tag:"js:\"TEXTURE10\""},{prop:"TEXTURE11",name:"TEXTURE11",pkg:"",typ:$Int,tag:"js:\"TEXTURE11\""},{prop:"TEXTURE12",name:"TEXTURE12",pkg:"",typ:$Int,tag:"js:\"TEXTURE12\""},{prop:"TEXTURE13",name:"TEXTURE13",pkg:"",typ:$Int,tag:"js:\"TEXTURE13\""},{prop:"TEXTURE14",name:"TEXTURE14",pkg:"",typ:$Int,tag:"js:\"TEXTURE14\""},{prop:"TEXTURE15",name:"TEXTURE15",pkg:"",typ:$Int,tag:"js:\"TEXTURE15\""},{prop:"TEXTURE16",name:"TEXTURE16",pkg:"",typ:$Int,tag:"js:\"TEXTURE16\""},{prop:"TEXTURE17",name:"TEXTURE17",pkg:"",typ:$Int,tag:"js:\"TEXTURE17\""},{prop:"TEXTURE18",name:"TEXTURE18",pkg:"",typ:$Int,tag:"js:\"TEXTURE18\""},{prop:"TEXTURE19",name:"TEXTURE19",pkg:"",typ:$Int,tag:"js:\"TEXTURE19\""},{prop:"TEXTURE20",name:"TEXTURE20",pkg:"",typ:$Int,tag:"js:\"TEXTURE20\""},{prop:"TEXTURE21",name:"TEXTURE21",pkg:"",typ:$Int,tag:"js:\"TEXTURE21\""},{prop:"TEXTURE22",name:"TEXTURE22",pkg:"",typ:$Int,tag:"js:\"TEXTURE22\""},{prop:"TEXTURE23",name:"TEXTURE23",pkg:"",typ:$Int,tag:"js:\"TEXTURE23\""},{prop:"TEXTURE24",name:"TEXTURE24",pkg:"",typ:$Int,tag:"js:\"TEXTURE24\""},{prop:"TEXTURE25",name:"TEXTURE25",pkg:"",typ:$Int,tag:"js:\"TEXTURE25\""},{prop:"TEXTURE26",name:"TEXTURE26",pkg:"",typ:$Int,tag:"js:\"TEXTURE26\""},{prop:"TEXTURE27",name:"TEXTURE27",pkg:"",typ:$Int,tag:"js:\"TEXTURE27\""},{prop:"TEXTURE28",name:"TEXTURE28",pkg:"",typ:$Int,tag:"js:\"TEXTURE28\""},{prop:"TEXTURE29",name:"TEXTURE29",pkg:"",typ:$Int,tag:"js:\"TEXTURE29\""},{prop:"TEXTURE30",name:"TEXTURE30",pkg:"",typ:$Int,tag:"js:\"TEXTURE30\""},{prop:"TEXTURE31",name:"TEXTURE31",pkg:"",typ:$Int,tag:"js:\"TEXTURE31\""},{prop:"TEXTURE_2D",name:"TEXTURE_2D",pkg:"",typ:$Int,tag:"js:\"TEXTURE_2D\""},{prop:"TEXTURE_BINDING_2D",name:"TEXTURE_BINDING_2D",pkg:"",typ:$Int,tag:"js:\"TEXTURE_BINDING_2D\""},{prop:"TEXTURE_BINDING_CUBE_MAP",name:"TEXTURE_BINDING_CUBE_MAP",pkg:"",typ:$Int,tag:"js:\"TEXTURE_BINDING_CUBE_MAP\""},{prop:"TEXTURE_CUBE_MAP",name:"TEXTURE_CUBE_MAP",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP\""},{prop:"TEXTURE_CUBE_MAP_NEGATIVE_X",name:"TEXTURE_CUBE_MAP_NEGATIVE_X",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_NEGATIVE_X\""},{prop:"TEXTURE_CUBE_MAP_NEGATIVE_Y",name:"TEXTURE_CUBE_MAP_NEGATIVE_Y",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\""},{prop:"TEXTURE_CUBE_MAP_NEGATIVE_Z",name:"TEXTURE_CUBE_MAP_NEGATIVE_Z",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\""},{prop:"TEXTURE_CUBE_MAP_POSITIVE_X",name:"TEXTURE_CUBE_MAP_POSITIVE_X",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_POSITIVE_X\""},{prop:"TEXTURE_CUBE_MAP_POSITIVE_Y",name:"TEXTURE_CUBE_MAP_POSITIVE_Y",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_POSITIVE_Y\""},{prop:"TEXTURE_CUBE_MAP_POSITIVE_Z",name:"TEXTURE_CUBE_MAP_POSITIVE_Z",pkg:"",typ:$Int,tag:"js:\"TEXTURE_CUBE_MAP_POSITIVE_Z\""},{prop:"TEXTURE_MAG_FILTER",name:"TEXTURE_MAG_FILTER",pkg:"",typ:$Int,tag:"js:\"TEXTURE_MAG_FILTER\""},{prop:"TEXTURE_MIN_FILTER",name:"TEXTURE_MIN_FILTER",pkg:"",typ:$Int,tag:"js:\"TEXTURE_MIN_FILTER\""},{prop:"TEXTURE_WRAP_S",name:"TEXTURE_WRAP_S",pkg:"",typ:$Int,tag:"js:\"TEXTURE_WRAP_S\""},{prop:"TEXTURE_WRAP_T",name:"TEXTURE_WRAP_T",pkg:"",typ:$Int,tag:"js:\"TEXTURE_WRAP_T\""},{prop:"TRIANGLES",name:"TRIANGLES",pkg:"",typ:$Int,tag:"js:\"TRIANGLES\""},{prop:"TRIANGLE_FAN",name:"TRIANGLE_FAN",pkg:"",typ:$Int,tag:"js:\"TRIANGLE_FAN\""},{prop:"TRIANGLE_STRIP",name:"TRIANGLE_STRIP",pkg:"",typ:$Int,tag:"js:\"TRIANGLE_STRIP\""},{prop:"UNPACK_ALIGNMENT",name:"UNPACK_ALIGNMENT",pkg:"",typ:$Int,tag:"js:\"UNPACK_ALIGNMENT\""},{prop:"UNPACK_COLORSPACE_CONVERSION_WEBGL",name:"UNPACK_COLORSPACE_CONVERSION_WEBGL",pkg:"",typ:$Int,tag:"js:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\""},{prop:"UNPACK_FLIP_Y_WEBGL",name:"UNPACK_FLIP_Y_WEBGL",pkg:"",typ:$Int,tag:"js:\"UNPACK_FLIP_Y_WEBGL\""},{prop:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",name:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",pkg:"",typ:$Int,tag:"js:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\""},{prop:"UNSIGNED_BYTE",name:"UNSIGNED_BYTE",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_BYTE\""},{prop:"UNSIGNED_INT",name:"UNSIGNED_INT",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_INT\""},{prop:"UNSIGNED_SHORT",name:"UNSIGNED_SHORT",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_SHORT\""},{prop:"UNSIGNED_SHORT_4_4_4_4",name:"UNSIGNED_SHORT_4_4_4_4",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_SHORT_4_4_4_4\""},{prop:"UNSIGNED_SHORT_5_5_5_1",name:"UNSIGNED_SHORT_5_5_5_1",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_SHORT_5_5_5_1\""},{prop:"UNSIGNED_SHORT_5_6_5",name:"UNSIGNED_SHORT_5_6_5",pkg:"",typ:$Int,tag:"js:\"UNSIGNED_SHORT_5_6_5\""},{prop:"VALIDATE_STATUS",name:"VALIDATE_STATUS",pkg:"",typ:$Int,tag:"js:\"VALIDATE_STATUS\""},{prop:"VENDOR",name:"VENDOR",pkg:"",typ:$Int,tag:"js:\"VENDOR\""},{prop:"VERSION",name:"VERSION",pkg:"",typ:$Int,tag:"js:\"VERSION\""},{prop:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",name:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\""},{prop:"VERTEX_ATTRIB_ARRAY_ENABLED",name:"VERTEX_ATTRIB_ARRAY_ENABLED",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_ENABLED\""},{prop:"VERTEX_ATTRIB_ARRAY_NORMALIZED",name:"VERTEX_ATTRIB_ARRAY_NORMALIZED",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\""},{prop:"VERTEX_ATTRIB_ARRAY_POINTER",name:"VERTEX_ATTRIB_ARRAY_POINTER",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_POINTER\""},{prop:"VERTEX_ATTRIB_ARRAY_SIZE",name:"VERTEX_ATTRIB_ARRAY_SIZE",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_SIZE\""},{prop:"VERTEX_ATTRIB_ARRAY_STRIDE",name:"VERTEX_ATTRIB_ARRAY_STRIDE",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_STRIDE\""},{prop:"VERTEX_ATTRIB_ARRAY_TYPE",name:"VERTEX_ATTRIB_ARRAY_TYPE",pkg:"",typ:$Int,tag:"js:\"VERTEX_ATTRIB_ARRAY_TYPE\""},{prop:"VERTEX_SHADER",name:"VERTEX_SHADER",pkg:"",typ:$Int,tag:"js:\"VERTEX_SHADER\""},{prop:"VIEWPORT",name:"VIEWPORT",pkg:"",typ:$Int,tag:"js:\"VIEWPORT\""},{prop:"ZERO",name:"ZERO",pkg:"",typ:$Int,tag:"js:\"ZERO\""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/internal/graphics/opengl"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,I,J,K,L,N,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,Q,R,S,M,O,U,W;A=$packages["errors"];B=$packages["fmt"];C=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["github.com/gopherjs/webgl"];E=$pkg.Texture=$newType(0,$kindStruct,"opengl.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});F=$pkg.Framebuffer=$newType(0,$kindStruct,"opengl.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});G=$pkg.Shader=$newType(0,$kindStruct,"opengl.Shader","Shader","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});H=$pkg.Program=$newType(0,$kindStruct,"opengl.Program","Program","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});I=$pkg.Buffer=$newType(0,$kindStruct,"opengl.Buffer","Buffer","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});J=$pkg.UniformLocation=$newType(0,$kindStruct,"opengl.UniformLocation","UniformLocation","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});K=$pkg.AttribLocation=$newType(4,$kindInt,"opengl.AttribLocation","AttribLocation","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);L=$pkg.ProgramID=$newType(4,$kindInt,"opengl.ProgramID","ProgramID","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);N=$pkg.context=$newType(0,$kindStruct,"opengl.context","context","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(gl_,lastFramebuffer_){this.$val=this;if(arguments.length===0){this.gl=AD.nil;this.lastFramebuffer=new F.ptr(null);return;}this.gl=gl_;this.lastFramebuffer=lastFramebuffer_;});X=$pkg.Filter=$newType(4,$kindInt,"opengl.Filter","Filter","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);Y=$pkg.ShaderType=$newType(4,$kindInt,"opengl.ShaderType","ShaderType","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);Z=$pkg.BufferType=$newType(4,$kindInt,"opengl.BufferType","BufferType","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);AA=$pkg.BufferUsage=$newType(4,$kindInt,"opengl.BufferUsage","BufferUsage","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);AB=$pkg.Mode=$newType(4,$kindInt,"opengl.Mode","Mode","github.com/hajimehoshi/ebiten/internal/graphics/opengl",null);AC=$pkg.Context=$newType(0,$kindStruct,"opengl.Context","Context","github.com/hajimehoshi/ebiten/internal/graphics/opengl",function(Nearest_,Linear_,VertexShader_,FragmentShader_,ArrayBuffer_,ElementArrayBuffer_,DynamicDraw_,StaticDraw_,Triangles_,Lines_,context_){this.$val=this;if(arguments.length===0){this.Nearest=0;this.Linear=0;this.VertexShader=0;this.FragmentShader=0;this.ArrayBuffer=0;this.ElementArrayBuffer=0;this.DynamicDraw=0;this.StaticDraw=0;this.Triangles=0;this.Lines=0;this.context=new N.ptr(AD.nil,new F.ptr(null));return;}this.Nearest=Nearest_;this.Linear=Linear_;this.VertexShader=VertexShader_;this.FragmentShader=FragmentShader_;this.ArrayBuffer=ArrayBuffer_;this.ElementArrayBuffer=ElementArrayBuffer_;this.DynamicDraw=DynamicDraw_;this.StaticDraw=StaticDraw_;this.Triangles=Triangles_;this.Lines=Lines_;this.context=context_;});AD=$ptrType(D.Context);AE=$mapType($String,$Bool);AF=$sliceType($emptyInterface);AG=$sliceType($Uint8);AH=$sliceType($Float32);AI=$ptrType(C.Object);AJ=$sliceType(G);AK=$sliceType($Int16);AL=$ptrType(AC);H.ptr.prototype.Equals=function(a){var $ptr,a,b;a=$clone(a,H);b=$clone(this,H);return b.Object===a.Object;};H.prototype.Equals=function(a){return this.$val.Equals(a);};M=function(a){var $ptr,a;a=$clone(a,H);return(($parseInt(a.Object.__ebiten_programId)>>0)>>0);};$pkg.GetProgramID=M;O=function(){var $ptr,a,b,c,d,e,f,g;a=AD.nil;if($global.require===undefined){b=$global.document.querySelector($externalize("canvas",$String));c=$ifaceNil;d=D.NewContext(b,new D.ContextAttributes.ptr(true,false,false,false,true,false));a=d[0];c=d[1];if(!($interfaceIsEqual(c,$ifaceNil))){$panic(c);}}else{e=$makeMap($String.keyFor,[{k:"alpha",v:true},{k:"premultipliedAlpha",v:true}]);f=$global.require($externalize("gl",$String))(16,16,$externalize(e,AE));a=new D.Context.ptr(f,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}g=new AC.ptr((($parseInt(a.Object.NEAREST)>>0)>>0),(($parseInt(a.Object.LINEAR)>>0)>>0),(($parseInt(a.Object.VERTEX_SHADER)>>0)>>0),(($parseInt(a.Object.FRAGMENT_SHADER)>>0)>>0),(($parseInt(a.Object.ARRAY_BUFFER)>>0)>>0),(($parseInt(a.Object.ELEMENT_ARRAY_BUFFER)>>0)>>0),(($parseInt(a.Object.DYNAMIC_DRAW)>>0)>>0),(($parseInt(a.Object.STATIC_DRAW)>>0)>>0),(($parseInt(a.Object.TRIANGLES)>>0)>>0),(($parseInt(a.Object.LINES)>>0)>>0),new N.ptr(AD.nil,new F.ptr(null)));g.context.gl=a;g.init();return g;};$pkg.NewContext=O;AC.ptr.prototype.init=function(){var $ptr,a,b;a=this;b=a.context.gl;b.Enable($parseInt(b.Object.BLEND)>>0);b.BlendFunc($parseInt(b.Object.ONE)>>0,$parseInt(b.Object.ONE_MINUS_SRC_ALPHA)>>0);};AC.prototype.init=function(){return this.$val.init();};AC.ptr.prototype.Check=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.context.gl;c=b.GetError();if(!((c===($parseInt(b.Object.NO_ERROR)>>0)))){$s=1;continue;}$s=2;continue;case 1:d=B.Sprintf("check failed: %d",new AF([new $Int(c)]));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$panic(new $String(d));case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.Check};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.Check=function(){return this.$val.Check();};AC.ptr.prototype.NewTexture=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h;e=this;f=e.context.gl;g=f.CreateTexture();if(g===null){return[new E.ptr(null),A.New("glGenTexture failed")];}f.PixelStorei($parseInt(f.Object.UNPACK_ALIGNMENT)>>0,4);f.BindTexture($parseInt(f.Object.TEXTURE_2D)>>0,g);f.TexParameteri($parseInt(f.Object.TEXTURE_2D)>>0,$parseInt(f.Object.TEXTURE_MAG_FILTER)>>0,(d>>0));f.TexParameteri($parseInt(f.Object.TEXTURE_2D)>>0,$parseInt(f.Object.TEXTURE_MIN_FILTER)>>0,(d>>0));h=$ifaceNil;if(!(c===AG.nil)){h=c;}f.Object.texImage2D($parseInt(f.Object.TEXTURE_2D)>>0,0,$parseInt(f.Object.RGBA)>>0,a,b,0,$parseInt(f.Object.RGBA)>>0,$parseInt(f.Object.UNSIGNED_BYTE)>>0,$externalize(h,$emptyInterface));return[new E.ptr(g),$ifaceNil];};AC.prototype.NewTexture=function(a,b,c,d){return this.$val.NewTexture(a,b,c,d);};AC.ptr.prototype.bindFramebuffer=function(a){var $ptr,a,b,c;a=$clone(a,F);b=this;c=b.context.gl;if(!(b.context.lastFramebuffer.Object===a.Object)){c.BindFramebuffer($parseInt(c.Object.FRAMEBUFFER)>>0,a.Object);F.copy(b.context.lastFramebuffer,a);}};AC.prototype.bindFramebuffer=function(a){return this.$val.bindFramebuffer(a);};AC.ptr.prototype.FramebufferPixels=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,F);d=this;e=d.context.gl;e.Flush();d.bindFramebuffer(a);f=new($global.Uint8Array)($imul(($imul(4,b)),c));e.ReadPixels(0,0,b,c,$parseInt(e.Object.RGBA)>>0,$parseInt(e.Object.UNSIGNED_BYTE)>>0,f);g=e.GetError();if(!((g===($parseInt(e.Object.NO_ERROR)>>0)))){$s=1;continue;}$s=2;continue;case 1:h=B.Sprintf("gl error: %d",new AF([new $Int(g)]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=A.New(h);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=5;case 5:return[AG.nil,i];case 2:return[$assertType($internalize(f,$emptyInterface),AG),$ifaceNil];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.FramebufferPixels};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.FramebufferPixels=function(a,b,c){return this.$val.FramebufferPixels(a,b,c);};AC.ptr.prototype.BindTexture=function(a){var $ptr,a,b,c;a=$clone(a,E);b=this;c=b.context.gl;c.BindTexture($parseInt(c.Object.TEXTURE_2D)>>0,a.Object);};AC.prototype.BindTexture=function(a){return this.$val.BindTexture(a);};AC.ptr.prototype.DeleteTexture=function(a){var $ptr,a,b,c;a=$clone(a,E);b=this;c=b.context.gl;c.DeleteTexture(a.Object);};AC.prototype.DeleteTexture=function(a){return this.$val.DeleteTexture(a);};AC.ptr.prototype.TexSubImage2D=function(a,b,c){var $ptr,a,b,c,d,e;d=this;e=d.context.gl;e.Object.texSubImage2D($parseInt(e.Object.TEXTURE_2D)>>0,0,0,0,b,c,$parseInt(e.Object.RGBA)>>0,$parseInt(e.Object.UNSIGNED_BYTE)>>0,$externalize(a,AG));};AC.prototype.TexSubImage2D=function(a,b,c){return this.$val.TexSubImage2D(a,b,c);};AC.ptr.prototype.NewFramebuffer=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,E);b=this;c=b.context.gl;d=c.CreateFramebuffer();b.bindFramebuffer(new F.ptr(d));c.FramebufferTexture2D($parseInt(c.Object.FRAMEBUFFER)>>0,$parseInt(c.Object.COLOR_ATTACHMENT0)>>0,$parseInt(c.Object.TEXTURE_2D)>>0,a.Object,0);e=c.CheckFramebufferStatus($parseInt(c.Object.FRAMEBUFFER)>>0);if(!((e===($parseInt(c.Object.FRAMEBUFFER_COMPLETE)>>0)))){$s=1;continue;}$s=2;continue;case 1:f=B.Sprintf("creating framebuffer failed: %d",new AF([new $Int(e)]));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=A.New(f);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=5;case 5:return[new F.ptr(null),g];case 2:return[new F.ptr(d),$ifaceNil];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.NewFramebuffer};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.NewFramebuffer=function(a){return this.$val.NewFramebuffer(a);};AC.ptr.prototype.SetViewport=function(a,b,c){var $ptr,a,b,c,d,e,f;a=$clone(a,F);d=this;if(a.Object===null){d.bindFramebuffer(a);e=d.context.gl;e.Viewport(0,0,b,c);return $ifaceNil;}d.bindFramebuffer(a);f=d.context.gl;f.Viewport(0,0,b,c);return $ifaceNil;};AC.prototype.SetViewport=function(a,b,c){return this.$val.SetViewport(a,b,c);};AC.ptr.prototype.FillFramebuffer=function(a,b,c,d){var $ptr,a,b,c,d,e,f;e=this;f=e.context.gl;f.ClearColor($fround(a),$fround(b),$fround(c),$fround(d));f.Clear($parseInt(f.Object.COLOR_BUFFER_BIT)>>0);return $ifaceNil;};AC.prototype.FillFramebuffer=function(a,b,c,d){return this.$val.FillFramebuffer(a,b,c,d);};AC.ptr.prototype.DeleteFramebuffer=function(a){var $ptr,a,b,c;a=$clone(a,F);b=this;c=b.context.gl;c.DeleteFramebuffer(a.Object);};AC.prototype.DeleteFramebuffer=function(a){return this.$val.DeleteFramebuffer(a);};AC.ptr.prototype.NewShader=function(a,b){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.context.gl;e=d.CreateShader((a>>0));if(e===null){return[new G.ptr(null),A.New("glCreateShader failed")];}d.ShaderSource(e,b);d.CompileShader(e);if(!d.GetShaderParameterb(e,$parseInt(d.Object.COMPILE_STATUS)>>0)){$s=1;continue;}$s=2;continue;case 1:f=d.GetShaderInfoLog(e);g=B.Sprintf("shader compile failed: %s",new AF([new $String(f)]));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=A.New(g);$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=5;case 5:return[new G.ptr(null),h];case 2:return[new G.ptr(e),$ifaceNil];}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.NewShader};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.NewShader=function(a,b){return this.$val.NewShader(a,b);};AC.ptr.prototype.DeleteShader=function(a){var $ptr,a,b,c;a=$clone(a,G);b=this;c=b.context.gl;c.DeleteShader(a.Object);};AC.prototype.DeleteShader=function(a){return this.$val.DeleteShader(a);};AC.ptr.prototype.GlslHighpSupported=function(){var $ptr,a,b;a=this;b=a.context.gl;if(b.Object.getShaderPrecisionFormat===undefined){return false;}return!((($parseInt(b.Object.getShaderPrecisionFormat($parseInt(b.Object.FRAGMENT_SHADER)>>0,$parseInt(b.Object.HIGH_FLOAT)>>0).precision)>>0)===0));};AC.prototype.GlslHighpSupported=function(){return this.$val.GlslHighpSupported();};AC.ptr.prototype.NewProgram=function(a){var $ptr,a,b,c,d,e,f,g;b=this;c=b.context.gl;d=c.CreateProgram();if(d===null){return[new H.ptr(null),A.New("glCreateProgram failed")];}d.__ebiten_programId=Q;Q=Q+(1)>>0;e=a;f=0;while(true){if(!(f<e.$length)){break;}g=$clone(((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]),G);c.AttachShader(d,g.Object);f++;}c.LinkProgram(d);if(!c.GetProgramParameterb(d,$parseInt(c.Object.LINK_STATUS)>>0)){return[new H.ptr(null),A.New("program error")];}return[new H.ptr(d),$ifaceNil];};AC.prototype.NewProgram=function(a){return this.$val.NewProgram(a);};AC.ptr.prototype.UseProgram=function(a){var $ptr,a,b,c;a=$clone(a,H);b=this;c=b.context.gl;c.UseProgram(a.Object);};AC.prototype.UseProgram=function(a){return this.$val.UseProgram(a);};AC.ptr.prototype.GetUniformLocation=function(a,b){var $ptr,a,b,c,d;a=$clone(a,H);c=this;d=c.context.gl;return new J.ptr(d.GetUniformLocation(a.Object,b));};AC.prototype.GetUniformLocation=function(a,b){return this.$val.GetUniformLocation(a,b);};AC.ptr.prototype.UniformInt=function(a,b,c){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,H);d=this;e=d.context.gl;f=U(d,a,b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,J);e.Uniform1i(g.Object,c);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.UniformInt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.UniformInt=function(a,b,c){return this.$val.UniformInt(a,b,c);};AC.ptr.prototype.UniformFloats=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,H);d=this;e=d.context.gl;f=U(d,a,b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=$clone(f,J);h=c.$length;if(h===4){e.Object.uniform4fv(g.Object,$externalize(c,AH));}else if(h===16){e.UniformMatrix4fv(g.Object,false,c);}else{$panic(new $String("not reach"));}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.UniformFloats};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.UniformFloats=function(a,b,c){return this.$val.UniformFloats(a,b,c);};AC.ptr.prototype.GetAttribLocation=function(a,b){var $ptr,a,b,c,d;a=$clone(a,H);c=this;d=c.context.gl;return(d.GetAttribLocation(a.Object,b)>>0);};AC.prototype.GetAttribLocation=function(a,b){return this.$val.GetAttribLocation(a,b);};AC.ptr.prototype.VertexAttribPointer=function(a,b,c,d,e,f,g){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,H);h=this;i=h.context.gl;j=W(h,a,b);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=$parseInt(i.Object.SHORT)>>0;if(!c){l=$parseInt(i.Object.UNSIGNED_SHORT)>>0;}i.VertexAttribPointer((k>>0),f,l,d,e,g);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.VertexAttribPointer};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.VertexAttribPointer=function(a,b,c,d,e,f,g){return this.$val.VertexAttribPointer(a,b,c,d,e,f,g);};AC.ptr.prototype.EnableVertexAttribArray=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,H);c=this;d=c.context.gl;e=W(c,a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;d.EnableVertexAttribArray((f>>0));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.EnableVertexAttribArray};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.EnableVertexAttribArray=function(a,b){return this.$val.EnableVertexAttribArray(a,b);};AC.ptr.prototype.DisableVertexAttribArray=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$clone(a,H);c=this;d=c.context.gl;e=W(c,a,b);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;d.DisableVertexAttribArray((f>>0));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.DisableVertexAttribArray};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.DisableVertexAttribArray=function(a,b){return this.$val.DisableVertexAttribArray(a,b);};AC.ptr.prototype.NewBuffer=function(a,b,c){var $ptr,a,b,c,d,e,f;d=this;e=d.context.gl;f=e.CreateBuffer();e.BindBuffer((a>>0),f);e.BufferData((a>>0),b,(c>>0));return new I.ptr(f);};AC.prototype.NewBuffer=function(a,b,c){return this.$val.NewBuffer(a,b,c);};AC.ptr.prototype.BindElementArrayBuffer=function(a){var $ptr,a,b,c;a=$clone(a,I);b=this;c=b.context.gl;c.BindBuffer($parseInt(c.Object.ELEMENT_ARRAY_BUFFER)>>0,a.Object);};AC.prototype.BindElementArrayBuffer=function(a){return this.$val.BindElementArrayBuffer(a);};AC.ptr.prototype.BufferSubData=function(a,b){var $ptr,a,b,c,d;c=this;d=c.context.gl;d.BufferSubData((a>>0),0,b);};AC.prototype.BufferSubData=function(a,b){return this.$val.BufferSubData(a,b);};AC.ptr.prototype.DrawElements=function(a,b){var $ptr,a,b,c,d;c=this;d=c.context.gl;d.DrawElements((a>>0),b,$parseInt(d.Object.UNSIGNED_SHORT)>>0,0);};AC.prototype.DrawElements=function(a,b){return this.$val.DrawElements(a,b);};U=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone(b,H);d=M(b);e=(f=R[L.keyFor(d)],f!==undefined?[f.v,true]:[false,false]);g=e[1];if(!g){h=d;(R||$throwRuntimeError("assignment to entry in nil map"))[L.keyFor(h)]={k:h,v:$makeMap($String.keyFor,[])};}i=(j=(k=R[L.keyFor(d)],k!==undefined?k.v:false)[$String.keyFor(c)],j!==undefined?[j.v,true]:[new J.ptr(null),false]);l=$clone(i[0],J);m=i[1];if(!m){$s=1;continue;}$s=2;continue;case 1:n=a.GetUniformLocation(b,c);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}J.copy(l,n);o=c;((p=R[L.keyFor(d)],p!==undefined?p.v:false)||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:$clone(l,J)};case 2:return l;}return;}if($f===undefined){$f={$blk:U};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetUniformLocation=U;W=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone(b,H);d=M(b);e=(f=S[L.keyFor(d)],f!==undefined?[f.v,true]:[false,false]);g=e[1];if(!g){h=d;(S||$throwRuntimeError("assignment to entry in nil map"))[L.keyFor(h)]={k:h,v:$makeMap($String.keyFor,[])};}i=(j=(k=S[L.keyFor(d)],k!==undefined?k.v:false)[$String.keyFor(c)],j!==undefined?[j.v,true]:[0,false]);l=i[0];m=i[1];if(!m){$s=1;continue;}$s=2;continue;case 1:n=a.GetAttribLocation(b,c);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;o=c;((p=S[L.keyFor(d)],p!==undefined?p.v:false)||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(o)]={k:o,v:l};case 2:return l;}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};$pkg.GetAttribLocation=W;H.methods=[{prop:"Equals",name:"Equals",pkg:"",typ:$funcType([H],[$Bool],false)}];AL.methods=[{prop:"init",name:"init",pkg:"github.com/hajimehoshi/ebiten/internal/graphics/opengl",typ:$funcType([],[],false)},{prop:"Check",name:"Check",pkg:"",typ:$funcType([],[],false)},{prop:"NewTexture",name:"NewTexture",pkg:"",typ:$funcType([$Int,$Int,AG,X],[E,$error],false)},{prop:"bindFramebuffer",name:"bindFramebuffer",pkg:"github.com/hajimehoshi/ebiten/internal/graphics/opengl",typ:$funcType([F],[],false)},{prop:"FramebufferPixels",name:"FramebufferPixels",pkg:"",typ:$funcType([F,$Int,$Int],[AG,$error],false)},{prop:"BindTexture",name:"BindTexture",pkg:"",typ:$funcType([E],[],false)},{prop:"DeleteTexture",name:"DeleteTexture",pkg:"",typ:$funcType([E],[],false)},{prop:"TexSubImage2D",name:"TexSubImage2D",pkg:"",typ:$funcType([AG,$Int,$Int],[],false)},{prop:"NewFramebuffer",name:"NewFramebuffer",pkg:"",typ:$funcType([E],[F,$error],false)},{prop:"SetViewport",name:"SetViewport",pkg:"",typ:$funcType([F,$Int,$Int],[$error],false)},{prop:"FillFramebuffer",name:"FillFramebuffer",pkg:"",typ:$funcType([$Float64,$Float64,$Float64,$Float64],[$error],false)},{prop:"DeleteFramebuffer",name:"DeleteFramebuffer",pkg:"",typ:$funcType([F],[],false)},{prop:"NewShader",name:"NewShader",pkg:"",typ:$funcType([Y,$String],[G,$error],false)},{prop:"DeleteShader",name:"DeleteShader",pkg:"",typ:$funcType([G],[],false)},{prop:"GlslHighpSupported",name:"GlslHighpSupported",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"NewProgram",name:"NewProgram",pkg:"",typ:$funcType([AJ],[H,$error],false)},{prop:"UseProgram",name:"UseProgram",pkg:"",typ:$funcType([H],[],false)},{prop:"GetUniformLocation",name:"GetUniformLocation",pkg:"",typ:$funcType([H,$String],[J],false)},{prop:"UniformInt",name:"UniformInt",pkg:"",typ:$funcType([H,$String,$Int],[],false)},{prop:"UniformFloats",name:"UniformFloats",pkg:"",typ:$funcType([H,$String,AH],[],false)},{prop:"GetAttribLocation",name:"GetAttribLocation",pkg:"",typ:$funcType([H,$String],[K],false)},{prop:"VertexAttribPointer",name:"VertexAttribPointer",pkg:"",typ:$funcType([H,$String,$Bool,$Bool,$Int,$Int,$Int],[],false)},{prop:"EnableVertexAttribArray",name:"EnableVertexAttribArray",pkg:"",typ:$funcType([H,$String],[],false)},{prop:"DisableVertexAttribArray",name:"DisableVertexAttribArray",pkg:"",typ:$funcType([H,$String],[],false)},{prop:"NewBuffer",name:"NewBuffer",pkg:"",typ:$funcType([Z,$emptyInterface,AA],[I],false)},{prop:"BindElementArrayBuffer",name:"BindElementArrayBuffer",pkg:"",typ:$funcType([I],[],false)},{prop:"BufferSubData",name:"BufferSubData",pkg:"",typ:$funcType([Z,AK],[],false)},{prop:"DrawElements",name:"DrawElements",pkg:"",typ:$funcType([AB,$Int],[],false)}];E.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);F.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);G.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);H.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);I.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);J.init([{prop:"Object",name:"",pkg:"",typ:AI,tag:""}]);N.init([{prop:"gl",name:"gl",pkg:"github.com/hajimehoshi/ebiten/internal/graphics/opengl",typ:AD,tag:""},{prop:"lastFramebuffer",name:"lastFramebuffer",pkg:"github.com/hajimehoshi/ebiten/internal/graphics/opengl",typ:F,tag:""}]);AC.init([{prop:"Nearest",name:"Nearest",pkg:"",typ:X,tag:""},{prop:"Linear",name:"Linear",pkg:"",typ:X,tag:""},{prop:"VertexShader",name:"VertexShader",pkg:"",typ:Y,tag:""},{prop:"FragmentShader",name:"FragmentShader",pkg:"",typ:Y,tag:""},{prop:"ArrayBuffer",name:"ArrayBuffer",pkg:"",typ:Z,tag:""},{prop:"ElementArrayBuffer",name:"ElementArrayBuffer",pkg:"",typ:Z,tag:""},{prop:"DynamicDraw",name:"DynamicDraw",pkg:"",typ:AA,tag:""},{prop:"StaticDraw",name:"StaticDraw",pkg:"",typ:AA,tag:""},{prop:"Triangles",name:"Triangles",pkg:"",typ:AB,tag:""},{prop:"Lines",name:"Lines",pkg:"",typ:AB,tag:""},{prop:"context",name:"",pkg:"github.com/hajimehoshi/ebiten/internal/graphics/opengl",typ:N,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ZeroFramebuffer=new F.ptr(null);Q=0;R=$makeMap(L.keyFor,[]);S=$makeMap(L.keyFor,[]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["bufio"]=(function(){var $pkg={},$init,A,B,C,D,E,Y,Z,AA,H,I,F,G;A=$packages["bytes"];B=$packages["errors"];C=$packages["io"];D=$packages["unicode/utf8"];E=$pkg.Reader=$newType(0,$kindStruct,"bufio.Reader","Reader","bufio",function(buf_,rd_,r_,w_,err_,lastByte_,lastRuneSize_){this.$val=this;if(arguments.length===0){this.buf=Y.nil;this.rd=$ifaceNil;this.r=0;this.w=0;this.err=$ifaceNil;this.lastByte=0;this.lastRuneSize=0;return;}this.buf=buf_;this.rd=rd_;this.r=r_;this.w=w_;this.err=err_;this.lastByte=lastByte_;this.lastRuneSize=lastRuneSize_;});Y=$sliceType($Uint8);Z=$ptrType(E);AA=$sliceType(Y);F=function(a,b){var $ptr,a,b,c,d,e,f;c=$assertType(a,Z,true);d=c[0];e=c[1];if(e&&d.buf.$length>=b){return d;}if(b<16){b=16;}f=new E.ptr(Y.nil,$ifaceNil,0,0,$ifaceNil,0,0);f.reset($makeSlice(Y,b),a);return f;};$pkg.NewReaderSize=F;G=function(a){var $ptr,a;return F(a,4096);};$pkg.NewReader=G;E.ptr.prototype.Reset=function(a){var $ptr,a,b;b=this;b.reset(b.buf,a);};E.prototype.Reset=function(a){return this.$val.Reset(a);};E.ptr.prototype.reset=function(a,b){var $ptr,a,b,c;c=this;E.copy(c,new E.ptr(a,b,0,0,$ifaceNil,-1,-1));};E.prototype.reset=function(a,b){return this.$val.reset(a,b);};E.ptr.prototype.fill=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.r>0){$copySlice(a.buf,$subslice(a.buf,a.r,a.w));a.w=a.w-(a.r)>>0;a.r=0;}if(a.w>=a.buf.$length){$panic(new $String("bufio: tried to fill full buffer"));}b=100;case 1:if(!(b>0)){$s=2;continue;}d=a.rd.Read($subslice(a.buf,a.w));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(e<0){$panic(H);}a.w=a.w+(e)>>0;if(!($interfaceIsEqual(f,$ifaceNil))){a.err=f;return;}if(e>0){return;}b=b-(1)>>0;$s=1;continue;case 2:a.err=C.ErrNoProgress;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:E.ptr.prototype.fill};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.fill=function(){return this.$val.fill();};E.ptr.prototype.readErr=function(){var $ptr,a,b;a=this;b=a.err;a.err=$ifaceNil;return b;};E.prototype.readErr=function(){return this.$val.readErr();};E.ptr.prototype.Peek=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a<0){return[Y.nil,$pkg.ErrNegativeCount];}if(a>b.buf.$length){return[Y.nil,$pkg.ErrBufferFull];}case 1:if(!((b.w-b.r>>0)<a&&$interfaceIsEqual(b.err,$ifaceNil))){$s=2;continue;}$r=b.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:c=$ifaceNil;d=b.w-b.r>>0;if(d<a){a=d;c=b.readErr();if($interfaceIsEqual(c,$ifaceNil)){c=$pkg.ErrBufferFull;}}return[$subslice(b.buf,b.r,(b.r+a>>0)),c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Peek};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Peek=function(a){return this.$val.Peek(a);};E.ptr.prototype.Discard=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(a<0){e=0;f=$pkg.ErrNegativeCount;b=e;c=f;return[b,c];}if(a===0){return[b,c];}g=a;case 1:h=d.Buffered();if(h===0){$s=3;continue;}$s=4;continue;case 3:$r=d.fill();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=d.Buffered();case 4:if(h>g){h=g;}d.r=d.r+(h)>>0;g=g-(h)>>0;if(g===0){i=a;j=$ifaceNil;b=i;c=j;return[b,c];}if(!($interfaceIsEqual(d.err,$ifaceNil))){k=a-g>>0;l=d.readErr();b=k;c=l;return[b,c];}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Discard};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Discard=function(a){return this.$val.Discard(a);};E.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;b=a.$length;if(b===0){e=0;f=d.readErr();b=e;c=f;return[b,c];}if(d.r===d.w){$s=1;continue;}$s=2;continue;case 1:if(!($interfaceIsEqual(d.err,$ifaceNil))){g=0;h=d.readErr();b=g;c=h;return[b,c];}if(a.$length>=d.buf.$length){$s=3;continue;}$s=4;continue;case 3:j=d.rd.Read(a);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;b=i[0];d.err=i[1];if(b<0){$panic(H);}if(b>0){d.lastByte=((k=b-1>>0,((k<0||k>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+k]))>>0);d.lastRuneSize=-1;}l=b;m=d.readErr();b=l;c=m;return[b,c];case 4:$r=d.fill();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.r===d.w){n=0;o=d.readErr();b=n;c=o;return[b,c];}case 2:b=$copySlice(a,$subslice(d.buf,d.r,d.w));d.r=d.r+(b)>>0;d.lastByte=((p=d.buf,q=d.r-1>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>0);d.lastRuneSize=-1;r=b;s=$ifaceNil;b=r;c=s;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Read=function(a){return this.$val.Read(a);};E.ptr.prototype.ReadByte=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=$ifaceNil;c=this;c.lastRuneSize=-1;case 1:if(!(c.r===c.w)){$s=2;continue;}if(!($interfaceIsEqual(c.err,$ifaceNil))){d=0;e=c.readErr();a=d;b=e;return[a,b];}$r=c.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:a=(f=c.buf,g=c.r,((g<0||g>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]));c.r=c.r+(1)>>0;c.lastByte=(a>>0);h=a;i=$ifaceNil;a=h;b=i;return[a,b];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadByte};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadByte=function(){return this.$val.ReadByte();};E.ptr.prototype.UnreadByte=function(){var $ptr,a,b,c;a=this;if(a.lastByte<0||(a.r===0)&&a.w>0){return $pkg.ErrInvalidUnreadByte;}if(a.r>0){a.r=a.r-(1)>>0;}else{a.w=1;}(b=a.buf,c=a.r,((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]=(a.lastByte<<24>>>24)));a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};E.prototype.UnreadByte=function(){return this.$val.UnreadByte();};E.ptr.prototype.ReadRune=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=0;c=$ifaceNil;d=this;case 1:if(!((d.r+4>>0)>d.w&&!D.FullRune($subslice(d.buf,d.r,d.w))&&$interfaceIsEqual(d.err,$ifaceNil)&&(d.w-d.r>>0)<d.buf.$length)){$s=2;continue;}$r=d.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:d.lastRuneSize=-1;if(d.r===d.w){e=0;f=0;g=d.readErr();a=e;b=f;c=g;return[a,b,c];}h=((i=d.buf,j=d.r,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))>>0);k=1;a=h;b=k;if(a>=128){l=D.DecodeRune($subslice(d.buf,d.r,d.w));a=l[0];b=l[1];}d.r=d.r+(b)>>0;d.lastByte=((m=d.buf,n=d.r-1>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))>>0);d.lastRuneSize=b;o=a;p=b;q=$ifaceNil;a=o;b=p;c=q;return[a,b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadRune};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadRune=function(){return this.$val.ReadRune();};E.ptr.prototype.UnreadRune=function(){var $ptr,a;a=this;if(a.lastRuneSize<0||a.r<a.lastRuneSize){return $pkg.ErrInvalidUnreadRune;}a.r=a.r-(a.lastRuneSize)>>0;a.lastByte=-1;a.lastRuneSize=-1;return $ifaceNil;};E.prototype.UnreadRune=function(){return this.$val.UnreadRune();};E.ptr.prototype.Buffered=function(){var $ptr,a;a=this;return a.w-a.r>>0;};E.prototype.Buffered=function(){return this.$val.Buffered();};E.ptr.prototype.ReadSlice=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Y.nil;c=$ifaceNil;d=this;case 1:e=A.IndexByte($subslice(d.buf,d.r,d.w),a);if(e>=0){b=$subslice(d.buf,d.r,((d.r+e>>0)+1>>0));d.r=d.r+((e+1>>0))>>0;$s=2;continue;}if(!($interfaceIsEqual(d.err,$ifaceNil))){b=$subslice(d.buf,d.r,d.w);d.r=d.w;c=d.readErr();$s=2;continue;}if(d.Buffered()>=d.buf.$length){d.r=d.w;b=d.buf;c=$pkg.ErrBufferFull;$s=2;continue;}$r=d.fill();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:f=b.$length-1>>0;if(f>=0){d.lastByte=(((f<0||f>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+f])>>0);d.lastRuneSize=-1;}return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadSlice};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadSlice=function(a){return this.$val.ReadSlice(a);};E.ptr.prototype.ReadLine=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=Y.nil;b=false;c=$ifaceNil;d=this;f=d.ReadSlice(10);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;a=e[0];c=e[1];if($interfaceIsEqual(c,$pkg.ErrBufferFull)){if(a.$length>0&&((g=a.$length-1>>0,((g<0||g>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+g]))===13)){if(d.r===0){$panic(new $String("bufio: tried to rewind past start of buffer"));}d.r=d.r-(1)>>0;a=$subslice(a,0,(a.$length-1>>0));}h=a;i=true;j=$ifaceNil;a=h;b=i;c=j;return[a,b,c];}if(a.$length===0){if(!($interfaceIsEqual(c,$ifaceNil))){a=Y.nil;}return[a,b,c];}c=$ifaceNil;if((k=a.$length-1>>0,((k<0||k>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+k]))===10){l=1;if(a.$length>1&&((m=a.$length-2>>0,((m<0||m>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+m]))===13)){l=2;}a=$subslice(a,0,(a.$length-l>>0));}return[a,b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadLine};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadLine=function(){return this.$val.ReadLine();};E.ptr.prototype.ReadBytes=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Y.nil;c=$ifaceNil;d=this;e=Y.nil;f=AA.nil;case 1:g=$ifaceNil;i=d.ReadSlice(a);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;e=h[0];g=h[1];if($interfaceIsEqual(g,$ifaceNil)){$s=2;continue;}if(!($interfaceIsEqual(g,$pkg.ErrBufferFull))){c=g;$s=2;continue;}j=$makeSlice(Y,e.$length);$copySlice(j,e);f=$append(f,j);$s=1;continue;case 2:k=0;l=f;m=0;while(true){if(!(m<l.$length)){break;}n=m;k=k+(((n<0||n>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+n]).$length)>>0;m++;}k=k+(e.$length)>>0;o=$makeSlice(Y,k);k=0;p=f;q=0;while(true){if(!(q<p.$length)){break;}r=q;k=k+($copySlice($subslice(o,k),((r<0||r>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+r])))>>0;q++;}$copySlice($subslice(o,k),e);s=o;t=c;b=s;c=t;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadBytes};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadBytes=function(a){return this.$val.ReadBytes(a);};E.ptr.prototype.ReadString=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b="";c=$ifaceNil;d=this;f=d.ReadBytes(a);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];c=e[1];b=$bytesToString(g);h=b;i=c;b=h;c=i;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.ReadString};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.ReadString=function(a){return this.$val.ReadString(a);};E.ptr.prototype.WriteTo=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new $Int64(0,0);c=$ifaceNil;d=this;f=d.writeBuf(a);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;b=e[0];c=e[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[b,c];}g=$assertType(d.rd,C.WriterTo,true);h=g[0];i=g[1];if(i){$s=2;continue;}$s=3;continue;case 2:k=h.WriteTo(a);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];b=(n=l,new $Int64(b.$high+n.$high,b.$low+n.$low));o=b;p=m;b=o;c=p;return[b,c];case 3:q=$assertType(a,C.ReaderFrom,true);r=q[0];s=q[1];if(s){$s=5;continue;}$s=6;continue;case 5:u=r.ReadFrom(d.rd);$s=7;case 7:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];b=(x=v,new $Int64(b.$high+x.$high,b.$low+x.$low));y=b;z=w;b=y;c=z;return[b,c];case 6:if((d.w-d.r>>0)<d.buf.$length){$s=8;continue;}$s=9;continue;case 8:$r=d.fill();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:case 11:if(!(d.r<d.w)){$s=12;continue;}ab=d.writeBuf(a);$s=13;case 13:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];b=(ae=ac,new $Int64(b.$high+ae.$high,b.$low+ae.$low));if(!($interfaceIsEqual(ad,$ifaceNil))){af=b;ag=ad;b=af;c=ag;return[b,c];}$r=d.fill();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 12:if($interfaceIsEqual(d.err,C.EOF)){d.err=$ifaceNil;}ah=b;ai=d.readErr();b=ah;c=ai;return[b,c];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.WriteTo};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.WriteTo=function(a){return this.$val.WriteTo(a);};E.ptr.prototype.writeBuf=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=a.Write($subslice(b.buf,b.r,b.w));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(e<0){$panic(I);}b.r=b.r+(e)>>0;return[new $Int64(0,e),f];}return;}if($f===undefined){$f={$blk:E.ptr.prototype.writeBuf};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.writeBuf=function(a){return this.$val.writeBuf(a);};Z.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([C.Reader],[],false)},{prop:"reset",name:"reset",pkg:"bufio",typ:$funcType([Y,C.Reader],[],false)},{prop:"fill",name:"fill",pkg:"bufio",typ:$funcType([],[],false)},{prop:"readErr",name:"readErr",pkg:"bufio",typ:$funcType([],[$error],false)},{prop:"Peek",name:"Peek",pkg:"",typ:$funcType([$Int],[Y,$error],false)},{prop:"Discard",name:"Discard",pkg:"",typ:$funcType([$Int],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([Y],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"Buffered",name:"Buffered",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ReadSlice",name:"ReadSlice",pkg:"",typ:$funcType([$Uint8],[Y,$error],false)},{prop:"ReadLine",name:"ReadLine",pkg:"",typ:$funcType([],[Y,$Bool,$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[Y,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([C.Writer],[$Int64,$error],false)},{prop:"writeBuf",name:"writeBuf",pkg:"bufio",typ:$funcType([C.Writer],[$Int64,$error],false)}];E.init([{prop:"buf",name:"buf",pkg:"bufio",typ:Y,tag:""},{prop:"rd",name:"rd",pkg:"bufio",typ:C.Reader,tag:""},{prop:"r",name:"r",pkg:"bufio",typ:$Int,tag:""},{prop:"w",name:"w",pkg:"bufio",typ:$Int,tag:""},{prop:"err",name:"err",pkg:"bufio",typ:$error,tag:""},{prop:"lastByte",name:"lastByte",pkg:"bufio",typ:$Int,tag:""},{prop:"lastRuneSize",name:"lastRuneSize",pkg:"bufio",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrInvalidUnreadByte=B.New("bufio: invalid use of UnreadByte");$pkg.ErrInvalidUnreadRune=B.New("bufio: invalid use of UnreadRune");$pkg.ErrBufferFull=B.New("bufio: buffer full");$pkg.ErrNegativeCount=B.New("bufio: negative count");H=B.New("bufio: reader returned negative count from Read");I=B.New("bufio: writer returned negative count from Write");$pkg.ErrTooLong=B.New("bufio.Scanner: token too long");$pkg.ErrNegativeAdvance=B.New("bufio.Scanner: SplitFunc returns negative advance count");$pkg.ErrAdvanceTooFar=B.New("bufio.Scanner: SplitFunc returns advance count beyond input");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/color"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,I,J,L,U,Y,AC,AE,AF,K,M,N,O,P,Q,R,S,T,V,W,Z,AA,AB,AD;A=$pkg.Color=$newType(8,$kindInterface,"color.Color","Color","image/color",null);B=$pkg.RGBA=$newType(0,$kindStruct,"color.RGBA","RGBA","image/color",function(R_,G_,B_,A_){this.$val=this;if(arguments.length===0){this.R=0;this.G=0;this.B=0;this.A=0;return;}this.R=R_;this.G=G_;this.B=B_;this.A=A_;});C=$pkg.RGBA64=$newType(0,$kindStruct,"color.RGBA64","RGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;if(arguments.length===0){this.R=0;this.G=0;this.B=0;this.A=0;return;}this.R=R_;this.G=G_;this.B=B_;this.A=A_;});D=$pkg.NRGBA=$newType(0,$kindStruct,"color.NRGBA","NRGBA","image/color",function(R_,G_,B_,A_){this.$val=this;if(arguments.length===0){this.R=0;this.G=0;this.B=0;this.A=0;return;}this.R=R_;this.G=G_;this.B=B_;this.A=A_;});E=$pkg.NRGBA64=$newType(0,$kindStruct,"color.NRGBA64","NRGBA64","image/color",function(R_,G_,B_,A_){this.$val=this;if(arguments.length===0){this.R=0;this.G=0;this.B=0;this.A=0;return;}this.R=R_;this.G=G_;this.B=B_;this.A=A_;});F=$pkg.Alpha=$newType(0,$kindStruct,"color.Alpha","Alpha","image/color",function(A_){this.$val=this;if(arguments.length===0){this.A=0;return;}this.A=A_;});G=$pkg.Alpha16=$newType(0,$kindStruct,"color.Alpha16","Alpha16","image/color",function(A_){this.$val=this;if(arguments.length===0){this.A=0;return;}this.A=A_;});H=$pkg.Gray=$newType(0,$kindStruct,"color.Gray","Gray","image/color",function(Y_){this.$val=this;if(arguments.length===0){this.Y=0;return;}this.Y=Y_;});I=$pkg.Gray16=$newType(0,$kindStruct,"color.Gray16","Gray16","image/color",function(Y_){this.$val=this;if(arguments.length===0){this.Y=0;return;}this.Y=Y_;});J=$pkg.Model=$newType(8,$kindInterface,"color.Model","Model","image/color",null);L=$pkg.modelFunc=$newType(0,$kindStruct,"color.modelFunc","modelFunc","image/color",function(f_){this.$val=this;if(arguments.length===0){this.f=$throwNilPointerError;return;}this.f=f_;});U=$pkg.Palette=$newType(12,$kindSlice,"color.Palette","Palette","image/color",null);Y=$pkg.YCbCr=$newType(0,$kindStruct,"color.YCbCr","YCbCr","image/color",function(Y_,Cb_,Cr_){this.$val=this;if(arguments.length===0){this.Y=0;this.Cb=0;this.Cr=0;return;}this.Y=Y_;this.Cb=Cb_;this.Cr=Cr_;});AC=$pkg.CMYK=$newType(0,$kindStruct,"color.CMYK","CMYK","image/color",function(C_,M_,Y_,K_){this.$val=this;if(arguments.length===0){this.C=0;this.M=0;this.Y=0;this.K=0;return;}this.C=C_;this.M=M_;this.Y=Y_;this.K=K_;});AE=$ptrType(L);AF=$funcType([A],[A],false);B.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e;a=0;b=0;c=0;d=0;e=$clone(this,B);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};B.prototype.RGBA=function(){return this.$val.RGBA();};C.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h,i;a=0;b=0;c=0;d=0;e=$clone(this,C);f=(e.R>>>0);g=(e.G>>>0);h=(e.B>>>0);i=(e.A>>>0);a=f;b=g;c=h;d=i;return[a,b,c,d];};C.prototype.RGBA=function(){return this.$val.RGBA();};D.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h;a=0;b=0;c=0;d=0;e=$clone(this,D);a=(e.R>>>0);a=(a|((a<<8>>>0)))>>>0;a=$imul(a,((e.A>>>0)))>>>0;a=(f=a/(255),(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=(b|((b<<8>>>0)))>>>0;b=$imul(b,((e.A>>>0)))>>>0;b=(g=b/(255),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=(c|((c<<8>>>0)))>>>0;c=$imul(c,((e.A>>>0)))>>>0;c=(h=c/(255),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;return[a,b,c,d];};D.prototype.RGBA=function(){return this.$val.RGBA();};E.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h;a=0;b=0;c=0;d=0;e=$clone(this,E);a=(e.R>>>0);a=$imul(a,((e.A>>>0)))>>>0;a=(f=a/(65535),(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"));b=(e.G>>>0);b=$imul(b,((e.A>>>0)))>>>0;b=(g=b/(65535),(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));c=(e.B>>>0);c=$imul(c,((e.A>>>0)))>>>0;c=(h=c/(65535),(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));d=(e.A>>>0);return[a,b,c,d];};E.prototype.RGBA=function(){return this.$val.RGBA();};F.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h,i;a=0;b=0;c=0;d=0;e=$clone(this,F);d=(e.A>>>0);d=(d|((d<<8>>>0)))>>>0;f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};F.prototype.RGBA=function(){return this.$val.RGBA();};G.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h,i;a=0;b=0;c=0;d=0;e=$clone(this,G);d=(e.A>>>0);f=d;g=d;h=d;i=d;a=f;b=g;c=h;d=i;return[a,b,c,d];};G.prototype.RGBA=function(){return this.$val.RGBA();};H.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h,i,j;a=0;b=0;c=0;d=0;e=$clone(this,H);f=(e.Y>>>0);f=(f|((f<<8>>>0)))>>>0;g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};H.prototype.RGBA=function(){return this.$val.RGBA();};I.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h,i,j;a=0;b=0;c=0;d=0;e=$clone(this,I);f=(e.Y>>>0);g=f;h=f;i=f;j=65535;a=g;b=h;c=i;d=j;return[a,b,c,d];};I.prototype.RGBA=function(){return this.$val.RGBA();};K=function(a){var $ptr,a;return new L.ptr(a);};$pkg.ModelFunc=K;L.ptr.prototype.Convert=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.f(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:L.ptr.prototype.Convert};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};L.prototype.Convert=function(a){return this.$val.Convert(a);};M=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,B,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=d[3];return(j=new B.ptr(((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24),((i>>>8>>>0)<<24>>>24)),new j.constructor.elem(j));}return;}if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};N=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,C,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=d[3];return(j=new C.ptr((f<<16>>>16),(g<<16>>>16),(h<<16>>>16),(i<<16>>>16)),new j.constructor.elem(j));}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};O=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,D,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=d[3];if(i===65535){return(j=new D.ptr(((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24),255),new j.constructor.elem(j));}if(i===0){return(k=new D.ptr(0,0,0,0),new k.constructor.elem(k));}f=(l=(($imul(f,65535)>>>0))/i,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(($imul(g,65535)>>>0))/i,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));h=(n=(($imul(h,65535)>>>0))/i,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"));return(o=new D.ptr(((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24),((i>>>8>>>0)<<24>>>24)),new o.constructor.elem(o));}return;}if($f===undefined){$f={$blk:O};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};P=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,E,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=d[3];if(i===65535){return(j=new E.ptr((f<<16>>>16),(g<<16>>>16),(h<<16>>>16),65535),new j.constructor.elem(j));}if(i===0){return(k=new E.ptr(0,0,0,0),new k.constructor.elem(k));}f=(l=(($imul(f,65535)>>>0))/i,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));g=(m=(($imul(g,65535)>>>0))/i,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));h=(n=(($imul(h,65535)>>>0))/i,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"));return(o=new E.ptr((f<<16>>>16),(g<<16>>>16),(h<<16>>>16),(i<<16>>>16)),new o.constructor.elem(o));}return;}if($f===undefined){$f={$blk:P};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};Q=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,F,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[3];return(g=new F.ptr(((f>>>8>>>0)<<24>>>24)),new g.constructor.elem(g));}return;}if($f===undefined){$f={$blk:Q};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};R=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,G,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[3];return(g=new G.ptr((f<<16>>>16)),new g.constructor.elem(g));}return;}if($f===undefined){$f={$blk:R};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};S=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,H,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];j=(i=((((($imul(299,f)>>>0)+($imul(587,g)>>>0)>>>0)+($imul(114,h)>>>0)>>>0)+500>>>0))/1000,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));return(k=new H.ptr(((j>>>8>>>0)<<24>>>24)),new k.constructor.elem(k));}return;}if($f===undefined){$f={$blk:S};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};T=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,I,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];j=(i=((((($imul(299,f)>>>0)+($imul(587,g)>>>0)>>>0)+($imul(114,h)>>>0)>>>0)+500>>>0))/1000,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));return(k=new I.ptr((j<<16>>>16)),new k.constructor.elem(k));}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Convert=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(b.$length===0){return $ifaceNil;}d=b.Index(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=2;case 2:return(c=d,((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]));}return;}if($f===undefined){$f={$blk:U.prototype.Convert};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(U).prototype.Convert=function(a){return this.$get().Convert(a);};U.prototype.Index=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=a.RGBA();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];h=c[3];i=0;j=4294967295;k=i;l=j;m=b;n=0;case 2:if(!(n<m.$length)){$s=3;continue;}o=n;p=((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]);r=p.RGBA();$s=4;case 4:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];u=q[2];v=q[3];w=((V(e,s)+V(f,t)>>>0)+V(g,u)>>>0)+V(h,v)>>>0;if(w<l){if(w===0){return o;}x=o;y=w;k=x;l=y;}n++;$s=2;continue;case 3:return k;}return;}if($f===undefined){$f={$blk:U.prototype.Index};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(U).prototype.Index=function(a){return this.$get().Index(a);};V=function(a,b){var $ptr,a,b,c;c=0;if(a>b){c=a-b>>>0;}else{c=b-a>>>0;}return(($imul(c,c)>>>0))>>>2>>>0;};W=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i;d=(a>>0);e=(b>>0);f=(c>>0);g=((((($imul(19595,d))+($imul(38470,e))>>0)+($imul(7471,f))>>0)+32768>>0))>>16>>0;h=((((($imul(-11056,d))-($imul(21712,e))>>0)+($imul(32768,f))>>0)+8421376>>0))>>16>>0;i=((((($imul(32768,d))-($imul(27440,e))>>0)-($imul(5328,f))>>0)+8421376>>0))>>16>>0;if(g<0){g=0;}else if(g>255){g=255;}if(h<0){h=0;}else if(h>255){h=255;}if(i<0){i=0;}else if(i>255){i=255;}return[(g<<24>>>24),(h<<24>>>24),(i<<24>>>24)];};$pkg.RGBToYCbCr=W;Y.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g;a=$clone(this,Y);b=$imul((a.Y>>0),65792);c=(a.Cb>>0)-128>>0;d=(a.Cr>>0)-128>>0;e=((b+($imul(91881,d))>>0))>>8>>0;f=(((b-($imul(22554,c))>>0)-($imul(46802,d))>>0))>>8>>0;g=((b+($imul(116130,c))>>0))>>8>>0;if(e<0){e=0;}else if(e>65535){e=65535;}if(f<0){f=0;}else if(f>65535){f=65535;}if(g<0){g=0;}else if(g>65535){g=65535;}return[(e>>>0),(f>>>0),(g>>>0),65535];};Y.prototype.RGBA=function(){return this.$val.RGBA();};Z=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,Y,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=W(((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24));j=i[0];k=i[1];l=i[2];return(m=new Y.ptr(j,k,l),new m.constructor.elem(m));}return;}if($f===undefined){$f={$blk:Z};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m;d=(a>>>0);e=(b>>>0);f=(c>>>0);g=d;if(g<e){g=e;}if(g<f){g=f;}if(g===0){return[0,0,0,255];}i=(h=($imul(((g-d>>>0)),255)>>>0)/g,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));k=(j=($imul(((g-e>>>0)),255)>>>0)/g,(j===j&&j!==1/0&&j!==-1/0)?j>>>0:$throwRuntimeError("integer divide by zero"));m=(l=($imul(((g-f>>>0)),255)>>>0)/g,(l===l&&l!==1/0&&l!==-1/0)?l>>>0:$throwRuntimeError("integer divide by zero"));return[(i<<24>>>24),(k<<24>>>24),(m<<24>>>24),((255-g>>>0)<<24>>>24)];};$pkg.RGBToCMYK=AA;AB=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k;e=(65535-($imul((d>>>0),257)>>>0)>>>0);g=(f=($imul((65535-($imul((a>>>0),257)>>>0)>>>0),e)>>>0)/65535,(f===f&&f!==1/0&&f!==-1/0)?f>>>0:$throwRuntimeError("integer divide by zero"));i=(h=($imul((65535-($imul((b>>>0),257)>>>0)>>>0),e)>>>0)/65535,(h===h&&h!==1/0&&h!==-1/0)?h>>>0:$throwRuntimeError("integer divide by zero"));k=(j=($imul((65535-($imul((c>>>0),257)>>>0)>>>0),e)>>>0)/65535,(j===j&&j!==1/0&&j!==-1/0)?j>>>0:$throwRuntimeError("integer divide by zero"));return[((g>>>8>>>0)<<24>>>24),((i>>>8>>>0)<<24>>>24),((k>>>8>>>0)<<24>>>24)];};$pkg.CMYKToRGB=AB;AC.ptr.prototype.RGBA=function(){var $ptr,a,b,c,d,e,f,g,h;a=$clone(this,AC);b=(65535-($imul((a.K>>>0),257)>>>0)>>>0);d=(c=($imul((65535-($imul((a.C>>>0),257)>>>0)>>>0),b)>>>0)/65535,(c===c&&c!==1/0&&c!==-1/0)?c>>>0:$throwRuntimeError("integer divide by zero"));f=(e=($imul((65535-($imul((a.M>>>0),257)>>>0)>>>0),b)>>>0)/65535,(e===e&&e!==1/0&&e!==-1/0)?e>>>0:$throwRuntimeError("integer divide by zero"));h=(g=($imul((65535-($imul((a.Y>>>0),257)>>>0)>>>0),b)>>>0)/65535,(g===g&&g!==1/0&&g!==-1/0)?g>>>0:$throwRuntimeError("integer divide by zero"));return[d,f,h,65535];};AC.prototype.RGBA=function(){return this.$val.RGBA();};AD=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$assertType(a,AC,true);c=b[1];if(c){return a;}e=a.RGBA();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];h=d[2];i=AA(((f>>>8>>>0)<<24>>>24),((g>>>8>>>0)<<24>>>24),((h>>>8>>>0)<<24>>>24));j=i[0];k=i[1];l=i[2];m=i[3];return(n=new AC.ptr(j,k,l,m),new n.constructor.elem(n));}return;}if($f===undefined){$f={$blk:AD};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};B.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];C.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];D.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];E.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];F.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];G.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];H.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];I.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];AE.methods=[{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([A],[A],false)}];U.methods=[{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([A],[A],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([A],[$Int],false)}];Y.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];AC.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}];A.init([{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)}]);B.init([{prop:"R",name:"R",pkg:"",typ:$Uint8,tag:""},{prop:"G",name:"G",pkg:"",typ:$Uint8,tag:""},{prop:"B",name:"B",pkg:"",typ:$Uint8,tag:""},{prop:"A",name:"A",pkg:"",typ:$Uint8,tag:""}]);C.init([{prop:"R",name:"R",pkg:"",typ:$Uint16,tag:""},{prop:"G",name:"G",pkg:"",typ:$Uint16,tag:""},{prop:"B",name:"B",pkg:"",typ:$Uint16,tag:""},{prop:"A",name:"A",pkg:"",typ:$Uint16,tag:""}]);D.init([{prop:"R",name:"R",pkg:"",typ:$Uint8,tag:""},{prop:"G",name:"G",pkg:"",typ:$Uint8,tag:""},{prop:"B",name:"B",pkg:"",typ:$Uint8,tag:""},{prop:"A",name:"A",pkg:"",typ:$Uint8,tag:""}]);E.init([{prop:"R",name:"R",pkg:"",typ:$Uint16,tag:""},{prop:"G",name:"G",pkg:"",typ:$Uint16,tag:""},{prop:"B",name:"B",pkg:"",typ:$Uint16,tag:""},{prop:"A",name:"A",pkg:"",typ:$Uint16,tag:""}]);F.init([{prop:"A",name:"A",pkg:"",typ:$Uint8,tag:""}]);G.init([{prop:"A",name:"A",pkg:"",typ:$Uint16,tag:""}]);H.init([{prop:"Y",name:"Y",pkg:"",typ:$Uint8,tag:""}]);I.init([{prop:"Y",name:"Y",pkg:"",typ:$Uint16,tag:""}]);J.init([{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([A],[A],false)}]);L.init([{prop:"f",name:"f",pkg:"image/color",typ:AF,tag:""}]);U.init(A);Y.init([{prop:"Y",name:"Y",pkg:"",typ:$Uint8,tag:""},{prop:"Cb",name:"Cb",pkg:"",typ:$Uint8,tag:""},{prop:"Cr",name:"Cr",pkg:"",typ:$Uint8,tag:""}]);AC.init([{prop:"C",name:"C",pkg:"",typ:$Uint8,tag:""},{prop:"M",name:"M",pkg:"",typ:$Uint8,tag:""},{prop:"Y",name:"Y",pkg:"",typ:$Uint8,tag:""},{prop:"K",name:"K",pkg:"",typ:$Uint8,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$pkg.RGBAModel=K(M);$pkg.RGBA64Model=K(N);$pkg.NRGBAModel=K(O);$pkg.NRGBA64Model=K(P);$pkg.AlphaModel=K(Q);$pkg.Alpha16Model=K(R);$pkg.GrayModel=K(S);$pkg.Gray16Model=K(T);$pkg.Black=new I.ptr(0);$pkg.White=new I.ptr(65535);$pkg.Transparent=new G.ptr(0);$pkg.Opaque=new G.ptr(65535);$pkg.YCbCrModel=K(Z);$pkg.CMYKModel=K(AD);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image"]=(function(){var $pkg={},$init,A,B,D,C,E,F,I,O,Q,S,T,V,X,Z,AB,AD,AF,AH,AJ,AL,AN,AP,AR,AS,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,G,a,b,c,d,H,J,K,L,M,R,W,Y,AA,AC,AI,AK,AO,AQ;A=$packages["bufio"];B=$packages["errors"];D=$packages["image/color"];C=$packages["io"];E=$packages["strconv"];F=$pkg.format=$newType(0,$kindStruct,"image.format","format","image",function(name_,magic_,decode_,decodeConfig_){this.$val=this;if(arguments.length===0){this.name="";this.magic="";this.decode=$throwNilPointerError;this.decodeConfig=$throwNilPointerError;return;}this.name=name_;this.magic=magic_;this.decode=decode_;this.decodeConfig=decodeConfig_;});I=$pkg.reader=$newType(8,$kindInterface,"image.reader","reader","image",null);O=$pkg.Point=$newType(0,$kindStruct,"image.Point","Point","image",function(X_,Y_){this.$val=this;if(arguments.length===0){this.X=0;this.Y=0;return;}this.X=X_;this.Y=Y_;});Q=$pkg.Rectangle=$newType(0,$kindStruct,"image.Rectangle","Rectangle","image",function(Min_,Max_){this.$val=this;if(arguments.length===0){this.Min=new O.ptr(0,0);this.Max=new O.ptr(0,0);return;}this.Min=Min_;this.Max=Max_;});S=$pkg.Config=$newType(0,$kindStruct,"image.Config","Config","image",function(ColorModel_,Width_,Height_){this.$val=this;if(arguments.length===0){this.ColorModel=$ifaceNil;this.Width=0;this.Height=0;return;}this.ColorModel=ColorModel_;this.Width=Width_;this.Height=Height_;});T=$pkg.Image=$newType(8,$kindInterface,"image.Image","Image","image",null);V=$pkg.RGBA=$newType(0,$kindStruct,"image.RGBA","RGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});X=$pkg.RGBA64=$newType(0,$kindStruct,"image.RGBA64","RGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});Z=$pkg.NRGBA=$newType(0,$kindStruct,"image.NRGBA","NRGBA","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AB=$pkg.NRGBA64=$newType(0,$kindStruct,"image.NRGBA64","NRGBA64","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AD=$pkg.Alpha=$newType(0,$kindStruct,"image.Alpha","Alpha","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AF=$pkg.Alpha16=$newType(0,$kindStruct,"image.Alpha16","Alpha16","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AH=$pkg.Gray=$newType(0,$kindStruct,"image.Gray","Gray","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AJ=$pkg.Gray16=$newType(0,$kindStruct,"image.Gray16","Gray16","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AL=$pkg.CMYK=$newType(0,$kindStruct,"image.CMYK","CMYK","image",function(Pix_,Stride_,Rect_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;});AN=$pkg.Paletted=$newType(0,$kindStruct,"image.Paletted","Paletted","image",function(Pix_,Stride_,Rect_,Palette_){this.$val=this;if(arguments.length===0){this.Pix=AV.nil;this.Stride=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));this.Palette=D.Palette.nil;return;}this.Pix=Pix_;this.Stride=Stride_;this.Rect=Rect_;this.Palette=Palette_;});AP=$pkg.Uniform=$newType(0,$kindStruct,"image.Uniform","Uniform","image",function(C_){this.$val=this;if(arguments.length===0){this.C=$ifaceNil;return;}this.C=C_;});AR=$pkg.YCbCrSubsampleRatio=$newType(4,$kindInt,"image.YCbCrSubsampleRatio","YCbCrSubsampleRatio","image",null);AS=$pkg.YCbCr=$newType(0,$kindStruct,"image.YCbCr","YCbCr","image",function(Y_,Cb_,Cr_,YStride_,CStride_,SubsampleRatio_,Rect_){this.$val=this;if(arguments.length===0){this.Y=AV.nil;this.Cb=AV.nil;this.Cr=AV.nil;this.YStride=0;this.CStride=0;this.SubsampleRatio=0;this.Rect=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));return;}this.Y=Y_;this.Cb=Cb_;this.Cr=Cr_;this.YStride=YStride_;this.CStride=CStride_;this.SubsampleRatio=SubsampleRatio_;this.Rect=Rect_;});AU=$sliceType(F);AV=$sliceType($Uint8);AW=$arrayType($Bool,256);AX=$funcType([C.Reader],[T,$error],false);AY=$funcType([C.Reader],[S,$error],false);AZ=$ptrType(V);BA=$ptrType(X);BB=$ptrType(Z);BC=$ptrType(AB);BD=$ptrType(AD);BE=$ptrType(AF);BF=$ptrType(AH);BG=$ptrType(AJ);BH=$ptrType(AL);BI=$ptrType(AN);BJ=$ptrType(AP);BK=$ptrType(AS);H=function(e,f,g,h){var $ptr,e,f,g,h;G=$append(G,new F.ptr(e,f,g,h));};$pkg.RegisterFormat=H;J=function(e){var $ptr,e,f,g,h;f=$assertType(e,I,true);g=f[0];h=f[1];if(h){return g;}return A.NewReader(e);};K=function(e,f){var $ptr,e,f,g,h,i,j;if(!((e.length===f.$length))){return false;}g=f;h=0;while(true){if(!(h<g.$length)){break;}i=h;j=((h<0||h>=g.$length)?$throwRuntimeError("index out of range"):g.$array[g.$offset+h]);if(!((e.charCodeAt(i)===j))&&!((e.charCodeAt(i)===63))){return false;}h++;}return true;};L=function(e){var $ptr,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=G;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=$clone(((g<0||g>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),F);j=e.Peek(h.magic.length);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if($interfaceIsEqual(l,$ifaceNil)&&K(h.magic,k)){return h;}g++;$s=1;continue;case 2:return new F.ptr("","",$throwNilPointerError,$throwNilPointerError);}return;}if($f===undefined){$f={$blk:L};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};M=function(e){var $ptr,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=J(e);g=L(f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,F);if(h.decode===$throwNilPointerError){return[$ifaceNil,"",$pkg.ErrFormat];}j=h.decode(f);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];return[k,h.name,l];}return;}if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Decode=M;O.ptr.prototype.String=function(){var $ptr,e;e=$clone(this,O);return"("+E.Itoa(e.X)+","+E.Itoa(e.Y)+")";};O.prototype.String=function(){return this.$val.String();};O.ptr.prototype.Add=function(e){var $ptr,e,f;e=$clone(e,O);f=$clone(this,O);return new O.ptr(f.X+e.X>>0,f.Y+e.Y>>0);};O.prototype.Add=function(e){return this.$val.Add(e);};O.ptr.prototype.Sub=function(e){var $ptr,e,f;e=$clone(e,O);f=$clone(this,O);return new O.ptr(f.X-e.X>>0,f.Y-e.Y>>0);};O.prototype.Sub=function(e){return this.$val.Sub(e);};O.ptr.prototype.Mul=function(e){var $ptr,e,f;f=$clone(this,O);return new O.ptr($imul(f.X,e),$imul(f.Y,e));};O.prototype.Mul=function(e){return this.$val.Mul(e);};O.ptr.prototype.Div=function(e){var $ptr,e,f,g,h;f=$clone(this,O);return new O.ptr((g=f.X/e,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),(h=f.Y/e,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")));};O.prototype.Div=function(e){return this.$val.Div(e);};O.ptr.prototype.In=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,O);return e.Min.X<=f.X&&f.X<e.Max.X&&e.Min.Y<=f.Y&&f.Y<e.Max.Y;};O.prototype.In=function(e){return this.$val.In(e);};O.ptr.prototype.Mod=function(e){var $ptr,e,f,g,h,i,j,k,l;e=$clone(e,Q);f=$clone(this,O);g=e.Dx();h=e.Dy();i=g;j=h;O.copy(f,f.Sub(e.Min));f.X=(k=f.X%i,k===k?k:$throwRuntimeError("integer divide by zero"));if(f.X<0){f.X=f.X+(i)>>0;}f.Y=(l=f.Y%j,l===l?l:$throwRuntimeError("integer divide by zero"));if(f.Y<0){f.Y=f.Y+(j)>>0;}return f.Add(e.Min);};O.prototype.Mod=function(e){return this.$val.Mod(e);};O.ptr.prototype.Eq=function(e){var $ptr,e,f;e=$clone(e,O);f=$clone(this,O);return $equal(f,e,O);};O.prototype.Eq=function(e){return this.$val.Eq(e);};Q.ptr.prototype.String=function(){var $ptr,e;e=$clone(this,Q);return e.Min.String()+"-"+e.Max.String();};Q.prototype.String=function(){return this.$val.String();};Q.ptr.prototype.Dx=function(){var $ptr,e;e=$clone(this,Q);return e.Max.X-e.Min.X>>0;};Q.prototype.Dx=function(){return this.$val.Dx();};Q.ptr.prototype.Dy=function(){var $ptr,e;e=$clone(this,Q);return e.Max.Y-e.Min.Y>>0;};Q.prototype.Dy=function(){return this.$val.Dy();};Q.ptr.prototype.Size=function(){var $ptr,e;e=$clone(this,Q);return new O.ptr(e.Max.X-e.Min.X>>0,e.Max.Y-e.Min.Y>>0);};Q.prototype.Size=function(){return this.$val.Size();};Q.ptr.prototype.Add=function(e){var $ptr,e,f;e=$clone(e,O);f=$clone(this,Q);return new Q.ptr(new O.ptr(f.Min.X+e.X>>0,f.Min.Y+e.Y>>0),new O.ptr(f.Max.X+e.X>>0,f.Max.Y+e.Y>>0));};Q.prototype.Add=function(e){return this.$val.Add(e);};Q.ptr.prototype.Sub=function(e){var $ptr,e,f;e=$clone(e,O);f=$clone(this,Q);return new Q.ptr(new O.ptr(f.Min.X-e.X>>0,f.Min.Y-e.Y>>0),new O.ptr(f.Max.X-e.X>>0,f.Max.Y-e.Y>>0));};Q.prototype.Sub=function(e){return this.$val.Sub(e);};Q.ptr.prototype.Inset=function(e){var $ptr,e,f,g,h;f=$clone(this,Q);if(f.Dx()<($imul(2,e))){f.Min.X=(g=((f.Min.X+f.Max.X>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));f.Max.X=f.Min.X;}else{f.Min.X=f.Min.X+(e)>>0;f.Max.X=f.Max.X-(e)>>0;}if(f.Dy()<($imul(2,e))){f.Min.Y=(h=((f.Min.Y+f.Max.Y>>0))/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));f.Max.Y=f.Min.Y;}else{f.Min.Y=f.Min.Y+(e)>>0;f.Max.Y=f.Max.Y-(e)>>0;}return f;};Q.prototype.Inset=function(e){return this.$val.Inset(e);};Q.ptr.prototype.Intersect=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,Q);if(f.Min.X<e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y<e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X>e.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y>e.Max.Y){f.Max.Y=e.Max.Y;}if(f.Min.X>f.Max.X||f.Min.Y>f.Max.Y){return $pkg.ZR;}return f;};Q.prototype.Intersect=function(e){return this.$val.Intersect(e);};Q.ptr.prototype.Union=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,Q);if(f.Empty()){return e;}if(e.Empty()){return f;}if(f.Min.X>e.Min.X){f.Min.X=e.Min.X;}if(f.Min.Y>e.Min.Y){f.Min.Y=e.Min.Y;}if(f.Max.X<e.Max.X){f.Max.X=e.Max.X;}if(f.Max.Y<e.Max.Y){f.Max.Y=e.Max.Y;}return f;};Q.prototype.Union=function(e){return this.$val.Union(e);};Q.ptr.prototype.Empty=function(){var $ptr,e;e=$clone(this,Q);return e.Min.X>=e.Max.X||e.Min.Y>=e.Max.Y;};Q.prototype.Empty=function(){return this.$val.Empty();};Q.ptr.prototype.Eq=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,Q);return $equal(f,e,Q)||f.Empty()&&e.Empty();};Q.prototype.Eq=function(e){return this.$val.Eq(e);};Q.ptr.prototype.Overlaps=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,Q);return!f.Empty()&&!e.Empty()&&f.Min.X<e.Max.X&&e.Min.X<f.Max.X&&f.Min.Y<e.Max.Y&&e.Min.Y<f.Max.Y;};Q.prototype.Overlaps=function(e){return this.$val.Overlaps(e);};Q.ptr.prototype.In=function(e){var $ptr,e,f;e=$clone(e,Q);f=$clone(this,Q);if(f.Empty()){return true;}return e.Min.X<=f.Min.X&&f.Max.X<=e.Max.X&&e.Min.Y<=f.Min.Y&&f.Max.Y<=e.Max.Y;};Q.prototype.In=function(e){return this.$val.In(e);};Q.ptr.prototype.Canon=function(){var $ptr,e,f,g,h,i;e=$clone(this,Q);if(e.Max.X<e.Min.X){f=e.Max.X;g=e.Min.X;e.Min.X=f;e.Max.X=g;}if(e.Max.Y<e.Min.Y){h=e.Max.Y;i=e.Min.Y;e.Min.Y=h;e.Max.Y=i;}return e;};Q.prototype.Canon=function(){return this.$val.Canon();};Q.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h,i;g=$clone(this,Q);if((new O.ptr(e,f)).In(g)){return(h=D.Opaque,new h.constructor.elem(h));}return(i=D.Transparent,new i.constructor.elem(i));};Q.prototype.At=function(e,f){return this.$val.At(e,f);};Q.ptr.prototype.Bounds=function(){var $ptr,e;e=$clone(this,Q);return e;};Q.prototype.Bounds=function(){return this.$val.Bounds();};Q.ptr.prototype.ColorModel=function(){var $ptr,e;e=$clone(this,Q);return D.Alpha16Model;};Q.prototype.ColorModel=function(){return this.$val.ColorModel();};R=function(e,f,g,h){var $ptr,e,f,g,h,i,j,k,l;if(e>g){i=g;j=e;e=i;g=j;}if(f>h){k=h;l=f;f=k;h=l;}return new Q.ptr(new O.ptr(e,f),new O.ptr(g,h));};$pkg.Rect=R;V.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.RGBAModel;};V.prototype.ColorModel=function(){return this.$val.ColorModel();};V.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};V.prototype.Bounds=function(){return this.$val.Bounds();};V.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.RGBAAt(e,f),new h.constructor.elem(h));};V.prototype.At=function(e,f){return this.$val.At(e,f);};V.ptr.prototype.RGBAAt=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.RGBA.ptr(0,0,0,0);}h=g.PixOffset(e,f);return new D.RGBA.ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};V.prototype.RGBAAt=function(e,f){return this.$val.RGBAAt(e,f);};V.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),4))>>0;};V.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};V.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.RGBAModel.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.RGBA),D.RGBA);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=k.R));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=k.G));(p=h.Pix,q=i+2>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=k.B));(r=h.Pix,s=i+3>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=k.A));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:V.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};V.ptr.prototype.SetRGBA=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q;g=$clone(g,D.RGBA);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G));(n=h.Pix,o=i+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B));(p=h.Pix,q=i+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A));};V.prototype.SetRGBA=function(e,f,g){return this.$val.SetRGBA(e,f,g);};V.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new V.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new V.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};V.prototype.SubImage=function(e){return this.$val.SubImage(e);};V.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=$imul(e.Rect.Dx(),4);h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,((k<0||k>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};V.prototype.Opaque=function(){return this.$val.Opaque();};W=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(4,h)),i)));return new V.ptr(j,$imul(4,h),$clone(e,Q));};$pkg.NewRGBA=W;X.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.RGBA64Model;};X.prototype.ColorModel=function(){return this.$val.ColorModel();};X.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};X.prototype.Bounds=function(){return this.$val.Bounds();};X.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.RGBA64At(e,f),new h.constructor.elem(h));};X.prototype.At=function(e,f){return this.$val.At(e,f);};X.ptr.prototype.RGBA64At=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.RGBA64.ptr(0,0,0,0);}h=g.PixOffset(e,f);return new D.RGBA64.ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};X.prototype.RGBA64At=function(e,f){return this.$val.RGBA64At(e,f);};X.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),8))>>0;};X.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};X.ptr.prototype.Set=function(e,f,g){var $ptr,aa,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.RGBA64Model.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.RGBA64),D.RGBA64);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=((k.R>>>8<<16>>>16)<<24>>>24)));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=(k.R<<24>>>24)));(p=h.Pix,q=i+2>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((k.G>>>8<<16>>>16)<<24>>>24)));(r=h.Pix,s=i+3>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=(k.G<<24>>>24)));(t=h.Pix,u=i+4>>0,((u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=((k.B>>>8<<16>>>16)<<24>>>24)));(v=h.Pix,w=i+5>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=(k.B<<24>>>24)));(x=h.Pix,y=i+6>>0,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=((k.A>>>8<<16>>>16)<<24>>>24)));(z=h.Pix,aa=i+7>>0,((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]=(k.A<<24>>>24)));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:X.ptr.prototype.Set};}$f.$ptr=$ptr;$f.aa=aa;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};X.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};X.ptr.prototype.SetRGBA64=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;g=$clone(g,D.RGBA64);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24)));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24)));(n=h.Pix,o=i+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24)));(p=h.Pix,q=i+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24)));(r=h.Pix,s=i+4>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24)));(t=h.Pix,u=i+5>>0,((u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24)));(v=h.Pix,w=i+6>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24)));(x=h.Pix,y=i+7>>0,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24)));};X.prototype.SetRGBA64=function(e,f,g){return this.$val.SetRGBA64(e,f,g);};X.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new X.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new X.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};X.prototype.SubImage=function(e){return this.$val.SubImage(e);};X.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=$imul(e.Rect.Dx(),8);h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,m=k+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};X.prototype.Opaque=function(){return this.$val.Opaque();};Y=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(8,h)),i)));return new X.ptr(j,$imul(8,h),$clone(e,Q));};$pkg.NewRGBA64=Y;Z.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.NRGBAModel;};Z.prototype.ColorModel=function(){return this.$val.ColorModel();};Z.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};Z.prototype.Bounds=function(){return this.$val.Bounds();};Z.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.NRGBAAt(e,f),new h.constructor.elem(h));};Z.prototype.At=function(e,f){return this.$val.At(e,f);};Z.ptr.prototype.NRGBAAt=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.NRGBA.ptr(0,0,0,0);}h=g.PixOffset(e,f);return new D.NRGBA.ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};Z.prototype.NRGBAAt=function(e,f){return this.$val.NRGBAAt(e,f);};Z.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),4))>>0;};Z.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};Z.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.NRGBAModel.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.NRGBA),D.NRGBA);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=k.R));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=k.G));(p=h.Pix,q=i+2>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=k.B));(r=h.Pix,s=i+3>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=k.A));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:Z.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};Z.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};Z.ptr.prototype.SetNRGBA=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q;g=$clone(g,D.NRGBA);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.R));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.G));(n=h.Pix,o=i+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.B));(p=h.Pix,q=i+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.A));};Z.prototype.SetNRGBA=function(e,f,g){return this.$val.SetNRGBA(e,f,g);};Z.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new Z.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new Z.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};Z.prototype.SubImage=function(e){return this.$val.SubImage(e);};Z.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=3;g=$imul(e.Rect.Dx(),4);h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,((k<0||k>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(4)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};Z.prototype.Opaque=function(){return this.$val.Opaque();};AA=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(4,h)),i)));return new Z.ptr(j,$imul(4,h),$clone(e,Q));};$pkg.NewNRGBA=AA;AB.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.NRGBA64Model;};AB.prototype.ColorModel=function(){return this.$val.ColorModel();};AB.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AB.prototype.Bounds=function(){return this.$val.Bounds();};AB.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.NRGBA64At(e,f),new h.constructor.elem(h));};AB.prototype.At=function(e,f){return this.$val.At(e,f);};AB.ptr.prototype.NRGBA64At=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.NRGBA64.ptr(0,0,0,0);}h=g.PixOffset(e,f);return new D.NRGBA64.ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0,((((m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n]))<<16>>>16)<<8<<16>>>16)|((o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]))<<16>>>16))>>>0,((((q=g.Pix,r=h+4>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]))<<16>>>16)<<8<<16>>>16)|((s=g.Pix,t=h+5>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))<<16>>>16))>>>0,((((u=g.Pix,v=h+6>>0,((v<0||v>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+v]))<<16>>>16)<<8<<16>>>16)|((w=g.Pix,x=h+7>>0,((x<0||x>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+x]))<<16>>>16))>>>0);};AB.prototype.NRGBA64At=function(e,f){return this.$val.NRGBA64At(e,f);};AB.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),8))>>0;};AB.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AB.ptr.prototype.Set=function(e,f,g){var $ptr,aa,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.NRGBA64Model.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.NRGBA64),D.NRGBA64);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=((k.R>>>8<<16>>>16)<<24>>>24)));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=(k.R<<24>>>24)));(p=h.Pix,q=i+2>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=((k.G>>>8<<16>>>16)<<24>>>24)));(r=h.Pix,s=i+3>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=(k.G<<24>>>24)));(t=h.Pix,u=i+4>>0,((u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=((k.B>>>8<<16>>>16)<<24>>>24)));(v=h.Pix,w=i+5>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=(k.B<<24>>>24)));(x=h.Pix,y=i+6>>0,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=((k.A>>>8<<16>>>16)<<24>>>24)));(z=h.Pix,aa=i+7>>0,((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]=(k.A<<24>>>24)));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.Set};}$f.$ptr=$ptr;$f.aa=aa;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AB.ptr.prototype.SetNRGBA64=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y;g=$clone(g,D.NRGBA64);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.R>>>8<<16>>>16)<<24>>>24)));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.R<<24>>>24)));(n=h.Pix,o=i+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=((g.G>>>8<<16>>>16)<<24>>>24)));(p=h.Pix,q=i+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=(g.G<<24>>>24)));(r=h.Pix,s=i+4>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=((g.B>>>8<<16>>>16)<<24>>>24)));(t=h.Pix,u=i+5>>0,((u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=(g.B<<24>>>24)));(v=h.Pix,w=i+6>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=((g.A>>>8<<16>>>16)<<24>>>24)));(x=h.Pix,y=i+7>>0,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(g.A<<24>>>24)));};AB.prototype.SetNRGBA64=function(e,f,g){return this.$val.SetNRGBA64(e,f,g);};AB.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AB.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AB.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AB.prototype.SubImage=function(e){return this.$val.SubImage(e);};AB.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=6;g=$imul(e.Rect.Dx(),8);h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,m=k+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(8)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AB.prototype.Opaque=function(){return this.$val.Opaque();};AC=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(8,h)),i)));return new AB.ptr(j,$imul(8,h),$clone(e,Q));};$pkg.NewNRGBA64=AC;AD.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.AlphaModel;};AD.prototype.ColorModel=function(){return this.$val.ColorModel();};AD.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AD.prototype.Bounds=function(){return this.$val.Bounds();};AD.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.AlphaAt(e,f),new h.constructor.elem(h));};AD.prototype.At=function(e,f){return this.$val.At(e,f);};AD.ptr.prototype.AlphaAt=function(e,f){var $ptr,e,f,g,h,i;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.Alpha.ptr(0);}h=g.PixOffset(e,f);return new D.Alpha.ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AD.prototype.AlphaAt=function(e,f){return this.$val.AlphaAt(e,f);};AD.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),1))>>0;};AD.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AD.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.AlphaModel.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}(k=h.Pix,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i]=$assertType(j,D.Alpha).A));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AD.ptr.prototype.SetAlpha=function(e,f,g){var $ptr,e,f,g,h,i,j;g=$clone(g,D.Alpha);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,((i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.A));};AD.prototype.SetAlpha=function(e,f,g){return this.$val.SetAlpha(e,f,g);};AD.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AD.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AD.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AD.prototype.SubImage=function(e){return this.$val.SubImage(e);};AD.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l;e=this;if(e.Rect.Empty()){return true;}f=0;g=e.Rect.Dx();h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,((k<0||k>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+k]))===255))){return false;}k=k+(1)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AD.prototype.Opaque=function(){return this.$val.Opaque();};AF.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.Alpha16Model;};AF.prototype.ColorModel=function(){return this.$val.ColorModel();};AF.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AF.prototype.Bounds=function(){return this.$val.Bounds();};AF.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.Alpha16At(e,f),new h.constructor.elem(h));};AF.prototype.At=function(e,f){return this.$val.At(e,f);};AF.ptr.prototype.Alpha16At=function(e,f){var $ptr,e,f,g,h,i,j,k,l;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.Alpha16.ptr(0);}h=g.PixOffset(e,f);return new D.Alpha16.ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AF.prototype.Alpha16At=function(e,f){return this.$val.Alpha16At(e,f);};AF.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),2))>>0;};AF.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AF.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.Alpha16Model.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.Alpha16),D.Alpha16);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=((k.A>>>8<<16>>>16)<<24>>>24)));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=(k.A<<24>>>24)));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AF.ptr.prototype.SetAlpha16=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m;g=$clone(g,D.Alpha16);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.A>>>8<<16>>>16)<<24>>>24)));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.A<<24>>>24)));};AF.prototype.SetAlpha16=function(e,f,g){return this.$val.SetAlpha16(e,f,g);};AF.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AF.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AF.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AF.prototype.SubImage=function(e){return this.$val.SubImage(e);};AF.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l,m,n,o;e=this;if(e.Rect.Empty()){return true;}f=0;g=$imul(e.Rect.Dx(),2);h=f;i=g;j=e.Rect.Min.Y;while(true){if(!(j<e.Rect.Max.Y)){break;}k=h;while(true){if(!(k<i)){break;}if(!(((l=e.Pix,m=k+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]))===255))||!(((n=e.Pix,o=k+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]))===255))){return false;}k=k+(2)>>0;}h=h+(e.Stride)>>0;i=i+(e.Stride)>>0;j=j+(1)>>0;}return true;};AF.prototype.Opaque=function(){return this.$val.Opaque();};AH.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.GrayModel;};AH.prototype.ColorModel=function(){return this.$val.ColorModel();};AH.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AH.prototype.Bounds=function(){return this.$val.Bounds();};AH.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.GrayAt(e,f),new h.constructor.elem(h));};AH.prototype.At=function(e,f){return this.$val.At(e,f);};AH.ptr.prototype.GrayAt=function(e,f){var $ptr,e,f,g,h,i;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.Gray.ptr(0);}h=g.PixOffset(e,f);return new D.Gray.ptr((i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h])));};AH.prototype.GrayAt=function(e,f){return this.$val.GrayAt(e,f);};AH.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),1))>>0;};AH.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AH.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.GrayModel.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}(k=h.Pix,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i]=$assertType(j,D.Gray).Y));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AH.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AH.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AH.ptr.prototype.SetGray=function(e,f,g){var $ptr,e,f,g,h,i,j;g=$clone(g,D.Gray);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,((i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g.Y));};AH.prototype.SetGray=function(e,f,g){return this.$val.SetGray(e,f,g);};AH.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AH.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AH.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AH.prototype.SubImage=function(e){return this.$val.SubImage(e);};AH.ptr.prototype.Opaque=function(){var $ptr,e;e=this;return true;};AH.prototype.Opaque=function(){return this.$val.Opaque();};AI=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(1,h)),i)));return new AH.ptr(j,$imul(1,h),$clone(e,Q));};$pkg.NewGray=AI;AJ.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.Gray16Model;};AJ.prototype.ColorModel=function(){return this.$val.ColorModel();};AJ.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AJ.prototype.Bounds=function(){return this.$val.Bounds();};AJ.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.Gray16At(e,f),new h.constructor.elem(h));};AJ.prototype.At=function(e,f){return this.$val.At(e,f);};AJ.ptr.prototype.Gray16At=function(e,f){var $ptr,e,f,g,h,i,j,k,l;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.Gray16.ptr(0);}h=g.PixOffset(e,f);return new D.Gray16.ptr(((((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j]))<<16>>>16)<<8<<16>>>16)|((k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]))<<16>>>16))>>>0);};AJ.prototype.Gray16At=function(e,f){return this.$val.Gray16At(e,f);};AJ.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),2))>>0;};AJ.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AJ.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.Gray16Model.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.Gray16),D.Gray16);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=((k.Y>>>8<<16>>>16)<<24>>>24)));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=(k.Y<<24>>>24)));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AJ.ptr.prototype.SetGray16=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m;g=$clone(g,D.Gray16);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=((g.Y>>>8<<16>>>16)<<24>>>24)));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=(g.Y<<24>>>24)));};AJ.prototype.SetGray16=function(e,f,g){return this.$val.SetGray16(e,f,g);};AJ.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AJ.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AJ.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AJ.prototype.SubImage=function(e){return this.$val.SubImage(e);};AJ.ptr.prototype.Opaque=function(){var $ptr,e;e=this;return true;};AJ.prototype.Opaque=function(){return this.$val.Opaque();};AK=function(e){var $ptr,e,f,g,h,i,j;e=$clone(e,Q);f=e.Dx();g=e.Dy();h=f;i=g;j=$makeSlice(AV,($imul(($imul(2,h)),i)));return new AJ.ptr(j,$imul(2,h),$clone(e,Q));};$pkg.NewGray16=AK;AL.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.CMYKModel;};AL.prototype.ColorModel=function(){return this.$val.ColorModel();};AL.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AL.prototype.Bounds=function(){return this.$val.Bounds();};AL.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.CMYKAt(e,f),new h.constructor.elem(h));};AL.prototype.At=function(e,f){return this.$val.At(e,f);};AL.ptr.prototype.CMYKAt=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.CMYK.ptr(0,0,0,0);}h=g.PixOffset(e,f);return new D.CMYK.ptr((i=g.Pix,j=h+0>>0,((j<0||j>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+j])),(k=g.Pix,l=h+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l])),(m=g.Pix,n=h+2>>0,((n<0||n>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+n])),(o=g.Pix,p=h+3>>0,((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p])));};AL.prototype.CMYKAt=function(e,f){return this.$val.CMYKAt(e,f);};AL.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),4))>>0;};AL.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AL.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=D.CMYKModel.Convert(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=$clone($assertType(j,D.CMYK),D.CMYK);(l=h.Pix,m=i+0>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=k.C));(n=h.Pix,o=i+1>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=k.M));(p=h.Pix,q=i+2>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=k.Y));(r=h.Pix,s=i+3>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=k.K));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AL.ptr.prototype.SetCMYK=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q;g=$clone(g,D.CMYK);h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,k=i+0>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]=g.C));(l=h.Pix,m=i+1>>0,((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]=g.M));(n=h.Pix,o=i+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]=g.Y));(p=h.Pix,q=i+3>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]=g.K));};AL.prototype.SetCMYK=function(e,f,g){return this.$val.SetCMYK(e,f,g);};AL.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AL.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.PixOffset(e.Min.X,e.Min.Y);return new AL.ptr($subslice(f.Pix,g),f.Stride,$clone(e,Q));};AL.prototype.SubImage=function(e){return this.$val.SubImage(e);};AL.ptr.prototype.Opaque=function(){var $ptr,e;e=this;return true;};AL.prototype.Opaque=function(){return this.$val.Opaque();};AN.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return e.Palette;};AN.prototype.ColorModel=function(){return this.$val.ColorModel();};AN.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AN.prototype.Bounds=function(){return this.$val.Bounds();};AN.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h,i,j,k,l;g=this;if(g.Palette.$length===0){return $ifaceNil;}if(!(new O.ptr(e,f).In(g.Rect))){return(h=g.Palette,(0>=h.$length?$throwRuntimeError("index out of range"):h.$array[h.$offset+0]));}i=g.PixOffset(e,f);return(j=g.Palette,k=(l=g.Pix,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])),((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]));};AN.prototype.At=function(e,f){return this.$val.At(e,f);};AN.ptr.prototype.PixOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.Stride))+($imul(((e-g.Rect.Min.X>>0)),1))>>0;};AN.prototype.PixOffset=function(e,f){return this.$val.PixOffset(e,f);};AN.ptr.prototype.Set=function(e,f,g){var $ptr,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);j=h.Palette.Index(g);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}(k=h.Pix,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i]=(j<<24>>>24)));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Set};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Set=function(e,f,g){return this.$val.Set(e,f,g);};AN.ptr.prototype.ColorIndexAt=function(e,f){var $ptr,e,f,g,h,i;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return 0;}h=g.PixOffset(e,f);return(i=g.Pix,((h<0||h>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+h]));};AN.prototype.ColorIndexAt=function(e,f){return this.$val.ColorIndexAt(e,f);};AN.ptr.prototype.SetColorIndex=function(e,f,g){var $ptr,e,f,g,h,i,j;h=this;if(!(new O.ptr(e,f).In(h.Rect))){return;}i=h.PixOffset(e,f);(j=h.Pix,((i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i]=g));};AN.prototype.SetColorIndex=function(e,f,g){return this.$val.SetColorIndex(e,f,g);};AN.ptr.prototype.SubImage=function(e){var $ptr,e,f,g;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AN.ptr(AV.nil,0,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)),f.Palette);}g=f.PixOffset(e.Min.X,e.Min.Y);return new AN.ptr($subslice(f.Pix,g),f.Stride,$clone(f.Rect.Intersect(e),Q),f.Palette);};AN.prototype.SubImage=function(e){return this.$val.SubImage(e);};AN.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=AW.zero();g=0;h=e.Rect.Dx();i=g;j=h;k=e.Rect.Min.Y;while(true){if(!(k<e.Rect.Max.Y)){break;}l=$subslice(e.Pix,i,j);m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);((n<0||n>=f.length)?$throwRuntimeError("index out of range"):f[n]=true);m++;}i=i+(e.Stride)>>0;j=j+(e.Stride)>>0;k=k+(1)>>0;}o=e.Palette;p=0;case 1:if(!(p<o.$length)){$s=2;continue;}q=p;r=((p<0||p>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+p]);if(!((q<0||q>=f.length)?$throwRuntimeError("index out of range"):f[q])){$s=3;continue;}$s=4;continue;case 3:p++;$s=1;continue;case 4:t=r.RGBA();$s=5;case 5:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;u=s[3];if(!((u===65535))){return false;}p++;$s=1;continue;case 2:return true;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Opaque};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Opaque=function(){return this.$val.Opaque();};AO=function(e,f){var $ptr,e,f,g,h,i,j,k;e=$clone(e,Q);g=e.Dx();h=e.Dy();i=g;j=h;k=$makeSlice(AV,($imul(($imul(1,i)),j)));return new AN.ptr(k,$imul(1,i),$clone(e,Q),f);};$pkg.NewPaletted=AO;AP.ptr.prototype.RGBA=function(){var $ptr,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=0;f=0;g=0;h=0;i=this;k=i.C.RGBA();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;e=j[0];f=j[1];g=j[2];h=j[3];$s=2;case 2:return[e,f,g,h];}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.RGBA};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.RGBA=function(){return this.$val.RGBA();};AP.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return e;};AP.prototype.ColorModel=function(){return this.$val.ColorModel();};AP.ptr.prototype.Convert=function(e){var $ptr,e,f;f=this;return f.C;};AP.prototype.Convert=function(e){return this.$val.Convert(e);};AP.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return new Q.ptr(new O.ptr(-1000000000,-1000000000),new O.ptr(1000000000,1000000000));};AP.prototype.Bounds=function(){return this.$val.Bounds();};AP.ptr.prototype.At=function(e,f){var $ptr,e,f,g;g=this;return g.C;};AP.prototype.At=function(e,f){return this.$val.At(e,f);};AP.ptr.prototype.Opaque=function(){var $ptr,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;g=e.C.RGBA();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[3];return h===65535;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Opaque};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Opaque=function(){return this.$val.Opaque();};AQ=function(e){var $ptr,e;return new AP.ptr(e);};$pkg.NewUniform=AQ;AR.prototype.String=function(){var $ptr,e,f;e=this.$val;f=e;if(f===0){return"YCbCrSubsampleRatio444";}else if(f===1){return"YCbCrSubsampleRatio422";}else if(f===2){return"YCbCrSubsampleRatio420";}else if(f===3){return"YCbCrSubsampleRatio440";}else if(f===4){return"YCbCrSubsampleRatio411";}else if(f===5){return"YCbCrSubsampleRatio410";}return"YCbCrSubsampleRatioUnknown";};$ptrType(AR).prototype.String=function(){return new AR(this.$get()).String();};AS.ptr.prototype.ColorModel=function(){var $ptr,e;e=this;return D.YCbCrModel;};AS.prototype.ColorModel=function(){return this.$val.ColorModel();};AS.ptr.prototype.Bounds=function(){var $ptr,e;e=this;return e.Rect;};AS.prototype.Bounds=function(){return this.$val.Bounds();};AS.ptr.prototype.At=function(e,f){var $ptr,e,f,g,h;g=this;return(h=g.YCbCrAt(e,f),new h.constructor.elem(h));};AS.prototype.At=function(e,f){return this.$val.At(e,f);};AS.ptr.prototype.YCbCrAt=function(e,f){var $ptr,e,f,g,h,i,j,k,l;g=this;if(!(new O.ptr(e,f).In(g.Rect))){return new D.YCbCr.ptr(0,0,0);}h=g.YOffset(e,f);i=g.COffset(e,f);return new D.YCbCr.ptr((j=g.Y,((h<0||h>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+h])),(k=g.Cb,((i<0||i>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+i])),(l=g.Cr,((i<0||i>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+i])));};AS.prototype.YCbCrAt=function(e,f){return this.$val.YCbCrAt(e,f);};AS.ptr.prototype.YOffset=function(e,f){var $ptr,e,f,g;g=this;return($imul(((f-g.Rect.Min.Y>>0)),g.YStride))+((e-g.Rect.Min.X>>0))>>0;};AS.prototype.YOffset=function(e,f){return this.$val.YOffset(e,f);};AS.ptr.prototype.COffset=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;g=this;h=g.SubsampleRatio;if(h===1){return($imul(((f-g.Rect.Min.Y>>0)),g.CStride))+(((i=e/2,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"))-(j=g.Rect.Min.X/2,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===2){return($imul((((k=f/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))-(l=g.Rect.Min.Y/2,(l===l&&l!==1/0&&l!==-1/0)?l>>0:$throwRuntimeError("integer divide by zero"))>>0)),g.CStride))+(((m=e/2,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))-(n=g.Rect.Min.X/2,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===3){return($imul((((o=f/2,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))-(p=g.Rect.Min.Y/2,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"))>>0)),g.CStride))+((e-g.Rect.Min.X>>0))>>0;}else if(h===4){return($imul(((f-g.Rect.Min.Y>>0)),g.CStride))+(((q=e/4,(q===q&&q!==1/0&&q!==-1/0)?q>>0:$throwRuntimeError("integer divide by zero"))-(r=g.Rect.Min.X/4,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}else if(h===5){return($imul((((s=f/2,(s===s&&s!==1/0&&s!==-1/0)?s>>0:$throwRuntimeError("integer divide by zero"))-(t=g.Rect.Min.Y/2,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"))>>0)),g.CStride))+(((u=e/4,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))-(v=g.Rect.Min.X/4,(v===v&&v!==1/0&&v!==-1/0)?v>>0:$throwRuntimeError("integer divide by zero"))>>0))>>0;}return($imul(((f-g.Rect.Min.Y>>0)),g.CStride))+((e-g.Rect.Min.X>>0))>>0;};AS.prototype.COffset=function(e,f){return this.$val.COffset(e,f);};AS.ptr.prototype.SubImage=function(e){var $ptr,e,f,g,h;e=$clone(e,Q);f=this;Q.copy(e,e.Intersect(f.Rect));if(e.Empty()){return new AS.ptr(AV.nil,AV.nil,AV.nil,0,0,f.SubsampleRatio,new Q.ptr(new O.ptr(0,0),new O.ptr(0,0)));}g=f.YOffset(e.Min.X,e.Min.Y);h=f.COffset(e.Min.X,e.Min.Y);return new AS.ptr($subslice(f.Y,g),$subslice(f.Cb,h),$subslice(f.Cr,h),f.YStride,f.CStride,f.SubsampleRatio,$clone(e,Q));};AS.prototype.SubImage=function(e){return this.$val.SubImage(e);};AS.ptr.prototype.Opaque=function(){var $ptr,e;e=this;return true;};AS.prototype.Opaque=function(){return this.$val.Opaque();};O.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([O],[O],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([O],[O],false)},{prop:"Mul",name:"Mul",pkg:"",typ:$funcType([$Int],[O],false)},{prop:"Div",name:"Div",pkg:"",typ:$funcType([$Int],[O],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([Q],[$Bool],false)},{prop:"Mod",name:"Mod",pkg:"",typ:$funcType([Q],[O],false)},{prop:"Eq",name:"Eq",pkg:"",typ:$funcType([O],[$Bool],false)}];Q.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Dx",name:"Dx",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Dy",name:"Dy",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[O],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([O],[Q],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([O],[Q],false)},{prop:"Inset",name:"Inset",pkg:"",typ:$funcType([$Int],[Q],false)},{prop:"Intersect",name:"Intersect",pkg:"",typ:$funcType([Q],[Q],false)},{prop:"Union",name:"Union",pkg:"",typ:$funcType([Q],[Q],false)},{prop:"Empty",name:"Empty",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Eq",name:"Eq",pkg:"",typ:$funcType([Q],[$Bool],false)},{prop:"Overlaps",name:"Overlaps",pkg:"",typ:$funcType([Q],[$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([Q],[$Bool],false)},{prop:"Canon",name:"Canon",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)}];AZ.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"RGBAAt",name:"RGBAAt",pkg:"",typ:$funcType([$Int,$Int],[D.RGBA],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetRGBA",name:"SetRGBA",pkg:"",typ:$funcType([$Int,$Int,D.RGBA],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BA.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"RGBA64At",name:"RGBA64At",pkg:"",typ:$funcType([$Int,$Int],[D.RGBA64],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetRGBA64",name:"SetRGBA64",pkg:"",typ:$funcType([$Int,$Int,D.RGBA64],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BB.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"NRGBAAt",name:"NRGBAAt",pkg:"",typ:$funcType([$Int,$Int],[D.NRGBA],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetNRGBA",name:"SetNRGBA",pkg:"",typ:$funcType([$Int,$Int,D.NRGBA],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BC.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"NRGBA64At",name:"NRGBA64At",pkg:"",typ:$funcType([$Int,$Int],[D.NRGBA64],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetNRGBA64",name:"SetNRGBA64",pkg:"",typ:$funcType([$Int,$Int,D.NRGBA64],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BD.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"AlphaAt",name:"AlphaAt",pkg:"",typ:$funcType([$Int,$Int],[D.Alpha],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetAlpha",name:"SetAlpha",pkg:"",typ:$funcType([$Int,$Int,D.Alpha],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BE.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"Alpha16At",name:"Alpha16At",pkg:"",typ:$funcType([$Int,$Int],[D.Alpha16],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetAlpha16",name:"SetAlpha16",pkg:"",typ:$funcType([$Int,$Int,D.Alpha16],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BF.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"GrayAt",name:"GrayAt",pkg:"",typ:$funcType([$Int,$Int],[D.Gray],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetGray",name:"SetGray",pkg:"",typ:$funcType([$Int,$Int,D.Gray],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BG.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"Gray16At",name:"Gray16At",pkg:"",typ:$funcType([$Int,$Int],[D.Gray16],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetGray16",name:"SetGray16",pkg:"",typ:$funcType([$Int,$Int,D.Gray16],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BH.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"CMYKAt",name:"CMYKAt",pkg:"",typ:$funcType([$Int,$Int],[D.CMYK],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"SetCMYK",name:"SetCMYK",pkg:"",typ:$funcType([$Int,$Int,D.CMYK],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BI.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"PixOffset",name:"PixOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$Int,$Int,D.Color],[],false)},{prop:"ColorIndexAt",name:"ColorIndexAt",pkg:"",typ:$funcType([$Int,$Int],[$Uint8],false)},{prop:"SetColorIndex",name:"SetColorIndex",pkg:"",typ:$funcType([$Int,$Int,$Uint8],[],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];BJ.methods=[{prop:"RGBA",name:"RGBA",pkg:"",typ:$funcType([],[$Uint32,$Uint32,$Uint32,$Uint32],false)},{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([D.Color],[D.Color],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];AR.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BK.methods=[{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"YCbCrAt",name:"YCbCrAt",pkg:"",typ:$funcType([$Int,$Int],[D.YCbCr],false)},{prop:"YOffset",name:"YOffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"COffset",name:"COffset",pkg:"",typ:$funcType([$Int,$Int],[$Int],false)},{prop:"SubImage",name:"SubImage",pkg:"",typ:$funcType([Q],[T],false)},{prop:"Opaque",name:"Opaque",pkg:"",typ:$funcType([],[$Bool],false)}];F.init([{prop:"name",name:"name",pkg:"image",typ:$String,tag:""},{prop:"magic",name:"magic",pkg:"image",typ:$String,tag:""},{prop:"decode",name:"decode",pkg:"image",typ:AX,tag:""},{prop:"decodeConfig",name:"decodeConfig",pkg:"image",typ:AY,tag:""}]);I.init([{prop:"Peek",name:"Peek",pkg:"",typ:$funcType([$Int],[AV,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AV],[$Int,$error],false)}]);O.init([{prop:"X",name:"X",pkg:"",typ:$Int,tag:""},{prop:"Y",name:"Y",pkg:"",typ:$Int,tag:""}]);Q.init([{prop:"Min",name:"Min",pkg:"",typ:O,tag:""},{prop:"Max",name:"Max",pkg:"",typ:O,tag:""}]);S.init([{prop:"ColorModel",name:"ColorModel",pkg:"",typ:D.Model,tag:""},{prop:"Width",name:"Width",pkg:"",typ:$Int,tag:""},{prop:"Height",name:"Height",pkg:"",typ:$Int,tag:""}]);T.init([{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[D.Color],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[Q],false)},{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[D.Model],false)}]);V.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);X.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);Z.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AB.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AD.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AF.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AH.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AJ.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AL.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);AN.init([{prop:"Pix",name:"Pix",pkg:"",typ:AV,tag:""},{prop:"Stride",name:"Stride",pkg:"",typ:$Int,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""},{prop:"Palette",name:"Palette",pkg:"",typ:D.Palette,tag:""}]);AP.init([{prop:"C",name:"C",pkg:"",typ:D.Color,tag:""}]);AS.init([{prop:"Y",name:"Y",pkg:"",typ:AV,tag:""},{prop:"Cb",name:"Cb",pkg:"",typ:AV,tag:""},{prop:"Cr",name:"Cr",pkg:"",typ:AV,tag:""},{prop:"YStride",name:"YStride",pkg:"",typ:$Int,tag:""},{prop:"CStride",name:"CStride",pkg:"",typ:$Int,tag:""},{prop:"SubsampleRatio",name:"SubsampleRatio",pkg:"",typ:AR,tag:""},{prop:"Rect",name:"Rect",pkg:"",typ:Q,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=AU.nil;$pkg.ZP=new O.ptr(0,0);$pkg.ZR=new Q.ptr(new O.ptr(0,0),new O.ptr(0,0));$pkg.ErrFormat=B.New("image: unknown format");$pkg.Black=AQ((a=D.Black,new a.constructor.elem(a)));$pkg.White=AQ((b=D.White,new b.constructor.elem(b)));$pkg.Transparent=AQ((c=D.Transparent,new c.constructor.elem(c)));$pkg.Opaque=AQ((d=D.Opaque,new d.constructor.elem(d)));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/internal/imageutil"]=(function(){var $pkg={},$init,A,B;A=$packages["image"];B=function(a,b,c,d){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=false;d=$clone(d,A.Point);b=$clone(b,A.Rectangle);f=$imul(((b.Min.X-a.Rect.Min.X>>0)),4);g=$imul(((b.Max.X-a.Rect.Min.X>>0)),4);h=b.Min.Y-a.Rect.Min.Y>>0;i=b.Max.Y-a.Rect.Min.Y>>0;j=c.SubsampleRatio;if(j===0){k=h;l=d.Y;m=k;n=l;while(true){if(!(!((m===i)))){break;}o=$subslice(a.Pix,($imul(m,a.Stride)));p=($imul(((n-c.Rect.Min.Y>>0)),c.YStride))+((d.X-c.Rect.Min.X>>0))>>0;q=($imul(((n-c.Rect.Min.Y>>0)),c.CStride))+((d.X-c.Rect.Min.X>>0))>>0;r=f;while(true){if(!(!((r===g)))){break;}t=$imul(((s=c.Y,((p<0||p>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+p]))>>0),65792);v=((u=c.Cb,((q<0||q>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+q]))>>0)-128>>0;x=((w=c.Cr,((q<0||q>=w.$length)?$throwRuntimeError("index out of range"):w.$array[w.$offset+q]))>>0)-128>>0;y=((t+($imul(91881,x))>>0))>>16>>0;z=(((t-($imul(22554,v))>>0)-($imul(46802,x))>>0))>>16>>0;aa=((t+($imul(116130,v))>>0))>>16>>0;if(y<0){y=0;}else if(y>255){y=255;}if(z<0){z=0;}else if(z>255){z=255;}if(aa<0){aa=0;}else if(aa>255){aa=255;}(ab=r+0>>0,((ab<0||ab>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+ab]=(y<<24>>>24)));(ac=r+1>>0,((ac<0||ac>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+ac]=(z<<24>>>24)));(ad=r+2>>0,((ad<0||ad>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+ad]=(aa<<24>>>24)));(ae=r+3>>0,((ae<0||ae>=o.$length)?$throwRuntimeError("index out of range"):o.$array[o.$offset+ae]=255));af=r+4>>0;ag=p+1>>0;ah=q+1>>0;r=af;p=ag;q=ah;}ai=m+1>>0;aj=n+1>>0;m=ai;n=aj;}}else if(j===1){ak=h;al=d.Y;am=ak;an=al;while(true){if(!(!((am===i)))){break;}ao=$subslice(a.Pix,($imul(am,a.Stride)));ap=($imul(((an-c.Rect.Min.Y>>0)),c.YStride))+((d.X-c.Rect.Min.X>>0))>>0;ar=($imul(((an-c.Rect.Min.Y>>0)),c.CStride))-(aq=c.Rect.Min.X/2,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>0:$throwRuntimeError("integer divide by zero"))>>0;as=f;at=d.X;au=as;av=at;while(true){if(!(!((au===g)))){break;}ax=ar+(aw=av/2,(aw===aw&&aw!==1/0&&aw!==-1/0)?aw>>0:$throwRuntimeError("integer divide by zero"))>>0;az=$imul(((ay=c.Y,((ap<0||ap>=ay.$length)?$throwRuntimeError("index out of range"):ay.$array[ay.$offset+ap]))>>0),65792);bb=((ba=c.Cb,((ax<0||ax>=ba.$length)?$throwRuntimeError("index out of range"):ba.$array[ba.$offset+ax]))>>0)-128>>0;bd=((bc=c.Cr,((ax<0||ax>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+ax]))>>0)-128>>0;be=((az+($imul(91881,bd))>>0))>>16>>0;bf=(((az-($imul(22554,bb))>>0)-($imul(46802,bd))>>0))>>16>>0;bg=((az+($imul(116130,bb))>>0))>>16>>0;if(be<0){be=0;}else if(be>255){be=255;}if(bf<0){bf=0;}else if(bf>255){bf=255;}if(bg<0){bg=0;}else if(bg>255){bg=255;}(bh=au+0>>0,((bh<0||bh>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+bh]=(be<<24>>>24)));(bi=au+1>>0,((bi<0||bi>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+bi]=(bf<<24>>>24)));(bj=au+2>>0,((bj<0||bj>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+bj]=(bg<<24>>>24)));(bk=au+3>>0,((bk<0||bk>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+bk]=255));bl=au+4>>0;bm=av+1>>0;bn=ap+1>>0;au=bl;av=bm;ap=bn;}bo=am+1>>0;bp=an+1>>0;am=bo;an=bp;}}else if(j===2){bq=h;br=d.Y;bs=bq;bt=br;while(true){if(!(!((bs===i)))){break;}bu=$subslice(a.Pix,($imul(bs,a.Stride)));bv=($imul(((bt-c.Rect.Min.Y>>0)),c.YStride))+((d.X-c.Rect.Min.X>>0))>>0;bz=($imul((((bw=bt/2,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>0:$throwRuntimeError("integer divide by zero"))-(bx=c.Rect.Min.Y/2,(bx===bx&&bx!==1/0&&bx!==-1/0)?bx>>0:$throwRuntimeError("integer divide by zero"))>>0)),c.CStride))-(by=c.Rect.Min.X/2,(by===by&&by!==1/0&&by!==-1/0)?by>>0:$throwRuntimeError("integer divide by zero"))>>0;ca=f;cb=d.X;cc=ca;cd=cb;while(true){if(!(!((cc===g)))){break;}cf=bz+(ce=cd/2,(ce===ce&&ce!==1/0&&ce!==-1/0)?ce>>0:$throwRuntimeError("integer divide by zero"))>>0;ch=$imul(((cg=c.Y,((bv<0||bv>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+bv]))>>0),65792);cj=((ci=c.Cb,((cf<0||cf>=ci.$length)?$throwRuntimeError("index out of range"):ci.$array[ci.$offset+cf]))>>0)-128>>0;cl=((ck=c.Cr,((cf<0||cf>=ck.$length)?$throwRuntimeError("index out of range"):ck.$array[ck.$offset+cf]))>>0)-128>>0;cm=((ch+($imul(91881,cl))>>0))>>16>>0;cn=(((ch-($imul(22554,cj))>>0)-($imul(46802,cl))>>0))>>16>>0;co=((ch+($imul(116130,cj))>>0))>>16>>0;if(cm<0){cm=0;}else if(cm>255){cm=255;}if(cn<0){cn=0;}else if(cn>255){cn=255;}if(co<0){co=0;}else if(co>255){co=255;}(cp=cc+0>>0,((cp<0||cp>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cp]=(cm<<24>>>24)));(cq=cc+1>>0,((cq<0||cq>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cq]=(cn<<24>>>24)));(cr=cc+2>>0,((cr<0||cr>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cr]=(co<<24>>>24)));(cs=cc+3>>0,((cs<0||cs>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cs]=255));ct=cc+4>>0;cu=cd+1>>0;cv=bv+1>>0;cc=ct;cd=cu;bv=cv;}cw=bs+1>>0;cx=bt+1>>0;bs=cw;bt=cx;}}else if(j===3){cy=h;cz=d.Y;da=cy;db=cz;while(true){if(!(!((da===i)))){break;}dc=$subslice(a.Pix,($imul(da,a.Stride)));dd=($imul(((db-c.Rect.Min.Y>>0)),c.YStride))+((d.X-c.Rect.Min.X>>0))>>0;dg=($imul((((de=db/2,(de===de&&de!==1/0&&de!==-1/0)?de>>0:$throwRuntimeError("integer divide by zero"))-(df=c.Rect.Min.Y/2,(df===df&&df!==1/0&&df!==-1/0)?df>>0:$throwRuntimeError("integer divide by zero"))>>0)),c.CStride))+((d.X-c.Rect.Min.X>>0))>>0;dh=f;while(true){if(!(!((dh===g)))){break;}dj=$imul(((di=c.Y,((dd<0||dd>=di.$length)?$throwRuntimeError("index out of range"):di.$array[di.$offset+dd]))>>0),65792);dl=((dk=c.Cb,((dg<0||dg>=dk.$length)?$throwRuntimeError("index out of range"):dk.$array[dk.$offset+dg]))>>0)-128>>0;dn=((dm=c.Cr,((dg<0||dg>=dm.$length)?$throwRuntimeError("index out of range"):dm.$array[dm.$offset+dg]))>>0)-128>>0;dp=((dj+($imul(91881,dn))>>0))>>16>>0;dq=(((dj-($imul(22554,dl))>>0)-($imul(46802,dn))>>0))>>16>>0;dr=((dj+($imul(116130,dl))>>0))>>16>>0;if(dp<0){dp=0;}else if(dp>255){dp=255;}if(dq<0){dq=0;}else if(dq>255){dq=255;}if(dr<0){dr=0;}else if(dr>255){dr=255;}(ds=dh+0>>0,((ds<0||ds>=dc.$length)?$throwRuntimeError("index out of range"):dc.$array[dc.$offset+ds]=(dp<<24>>>24)));(dt=dh+1>>0,((dt<0||dt>=dc.$length)?$throwRuntimeError("index out of range"):dc.$array[dc.$offset+dt]=(dq<<24>>>24)));(du=dh+2>>0,((du<0||du>=dc.$length)?$throwRuntimeError("index out of range"):dc.$array[dc.$offset+du]=(dr<<24>>>24)));(dv=dh+3>>0,((dv<0||dv>=dc.$length)?$throwRuntimeError("index out of range"):dc.$array[dc.$offset+dv]=255));dw=dh+4>>0;dx=dd+1>>0;dy=dg+1>>0;dh=dw;dd=dx;dg=dy;}dz=da+1>>0;ea=db+1>>0;da=dz;db=ea;}}else{e=false;return e;}e=true;return e;};$pkg.DrawYCbCr=B;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/draw"]=(function(){var $pkg={},$init,A,B,C,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y;A=$packages["image"];B=$packages["image/color"];C=$packages["image/internal/imageutil"];Z=$ptrType(A.Point);AA=$ptrType(A.RGBA);AB=$ptrType(A.Paletted);AC=$ptrType(A.Uniform);AD=$ptrType(A.NRGBA);AE=$ptrType(A.YCbCr);AF=$ptrType(A.Gray);AG=$ptrType(A.CMYK);AH=$ptrType(A.Alpha);AI=$arrayType($Int32,4);AJ=$sliceType(AI);AK=$sliceType($Uint8);I=function(b,c,d,e,f,g){var $ptr,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=$clone(c.Min,A.Point);i=b.Bounds();$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=c.Intersect(i);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}A.Rectangle.copy(c,j);k=d.Bounds();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k.Add(h.Sub(e));$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=c.Intersect(l);$s=5;case 5:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}A.Rectangle.copy(c,m);if(!($interfaceIsEqual(f,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:n=f.Bounds();$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n.Add(h.Sub(g));$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=c.Intersect(o);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}A.Rectangle.copy(c,p);case 7:q=c.Min.X-h.X>>0;r=c.Min.Y-h.Y>>0;if((q===0)&&(r===0)){return;}e.X=e.X+(q)>>0;e.Y=e.Y+(r)>>0;if(!(g===Z.nil)){g.X=g.X+(q)>>0;g.Y=g.Y+(r)>>0;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};J=function(b,c,d,e){var $ptr,b,c,d,e;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);return $interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))&&(e.Y<c.Min.Y||((e.Y===c.Min.Y)&&e.X<c.Min.X));};K=function(b,c,d,e,f){var $ptr,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$clone(e,A.Point);c=$clone(c,A.Rectangle);$r=L(b,c,d,e,$ifaceNil,new A.Point.ptr(0,0),f);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Draw=K;L=function(b,c,d,e,f,g,h){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];e=[e];g=[g];i=[i];g[0]=$clone(g[0],A.Point);e[0]=$clone(e[0],A.Point);c[0]=$clone(c[0],A.Rectangle);$r=I(b,c[0],d,e[0],f,g[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c[0].Empty()){return;}j=b;if($assertType(j,AA,true)[1]){$s=2;continue;}if($assertType(j,AB,true)[1]){$s=3;continue;}$s=4;continue;case 2:k=j.$val;if(h===0){$s=5;continue;}$s=6;continue;case 5:if($interfaceIsEqual(f,$ifaceNil)){$s=8;continue;}$s=9;continue;case 8:l=d;if($assertType(l,AC,true)[1]){$s=11;continue;}if($assertType(l,AA,true)[1]){$s=12;continue;}if($assertType(l,AD,true)[1]){$s=13;continue;}if($assertType(l,AE,true)[1]){$s=14;continue;}if($assertType(l,AF,true)[1]){$s=15;continue;}if($assertType(l,AG,true)[1]){$s=16;continue;}$s=17;continue;case 11:m=l.$val;$r=M(k,c[0],m);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 12:n=l.$val;O(k,c[0],n,e[0]);return;case 13:o=l.$val;Q(k,c[0],o,e[0]);return;case 14:p=l.$val;if(C.DrawYCbCr(k,c[0],p,e[0])){return;}$s=17;continue;case 15:q=l.$val;S(k,c[0],q,e[0]);return;case 16:r=l.$val;T(k,c[0],r,e[0]);return;case 17:$s=10;continue;case 9:s=$assertType(f,AH,true);t=s[0];u=s[1];if(u){$s=19;continue;}$s=20;continue;case 19:v=d;if($assertType(v,AC,true)[1]){$s=21;continue;}$s=22;continue;case 21:w=v.$val;$r=U(k,c[0],w,t,g[0]);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 22:case 20:case 10:$s=7;continue;case 6:if($interfaceIsEqual(f,$ifaceNil)){$s=24;continue;}$s=25;continue;case 24:x=d;if($assertType(x,AC,true)[1]){$s=26;continue;}if($assertType(x,AA,true)[1]){$s=27;continue;}if($assertType(x,AD,true)[1]){$s=28;continue;}if($assertType(x,AE,true)[1]){$s=29;continue;}if($assertType(x,AF,true)[1]){$s=30;continue;}if($assertType(x,AG,true)[1]){$s=31;continue;}$s=32;continue;case 26:y=x.$val;$r=N(k,c[0],y);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 27:z=x.$val;P(k,c[0],z,e[0]);return;case 28:aa=x.$val;R(k,c[0],aa,e[0]);return;case 29:ab=x.$val;if(C.DrawYCbCr(k,c[0],ab,e[0])){return;}$s=32;continue;case 30:ac=x.$val;S(k,c[0],ac,e[0]);return;case 31:ad=x.$val;T(k,c[0],ad,e[0]);return;case 32:case 25:case 7:$r=V(k,c[0],d,e[0],f,g[0],h);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 3:ae=j.$val;if((h===1)&&$interfaceIsEqual(f,$ifaceNil)&&!J(b,c[0],d,e[0])){$s=35;continue;}$s=36;continue;case 35:$r=Y(ae,c[0],d,e[0],false);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return;case 36:case 4:af=c[0].Min.X;ag=c[0].Max.X;ah=1;ai=af;aj=ag;ak=ah;al=c[0].Min.Y;am=c[0].Max.Y;an=1;ao=al;ap=am;aq=an;if(J(b,c[0],d,e[0])){ar=aj-1>>0;as=ai-1>>0;at=-1;ai=ar;aj=as;ak=at;au=ap-1>>0;av=ao-1>>0;aw=-1;ao=au;ap=av;aq=aw;}i[0]=new B.RGBA64.ptr(0,0,0,0);ax=(e[0].Y+ao>>0)-c[0].Min.Y>>0;ay=(g[0].Y+ao>>0)-c[0].Min.Y>>0;az=ao;case 38:if(!(!((az===ap)))){$s=39;continue;}ba=(e[0].X+ai>>0)-c[0].Min.X>>0;bb=(g[0].X+ai>>0)-c[0].Min.X>>0;bc=ai;case 40:if(!(!((bc===aj)))){$s=41;continue;}bd=65535;if(!($interfaceIsEqual(f,$ifaceNil))){$s=42;continue;}$s=43;continue;case 42:bf=f.At(bb,ay);$s=44;case 44:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=bf.RGBA();$s=45;case 45:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}be=bg;bd=be[3];case 43:if(bd===0){$s=46;continue;}if((bd===65535)&&(h===1)){$s=47;continue;}$s=48;continue;case 46:if(h===0){$s=50;continue;}$s=51;continue;case 50:$s=52;continue;case 51:$r=b.Set(bc,az,(bh=B.Transparent,new bh.constructor.elem(bh)));$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 52:$s=49;continue;case 47:bi=bc;bj=az;bk=d.At(ba,ax);$s=54;case 54:if($c){$c=false;bk=bk.$blk();}if(bk&&bk.$blk!==undefined){break s;}bl=bk;$r=b.Set(bi,bj,bl);$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=49;continue;case 48:bn=d.At(ba,ax);$s=56;case 56:if($c){$c=false;bn=bn.$blk();}if(bn&&bn.$blk!==undefined){break s;}bo=bn.RGBA();$s=57;case 57:if($c){$c=false;bo=bo.$blk();}if(bo&&bo.$blk!==undefined){break s;}bm=bo;bp=bm[0];bq=bm[1];br=bm[2];bs=bm[3];if(h===0){$s=58;continue;}$s=59;continue;case 58:bu=b.At(bc,az);$s=61;case 61:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}bv=bu.RGBA();$s=62;case 62:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bt=bv;bw=bt[0];bx=bt[1];by=bt[2];bz=bt[3];cb=65535-((ca=($imul(bs,bd)>>>0)/65535,(ca===ca&&ca!==1/0&&ca!==-1/0)?ca>>>0:$throwRuntimeError("integer divide by zero")))>>>0;i[0].R=((cc=((($imul(bw,cb)>>>0)+($imul(bp,bd)>>>0)>>>0))/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].G=((cd=((($imul(bx,cb)>>>0)+($imul(bq,bd)>>>0)>>>0))/65535,(cd===cd&&cd!==1/0&&cd!==-1/0)?cd>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].B=((ce=((($imul(by,cb)>>>0)+($imul(br,bd)>>>0)>>>0))/65535,(ce===ce&&ce!==1/0&&ce!==-1/0)?ce>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].A=((cf=((($imul(bz,cb)>>>0)+($imul(bs,bd)>>>0)>>>0))/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);$s=60;continue;case 59:i[0].R=((cg=($imul(bp,bd)>>>0)/65535,(cg===cg&&cg!==1/0&&cg!==-1/0)?cg>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].G=((ch=($imul(bq,bd)>>>0)/65535,(ch===ch&&ch!==1/0&&ch!==-1/0)?ch>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].B=((ci=($imul(br,bd)>>>0)/65535,(ci===ci&&ci!==1/0&&ci!==-1/0)?ci>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);i[0].A=((cj=($imul(bs,bd)>>>0)/65535,(cj===cj&&cj!==1/0&&cj!==-1/0)?cj>>>0:$throwRuntimeError("integer divide by zero"))<<16>>>16);case 60:$r=b.Set(bc,az,i[0]);$s=63;case 63:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 49:ck=bc+ak>>0;cl=ba+ak>>0;cm=bb+ak>>0;bc=ck;ba=cl;bb=cm;$s=40;continue;case 41:cn=az+aq>>0;co=ax+aq>>0;cp=ay+aq>>0;az=cn;ax=co;ay=cp;$s=38;continue;case 39:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:L};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DrawMask=L;M=function(b,c,d){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(c,A.Rectangle);f=d.RGBA();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];i=e[2];j=e[3];k=$imul(((65535-j>>>0)),257)>>>0;l=b.PixOffset(c.Min.X,c.Min.Y);m=l+($imul(c.Dx(),4))>>0;n=c.Min.Y;while(true){if(!(!((n===c.Max.Y)))){break;}o=l;while(true){if(!(o<m)){break;}r=((p=b.Pix,q=o+0>>0,((q<0||q>=p.$length)?$throwRuntimeError("index out of range"):p.$array[p.$offset+q]))>>>0);u=((s=b.Pix,t=o+1>>0,((t<0||t>=s.$length)?$throwRuntimeError("index out of range"):s.$array[s.$offset+t]))>>>0);x=((v=b.Pix,w=o+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]))>>>0);aa=((y=b.Pix,z=o+3>>0,((z<0||z>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+z]))>>>0);(ac=b.Pix,ad=o+0>>0,((ad<0||ad>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ad]=(((((ab=($imul(r,k)>>>0)/65535,(ab===ab&&ab!==1/0&&ab!==-1/0)?ab>>>0:$throwRuntimeError("integer divide by zero"))+g>>>0))>>>8>>>0)<<24>>>24)));(af=b.Pix,ag=o+1>>0,((ag<0||ag>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ag]=(((((ae=($imul(u,k)>>>0)/65535,(ae===ae&&ae!==1/0&&ae!==-1/0)?ae>>>0:$throwRuntimeError("integer divide by zero"))+h>>>0))>>>8>>>0)<<24>>>24)));(ai=b.Pix,aj=o+2>>0,((aj<0||aj>=ai.$length)?$throwRuntimeError("index out of range"):ai.$array[ai.$offset+aj]=(((((ah=($imul(x,k)>>>0)/65535,(ah===ah&&ah!==1/0&&ah!==-1/0)?ah>>>0:$throwRuntimeError("integer divide by zero"))+i>>>0))>>>8>>>0)<<24>>>24)));(al=b.Pix,am=o+3>>0,((am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]=(((((ak=($imul(aa,k)>>>0)/65535,(ak===ak&&ak!==1/0&&ak!==-1/0)?ak>>>0:$throwRuntimeError("integer divide by zero"))+j>>>0))>>>8>>>0)<<24>>>24)));o=o+(4)>>0;}l=l+(b.Stride)>>0;m=m+(b.Stride)>>0;n=n+(1)>>0;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N=function(b,c,d){var $ptr,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(c,A.Rectangle);f=d.RGBA();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];i=e[2];j=e[3];k=((g>>>8>>>0)<<24>>>24);l=((h>>>8>>>0)<<24>>>24);m=((i>>>8>>>0)<<24>>>24);n=((j>>>8>>>0)<<24>>>24);o=b.PixOffset(c.Min.X,c.Min.Y);p=o+($imul(c.Dx(),4))>>0;q=o;while(true){if(!(q<p)){break;}(r=b.Pix,s=q+0>>0,((s<0||s>=r.$length)?$throwRuntimeError("index out of range"):r.$array[r.$offset+s]=k));(t=b.Pix,u=q+1>>0,((u<0||u>=t.$length)?$throwRuntimeError("index out of range"):t.$array[t.$offset+u]=l));(v=b.Pix,w=q+2>>0,((w<0||w>=v.$length)?$throwRuntimeError("index out of range"):v.$array[v.$offset+w]=m));(x=b.Pix,y=q+3>>0,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=n));q=q+(4)>>0;}z=$subslice(b.Pix,o,p);aa=c.Min.Y+1>>0;while(true){if(!(aa<c.Max.Y)){break;}o=o+(b.Stride)>>0;p=p+(b.Stride)>>0;$copySlice($subslice(b.Pix,o,p),z);aa=aa+(1)>>0;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};O=function(b,c,d,e){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=c.Dx();g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;p=0;q=0;r=0;s=p;t=q;u=r;if(c.Min.Y<e.Y||(c.Min.Y===e.Y)&&c.Min.X<=e.X){n=b.Stride;o=d.Stride;v=0;w=$imul(h,4);x=4;s=v;t=w;u=x;}else{j=j+(($imul(((i-1>>0)),b.Stride)))>>0;k=k+(($imul(((i-1>>0)),d.Stride)))>>0;n=-b.Stride;o=-d.Stride;y=$imul(((h-1>>0)),4);z=-4;aa=-4;s=y;t=z;u=aa;}while(true){if(!(i>0)){break;}ab=$subslice(b.Pix,j);ac=$subslice(d.Pix,k);ad=s;while(true){if(!(!((ad===t)))){break;}af=$imul(((ae=ad+0>>0,((ae<0||ae>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ae]))>>>0),257)>>>0;ah=$imul(((ag=ad+1>>0,((ag<0||ag>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ag]))>>>0),257)>>>0;aj=$imul(((ai=ad+2>>0,((ai<0||ai>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ai]))>>>0),257)>>>0;al=$imul(((ak=ad+3>>0,((ak<0||ak>=ac.$length)?$throwRuntimeError("index out of range"):ac.$array[ac.$offset+ak]))>>>0),257)>>>0;an=((am=ad+0>>0,((am<0||am>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+am]))>>>0);ap=((ao=ad+1>>0,((ao<0||ao>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ao]))>>>0);ar=((aq=ad+2>>0,((aq<0||aq>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aq]))>>>0);at=((as=ad+3>>0,((as<0||as>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+as]))>>>0);au=$imul(((65535-al>>>0)),257)>>>0;(aw=ad+0>>0,((aw<0||aw>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+aw]=(((((av=($imul(an,au)>>>0)/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))+af>>>0))>>>8>>>0)<<24>>>24)));(ay=ad+1>>0,((ay<0||ay>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ay]=(((((ax=($imul(ap,au)>>>0)/65535,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>>0:$throwRuntimeError("integer divide by zero"))+ah>>>0))>>>8>>>0)<<24>>>24)));(ba=ad+2>>0,((ba<0||ba>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ba]=(((((az=($imul(ar,au)>>>0)/65535,(az===az&&az!==1/0&&az!==-1/0)?az>>>0:$throwRuntimeError("integer divide by zero"))+aj>>>0))>>>8>>>0)<<24>>>24)));(bc=ad+3>>0,((bc<0||bc>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+bc]=(((((bb=($imul(at,au)>>>0)/65535,(bb===bb&&bb!==1/0&&bb!==-1/0)?bb>>>0:$throwRuntimeError("integer divide by zero"))+al>>>0))>>>8>>>0)<<24>>>24)));ad=ad+(u)>>0;}j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};P=function(b,c,d,e){var $ptr,b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=$imul(4,c.Dx());g=c.Dy();h=f;i=g;j=b.PixOffset(c.Min.X,c.Min.Y);k=d.PixOffset(e.X,e.Y);l=0;m=0;n=l;o=m;if(c.Min.Y<=e.Y){n=b.Stride;o=d.Stride;}else{j=j+(($imul(((i-1>>0)),b.Stride)))>>0;k=k+(($imul(((i-1>>0)),d.Stride)))>>0;n=-b.Stride;o=-d.Stride;}while(true){if(!(i>0)){break;}$copySlice($subslice(b.Pix,j,(j+h>>0)),$subslice(d.Pix,k,(k+h>>0)));j=j+(n)>>0;k=k+(o)>>0;i=i-(1)>>0;}};Q=function(b,c,d,e){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=$imul(((c.Min.X-b.Rect.Min.X>>0)),4);g=$imul(((c.Max.X-b.Rect.Min.X>>0)),4);h=$imul(((e.X-d.Rect.Min.X>>0)),4);i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(true){if(!(!((j===i)))){break;}l=$subslice(b.Pix,($imul(j,b.Stride)));m=$subslice(d.Pix,($imul(k,d.Stride)));n=f;o=h;p=n;q=o;while(true){if(!(p<g)){break;}s=$imul(((r=q+3>>0,((r<0||r>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+r]))>>>0),257)>>>0;v=(t=($imul(((u=q+0>>0,((u<0||u>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+u]))>>>0),s)>>>0)/255,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));y=(w=($imul(((x=q+1>>0,((x<0||x>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+x]))>>>0),s)>>>0)/255,(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));ab=(z=($imul(((aa=q+2>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),s)>>>0)/255,(z===z&&z!==1/0&&z!==-1/0)?z>>>0:$throwRuntimeError("integer divide by zero"));ad=((ac=p+0>>0,((ac<0||ac>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ac]))>>>0);af=((ae=p+1>>0,((ae<0||ae>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ae]))>>>0);ah=((ag=p+2>>0,((ag<0||ag>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ag]))>>>0);aj=((ai=p+3>>0,((ai<0||ai>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ai]))>>>0);ak=$imul(((65535-s>>>0)),257)>>>0;(am=p+0>>0,((am<0||am>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+am]=(((((al=($imul(ad,ak)>>>0)/65535,(al===al&&al!==1/0&&al!==-1/0)?al>>>0:$throwRuntimeError("integer divide by zero"))+v>>>0))>>>8>>>0)<<24>>>24)));(ao=p+1>>0,((ao<0||ao>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ao]=(((((an=($imul(af,ak)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero"))+y>>>0))>>>8>>>0)<<24>>>24)));(aq=p+2>>0,((aq<0||aq>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+aq]=(((((ap=($imul(ah,ak)>>>0)/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))+ab>>>0))>>>8>>>0)<<24>>>24)));(as=p+3>>0,((as<0||as>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+as]=(((((ar=($imul(aj,ak)>>>0)/65535,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>>0:$throwRuntimeError("integer divide by zero"))+s>>>0))>>>8>>>0)<<24>>>24)));at=p+4>>0;au=q+4>>0;p=at;q=au;}av=j+1>>0;aw=k+1>>0;j=av;k=aw;}};R=function(b,c,d,e){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=$imul(((c.Min.X-b.Rect.Min.X>>0)),4);g=$imul(((c.Max.X-b.Rect.Min.X>>0)),4);h=$imul(((e.X-d.Rect.Min.X>>0)),4);i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(true){if(!(!((j===i)))){break;}l=$subslice(b.Pix,($imul(j,b.Stride)));m=$subslice(d.Pix,($imul(k,d.Stride)));n=f;o=h;p=n;q=o;while(true){if(!(p<g)){break;}s=$imul(((r=q+3>>0,((r<0||r>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+r]))>>>0),257)>>>0;v=(t=($imul(((u=q+0>>0,((u<0||u>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+u]))>>>0),s)>>>0)/255,(t===t&&t!==1/0&&t!==-1/0)?t>>>0:$throwRuntimeError("integer divide by zero"));y=(w=($imul(((x=q+1>>0,((x<0||x>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+x]))>>>0),s)>>>0)/255,(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));ab=(z=($imul(((aa=q+2>>0,((aa<0||aa>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+aa]))>>>0),s)>>>0)/255,(z===z&&z!==1/0&&z!==-1/0)?z>>>0:$throwRuntimeError("integer divide by zero"));(ac=p+0>>0,((ac<0||ac>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ac]=((v>>>8>>>0)<<24>>>24)));(ad=p+1>>0,((ad<0||ad>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ad]=((y>>>8>>>0)<<24>>>24)));(ae=p+2>>0,((ae<0||ae>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+ae]=((ab>>>8>>>0)<<24>>>24)));(af=p+3>>0,((af<0||af>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+af]=((s>>>8>>>0)<<24>>>24)));ag=p+4>>0;ah=q+4>>0;p=ag;q=ah;}ai=j+1>>0;aj=k+1>>0;j=ai;k=aj;}};S=function(b,c,d,e){var $ptr,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=$imul(((c.Min.X-b.Rect.Min.X>>0)),4);g=$imul(((c.Max.X-b.Rect.Min.X>>0)),4);h=$imul(((e.X-d.Rect.Min.X>>0)),1);i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(true){if(!(!((j===i)))){break;}l=$subslice(b.Pix,($imul(j,b.Stride)));m=$subslice(d.Pix,($imul(k,d.Stride)));n=f;o=h;p=n;q=o;while(true){if(!(p<g)){break;}r=((q<0||q>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+q]);(s=p+0>>0,((s<0||s>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+s]=r));(t=p+1>>0,((t<0||t>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+t]=r));(u=p+2>>0,((u<0||u>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+u]=r));(v=p+3>>0,((v<0||v>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+v]=255));w=p+4>>0;x=q+1>>0;p=w;q=x;}y=j+1>>0;z=k+1>>0;j=y;k=z;}};T=function(b,c,d,e){var $ptr,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;e=$clone(e,A.Point);c=$clone(c,A.Rectangle);f=$imul(((c.Min.X-b.Rect.Min.X>>0)),4);g=$imul(((c.Max.X-b.Rect.Min.X>>0)),4);h=$imul(((e.X-d.Rect.Min.X>>0)),4);i=c.Max.Y-b.Rect.Min.Y>>0;j=c.Min.Y-b.Rect.Min.Y>>0;k=e.Y-d.Rect.Min.Y>>0;while(true){if(!(!((j===i)))){break;}l=$subslice(b.Pix,($imul(j,b.Stride)));m=$subslice(d.Pix,($imul(k,d.Stride)));n=f;o=h;p=n;q=o;while(true){if(!(p<g)){break;}r=B.CMYKToRGB((s=q+0>>0,((s<0||s>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+s])),(t=q+1>>0,((t<0||t>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+t])),(u=q+2>>0,((u<0||u>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+u])),(v=q+3>>0,((v<0||v>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+v])));(w=p+0>>0,((w<0||w>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+w]=r[0]));(x=p+1>>0,((x<0||x>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+x]=r[1]));(y=p+2>>0,((y<0||y>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+y]=r[2]));(z=p+3>>0,((z<0||z>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+z]=255));aa=p+4>>0;ab=q+4>>0;p=aa;q=ab;}ac=j+1>>0;ad=k+1>>0;j=ac;k=ad;}};U=function(b,c,d,e,f){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$clone(f,A.Point);c=$clone(c,A.Rectangle);g=b.PixOffset(c.Min.X,c.Min.Y);h=g+($imul(c.Dx(),4))>>0;i=e.PixOffset(f.X,f.Y);k=d.RGBA();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];n=j[2];o=j[3];p=c.Min.Y;q=f.Y;r=p;s=q;while(true){if(!(!((r===c.Max.Y)))){break;}t=g;u=i;v=t;w=u;while(true){if(!(v<h)){break;}y=((x=e.Pix,((w<0||w>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+w]))>>>0);if(y===0){z=v+4>>0;aa=w+1>>0;v=z;w=aa;continue;}y=(y|((y<<8>>>0)))>>>0;ad=((ab=b.Pix,ac=v+0>>0,((ac<0||ac>=ab.$length)?$throwRuntimeError("index out of range"):ab.$array[ab.$offset+ac]))>>>0);ag=((ae=b.Pix,af=v+1>>0,((af<0||af>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+af]))>>>0);aj=((ah=b.Pix,ai=v+2>>0,((ai<0||ai>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+ai]))>>>0);am=((ak=b.Pix,al=v+3>>0,((al<0||al>=ak.$length)?$throwRuntimeError("index out of range"):ak.$array[ak.$offset+al]))>>>0);ao=$imul(((65535-((an=($imul(o,y)>>>0)/65535,(an===an&&an!==1/0&&an!==-1/0)?an>>>0:$throwRuntimeError("integer divide by zero")))>>>0)),257)>>>0;(aq=b.Pix,ar=v+0>>0,((ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]=(((ap=((($imul(ad,ao)>>>0)+($imul(l,y)>>>0)>>>0))/65535,(ap===ap&&ap!==1/0&&ap!==-1/0)?ap>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(at=b.Pix,au=v+1>>0,((au<0||au>=at.$length)?$throwRuntimeError("index out of range"):at.$array[at.$offset+au]=(((as=((($imul(ag,ao)>>>0)+($imul(m,y)>>>0)>>>0))/65535,(as===as&&as!==1/0&&as!==-1/0)?as>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(aw=b.Pix,ax=v+2>>0,((ax<0||ax>=aw.$length)?$throwRuntimeError("index out of range"):aw.$array[aw.$offset+ax]=(((av=((($imul(aj,ao)>>>0)+($imul(n,y)>>>0)>>>0))/65535,(av===av&&av!==1/0&&av!==-1/0)?av>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(az=b.Pix,ba=v+3>>0,((ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]=(((ay=((($imul(am,ao)>>>0)+($imul(o,y)>>>0)>>>0))/65535,(ay===ay&&ay!==1/0&&ay!==-1/0)?ay>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));bb=v+4>>0;bc=w+1>>0;v=bb;w=bc;}g=g+(b.Stride)>>0;h=h+(b.Stride)>>0;i=i+(e.Stride)>>0;bd=r+1>>0;be=s+1>>0;r=bd;s=be;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:U};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V=function(b,c,d,e,f,g,h){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=$clone(g,A.Point);e=$clone(e,A.Point);c=$clone(c,A.Rectangle);i=c.Min.X;j=c.Max.X;k=1;l=i;m=j;n=k;o=c.Min.Y;p=c.Max.Y;q=1;r=o;s=p;t=q;if($interfaceIsEqual(b,d)&&c.Overlaps(c.Add(e.Sub(c.Min)))){if(e.Y<c.Min.Y||(e.Y===c.Min.Y)&&e.X<c.Min.X){u=m-1>>0;v=l-1>>0;w=-1;l=u;m=v;n=w;x=s-1>>0;y=r-1>>0;z=-1;r=x;s=y;t=z;}}aa=(e.Y+r>>0)-c.Min.Y>>0;ab=(g.Y+r>>0)-c.Min.Y>>0;ac=(e.X+l>>0)-c.Min.X>>0;ad=(g.X+l>>0)-c.Min.X>>0;ae=ac+((m-l>>0))>>0;af=b.PixOffset(l,r);ag=$imul(n,4);ah=r;case 1:if(!(!((ah===s)))){$s=2;continue;}ai=af;aj=ac;ak=ad;al=ai;am=aj;an=ak;case 3:if(!(!((am===ae)))){$s=4;continue;}ao=65535;if(!($interfaceIsEqual(f,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:aq=f.At(an,ab);$s=7;case 7:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq.RGBA();$s=8;case 8:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}ap=ar;ao=ap[3];case 6:at=d.At(am,aa);$s=9;case 9:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at.RGBA();$s=10;case 10:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}as=au;av=as[0];aw=as[1];ax=as[2];ay=as[3];if(h===0){bb=((az=b.Pix,ba=al+0>>0,((ba<0||ba>=az.$length)?$throwRuntimeError("index out of range"):az.$array[az.$offset+ba]))>>>0);be=((bc=b.Pix,bd=al+1>>0,((bd<0||bd>=bc.$length)?$throwRuntimeError("index out of range"):bc.$array[bc.$offset+bd]))>>>0);bh=((bf=b.Pix,bg=al+2>>0,((bg<0||bg>=bf.$length)?$throwRuntimeError("index out of range"):bf.$array[bf.$offset+bg]))>>>0);bk=((bi=b.Pix,bj=al+3>>0,((bj<0||bj>=bi.$length)?$throwRuntimeError("index out of range"):bi.$array[bi.$offset+bj]))>>>0);bm=$imul(((65535-((bl=($imul(ay,ao)>>>0)/65535,(bl===bl&&bl!==1/0&&bl!==-1/0)?bl>>>0:$throwRuntimeError("integer divide by zero")))>>>0)),257)>>>0;(bo=b.Pix,bp=al+0>>0,((bp<0||bp>=bo.$length)?$throwRuntimeError("index out of range"):bo.$array[bo.$offset+bp]=(((bn=((($imul(bb,bm)>>>0)+($imul(av,ao)>>>0)>>>0))/65535,(bn===bn&&bn!==1/0&&bn!==-1/0)?bn>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(br=b.Pix,bs=al+1>>0,((bs<0||bs>=br.$length)?$throwRuntimeError("index out of range"):br.$array[br.$offset+bs]=(((bq=((($imul(be,bm)>>>0)+($imul(aw,ao)>>>0)>>>0))/65535,(bq===bq&&bq!==1/0&&bq!==-1/0)?bq>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(bu=b.Pix,bv=al+2>>0,((bv<0||bv>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bv]=(((bt=((($imul(bh,bm)>>>0)+($imul(ax,ao)>>>0)>>>0))/65535,(bt===bt&&bt!==1/0&&bt!==-1/0)?bt>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(bx=b.Pix,by=al+3>>0,((by<0||by>=bx.$length)?$throwRuntimeError("index out of range"):bx.$array[bx.$offset+by]=(((bw=((($imul(bk,bm)>>>0)+($imul(ay,ao)>>>0)>>>0))/65535,(bw===bw&&bw!==1/0&&bw!==-1/0)?bw>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));}else{(ca=b.Pix,cb=al+0>>0,((cb<0||cb>=ca.$length)?$throwRuntimeError("index out of range"):ca.$array[ca.$offset+cb]=(((bz=($imul(av,ao)>>>0)/65535,(bz===bz&&bz!==1/0&&bz!==-1/0)?bz>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(cd=b.Pix,ce=al+1>>0,((ce<0||ce>=cd.$length)?$throwRuntimeError("index out of range"):cd.$array[cd.$offset+ce]=(((cc=($imul(aw,ao)>>>0)/65535,(cc===cc&&cc!==1/0&&cc!==-1/0)?cc>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(cg=b.Pix,ch=al+2>>0,((ch<0||ch>=cg.$length)?$throwRuntimeError("index out of range"):cg.$array[cg.$offset+ch]=(((cf=($imul(ax,ao)>>>0)/65535,(cf===cf&&cf!==1/0&&cf!==-1/0)?cf>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));(cj=b.Pix,ck=al+3>>0,((ck<0||ck>=cj.$length)?$throwRuntimeError("index out of range"):cj.$array[cj.$offset+ck]=(((ci=($imul(ay,ao)>>>0)/65535,(ci===ci&&ci!==1/0&&ci!==-1/0)?ci>>>0:$throwRuntimeError("integer divide by zero"))>>>8>>>0)<<24>>>24)));}cl=al+ag>>0;cm=am+n>>0;cn=an+n>>0;al=cl;am=cm;an=cn;$s=3;continue;case 4:af=af+(($imul(t,b.Stride)))>>0;co=ah+t>>0;cp=aa+t>>0;cq=ab+t>>0;ah=co;aa=cp;ab=cq;$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};W=function(b){var $ptr,b;if(b<0){return 0;}if(b>65535){return 65535;}return b;};X=function(b,c){var $ptr,b,c,d;d=0;if(b>c){d=((b-c>>0)>>>0);}else{d=((c-b>>0)>>>0);}return(($imul(d,d)>>>0))>>>2>>>0;};Y=function(b,c,d,e,f){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];e=$clone(e,A.Point);c=$clone(c,A.Rectangle);h=AJ.nil;i=AK.nil;j=0;k=h;l=i;m=j;n=$assertType(b,AB,true);o=n[0];p=n[1];if(p){$s=1;continue;}$s=2;continue;case 1:k=$makeSlice(AJ,o.Palette.$length);q=o.Palette;r=0;case 3:if(!(r<q.$length)){$s=4;continue;}s=r;t=((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]);v=t.RGBA();$s=5;case 5:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];y=u[2];z=u[3];((s<0||s>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+s])[0]=(w>>0);((s<0||s>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+s])[1]=(x>>0);((s<0||s>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+s])[2]=(y>>0);((s<0||s>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+s])[3]=(z>>0);r++;$s=3;continue;case 4:aa=$subslice(o.Pix,o.PixOffset(c.Min.X,c.Min.Y));ab=o.Stride;l=aa;m=ab;case 2:ac=AJ.nil;ad=AJ.nil;ae=ac;af=ad;if(f){ae=$makeSlice(AJ,(c.Dx()+2>>0));af=$makeSlice(AJ,(c.Dx()+2>>0));}g[0]=new B.RGBA64.ptr(0,0,0,65535);ag=0;case 6:if(!(!((ag===c.Dy())))){$s=7;continue;}ah=0;case 8:if(!(!((ah===c.Dx())))){$s=9;continue;}aj=d.At(e.X+ah>>0,e.Y+ag>>0);$s=10;case 10:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj.RGBA();$s=11;case 11:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}ai=ak;al=ai[0];am=ai[1];an=ai[2];ao=ai[3];ap=(al>>0);aq=(am>>0);ar=(an>>0);as=(ao>>0);at=ap;au=aq;av=ar;aw=as;if(f){at=W(at+(ax=(ay=ah+1>>0,((ay<0||ay>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ay]))[0]/16,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero"))>>0);au=W(au+(az=(ba=ah+1>>0,((ba<0||ba>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ba]))[1]/16,(az===az&&az!==1/0&&az!==-1/0)?az>>0:$throwRuntimeError("integer divide by zero"))>>0);av=W(av+(bb=(bc=ah+1>>0,((bc<0||bc>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+bc]))[2]/16,(bb===bb&&bb!==1/0&&bb!==-1/0)?bb>>0:$throwRuntimeError("integer divide by zero"))>>0);aw=W(aw+(bd=(be=ah+1>>0,((be<0||be>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+be]))[3]/16,(bd===bd&&bd!==1/0&&bd!==-1/0)?bd>>0:$throwRuntimeError("integer divide by zero"))>>0);}if(!(k===AJ.nil)){$s=12;continue;}$s=13;continue;case 12:bf=0;bg=4294967295;bh=bf;bi=bg;bj=k;bk=0;while(true){if(!(bk<bj.$length)){break;}bl=bk;bm=$clone(((bk<0||bk>=bj.$length)?$throwRuntimeError("index out of range"):bj.$array[bj.$offset+bk]),AI);bn=((X(at,bm[0])+X(au,bm[1])>>>0)+X(av,bm[2])>>>0)+X(aw,bm[3])>>>0;if(bn<bi){bo=bl;bp=bn;bh=bo;bi=bp;if(bn===0){break;}}bk++;}(bq=($imul(ag,m))+ah>>0,((bq<0||bq>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+bq]=(bh<<24>>>24)));if(!f){ah=ah+(1)>>0;$s=8;continue;}at=at-(((bh<0||bh>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bh])[0])>>0;au=au-(((bh<0||bh>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bh])[1])>>0;av=av-(((bh<0||bh>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bh])[2])>>0;aw=aw-(((bh<0||bh>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+bh])[3])>>0;$s=14;continue;case 13:g[0].R=(at<<16>>>16);g[0].G=(au<<16>>>16);g[0].B=(av<<16>>>16);g[0].A=(aw<<16>>>16);$r=b.Set(c.Min.X+ah>>0,c.Min.Y+ag>>0,g[0]);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!f){$s=16;continue;}$s=17;continue;case 16:ah=ah+(1)>>0;$s=8;continue;case 17:bs=b.At(c.Min.X+ah>>0,c.Min.Y+ag>>0);$s=18;case 18:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}bt=bs.RGBA();$s=19;case 19:if($c){$c=false;bt=bt.$blk();}if(bt&&bt.$blk!==undefined){break s;}br=bt;al=br[0];am=br[1];an=br[2];ao=br[3];at=at-((al>>0))>>0;au=au-((am>>0))>>0;av=av-((an>>0))>>0;aw=aw-((ao>>0))>>0;case 14:bu=ah+0>>0;((bu<0||bu>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bu])[0]=(((bu<0||bu>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bu])[0]+(($imul(at,3)))>>0);bv=ah+0>>0;((bv<0||bv>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bv])[1]=(((bv<0||bv>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bv])[1]+(($imul(au,3)))>>0);bw=ah+0>>0;((bw<0||bw>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bw])[2]=(((bw<0||bw>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bw])[2]+(($imul(av,3)))>>0);bx=ah+0>>0;((bx<0||bx>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bx])[3]=(((bx<0||bx>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bx])[3]+(($imul(aw,3)))>>0);by=ah+1>>0;((by<0||by>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+by])[0]=(((by<0||by>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+by])[0]+(($imul(at,5)))>>0);bz=ah+1>>0;((bz<0||bz>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bz])[1]=(((bz<0||bz>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+bz])[1]+(($imul(au,5)))>>0);ca=ah+1>>0;((ca<0||ca>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ca])[2]=(((ca<0||ca>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ca])[2]+(($imul(av,5)))>>0);cb=ah+1>>0;((cb<0||cb>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cb])[3]=(((cb<0||cb>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cb])[3]+(($imul(aw,5)))>>0);cc=ah+2>>0;((cc<0||cc>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cc])[0]=(((cc<0||cc>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cc])[0]+(($imul(at,1)))>>0);cd=ah+2>>0;((cd<0||cd>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cd])[1]=(((cd<0||cd>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cd])[1]+(($imul(au,1)))>>0);ce=ah+2>>0;((ce<0||ce>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ce])[2]=(((ce<0||ce>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+ce])[2]+(($imul(av,1)))>>0);cf=ah+2>>0;((cf<0||cf>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cf])[3]=(((cf<0||cf>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+cf])[3]+(($imul(aw,1)))>>0);cg=ah+2>>0;((cg<0||cg>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+cg])[0]=(((cg<0||cg>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+cg])[0]+(($imul(at,7)))>>0);ch=ah+2>>0;((ch<0||ch>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ch])[1]=(((ch<0||ch>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ch])[1]+(($imul(au,7)))>>0);ci=ah+2>>0;((ci<0||ci>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ci])[2]=(((ci<0||ci>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+ci])[2]+(($imul(av,7)))>>0);cj=ah+2>>0;((cj<0||cj>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+cj])[3]=(((cj<0||cj>=ae.$length)?$throwRuntimeError("index out of range"):ae.$array[ae.$offset+cj])[3]+(($imul(aw,7)))>>0);ah=ah+(1)>>0;$s=8;continue;case 9:if(f){ck=af;cl=ae;ae=ck;af=cl;cm=af;cn=0;while(true){if(!(cn<cm.$length)){break;}co=cn;AI.copy(((co<0||co>=af.$length)?$throwRuntimeError("index out of range"):af.$array[af.$offset+co]),AI.zero());cn++;}}ag=ag+(1)>>0;$s=6;continue;case 7:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:Y};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/internal/graphics"]=(function(){var $pkg={},$init,A,B,C,G,D,H,E,F,J,N,R,AE,AF,AJ,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,K,L,V,W,X,AA,AB,AC,AD,AH,I,M,Q,S,T,U,Y,Z,AG,AI,AK,AL;A=$packages["errors"];B=$packages["fmt"];C=$packages["github.com/hajimehoshi/ebiten/internal/graphics/opengl"];G=$packages["image"];D=$packages["image/color"];H=$packages["image/draw"];E=$packages["math"];F=$packages["strings"];J=$pkg.Matrix=$newType(8,$kindInterface,"graphics.Matrix","Matrix","github.com/hajimehoshi/ebiten/internal/graphics",null);N=$pkg.TextureQuads=$newType(8,$kindInterface,"graphics.TextureQuads","TextureQuads","github.com/hajimehoshi/ebiten/internal/graphics",null);R=$pkg.Framebuffer=$newType(0,$kindStruct,"graphics.Framebuffer","Framebuffer","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_,flipY_,proMatrix_){this.$val=this;if(arguments.length===0){this.native$0=new C.Framebuffer.ptr(null);this.width=0;this.height=0;this.flipY=false;this.proMatrix=AS.nil;return;}this.native$0=native$0_;this.width=width_;this.height=height_;this.flipY=flipY_;this.proMatrix=proMatrix_;});AE=$pkg.programContext=$newType(0,$kindStruct,"graphics.programContext","programContext","github.com/hajimehoshi/ebiten/internal/graphics",function(program_,context_,projectionMatrix_,texture_,geoM_,colorM_){this.$val=this;if(arguments.length===0){this.program=new C.Program.ptr(null);this.context=AP.nil;this.projectionMatrix=AM.nil;this.texture=new C.Texture.ptr(null);this.geoM=$ifaceNil;this.colorM=$ifaceNil;return;}this.program=program_;this.context=context_;this.projectionMatrix=projectionMatrix_;this.texture=texture_;this.geoM=geoM_;this.colorM=colorM_;});AF=$pkg.shaderId=$newType(4,$kindInt,"graphics.shaderId","shaderId","github.com/hajimehoshi/ebiten/internal/graphics",null);AJ=$pkg.Texture=$newType(0,$kindStruct,"graphics.Texture","Texture","github.com/hajimehoshi/ebiten/internal/graphics",function(native$0_,width_,height_){this.$val=this;if(arguments.length===0){this.native$0=new C.Texture.ptr(null);this.width=0;this.height=0;return;}this.native$0=native$0_;this.width=width_;this.height=height_;});AM=$sliceType($Float32);AN=$sliceType($Int16);AO=$sliceType($emptyInterface);AP=$ptrType(C.Context);AQ=$arrayType($Float64,4);AR=$arrayType(AQ,4);AS=$ptrType(AR);AT=$ptrType(R);AU=$sliceType(C.Shader);AV=$sliceType($Uint16);AW=$arrayType($Float32,5);AX=$arrayType(AW,4);AY=$ptrType(G.RGBA);AZ=$ptrType(AJ);BA=$sliceType($Uint8);BB=$ptrType(AE);I=function(a){var $ptr,a;return new AM([$fround((a.nilCheck,a[0])[0]),$fround((a.nilCheck,a[1])[0]),$fround((a.nilCheck,a[2])[0]),$fround((a.nilCheck,a[3])[0]),$fround((a.nilCheck,a[0])[1]),$fround((a.nilCheck,a[1])[1]),$fround((a.nilCheck,a[2])[1]),$fround((a.nilCheck,a[3])[1]),$fround((a.nilCheck,a[0])[2]),$fround((a.nilCheck,a[1])[2]),$fround((a.nilCheck,a[2])[2]),$fround((a.nilCheck,a[3])[2]),$fround((a.nilCheck,a[0])[3]),$fround((a.nilCheck,a[1])[3]),$fround((a.nilCheck,a[2])[3]),$fround((a.nilCheck,a[3])[3])]);};M=function(a,b,c,d,e,f){var $ptr,a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=$clone(b,C.Texture);if(!L){$s=1;continue;}$s=2;continue;case 1:g=Y(a);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:return h;case 5:L=true;case 2:i=d.Len();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(i===0){$s=6;continue;}$s=7;continue;case 6:return $ifaceNil;case 7:j=d.Len();$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(10922<j){$s=9;continue;}$s=10;continue;case 9:k=B.Sprintf("len(quads) must be equal to or less than %d",new AO([new $Int(10922)]));$s=12;case 12:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=A.New(k);$s=13;case 13:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=14;case 14:return l;case 10:m=new AE.ptr($clone(X,C.Program),a,I(c),$clone(b,C.Texture),e,f);$r=m.begin();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(m,"end"),[]]);n=$subslice(K,0,0);o=0;p=0;case 16:q=d.Len();$s=18;case 18:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}if(!(p<q)){$s=17;continue;}s=d.Vertex(p);$s=19;case 19:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=r[3];y=d.Texture(p);$s=20;case 20:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;z=x[0];aa=x[1];ab=x[2];ac=x[3];if((t===v)||(u===w)||(z===ab)||(aa===ac)){p=p+(1)>>0;$s=16;continue;}n=$append(n,(t<<16>>16),(u<<16>>16),(z<<16>>16),(aa<<16>>16),(v<<16>>16),(u<<16>>16),(ab<<16>>16),(aa<<16>>16),(t<<16>>16),(w<<16>>16),(z<<16>>16),(ac<<16>>16),(v<<16>>16),(w<<16>>16),(ab<<16>>16),(ac<<16>>16));o=o+(1)>>0;p=p+(1)>>0;$s=16;continue;case 17:if(n.$length===0){return $ifaceNil;}a.BufferSubData(a.ArrayBuffer,n);a.DrawElements(a.Triangles,$imul(6,o));return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};Q=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h;e=2/(b-a>>0);f=2/(d-c>>0);g=-1*(b+a>>0)/(b-a>>0);h=-1*(d+c>>0)/(d-c>>0);return $toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,0,0,g]),$toNativeArray($kindFloat64,[0,f,0,h]),$toNativeArray($kindFloat64,[0,0,1,0]),$toNativeArray($kindFloat64,[0,0,0,1])]);};S=function(a,b,c){var $ptr,a,b,c,d;d=new R.ptr(new C.Framebuffer.ptr(null),b,c,true,AS.nil);return[d,$ifaceNil];};$pkg.NewZeroFramebuffer=S;T=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.NewFramebuffer(b.native$0);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=$clone(c[0],C.Framebuffer);f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){return[AT.nil,f];}g=b.Size();h=g[0];i=g[1];return[new R.ptr($clone(e,C.Framebuffer),h,i,false,AS.nil),$ifaceNil];}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewFramebufferFromTexture=T;R.ptr.prototype.Size=function(){var $ptr,a,b,c,d,e;a=0;b=0;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};R.prototype.Size=function(){return this.$val.Size();};R.ptr.prototype.Dispose=function(a){var $ptr,a,b;b=this;if($equal(b.native$0,C.ZeroFramebuffer,C.Framebuffer)){return;}a.DeleteFramebuffer(b.native$0);};R.prototype.Dispose=function(a){return this.$val.Dispose(a);};R.ptr.prototype.setAsViewport=function(a){var $ptr,a,b,c,d;b=this;c=U(b.width);d=U(b.height);return a.SetViewport(b.native$0,c,d);};R.prototype.setAsViewport=function(a){return this.$val.setAsViewport(a);};R.ptr.prototype.projectionMatrix=function(){var $ptr,a,b,c,d;a=this;if(!($equal(a.proMatrix,AS.nil,AR))){return a.proMatrix;}b=U(a.width);c=U(a.height);d=Q(0,b,0,c);if(a.flipY){(d.nilCheck,d[1])[1]=(d.nilCheck,d[1])[1]*(-1);(d.nilCheck,d[1])[3]=(d.nilCheck,d[1])[3]+(a.height/U(a.height)*2);}a.proMatrix=d;return a.proMatrix;};R.prototype.projectionMatrix=function(){return this.$val.projectionMatrix();};R.ptr.prototype.Fill=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.setAsViewport(a);if(!($interfaceIsEqual(d,$ifaceNil))){return d;}f=b.RGBA();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];i=e[2];j=e[3];k=g/65535;l=h/65535;m=i/65535;n=j/65535;return a.FillFramebuffer(k,l,m,n);}return;}if($f===undefined){$f={$blk:R.ptr.prototype.Fill};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.Fill=function(a,b){return this.$val.Fill(a,b);};R.ptr.prototype.DrawTexture=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=f.setAsViewport(a);if(!($interfaceIsEqual(g,$ifaceNil))){return g;}h=f.projectionMatrix();i=M(a,b.native$0,h,c,d,e);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=2;case 2:return i;}return;}if($f===undefined){$f={$blk:R.ptr.prototype.DrawTexture};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.DrawTexture=function(a,b,c,d,e){return this.$val.DrawTexture(a,b,c,d,e);};R.ptr.prototype.Pixels=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Size();d=c[0];e=c[1];f=U(d);g=U(e);d=f;e=g;h=a.FramebufferPixels(b.native$0,d,e);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=2;case 2:return h;}return;}if($f===undefined){$f={$blk:R.ptr.prototype.Pixels};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.Pixels=function(a){return this.$val.Pixels(a);};U=function(a){var $ptr,a;a=a-(1)>>0;a=a|(((a>>1>>0)));a=a|(((a>>2>>0)));a=a|(((a>>4>>0)));a=a|(((a>>8>>0)));a=a|(((a>>16>>0)));return a+1>>0;};$pkg.NextPowerOf2Int=U;Y=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=a.NewShader(a.VertexShader,AG(a,0));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=$clone(b[0],C.Shader);e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}$deferred.push([$methodVal(a,"DeleteShader"),[$clone(d,C.Shader)]]);g=a.NewShader(a.FragmentShader,AG(a,1));$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=$clone(f[0],C.Shader);e=f[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}$deferred.push([$methodVal(a,"DeleteShader"),[$clone(h,C.Shader)]]);i=a.NewProgram(new AU([$clone(d,C.Shader),$clone(h,C.Shader)]));C.Program.copy(X,i[0]);e=i[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}a.NewBuffer(a.ArrayBuffer,new $Int(699008),a.DynamicDraw);j=$makeSlice(AV,65532);k=0;while(true){if(!(k<10922)){break;}(l=(6*k<<16>>>16)+0<<16>>>16,((l<0||l>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+l]=((4*k<<16>>>16)+0<<16>>>16)));(m=(6*k<<16>>>16)+1<<16>>>16,((m<0||m>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+m]=((4*k<<16>>>16)+1<<16>>>16)));(n=(6*k<<16>>>16)+2<<16>>>16,((n<0||n>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+n]=((4*k<<16>>>16)+2<<16>>>16)));(o=(6*k<<16>>>16)+3<<16>>>16,((o<0||o>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+o]=((4*k<<16>>>16)+1<<16>>>16)));(p=(6*k<<16>>>16)+4<<16>>>16,((p<0||p>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+p]=((4*k<<16>>>16)+2<<16>>>16)));(q=(6*k<<16>>>16)+5<<16>>>16,((q<0||q>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+q]=((4*k<<16>>>16)+3<<16>>>16)));k=k+(1)<<16>>>16;}C.Buffer.copy(W,a.NewBuffer(a.ElementArrayBuffer,j,a.StaticDraw));j=$makeSlice(AV,65536);r=0;while(true){if(!(r<j.$length)){break;}((r<0||r>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+r]=(r<<16>>>16));r=r+(1)>>0;}C.Buffer.copy(V,a.NewBuffer(a.ElementArrayBuffer,j,a.StaticDraw));return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:Y};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};Z=function(a,b){var $ptr,a,b,c;if(!((a.$length===b.$length))){return false;}c=0;while(true){if(!(c<a.$length)){break;}if(!((((c<0||c>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+c])===((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c])))){return false;}c=c+(1)>>0;}return true;};AE.ptr.prototype.begin=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.context;if(!AA.Equals(a.program)){b.UseProgram(a.program);C.Program.copy(AA,X);AB=AM.nil;AC=AM.nil;AD=AM.nil;}b.BindElementArrayBuffer(W);if(!Z(AB,a.projectionMatrix)){$s=1;continue;}$s=2;continue;case 1:$r=b.UniformFloats(a.program,"projection_matrix",a.projectionMatrix);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(AB===AM.nil){AB=$makeSlice(AM,16);}$copySlice(AB,a.projectionMatrix);case 2:c=a.geoM.Element(0,0);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$fround(c);e=a.geoM.Element(0,1);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$fround(e);g=a.geoM.Element(1,0);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$fround(g);i=a.geoM.Element(1,1);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$fround(i);k=a.geoM.Element(0,2);$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=$fround(k);m=a.geoM.Element(1,2);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=$fround(m);o=new AM([d,h,0,0,f,j,0,0,0,0,1,0,l,n,0,1]);if(!Z(AC,o)){$s=10;continue;}$s=11;continue;case 10:$r=b.UniformFloats(a.program,"modelview_matrix",o);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(AC===AM.nil){AC=$makeSlice(AM,16);}$copySlice(AC,o);case 11:$r=b.UniformInt(a.program,"texture",0);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=AX.zero();q=0;case 14:if(!(q<4)){$s=15;continue;}r=0;case 16:if(!(r<5)){$s=17;continue;}s=a.colorM.Element(q,r);$s=18;case 18:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}(t=((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q]),((r<0||r>=t.length)?$throwRuntimeError("index out of range"):t[r]=$fround(s)));r=r+(1)>>0;$s=16;continue;case 17:q=q+(1)>>0;$s=14;continue;case 15:u=new AM([p[0][0],p[1][0],p[2][0],p[3][0],p[0][1],p[1][1],p[2][1],p[3][1],p[0][2],p[1][2],p[2][2],p[3][2],p[0][3],p[1][3],p[2][3],p[3][3]]);if(!Z(AD,u)){$s=19;continue;}$s=20;continue;case 19:$r=b.UniformFloats(a.program,"color_matrix",u);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(AD===AM.nil){AD=$makeSlice(AM,16);}$copySlice(AD,u);case 20:v=new AM([p[0][4],p[1][4],p[2][4],p[3][4]]);$r=b.UniformFloats(a.program,"color_matrix_translation",v);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.BindTexture(a.texture);$r=b.EnableVertexAttribArray(a.program,"vertex");$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.EnableVertexAttribArray(a.program,"tex_coord");$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.VertexAttribPointer(a.program,"vertex",true,false,8,2,0);$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.VertexAttribPointer(a.program,"tex_coord",true,true,8,2,4);$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.begin};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.begin=function(){return this.$val.begin();};AE.ptr.prototype.end=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.context;$r=b.DisableVertexAttribArray(a.program,"tex_coord");$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.DisableVertexAttribArray(a.program,"vertex");$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.end};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.end=function(){return this.$val.end();};AG=function(a,b){var $ptr,a,b,c,d;d=(c=AH[AF.keyFor(b)],c!==undefined?c.v:"");if(!a.GlslHighpSupported()){d=F.Replace(d,"highp ","",-1);d=F.Replace(d,"lowp ","",-1);}return d;};AI=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.Bounds();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c.Size();$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=d.X;f=a.Bounds();$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f.Size();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g.Y;h=b;i=e;j=new G.Rectangle.ptr($clone(G.ZP,G.Point),new G.Point.ptr(U(h),U(i)));k=$assertType(a,AY,true);l=k[0];m=k[1];if(!(m)){n=false;$s=7;continue s;}o=a.Bounds();$s=8;case 8:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=$equal(o,j,G.Rectangle);case 7:if(n){$s=5;continue;}$s=6;continue;case 5:return l;case 6:p=G.NewRGBA(j);q=a.Bounds();$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=q.Size();$s=10;case 10:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=new G.Rectangle.ptr($clone(G.ZP,G.Point),$clone(r,G.Point));$r=H.Draw(p,s,a,G.ZP,1);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return p;}return;}if($f===undefined){$f={$blk:AI};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};AJ.ptr.prototype.Size=function(){var $ptr,a,b,c,d,e;a=0;b=0;c=this;d=c.width;e=c.height;a=d;b=e;return[a,b];};AJ.prototype.Size=function(){return this.$val.Size();};AK=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i;e=U(b);f=U(c);if(e<4){return[AZ.nil,A.New("width must be equal or more than 4.")];}if(f<4){return[AZ.nil,A.New("height must be equal or more than 4.")];}g=a.NewTexture(e,f,BA.nil,d);h=$clone(g[0],C.Texture);i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return[AZ.nil,i];}return[new AJ.ptr($clone(h,C.Texture),b,c),$ifaceNil];};$pkg.NewTexture=AK;AL=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b.Bounds();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d.Size();$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=$clone(e,G.Point);if(f.X<4){return[AZ.nil,A.New("width must be equal or more than 4.")];}if(f.Y<4){return[AZ.nil,A.New("height must be equal or more than 4.")];}g=AI(b);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$clone(h.Bounds().Size(),G.Point);j=a.NewTexture(i.X,i.Y,h.Pix,c);k=$clone(j[0],C.Texture);l=j[1];if(!($interfaceIsEqual(l,$ifaceNil))){return[AZ.nil,l];}return[new AJ.ptr($clone(k,C.Texture),f.X,f.Y),$ifaceNil];}return;}if($f===undefined){$f={$blk:AL};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewTextureFromImage=AL;AJ.ptr.prototype.Dispose=function(a){var $ptr,a,b;b=this;a.DeleteTexture(b.native$0);};AJ.prototype.Dispose=function(a){return this.$val.Dispose(a);};AJ.ptr.prototype.ReplacePixels=function(a,b){var $ptr,a,b,c;c=this;a.BindTexture(c.native$0);a.TexSubImage2D(b,c.width,c.height);return $ifaceNil;};AJ.prototype.ReplacePixels=function(a,b){return this.$val.ReplacePixels(a,b);};AT.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Dispose",name:"Dispose",pkg:"",typ:$funcType([AP],[],false)},{prop:"setAsViewport",name:"setAsViewport",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$funcType([AP],[$error],false)},{prop:"projectionMatrix",name:"projectionMatrix",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$funcType([],[AS],false)},{prop:"Fill",name:"Fill",pkg:"",typ:$funcType([AP,D.Color],[$error],false)},{prop:"DrawTexture",name:"DrawTexture",pkg:"",typ:$funcType([AP,AZ,N,J,J],[$error],false)},{prop:"Pixels",name:"Pixels",pkg:"",typ:$funcType([AP],[BA,$error],false)}];BB.methods=[{prop:"begin",name:"begin",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$funcType([],[],false)},{prop:"end",name:"end",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$funcType([],[],false)}];AZ.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Dispose",name:"Dispose",pkg:"",typ:$funcType([AP],[],false)},{prop:"ReplacePixels",name:"ReplacePixels",pkg:"",typ:$funcType([AP,BA],[$error],false)}];J.init([{prop:"Element",name:"Element",pkg:"",typ:$funcType([$Int,$Int],[$Float64],false)}]);N.init([{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Texture",name:"Texture",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Vertex",name:"Vertex",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}]);R.init([{prop:"native$0",name:"native",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:C.Framebuffer,tag:""},{prop:"width",name:"width",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$Int,tag:""},{prop:"flipY",name:"flipY",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$Bool,tag:""},{prop:"proMatrix",name:"proMatrix",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:AS,tag:""}]);AE.init([{prop:"program",name:"program",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:C.Program,tag:""},{prop:"context",name:"context",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:AP,tag:""},{prop:"projectionMatrix",name:"projectionMatrix",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:AM,tag:""},{prop:"texture",name:"texture",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:C.Texture,tag:""},{prop:"geoM",name:"geoM",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:J,tag:""},{prop:"colorM",name:"colorM",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:J,tag:""}]);AJ.init([{prop:"native$0",name:"native",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:C.Texture,tag:""},{prop:"width",name:"width",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"github.com/hajimehoshi/ebiten/internal/graphics",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}V=new C.Buffer.ptr(null);W=new C.Buffer.ptr(null);X=new C.Program.ptr(null);AA=new C.Program.ptr(null);AB=AM.nil;AC=AM.nil;AD=AM.nil;L=false;K=$makeSlice(AN,0,349504);AH=$makeMap(AF.keyFor,[{k:0,v:"\nuniform highp mat4 projection_matrix;\nuniform highp mat4 modelview_matrix;\nattribute highp vec2 vertex;\nattribute highp vec2 tex_coord;\nvarying highp vec2 vertex_out_tex_coord;\n\nvoid main(void) {\n vertex_out_tex_coord = tex_coord;\n gl_Position = projection_matrix * modelview_matrix * vec4(vertex, 0, 1);\n}\n"},{k:1,v:"\nuniform lowp sampler2D texture;\nuniform lowp mat4 color_matrix;\nuniform lowp vec4 color_matrix_translation;\nvarying highp vec2 vertex_out_tex_coord;\n\nvoid main(void) {\n lowp vec4 color = texture2D(texture, vertex_out_tex_coord);\n\n if (color_matrix != mat4(1.0) || color_matrix_translation != vec4(0.0)) {\n // Un-premultiply alpha\n color.rgb /= color.a;\n // Apply the color matrix\n color = (color_matrix * color) + color_matrix_translation;\n color = clamp(color, 0.0, 1.0);\n // Premultiply alpha\n color.rgb *= color.a;\n }\n\n gl_FragColor = color;\n}\n"}]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/internal/ui"]=(function(){var $pkg={},$init,A,B,C,M,N,AC,AK,AL,AM,AN,AO,AP,AQ,AR,AS,L,AJ,Q,AB,AD,E,S,T,U,V,W,X,Y,Z,AA,AE,AF,AG,AH,AI;A=$packages["github.com/gopherjs/gopherjs/js"];B=$packages["strconv"];C=$packages["time"];M=$pkg.input=$newType(0,$kindStruct,"ui.input","input","github.com/hajimehoshi/ebiten/internal/ui",function(keyPressed_,mouseButtonPressed_,cursorX_,cursorY_,gamepads_){this.$val=this;if(arguments.length===0){this.keyPressed=AK.zero();this.mouseButtonPressed=AK.zero();this.cursorX=0;this.cursorY=0;this.gamepads=AM.zero();return;}this.keyPressed=keyPressed_;this.mouseButtonPressed=mouseButtonPressed_;this.cursorX=cursorX_;this.cursorY=cursorY_;this.gamepads=gamepads_;});N=$pkg.gamePad=$newType(0,$kindStruct,"ui.gamePad","gamePad","github.com/hajimehoshi/ebiten/internal/ui",function(axisNum_,axes_,buttonNum_,buttonPressed_){this.$val=this;if(arguments.length===0){this.axisNum=0;this.axes=AL.zero();this.buttonNum=0;this.buttonPressed=AK.zero();return;}this.axisNum=axisNum_;this.axes=axes_;this.buttonNum=buttonNum_;this.buttonPressed=buttonPressed_;});AC=$pkg.userInterface=$newType(0,$kindStruct,"ui.userInterface","userInterface","github.com/hajimehoshi/ebiten/internal/ui",function(){this.$val=this;if(arguments.length===0){return;}});AK=$arrayType($Bool,256);AL=$arrayType($Float64,16);AM=$arrayType(N,16);AN=$structType([]);AO=$funcType([],[],false);AP=$ptrType(A.Object);AQ=$funcType([AP],[],false);AR=$ptrType(M);AS=$ptrType(AC);E=function(a){var $ptr,a,b;return(b=L.keyPressed,((a<0||a>=b.length)?$throwRuntimeError("index out of range"):b[a]));};$pkg.IsKeyPressed=E;M.ptr.prototype.KeyDown=function(a){var $ptr,a,b,c,d,e,f,g;b=this;c=(d=Q[$Int.keyFor(a)],d!==undefined?[d.v,true]:[0,false]);e=c[0];f=c[1];if(!f){return;}(g=b.keyPressed,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]=true));};M.prototype.KeyDown=function(a){return this.$val.KeyDown(a);};M.ptr.prototype.KeyUp=function(a){var $ptr,a,b,c,d,e,f,g;b=this;c=(d=Q[$Int.keyFor(a)],d!==undefined?[d.v,true]:[0,false]);e=c[0];f=c[1];if(!f){return;}(g=b.keyPressed,((e<0||e>=g.length)?$throwRuntimeError("index out of range"):g[e]=false));};M.prototype.KeyUp=function(a){return this.$val.KeyUp(a);};M.ptr.prototype.MouseDown=function(a){var $ptr,a,b,c,d;b=this;c=b.mouseButtonPressed;d=a;if(d===0){c.nilCheck,c[0]=true;}else if(d===1){c.nilCheck,c[2]=true;}else if(d===2){c.nilCheck,c[1]=true;}};M.prototype.MouseDown=function(a){return this.$val.MouseDown(a);};M.ptr.prototype.MouseUp=function(a){var $ptr,a,b,c,d;b=this;c=b.mouseButtonPressed;d=a;if(d===0){c.nilCheck,c[0]=false;}else if(d===1){c.nilCheck,c[2]=false;}else if(d===2){c.nilCheck,c[1]=false;}};M.prototype.MouseUp=function(a){return this.$val.MouseUp(a);};M.ptr.prototype.SetMouseCursor=function(a,b){var $ptr,a,b,c,d,e;c=this;d=a;e=b;c.cursorX=d;c.cursorY=e;};M.prototype.SetMouseCursor=function(a,b){return this.$val.SetMouseCursor(a,b);};M.ptr.prototype.UpdateGamepads=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;a=this;b=$global.navigator;if(b.getGamepads===undefined){return;}c=b.getGamepads();d=$parseInt(c.length)>>0;e=0;while(true){if(!(e<d)){break;}f=c[e];if(f===undefined||f===null){e=e+(1)>>0;continue;}g=f.axes;h=$parseInt(g.length)>>0;(i=a.gamepads,((e<0||e>=i.length)?$throwRuntimeError("index out of range"):i[e])).axisNum=h;j=0;while(true){if(!(j<16)){break;}if(h<=j){(k=(l=a.gamepads,((e<0||e>=l.length)?$throwRuntimeError("index out of range"):l[e])).axes,((j<0||j>=k.length)?$throwRuntimeError("index out of range"):k[j]=0));j=j+(1)>>0;continue;}(m=(n=a.gamepads,((e<0||e>=n.length)?$throwRuntimeError("index out of range"):n[e])).axes,((j<0||j>=m.length)?$throwRuntimeError("index out of range"):m[j]=$parseFloat(g[j])));j=j+(1)>>0;}o=f.buttons;p=$parseInt(o.length)>>0;(q=a.gamepads,((e<0||e>=q.length)?$throwRuntimeError("index out of range"):q[e])).buttonNum=p;r=0;while(true){if(!(r<256)){break;}if(p<=r){(s=(t=a.gamepads,((e<0||e>=t.length)?$throwRuntimeError("index out of range"):t[e])).buttonPressed,((r<0||r>=s.length)?$throwRuntimeError("index out of range"):s[r]=false));r=r+(1)>>0;continue;}(u=(v=a.gamepads,((e<0||e>=v.length)?$throwRuntimeError("index out of range"):v[e])).buttonPressed,((r<0||r>=u.length)?$throwRuntimeError("index out of range"):u[r]=!!(o[r].pressed)));r=r+(1)>>0;}e=e+(1)>>0;}};M.prototype.UpdateGamepads=function(){return this.$val.UpdateGamepads();};S=function(){var $ptr;return new $Int64(0,$parseFloat($global.performance.now())*1e+06);};$pkg.Now=S;T=function(a){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ExecOnUIThread=T;U=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g;e=0;f=$ifaceNil;g=AD.start(a,b,c,d);e=g[0];f=g[1];return[e,f];};$pkg.Start=U;V=function(){var $ptr;AD.terminate();};$pkg.Terminate=V;W=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=AD.doEvents();$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}$s=2;case 2:return a;}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DoEvents=W;X=function(){var $ptr;return AD.isClosed();};$pkg.IsClosed=X;Y=function(){var $ptr;AD.swapBuffers();};$pkg.SwapBuffers=Y;Z=function(a,b){var $ptr,a,b,c,d,e;c=$parseInt(AB.dataset.ebitenScale)>>0;d=AD.setScreenSize(a,b,c);e=$parseInt(AB.dataset.ebitenActualScale)>>0;return[d,e];};$pkg.SetScreenSize=Z;AA=function(a){var $ptr,a,b,c,d,e,f;b=AD.size();c=b[0];d=b[1];e=AD.setScreenSize(c,d,a);f=$parseInt(AB.dataset.ebitenActualScale)>>0;return[e,f];};$pkg.SetScreenScale=AA;AE=function(){var $ptr;return!!!($global.document.hidden);};AF=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=new $Chan(AN,0);a[0]=1;b[0]=$throwNilPointerError;b[0]=(function(a,b,c){return function(){var $ptr;if(0<a[0]){a[0]=a[0]-(1)>>0;$global.window.requestAnimationFrame($externalize(b[0],AO));return;}$close(c[0]);};})(a,b,c);$r=b[0]();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=$recv(c[0]);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d[0];$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AF};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AC.ptr.prototype.doEvents=function(){var $ptr,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=AF();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(!(!AE())){$s=3;continue;}$r=AF();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=2;continue;case 3:L.UpdateGamepads();return $ifaceNil;}return;}if($f===undefined){$f={$blk:AC.ptr.prototype.doEvents};}$f.$ptr=$ptr;$f.$s=$s;$f.$r=$r;return $f;};AC.prototype.doEvents=function(){return this.$val.doEvents();};AC.ptr.prototype.terminate=function(){var $ptr;};AC.prototype.terminate=function(){return this.$val.terminate();};AC.ptr.prototype.isClosed=function(){var $ptr;return false;};AC.prototype.isClosed=function(){return this.$val.isClosed();};AC.ptr.prototype.swapBuffers=function(){var $ptr;};AC.prototype.swapBuffers=function(){return this.$val.swapBuffers();};AG=function(){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];if(!($global.require===undefined)){return;}b=$global.document;c=$global.window;if(b.body===null){$s=1;continue;}$s=2;continue;case 1:a[0]=new $Chan(AN,0);c.addEventListener($externalize("load",$String),$externalize((function(a){return function(){var $ptr;$close(a[0]);};})(a),AO));d=$recv(a[0]);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d[0];case 2:AB=b.createElement($externalize("canvas",$String));AB.width=16;AB.height=16;b.body.appendChild(AB);e=b.documentElement.style;e.height=$externalize("100%",$String);e.margin=$externalize("0",$String);e.padding=$externalize("0",$String);f=b.body.style;f.backgroundColor=$externalize("#000",$String);f.position=$externalize("relative",$String);f.height=$externalize("100%",$String);f.margin=$externalize("0",$String);f.padding=$externalize("0",$String);b.body.addEventListener($externalize("click",$String),$externalize((function(a){return function(){var $ptr;AB.focus();};})(a),AO));g=AB.style;g.position=$externalize("absolute",$String);AB.setAttribute($externalize("tabindex",$String),1);AB.style.outline=$externalize("none",$String);AB.addEventListener($externalize("keydown",$String),$externalize((function(a){return function(h){var $ptr,h,i;h.preventDefault();i=$parseInt(h.keyCode)>>0;L.KeyDown(i);};})(a),AQ));AB.addEventListener($externalize("keyup",$String),$externalize((function(a){return function(h){var $ptr,h,i;h.preventDefault();i=$parseInt(h.keyCode)>>0;L.KeyUp(i);};})(a),AQ));AB.addEventListener($externalize("mousedown",$String),$externalize((function(a){return function(h){var $ptr,h,i;h.preventDefault();i=$parseInt(h.button)>>0;L.MouseDown(i);AH(h);};})(a),AQ));AB.addEventListener($externalize("mouseup",$String),$externalize((function(a){return function(h){var $ptr,h,i;h.preventDefault();i=$parseInt(h.button)>>0;L.MouseUp(i);AH(h);};})(a),AQ));AB.addEventListener($externalize("mousemove",$String),$externalize((function(a){return function(h){var $ptr,h;h.preventDefault();AH(h);};})(a),AQ));AB.addEventListener($externalize("contextmenu",$String),$externalize((function(a){return function(h){var $ptr,h;h.preventDefault();};})(a),AQ));AB.addEventListener($externalize("touchstart",$String),$externalize((function(a){return function(h){var $ptr,h,i,j;h.preventDefault();L.MouseDown(0);i=h.changedTouches;j=i[0];AH(j);};})(a),AQ));AB.addEventListener($externalize("touchend",$String),$externalize((function(a){return function(h){var $ptr,h,i,j;h.preventDefault();L.MouseUp(0);i=h.changedTouches;j=i[0];AH(j);};})(a),AQ));AB.addEventListener($externalize("touchmove",$String),$externalize((function(a){return function(h){var $ptr,h,i,j;h.preventDefault();i=h.changedTouches;j=i[0];AH(j);};})(a),AQ));c.addEventListener($externalize("gamepadconnected",$String),$externalize((function(a){return function(h){var $ptr,h;};})(a),AQ));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AG};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Init=AG;AH=function(a){var $ptr,a,b,c,d,e,f,g,h,i;b=$parseInt(AB.dataset.ebitenScale)>>0;c=AB.getBoundingClientRect();d=$parseInt(a.clientX)>>0;e=$parseInt(a.clientY)>>0;f=d;g=e;f=f-(($parseInt(c.left)>>0))>>0;g=g-(($parseInt(c.top)>>0))>>0;L.SetMouseCursor((h=f/b,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")),(i=g/b,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero")));};AI=function(){var $ptr,a;a=$parseInt($global.window.devicePixelRatio)>>0;if(a===0){a=1;}return a;};AC.ptr.prototype.start=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j;e=0;f=$ifaceNil;g=this;h=$global.document;h.title=$externalize(d,$String);g.setScreenSize(a,b,c);AB.focus();e=$parseInt(AB.dataset.ebitenActualScale)>>0;i=e;j=$ifaceNil;e=i;f=j;return[e,f];};AC.prototype.start=function(a,b,c,d){return this.$val.start(a,b,c,d);};AC.ptr.prototype.size=function(){var $ptr,a,b,c,d,e;a=0;b=0;c=$parseInt(AB.dataset.ebitenActualScale)>>0;if(c===0){return[a,b];}a=(d=($parseInt(AB.width)>>0)/c,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));b=(e=($parseInt(AB.height)>>0)/c,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"));return[a,b];};AC.prototype.size=function(){return this.$val.size();};AC.ptr.prototype.setScreenSize=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;d=this;e=d.size();f=e[0];g=e[1];h=$parseInt(AB.dataset.ebitenScale)>>0;if((f===a)&&(g===b)&&(h===c)){return false;}i=$imul(c,AI());AB.width=$imul(a,i);AB.height=$imul(b,i);AB.dataset.ebitenScale=c;AB.dataset.ebitenActualScale=i;j=AB.style;k=$imul(a,c);l=$imul(b,c);j.width=$externalize(B.Itoa(k)+"px",$String);j.height=$externalize(B.Itoa(l)+"px",$String);j.left=$externalize("calc((100% - "+B.Itoa(k)+"px) / 2)",$String);j.top=$externalize("calc((100% - "+B.Itoa(l)+"px) / 2)",$String);return true;};AC.prototype.setScreenSize=function(a,b,c){return this.$val.setScreenSize(a,b,c);};AR.methods=[{prop:"KeyDown",name:"KeyDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"KeyUp",name:"KeyUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"MouseDown",name:"MouseDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"MouseUp",name:"MouseUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetMouseCursor",name:"SetMouseCursor",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"UpdateGamepads",name:"UpdateGamepads",pkg:"",typ:$funcType([],[],false)}];AS.methods=[{prop:"doEvents",name:"doEvents",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([],[$error],false)},{prop:"terminate",name:"terminate",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([],[],false)},{prop:"isClosed",name:"isClosed",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([],[$Bool],false)},{prop:"swapBuffers",name:"swapBuffers",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([],[],false)},{prop:"start",name:"start",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([$Int,$Int,$Int,$String],[$Int,$error],false)},{prop:"size",name:"size",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([],[$Int,$Int],false)},{prop:"setScreenSize",name:"setScreenSize",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$funcType([$Int,$Int,$Int],[$Bool],false)}];M.init([{prop:"keyPressed",name:"keyPressed",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:AK,tag:""},{prop:"mouseButtonPressed",name:"mouseButtonPressed",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:AK,tag:""},{prop:"cursorX",name:"cursorX",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$Int,tag:""},{prop:"cursorY",name:"cursorY",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$Int,tag:""},{prop:"gamepads",name:"gamepads",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:AM,tag:""}]);N.init([{prop:"axisNum",name:"axisNum",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$Int,tag:""},{prop:"axes",name:"axes",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:AL,tag:""},{prop:"buttonNum",name:"buttonNum",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:$Int,tag:""},{prop:"buttonPressed",name:"buttonPressed",pkg:"github.com/hajimehoshi/ebiten/internal/ui",typ:AK,tag:""}]);AC.init([]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}L=new M.ptr(AK.zero(),AK.zero(),0,0,AM.zero());AB=null;Q=$makeMap($Int.keyFor,[{k:8,v:37},{k:9,v:67},{k:13,v:44},{k:16,v:65},{k:17,v:40},{k:18,v:36},{k:20,v:38},{k:27,v:45},{k:32,v:66},{k:33,v:62},{k:34,v:61},{k:35,v:43},{k:36,v:58},{k:37,v:60},{k:38,v:68},{k:39,v:64},{k:40,v:42},{k:45,v:59},{k:46,v:41},{k:48,v:0},{k:49,v:1},{k:50,v:2},{k:51,v:3},{k:52,v:4},{k:53,v:5},{k:54,v:6},{k:55,v:7},{k:56,v:8},{k:57,v:9},{k:65,v:10},{k:66,v:11},{k:67,v:12},{k:68,v:13},{k:69,v:14},{k:70,v:15},{k:71,v:16},{k:72,v:17},{k:73,v:18},{k:74,v:19},{k:75,v:20},{k:76,v:21},{k:77,v:22},{k:78,v:23},{k:79,v:24},{k:80,v:25},{k:81,v:26},{k:82,v:27},{k:83,v:28},{k:84,v:29},{k:85,v:30},{k:86,v:31},{k:87,v:32},{k:88,v:33},{k:89,v:34},{k:90,v:35},{k:112,v:46},{k:113,v:47},{k:114,v:48},{k:115,v:49},{k:116,v:50},{k:117,v:51},{k:118,v:52},{k:119,v:53},{k:120,v:54},{k:121,v:55},{k:122,v:56},{k:123,v:57},{k:188,v:39},{k:190,v:63}]);AD=new AC.ptr();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten"]=(function(){var $pkg={},$init,E,F,J,D,C,B,G,H,A,I,K,P,V,AD,AE,AF,AI,AJ,AK,AL,AO,AY,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,AP,BA,N,O,AA,AB,AC,AG,AH,AM,AN,AQ,AR,BB,BC;E=$packages["errors"];F=$packages["fmt"];J=$packages["github.com/hajimehoshi/ebiten/internal/audio"];D=$packages["github.com/hajimehoshi/ebiten/internal/graphics"];C=$packages["github.com/hajimehoshi/ebiten/internal/graphics/opengl"];B=$packages["github.com/hajimehoshi/ebiten/internal/ui"];G=$packages["image"];H=$packages["image/color"];A=$packages["math"];I=$packages["runtime"];K=$packages["time"];P=$pkg.ColorM=$newType(0,$kindStruct,"ebiten.ColorM","ColorM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;if(arguments.length===0){this.initialized=false;this.es=BI.zero();return;}this.initialized=initialized_;this.es=es_;});V=$pkg.GeoM=$newType(0,$kindStruct,"ebiten.GeoM","GeoM","github.com/hajimehoshi/ebiten",function(initialized_,es_){this.$val=this;if(arguments.length===0){this.initialized=false;this.es=BK.zero();return;}this.initialized=initialized_;this.es=es_;});AD=$pkg.graphicsContext=$newType(0,$kindStruct,"ebiten.graphicsContext","graphicsContext","github.com/hajimehoshi/ebiten",function(screen_,defaultRenderTarget_,screenScale_){this.$val=this;if(arguments.length===0){this.screen=BL.nil;this.defaultRenderTarget=BL.nil;this.screenScale=0;return;}this.screen=screen_;this.defaultRenderTarget=defaultRenderTarget_;this.screenScale=screenScale_;});AE=$pkg.Image=$newType(0,$kindStruct,"ebiten.Image","Image","github.com/hajimehoshi/ebiten",function(framebuffer_,texture_,pixels_,width_,height_){this.$val=this;if(arguments.length===0){this.framebuffer=BO.nil;this.texture=BP.nil;this.pixels=BQ.nil;this.width=0;this.height=0;return;}this.framebuffer=framebuffer_;this.texture=texture_;this.pixels=pixels_;this.width=width_;this.height=height_;});AF=$pkg.DrawImageOptions=$newType(0,$kindStruct,"ebiten.DrawImageOptions","DrawImageOptions","github.com/hajimehoshi/ebiten",function(ImageParts_,GeoM_,ColorM_,Parts_){this.$val=this;if(arguments.length===0){this.ImageParts=$ifaceNil;this.GeoM=new V.ptr(false,BK.zero());this.ColorM=new P.ptr(false,BI.zero());this.Parts=BN.nil;return;}this.ImageParts=ImageParts_;this.GeoM=GeoM_;this.ColorM=ColorM_;this.Parts=Parts_;});AI=$pkg.ImagePart=$newType(0,$kindStruct,"ebiten.ImagePart","ImagePart","github.com/hajimehoshi/ebiten",function(Dst_,Src_){this.$val=this;if(arguments.length===0){this.Dst=new G.Rectangle.ptr(new G.Point.ptr(0,0),new G.Point.ptr(0,0));this.Src=new G.Rectangle.ptr(new G.Point.ptr(0,0),new G.Point.ptr(0,0));return;}this.Dst=Dst_;this.Src=Src_;});AJ=$pkg.ImageParts=$newType(8,$kindInterface,"ebiten.ImageParts","ImageParts","github.com/hajimehoshi/ebiten",null);AK=$pkg.imageParts=$newType(12,$kindSlice,"ebiten.imageParts","imageParts","github.com/hajimehoshi/ebiten",null);AL=$pkg.wholeImage=$newType(0,$kindStruct,"ebiten.wholeImage","wholeImage","github.com/hajimehoshi/ebiten",function(width_,height_){this.$val=this;if(arguments.length===0){this.width=0;this.height=0;return;}this.width=width_;this.height=height_;});AO=$pkg.textureQuads=$newType(0,$kindStruct,"ebiten.textureQuads","textureQuads","github.com/hajimehoshi/ebiten",function(parts_,width_,height_){this.$val=this;if(arguments.length===0){this.parts=$ifaceNil;this.width=0;this.height=0;return;}this.parts=parts_;this.width=width_;this.height=height_;});AY=$pkg.Key=$newType(4,$kindInt,"ebiten.Key","Key","github.com/hajimehoshi/ebiten",null);BF=$ptrType(C.Context);BG=$structType([{prop:"running",name:"running",pkg:"github.com/hajimehoshi/ebiten",typ:$Bool,tag:""},{prop:"fps",name:"fps",pkg:"github.com/hajimehoshi/ebiten",typ:$Float64,tag:""},{prop:"newScreenWidth",name:"newScreenWidth",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""},{prop:"newScreenHeight",name:"newScreenHeight",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""},{prop:"newScreenScale",name:"newScreenScale",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""}]);BH=$arrayType($Float64,5);BI=$arrayType(BH,4);BJ=$arrayType($Float64,3);BK=$arrayType(BJ,2);BL=$ptrType(AE);BM=$ptrType(AD);BN=$sliceType(AI);BO=$ptrType(D.Framebuffer);BP=$ptrType(D.Texture);BQ=$sliceType($Uint8);BR=$ptrType(AF);BS=$sliceType($emptyInterface);BT=$funcType([BL],[$error],false);BU=$ptrType(P);BV=$ptrType(V);BW=$ptrType(AL);BX=$ptrType(AO);N=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.dim();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=b.dim();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!((e===f))){$s=2;continue;}$s=3;continue;case 2:$panic(new $String("diffrent-sized matrices can't be multiplied"));case 3:g=0;case 5:if(!(g<(e-1>>0))){$s=6;continue;}h=0;case 7:if(!(h<e)){$s=8;continue;}i=a.Element(g,h);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=b.Element(g,h);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=i+j;$r=c.SetElement(g,h,k);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=h+(1)>>0;$s=7;continue;case 8:g=g+(1)>>0;$s=5;continue;case 6:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};O=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=a.dim();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=b.dim();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!((e===f))){$s=2;continue;}$s=3;continue;case 2:$panic(new $String("diffrent-sized matrices can't be multiplied"));case 3:g=0;case 5:if(!(g<(e-1>>0))){$s=6;continue;}h=0;case 7:if(!(h<e)){$s=8;continue;}i=0;j=0;case 9:if(!(j<(e-1>>0))){$s=10;continue;}k=a.Element(g,j);$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=b.Element(j,h);$s=12;case 12:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}i=i+(k*l);j=j+(1)>>0;$s=9;continue;case 10:if(h===(e-1>>0)){$s=13;continue;}$s=14;continue;case 13:m=a.Element(g,h);$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}i=i+(m);case 14:$r=c.SetElement(g,h,i);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=h+(1)>>0;$s=7;continue;case 8:g=g+(1)>>0;$s=5;continue;case 6:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:O};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};P.ptr.prototype.dim=function(){var $ptr,a;a=this;return 5;};P.prototype.dim=function(){return this.$val.dim();};P.ptr.prototype.initialize=function(){var $ptr,a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;a.es[2][2]=1;a.es[3][3]=1;};P.prototype.initialize=function(){return this.$val.initialize();};P.ptr.prototype.Element=function(a,b){var $ptr,a,b,c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};P.prototype.Element=function(a,b){return this.$val.Element(a,b);};P.ptr.prototype.Concat=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];a[0]=$clone(a[0],P);c=this;if(!c.initialized){c.initialize();}b[0]=new P.ptr(false,BI.zero());$r=O(a[0],c,b[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}P.copy(c,b[0]);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Concat};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Concat=function(a){return this.$val.Concat(a);};P.ptr.prototype.Add=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];a[0]=$clone(a[0],P);c=this;if(!c.initialized){c.initialize();}b[0]=new P.ptr(false,BI.zero());$r=N(a[0],c,b[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}P.copy(c,b[0]);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Add};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Add=function(a){return this.$val.Add(a);};P.ptr.prototype.Scale=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n;e=this;if(!e.initialized){e.initialize();}f=0;while(true){if(!(f<5)){break;}(h=e.es[0],((f<0||f>=h.length)?$throwRuntimeError("index out of range"):h[f]=(g=e.es[0],((f<0||f>=g.length)?$throwRuntimeError("index out of range"):g[f]))*(a)));(j=e.es[1],((f<0||f>=j.length)?$throwRuntimeError("index out of range"):j[f]=(i=e.es[1],((f<0||f>=i.length)?$throwRuntimeError("index out of range"):i[f]))*(b)));(l=e.es[2],((f<0||f>=l.length)?$throwRuntimeError("index out of range"):l[f]=(k=e.es[2],((f<0||f>=k.length)?$throwRuntimeError("index out of range"):k[f]))*(c)));(n=e.es[3],((f<0||f>=n.length)?$throwRuntimeError("index out of range"):n[f]=(m=e.es[3],((f<0||f>=m.length)?$throwRuntimeError("index out of range"):m[f]))*(d)));f=f+(1)>>0;}};P.prototype.Scale=function(a,b,c,d){return this.$val.Scale(a,b,c,d);};P.ptr.prototype.Translate=function(a,b,c,d){var $ptr,a,b,c,d,e;e=this;if(!e.initialized){e.initialize();}e.es[0][4]=e.es[0][4]+(a);e.es[1][4]=e.es[1][4]+(b);e.es[2][4]=e.es[2][4]+(c);e.es[3][4]=e.es[3][4]+(d);};P.prototype.Translate=function(a,b,c,d){return this.$val.Translate(a,b,c,d);};P.ptr.prototype.RotateHue=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sincos(a);d=c[0];e=c[1];f=e+(1-e)/3;g=0.3333333333333333*(1-e)-A.Sqrt(0.3333333333333333)*d;h=0.3333333333333333*(1-e)+A.Sqrt(0.3333333333333333)*d;$r=b.Concat(new P.ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[f,g,h,0,0]),$toNativeArray($kindFloat64,[h,f,g,0,0]),$toNativeArray($kindFloat64,[g,h,f,0,0]),$toNativeArray($kindFloat64,[0,0,0,1,0])])));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:P.ptr.prototype.RotateHue};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.RotateHue=function(a){return this.$val.RotateHue(a);};P.ptr.prototype.SetElement=function(a,b,c){var $ptr,a,b,c,d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),((b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c));};P.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};V.ptr.prototype.dim=function(){var $ptr,a;a=this;return 3;};V.prototype.dim=function(){return this.$val.dim();};V.ptr.prototype.initialize=function(){var $ptr,a;a=this;a.initialized=true;a.es[0][0]=1;a.es[1][1]=1;};V.prototype.initialize=function(){return this.$val.initialize();};V.ptr.prototype.Element=function(a,b){var $ptr,a,b,c,d,e;c=this;if(!c.initialized){if(a===b){return 1;}return 0;}return(d=(e=c.es,((a<0||a>=e.length)?$throwRuntimeError("index out of range"):e[a])),((b<0||b>=d.length)?$throwRuntimeError("index out of range"):d[b]));};V.prototype.Element=function(a,b){return this.$val.Element(a,b);};V.ptr.prototype.Concat=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];a[0]=$clone(a[0],V);c=this;if(!c.initialized){c.initialize();}b[0]=new V.ptr(false,BK.zero());$r=O(a[0],c,b[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}V.copy(c,b[0]);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:V.ptr.prototype.Concat};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.Concat=function(a){return this.$val.Concat(a);};V.ptr.prototype.Add=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];a[0]=$clone(a[0],V);c=this;if(!c.initialized){c.initialize();}b[0]=new V.ptr(false,BK.zero());$r=N(a[0],c,b[0]);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}V.copy(c,b[0]);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:V.ptr.prototype.Add};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.Add=function(a){return this.$val.Add(a);};V.ptr.prototype.Scale=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=this;if(!c.initialized){c.initialize();}d=0;while(true){if(!(d<3)){break;}(f=c.es[0],((d<0||d>=f.length)?$throwRuntimeError("index out of range"):f[d]=(e=c.es[0],((d<0||d>=e.length)?$throwRuntimeError("index out of range"):e[d]))*(a)));(h=c.es[1],((d<0||d>=h.length)?$throwRuntimeError("index out of range"):h[d]=(g=c.es[1],((d<0||d>=g.length)?$throwRuntimeError("index out of range"):g[d]))*(b)));d=d+(1)>>0;}};V.prototype.Scale=function(a,b){return this.$val.Scale(a,b);};V.ptr.prototype.Translate=function(a,b){var $ptr,a,b,c;c=this;if(!c.initialized){c.initialize();}c.es[0][2]=c.es[0][2]+(a);c.es[1][2]=c.es[1][2]+(b);};V.prototype.Translate=function(a,b){return this.$val.Translate(a,b);};V.ptr.prototype.Rotate=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sincos(a);d=c[0];e=c[1];$r=b.Concat(new V.ptr(true,$toNativeArray($kindArray,[$toNativeArray($kindFloat64,[e,-d,0]),$toNativeArray($kindFloat64,[d,e,0])])));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:V.ptr.prototype.Rotate};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.Rotate=function(a){return this.$val.Rotate(a);};V.ptr.prototype.SetElement=function(a,b,c){var $ptr,a,b,c,d,e,f;d=this;if(!d.initialized){d.initialize();}(e=(f=d.es,((a<0||a>=f.length)?$throwRuntimeError("index out of range"):f[a])),((b<0||b>=e.length)?$throwRuntimeError("index out of range"):e[b]=c));};V.prototype.SetElement=function(a,b,c){return this.$val.SetElement(a,b,c);};AA=function(a,b){var $ptr,a,b,c;c=b;if(c===0){return a.Nearest;}else if(c===1){return a.Linear;}$panic(new $String("not reach"));};AB=function(a){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];$r=B.ExecOnUIThread((function(a){return function $b(){var $ptr,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a[0](AP);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.$s=$s;$f.$r=$r;return $f;};})(a));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AB};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AC=function(a,b,c){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new AD.ptr(BL.nil,BL.nil,0);e=d.setSize(a,b,c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return[BM.nil,f];case 3:return[d,$ifaceNil];}return;}if($f===undefined){$f={$blk:AC};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AD.ptr.prototype.preUpdate=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.screen.Clear();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return b;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.preUpdate};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.preUpdate=function(){return this.$val.preUpdate();};AD.ptr.prototype.postUpdate=function(){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.defaultRenderTarget.Clear();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;if(!($interfaceIsEqual(c,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return c;case 3:d=a.screenScale;e=new AF.ptr($ifaceNil,new V.ptr(false,BK.zero()),new P.ptr(false,BI.zero()),BN.nil);e.GeoM.Scale(d,d);f=a.defaultRenderTarget.DrawImage(a.screen,e);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:return g;case 6:return $ifaceNil;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.postUpdate};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.postUpdate=function(){return this.$val.postUpdate();};AD.ptr.prototype.setSize=function(a,b,c){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];d[0]=this;if(!(d[0].defaultRenderTarget===BL.nil)){$s=1;continue;}$s=2;continue;case 1:e=d[0].defaultRenderTarget.Dispose();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;case 2:if(!(d[0].screen===BL.nil)){$s=4;continue;}$s=5;continue;case 4:f=d[0].screen.Dispose();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;case 5:g=$ifaceNil;$r=AB((function(a,b,c,d){return function $b(h){var $ptr,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=D.NewZeroFramebuffer(h,$imul(a[0],c[0]),$imul(b[0],c[0]));j=i[0];k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){return;}l=D.NewTexture(h,a[0],b[0],h.Nearest);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){return;}o=D.NewFramebufferFromTexture(h,m);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[0];k=n[1];if(!($interfaceIsEqual(k,$ifaceNil))){return;}q=new AE.ptr(p,m,BQ.nil,0,0);d[0].defaultRenderTarget=new AE.ptr(j,BP.nil,BQ.nil,0,0);d[0].screen=q;d[0].screenScale=c[0];$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return g;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.setSize};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.setSize=function(a,b,c){return this.$val.setSize(a,b,c);};AE.ptr.prototype.Size=function(){var $ptr,a,b,c,d,e,f;a=0;b=0;c=this;if(c.width===0){d=c.framebuffer.Size();c.width=d[0];c.height=d[1];}e=c.width;f=c.height;a=e;b=f;return[a,b];};AE.prototype.Size=function(){return this.$val.Size();};AE.ptr.prototype.Clear=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$ifaceNil;b=this;if(b.isDisposed()){a=E.New("image is already disposed");return a;}d=b.Fill((c=H.Transparent,new c.constructor.elem(c)));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a=d;$s=2;case 2:return a;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Clear};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Clear=function(){return this.$val.Clear();};AE.ptr.prototype.Fill=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];b[0]=$ifaceNil;c[0]=this;if(c[0].isDisposed()){b[0]=E.New("image is already disposed");return b[0];}c[0].pixels=BQ.nil;$r=AB((function(a,b,c){return function $b(d){var $ptr,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=c[0].framebuffer.Fill(d,a[0]);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}b[0]=e;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return b[0];}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Fill};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Fill=function(a){return this.$val.Fill(a);};AE.ptr.prototype.DrawImage=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];e=[e];c[0]=$ifaceNil;d[0]=this;if(d[0].isDisposed()){c[0]=E.New("image is already disposed");return c[0];}if(d[0]===a[0]){c[0]=E.New("Image.DrawImage: image should be different from the receiver");return c[0];}d[0].pixels=BQ.nil;if(b[0]===BR.nil){b[0]=new AF.ptr($ifaceNil,new V.ptr(false,BK.zero()),new P.ptr(false,BI.zero()),BN.nil);}f=b[0].ImageParts;if($interfaceIsEqual(f,$ifaceNil)){g=b[0].Parts;if(!(g===BN.nil)){f=$subslice(new AK(g.$array),g.$offset,g.$offset+g.$length);}else{h=a[0].Size();i=h[0];j=h[1];f=new AL.ptr(i,j);}}k=a[0].Size();l=k[0];m=k[1];e[0]=new AO.ptr(f,l,m);$r=AB((function(a,b,c,d,e){return function $b(n){var $ptr,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:o=d[0].framebuffer.DrawTexture(n,a[0].texture,e[0],b[0].GeoM,b[0].ColorM);$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}c[0]=o;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d,e));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return c[0];}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.DrawImage};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.DrawImage=function(a,b){return this.$val.DrawImage(a,b);};AE.ptr.prototype.Bounds=function(){var $ptr,a,b,c,d;a=this;b=a.Size();c=b[0];d=b[1];return G.Rect(0,0,c,d);};AE.prototype.Bounds=function(){return this.$val.Bounds();};AE.ptr.prototype.ColorModel=function(){var $ptr,a;a=this;return H.RGBAModel;};AE.prototype.ColorModel=function(){return this.$val.ColorModel();};AE.ptr.prototype.At=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];c[0]=this;if(c[0].isDisposed()){return(d=H.Transparent,new d.constructor.elem(d));}if(c[0].pixels===BQ.nil){$s=1;continue;}$s=2;continue;case 1:$r=AB((function(c){return function $b(e){var $ptr,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=$ifaceNil;h=c[0].framebuffer.Pixels(e);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;c[0].pixels=g[0];f=g[1];if(!($interfaceIsEqual(f,$ifaceNil))){$panic(f);}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};})(c));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:e=c[0].Size();f=e[0];f=D.NextPowerOf2Int(f);g=($imul(4,a))+($imul(($imul(4,b)),f))>>0;h=(i=c[0].pixels,((g<0||g>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+g]));j=(k=c[0].pixels,l=g+1>>0,((l<0||l>=k.$length)?$throwRuntimeError("index out of range"):k.$array[k.$offset+l]));m=(n=c[0].pixels,o=g+2>>0,((o<0||o>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+o]));p=(q=c[0].pixels,r=g+3>>0,((r<0||r>=q.$length)?$throwRuntimeError("index out of range"):q.$array[q.$offset+r]));s=h;t=j;u=m;v=p;return(w=new H.RGBA.ptr(s,t,u,v),new w.constructor.elem(w));}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.At};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.At=function(a,b){return this.$val.At(a,b);};AE.ptr.prototype.Dispose=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];a[0]=this;if(a[0].isDisposed()){return E.New("image is already disposed");}$r=AB((function(a){return function(b){var $ptr,b;a[0].framebuffer.Dispose(b);a[0].framebuffer=BO.nil;a[0].texture.Dispose(b);a[0].texture=BP.nil;};})(a));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a[0].pixels=BQ.nil;I.SetFinalizer(a[0],$ifaceNil);return $ifaceNil;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Dispose};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Dispose=function(){return this.$val.Dispose();};AE.ptr.prototype.isDisposed=function(){var $ptr,a;a=this;return a.texture===BP.nil&&a.framebuffer===BO.nil;};AE.prototype.isDisposed=function(){return this.$val.isDisposed();};AE.ptr.prototype.ReplacePixels=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];c[0]=this;if(c[0].isDisposed()){return E.New("image is already disposed");}c[0].pixels=BQ.nil;d=c[0].Size();e=d[0];f=d[1];g=$imul(($imul(4,e)),f);if(!((a[0].$length===g))){$s=1;continue;}$s=2;continue;case 1:h=F.Sprintf("p's length must be %d",new BS([new $Int(g)]));$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=E.New(h);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=5;case 5:return i;case 2:b[0]=$ifaceNil;$r=AB((function(a,b,c){return function(j){var $ptr,j;b[0]=c[0].texture.ReplacePixels(j,a[0]);};})(a,b,c));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return b[0];}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.ReplacePixels};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.ReplacePixels=function(a){return this.$val.ReplacePixels(a);};AG=function(a,b,c){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];e=[e];e[0]=BL.nil;d[0]=$ifaceNil;$r=AB((function(a,b,c,d,e){return function $b(f){var $ptr,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BP.nil;h=BO.nil;i=D.NewTexture(f,a[0],b[0],AA(f,c[0]));g=i[0];d[0]=i[1];if(!($interfaceIsEqual(d[0],$ifaceNil))){return;}k=D.NewFramebufferFromTexture(f,g);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;h=j[0];d[0]=j[1];if(!($interfaceIsEqual(d[0],$ifaceNil))){return;}e[0]=new AE.ptr(h,g,BQ.nil,0,0);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d,e));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(d[0],$ifaceNil))){return[BL.nil,d[0]];}f=e[0].Clear();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!($interfaceIsEqual(g,$ifaceNil))){$s=3;continue;}$s=4;continue;case 3:return[BL.nil,g];case 4:I.SetFinalizer(e[0],new BT($methodExpr(BL,"Dispose")));return[e[0],$ifaceNil];}return;}if($f===undefined){$f={$blk:AG};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewImage=AG;AH=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=[c];d=[d];d[0]=BL.nil;c[0]=$ifaceNil;$r=AB((function(a,b,c,d){return function $b(e){var $ptr,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BP.nil;g=BO.nil;i=D.NewTextureFromImage(e,a[0],AA(e,b[0]));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;f=h[0];c[0]=h[1];if(!($interfaceIsEqual(c[0],$ifaceNil))){return;}k=D.NewFramebufferFromTexture(e,f);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;g=j[0];c[0]=j[1];if(!($interfaceIsEqual(c[0],$ifaceNil))){return;}d[0]=new AE.ptr(g,f,BQ.nil,0,0);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};})(a,b,c,d));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(c[0],$ifaceNil))){return[BL.nil,c[0]];}I.SetFinalizer(d[0],new BT($methodExpr(BL,"Dispose")));return[d[0],$ifaceNil];}return;}if($f===undefined){$f={$blk:AH};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewImageFromImage=AH;AK.prototype.Len=function(){var $ptr,a;a=this;return a.$length;};$ptrType(AK).prototype.Len=function(){return this.$get().Len();};AK.prototype.Dst=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k;b=0;c=0;d=0;e=0;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Dst;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AK).prototype.Dst=function(a){return this.$get().Dst(a);};AK.prototype.Src=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k;b=0;c=0;d=0;e=0;f=this;g=((a<0||a>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+a]).Src;h=g.Min.X;i=g.Min.Y;j=g.Max.X;k=g.Max.Y;b=h;c=i;d=j;e=k;return[b,c,d,e];};$ptrType(AK).prototype.Src=function(a){return this.$get().Src(a);};AL.ptr.prototype.Len=function(){var $ptr,a;a=this;return 1;};AL.prototype.Len=function(){return this.$val.Len();};AL.ptr.prototype.Dst=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=0;c=0;d=0;e=0;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AL.prototype.Dst=function(a){return this.$val.Dst(a);};AL.ptr.prototype.Src=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=0;c=0;d=0;e=0;f=this;g=0;h=0;i=f.width;j=f.height;b=g;c=h;d=i;e=j;return[b,c,d,e];};AL.prototype.Src=function(a){return this.$val.Src(a);};AM=function(a,b){var $ptr,a,b,c;return(c=($imul(32767,a))/D.NextPowerOf2Int(b),(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));};AN=function(a,b){var $ptr,a,b,c;return(c=($imul(32767,a))/D.NextPowerOf2Int(b),(c===c&&c!==1/0&&c!==-1/0)?c>>0:$throwRuntimeError("integer divide by zero"));};AO.ptr.prototype.Len=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.parts.Len();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return b;}return;}if($f===undefined){$f={$blk:AO.ptr.prototype.Len};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AO.prototype.Len=function(){return this.$val.Len();};AO.ptr.prototype.Vertex=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=0;d=0;e=0;f=this;h=f.parts.Dst(a);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;b=g[0];c=g[1];d=g[2];e=g[3];$s=2;case 2:return[b,c,d,e];}return;}if($f===undefined){$f={$blk:AO.ptr.prototype.Vertex};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AO.prototype.Vertex=function(a){return this.$val.Vertex(a);};AO.ptr.prototype.Texture=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=0;d=0;e=0;f=this;h=f.parts.Src(a);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];k=g[2];l=g[3];m=f.width;n=f.height;o=m;p=n;q=AM(i,o);r=AN(j,p);s=AM(k,o);t=AN(l,p);b=q;c=r;d=s;e=t;return[b,c,d,e];}return;}if($f===undefined){$f={$blk:AO.ptr.prototype.Texture};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AO.prototype.Texture=function(a){return this.$val.Texture(a);};AQ=function(){var $ptr,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.Init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.ExecOnUIThread((function(){var $ptr;AP=C.NewContext();}));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}J.Init();$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AQ};}$f.$ptr=$ptr;$f.$s=$s;$f.$r=$r;return $f;};AR=function(a){var $ptr,a;return B.IsKeyPressed((a>>0));};$pkg.IsKeyPressed=AR;BB=function(){var $ptr;return BA.fps;};$pkg.CurrentFPS=BB;BC=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);BA.running=true;$deferred.push([(function(){var $ptr;BA.running=false;}),[]]);f=B.Start(b,c,d,e);g=f[0];h=f[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}$deferred.push([B.Terminate,[]]);$r=B.ExecOnUIThread((function $b(){var $ptr,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=AP.Check();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.$s=$s;$f.$r=$r;return $f;}));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=AC(b,c,g);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];h=i[1];if(!($interfaceIsEqual(h,$ifaceNil))){return h;}l=0;m=B.Now();n=B.Now();case 3:if(0<BA.newScreenWidth||0<BA.newScreenHeight||0<BA.newScreenScale){$s=5;continue;}$s=6;continue;case 5:o=false;p=0;if(0<BA.newScreenWidth||0<BA.newScreenHeight){q=B.SetScreenSize(BA.newScreenWidth,BA.newScreenHeight);r=q[0];s=q[1];o=o||r;p=s;}if(0<BA.newScreenScale){t=B.SetScreenScale(BA.newScreenScale);u=t[0];v=t[1];o=o||u;p=v;}if(o){$s=7;continue;}$s=8;continue;case 7:w=BA.newScreenWidth;x=BA.newScreenHeight;y=w;z=x;aa=k.setSize(y,z,p);$s=9;case 9:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;if(!($interfaceIsEqual(ab,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:return ab;case 11:case 8:case 6:BA.newScreenWidth=0;BA.newScreenHeight=0;BA.newScreenScale=0;ac=B.DoEvents();$s=12;case 12:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ad=ac;if(!($interfaceIsEqual(ad,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:return ad;case 14:if(B.IsClosed()){return $ifaceNil;}ae=B.Now();if((af=new $Int64(ae.$high-m.$high,ae.$low-m.$low),(0<af.$high||(0===af.$high&&83333333<af.$low)))){m=ae;}case 15:if(!((m.$high<ae.$high||(m.$high===ae.$high&&m.$low<ae.$low)))){$s=16;continue;}m=(ag=new $Int64(0,16666666),new $Int64(m.$high+ag.$high,m.$low+ag.$low));ah=k.preUpdate();$s=17;case 17:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah;if(!($interfaceIsEqual(ai,$ifaceNil))){$s=18;continue;}$s=19;continue;case 18:return ai;case 19:aj=a(k.screen);$s=20;case 20:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ak=aj;if(!($interfaceIsEqual(ak,$ifaceNil))){$s=21;continue;}$s=22;continue;case 21:return ak;case 22:$s=15;continue;case 16:al=k.postUpdate();$s=23;case 23:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;if(!($interfaceIsEqual(am,$ifaceNil))){$s=24;continue;}$s=25;continue;case 24:return am;case 25:B.SwapBuffers();ae=B.Now();l=l+(1)>>0;if((an=(ao=new $Int64(ae.$high-n.$high,ae.$low-n.$low),new K.Duration(ao.$high,ao.$low)),(0<an.$high||(0===an.$high&&1000000000<=an.$low)))){BA.fps=l*1e+09/$flatten64(new $Int64(ae.$high-n.$high,ae.$low-n.$low));n=ae;l=0;}$s=3;continue;case 4:$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:BC};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Run=BC;BU.methods=[{prop:"dim",name:"dim",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[$Int],false)},{prop:"initialize",name:"initialize",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[],false)},{prop:"Element",name:"Element",pkg:"",typ:$funcType([$Int,$Int],[$Float64],false)},{prop:"Concat",name:"Concat",pkg:"",typ:$funcType([P],[],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([P],[],false)},{prop:"Scale",name:"Scale",pkg:"",typ:$funcType([$Float64,$Float64,$Float64,$Float64],[],false)},{prop:"Translate",name:"Translate",pkg:"",typ:$funcType([$Float64,$Float64,$Float64,$Float64],[],false)},{prop:"RotateHue",name:"RotateHue",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"SetElement",name:"SetElement",pkg:"",typ:$funcType([$Int,$Int,$Float64],[],false)}];BV.methods=[{prop:"dim",name:"dim",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[$Int],false)},{prop:"initialize",name:"initialize",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[],false)},{prop:"Element",name:"Element",pkg:"",typ:$funcType([$Int,$Int],[$Float64],false)},{prop:"Concat",name:"Concat",pkg:"",typ:$funcType([V],[],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([V],[],false)},{prop:"Scale",name:"Scale",pkg:"",typ:$funcType([$Float64,$Float64],[],false)},{prop:"Translate",name:"Translate",pkg:"",typ:$funcType([$Float64,$Float64],[],false)},{prop:"Rotate",name:"Rotate",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"SetElement",name:"SetElement",pkg:"",typ:$funcType([$Int,$Int,$Float64],[],false)}];BM.methods=[{prop:"preUpdate",name:"preUpdate",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[$error],false)},{prop:"postUpdate",name:"postUpdate",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[$error],false)},{prop:"setSize",name:"setSize",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([$Int,$Int,$Int],[$error],false)}];BL.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clear",name:"Clear",pkg:"",typ:$funcType([],[$error],false)},{prop:"Fill",name:"Fill",pkg:"",typ:$funcType([H.Color],[$error],false)},{prop:"DrawImage",name:"DrawImage",pkg:"",typ:$funcType([BL,BR],[$error],false)},{prop:"Bounds",name:"Bounds",pkg:"",typ:$funcType([],[G.Rectangle],false)},{prop:"ColorModel",name:"ColorModel",pkg:"",typ:$funcType([],[H.Model],false)},{prop:"At",name:"At",pkg:"",typ:$funcType([$Int,$Int],[H.Color],false)},{prop:"Dispose",name:"Dispose",pkg:"",typ:$funcType([],[$error],false)},{prop:"isDisposed",name:"isDisposed",pkg:"github.com/hajimehoshi/ebiten",typ:$funcType([],[$Bool],false)},{prop:"ReplacePixels",name:"ReplacePixels",pkg:"",typ:$funcType([BQ],[$error],false)}];AK.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Dst",name:"Dst",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Src",name:"Src",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}];BW.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Dst",name:"Dst",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Src",name:"Src",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}];BX.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Vertex",name:"Vertex",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Texture",name:"Texture",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}];P.init([{prop:"initialized",name:"initialized",pkg:"github.com/hajimehoshi/ebiten",typ:$Bool,tag:""},{prop:"es",name:"es",pkg:"github.com/hajimehoshi/ebiten",typ:BI,tag:""}]);V.init([{prop:"initialized",name:"initialized",pkg:"github.com/hajimehoshi/ebiten",typ:$Bool,tag:""},{prop:"es",name:"es",pkg:"github.com/hajimehoshi/ebiten",typ:BK,tag:""}]);AD.init([{prop:"screen",name:"screen",pkg:"github.com/hajimehoshi/ebiten",typ:BL,tag:""},{prop:"defaultRenderTarget",name:"defaultRenderTarget",pkg:"github.com/hajimehoshi/ebiten",typ:BL,tag:""},{prop:"screenScale",name:"screenScale",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""}]);AE.init([{prop:"framebuffer",name:"framebuffer",pkg:"github.com/hajimehoshi/ebiten",typ:BO,tag:""},{prop:"texture",name:"texture",pkg:"github.com/hajimehoshi/ebiten",typ:BP,tag:""},{prop:"pixels",name:"pixels",pkg:"github.com/hajimehoshi/ebiten",typ:BQ,tag:""},{prop:"width",name:"width",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""}]);AF.init([{prop:"ImageParts",name:"ImageParts",pkg:"",typ:AJ,tag:""},{prop:"GeoM",name:"GeoM",pkg:"",typ:V,tag:""},{prop:"ColorM",name:"ColorM",pkg:"",typ:P,tag:""},{prop:"Parts",name:"Parts",pkg:"",typ:BN,tag:""}]);AI.init([{prop:"Dst",name:"Dst",pkg:"",typ:G.Rectangle,tag:""},{prop:"Src",name:"Src",pkg:"",typ:G.Rectangle,tag:""}]);AJ.init([{prop:"Dst",name:"Dst",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Src",name:"Src",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}]);AK.init(AI);AL.init([{prop:"width",name:"width",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""}]);AO.init([{prop:"parts",name:"parts",pkg:"github.com/hajimehoshi/ebiten",typ:AJ,tag:""},{prop:"width",name:"width",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"github.com/hajimehoshi/ebiten",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AP=BF.nil;BA=new BG.ptr(false,0,0,0,0);$r=AQ();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["compress/flate"]=(function(){var $pkg={},$init,E,A,B,C,D,F,Y,Z,AK,AL,AM,AO,AP,AQ,AR,BL,BM,BN,BO,BW,BX,BY,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CR,CT,Q,BI,AF,AG,AS,AW,G,AC,AD,AE,AT,AU,AV,AX,AY;E=$packages["bufio"];A=$packages["fmt"];B=$packages["io"];C=$packages["math"];D=$packages["sort"];F=$packages["strconv"];Y=$pkg.huffmanEncoder=$newType(0,$kindStruct,"flate.huffmanEncoder","huffmanEncoder","compress/flate",function(codeBits_,code_){this.$val=this;if(arguments.length===0){this.codeBits=BN.nil;this.code=BY.nil;return;}this.codeBits=codeBits_;this.code=code_;});Z=$pkg.literalNode=$newType(0,$kindStruct,"flate.literalNode","literalNode","compress/flate",function(literal_,freq_){this.$val=this;if(arguments.length===0){this.literal=0;this.freq=0;return;}this.literal=literal_;this.freq=freq_;});AK=$pkg.CorruptInputError=$newType(8,$kindInt64,"flate.CorruptInputError","CorruptInputError","compress/flate",null);AL=$pkg.InternalError=$newType(8,$kindString,"flate.InternalError","InternalError","compress/flate",null);AM=$pkg.ReadError=$newType(0,$kindStruct,"flate.ReadError","ReadError","compress/flate",function(Offset_,Err_){this.$val=this;if(arguments.length===0){this.Offset=new $Int64(0,0);this.Err=$ifaceNil;return;}this.Offset=Offset_;this.Err=Err_;});AO=$pkg.Resetter=$newType(8,$kindInterface,"flate.Resetter","Resetter","compress/flate",null);AP=$pkg.huffmanDecoder=$newType(0,$kindStruct,"flate.huffmanDecoder","huffmanDecoder","compress/flate",function(min_,chunks_,links_,linkMask_){this.$val=this;if(arguments.length===0){this.min=0;this.chunks=CD.zero();this.links=BM.nil;this.linkMask=0;return;}this.min=min_;this.chunks=chunks_;this.links=links_;this.linkMask=linkMask_;});AQ=$pkg.Reader=$newType(8,$kindInterface,"flate.Reader","Reader","compress/flate",null);AR=$pkg.decompressor=$newType(0,$kindStruct,"flate.decompressor","decompressor","compress/flate",function(r_,roffset_,woffset_,b_,nb_,h1_,h2_,bits_,codebits_,hist_,hp_,hw_,hfull_,buf_,step_,final$15_,err_,toRead_,hl_,hd_,copyLen_,copyDist_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.roffset=new $Int64(0,0);this.woffset=new $Int64(0,0);this.b=0;this.nb=0;this.h1=new AP.ptr(0,CD.zero(),BM.nil,0);this.h2=new AP.ptr(0,CD.zero(),BM.nil,0);this.bits=CI.nil;this.codebits=CK.nil;this.hist=CM.nil;this.hp=0;this.hw=0;this.hfull=false;this.buf=CN.zero();this.step=$throwNilPointerError;this.final$15=false;this.err=$ifaceNil;this.toRead=BN.nil;this.hl=CG.nil;this.hd=CG.nil;this.copyLen=0;this.copyDist=0;return;}this.r=r_;this.roffset=roffset_;this.woffset=woffset_;this.b=b_;this.nb=nb_;this.h1=h1_;this.h2=h2_;this.bits=bits_;this.codebits=codebits_;this.hist=hist_;this.hp=hp_;this.hw=hw_;this.hfull=hfull_;this.buf=buf_;this.step=step_;this.final$15=final$15_;this.err=err_;this.toRead=toRead_;this.hl=hl_;this.hd=hd_;this.copyLen=copyLen_;this.copyDist=copyDist_;});BL=$sliceType($Uint32);BM=$sliceType(BL);BN=$sliceType($Uint8);BO=$sliceType($Int);BW=$sliceType($Int32);BX=$ptrType(Y);BY=$sliceType($Uint16);CC=$sliceType(Z);CD=$arrayType($Uint32,512);CE=$arrayType($Int,16);CF=$ptrType(AR);CG=$ptrType(AP);CH=$arrayType($Int,316);CI=$ptrType(CH);CJ=$arrayType($Int,19);CK=$ptrType(CJ);CL=$arrayType($Uint8,32768);CM=$ptrType(CL);CN=$arrayType($Uint8,4);CR=$ptrType(AM);CT=$funcType([CF],[],false);G=function(a,b,c,d){var $ptr,a,b,c,d,e;if(b<=c){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}while(true){if(b>=(c+d>>0)){$copySlice($subslice(a,b,(b+d>>0)),$subslice(a,c,(c+d>>0)));return;}e=b-c>>0;$copySlice($subslice(a,b,(b+e>>0)),$subslice(a,c,(c+e>>0)));d=d-(e)>>0;b=b+(e)>>0;}};AC=function(a){var $ptr,a;return new Y.ptr($makeSlice(BN,a),$makeSlice(BY,a));};AD=function(){var $ptr,a,b,c,d,e,f;a=AC(286);b=a.codeBits;c=a.code;d=0;d=0;while(true){if(!(d<286)){break;}e=0;f=0;switch(0){default:if(d<144){e=d+48<<16>>>16;f=8;break;}else if(d<256){e=(d+400<<16>>>16)-144<<16>>>16;f=9;break;}else if(d<280){e=d-256<<16>>>16;f=7;break;}else{e=(d+192<<16>>>16)-280<<16>>>16;f=8;}}((d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=f);((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(e,f));d=d+(1)<<16>>>16;}return a;};AE=function(){var $ptr,a,b,c,d;a=AC(30);b=a.codeBits;c=a.code;d=0;while(true){if(!(d<30)){break;}((d<0||d>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+d]=5);((d<0||d>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+d]=AY(d,5));d=d+(1)<<16>>>16;}return a;};AK.prototype.Error=function(){var $ptr,a;a=this;return"flate: corrupt input before offset "+F.FormatInt(new $Int64(a.$high,a.$low),10);};$ptrType(AK).prototype.Error=function(){return this.$get().Error();};AL.prototype.Error=function(){var $ptr,a;a=this.$val;return"flate: internal error: "+a;};$ptrType(AL).prototype.Error=function(){return new AL(this.$get()).Error();};AM.ptr.prototype.Error=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Err.Error();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return"flate: read error at offset "+F.FormatInt(a.Offset,10)+": "+b;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.Error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.Error=function(){return this.$val.Error();};AP.ptr.prototype.init=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=this;if(!((b.min===0))){AP.copy(b,new AP.ptr(0,CD.zero(),BM.nil,0));}c=CE.zero();d=0;e=0;f=d;g=e;h=a;i=0;while(true){if(!(i<h.$length)){break;}j=((i<0||i>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);if(j===0){i++;continue;}if((f===0)||j<f){f=j;}if(j>g){g=j;}((j<0||j>=c.length)?$throwRuntimeError("index out of range"):c[j]=(((j<0||j>=c.length)?$throwRuntimeError("index out of range"):c[j])+(1)>>0));i++;}if(g===0){return true;}k=0;l=CE.zero();m=f;while(true){if(!(m<=g)){break;}k=(n=(1),n<32?(k<<n):0)>>0;((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m]=k);k=k+(((m<0||m>=c.length)?$throwRuntimeError("index out of range"):c[m]))>>0;m=m+(1)>>0;}if(!((k===((o=(g>>>0),o<32?(1<<o):0)>>0)))&&!((k===1)&&(g===1))){return false;}b.min=f;if(g>9){q=(p=(((g>>>0)-9>>>0)),p<32?(1<<p):0)>>0;b.linkMask=((q-1>>0)>>>0);r=l[10]>>1>>0;b.links=$makeSlice(BM,(512-r>>0));s=(r>>>0);while(true){if(!(s<512)){break;}v=((t=s>>>8>>>0,((t<0||t>=AW.length)?$throwRuntimeError("index out of range"):AW[t]))>>0)|(((u=(s&255)>>>0,((u<0||u>=AW.length)?$throwRuntimeError("index out of range"):AW[u]))>>0)<<8>>0);v=(v>>$min((7),31))>>0;w=s-(r>>>0)>>>0;(x=b.chunks,((v<0||v>=x.length)?$throwRuntimeError("index out of range"):x[v]=((((w<<4>>>0)|10)>>>0)>>>0)));(y=b.links,((w<0||w>=y.$length)?$throwRuntimeError("index out of range"):y.$array[y.$offset+w]=$makeSlice(BL,q)));s=s+(1)>>>0;}}z=a;aa=0;while(true){if(!(aa<z.$length)){break;}ab=aa;ac=((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]);if(ac===0){aa++;continue;}ad=((ac<0||ac>=l.length)?$throwRuntimeError("index out of range"):l[ac]);((ac<0||ac>=l.length)?$throwRuntimeError("index out of range"):l[ac]=(((ac<0||ac>=l.length)?$throwRuntimeError("index out of range"):l[ac])+(1)>>0));ae=(((ab<<4>>0)|ac)>>>0);ah=((af=ad>>8>>0,((af<0||af>=AW.length)?$throwRuntimeError("index out of range"):AW[af]))>>0)|(((ag=ad&255,((ag<0||ag>=AW.length)?$throwRuntimeError("index out of range"):AW[ag]))>>0)<<8>>0);ah=(ah>>$min((((16-ac>>0)>>>0)),31))>>0;if(ac<=9){ai=ah;while(true){if(!(ai<512)){break;}(aj=b.chunks,((ai<0||ai>=aj.length)?$throwRuntimeError("index out of range"):aj[ai]=ae));ai=ai+(((ak=(ac>>>0),ak<32?(1<<ak):0)>>0))>>0;}}else{al=ah&511;an=(am=b.chunks,((al<0||al>=am.length)?$throwRuntimeError("index out of range"):am[al]))>>>4>>>0;ap=(ao=b.links,((an<0||an>=ao.$length)?$throwRuntimeError("index out of range"):ao.$array[ao.$offset+an]));ah=(ah>>$min((9),31))>>0;aq=ah;while(true){if(!(aq<ap.$length)){break;}((aq<0||aq>=ap.$length)?$throwRuntimeError("index out of range"):ap.$array[ap.$offset+aq]=ae);aq=aq+(((ar=((ac-9>>0)>>>0),ar<32?(1<<ar):0)>>0))>>0;}}aa++;}return true;};AP.prototype.init=function(a){return this.$val.init(a);};AR.ptr.prototype.nextBlock=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.final$15){if(!((a.hw===a.hp))){a.flush($methodExpr(CF,"nextBlock"));return;}a.err=B.EOF;return;}case 1:if(!(a.nb<3)){$s=2;continue;}b=a.moreBits();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a.err=b;if(!($interfaceIsEqual(a.err,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:return;case 5:$s=1;continue;case 2:a.final$15=((a.b&1)>>>0)===1;a.b=(c=(1),c<32?(a.b>>>c):0)>>>0;d=(a.b&3)>>>0;a.b=(e=(2),e<32?(a.b>>>e):0)>>>0;a.nb=a.nb-(3)>>>0;f=d;if(f===0){$s=6;continue;}if(f===1){$s=7;continue;}if(f===2){$s=8;continue;}$s=9;continue;case 6:$r=a.dataBlock();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=10;continue;case 7:a.hl=Q;a.hd=CG.nil;$r=a.huffmanBlock();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=10;continue;case 8:g=a.readHuffman();$s=13;case 13:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}a.err=g;if(!($interfaceIsEqual(a.err,$ifaceNil))){$s=14;continue;}$s=15;continue;case 14:$s=10;continue;case 15:a.hl=a.h1;a.hd=a.h2;$r=a.huffmanBlock();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=10;continue;case 9:a.err=(h=a.roffset,new AK(h.$high,h.$low));case 10:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.nextBlock};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.nextBlock=function(){return this.$val.nextBlock();};AR.ptr.prototype.Read=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}$r=b.step(b);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.Read=function(a){return this.$val.Read(a);};AR.ptr.prototype.Close=function(){var $ptr,a;a=this;if($interfaceIsEqual(a.err,B.EOF)){return $ifaceNil;}return a.err;};AR.prototype.Close=function(){return this.$val.Close();};AR.ptr.prototype.readHuffman=function(){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:if(!(a.nb<14)){$s=2;continue;}b=a.moreBits();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;if(!($interfaceIsEqual(c,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:return c;case 5:$s=1;continue;case 2:d=(((a.b&31)>>>0)>>0)+257>>0;if(d>286){return(e=a.roffset,new AK(e.$high,e.$low));}a.b=(f=(5),f<32?(a.b>>>f):0)>>>0;g=(((a.b&31)>>>0)>>0)+1>>0;if(g>30){return(h=a.roffset,new AK(h.$high,h.$low));}a.b=(i=(5),i<32?(a.b>>>i):0)>>>0;j=(((a.b&15)>>>0)>>0)+4>>0;a.b=(k=(4),k<32?(a.b>>>k):0)>>>0;a.nb=a.nb-(14)>>>0;l=0;case 6:if(!(l<j)){$s=7;continue;}case 8:if(!(a.nb<3)){$s=9;continue;}m=a.moreBits();$s=10;case 10:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;if(!($interfaceIsEqual(n,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:return n;case 12:$s=8;continue;case 9:(o=a.codebits,p=((l<0||l>=AS.length)?$throwRuntimeError("index out of range"):AS[l]),o.nilCheck,((p<0||p>=o.length)?$throwRuntimeError("index out of range"):o[p]=(((a.b&7)>>>0)>>0)));a.b=(q=(3),q<32?(a.b>>>q):0)>>>0;a.nb=a.nb-(3)>>>0;l=l+(1)>>0;$s=6;continue;case 7:r=j;while(true){if(!(r<19)){break;}(s=a.codebits,t=((r<0||r>=AS.length)?$throwRuntimeError("index out of range"):AS[r]),s.nilCheck,((t<0||t>=s.length)?$throwRuntimeError("index out of range"):s[t]=0));r=r+(1)>>0;}if(!a.h1.init($subslice(new BO(a.codebits),0))){return(u=a.roffset,new AK(u.$high,u.$low));}v=0;w=d+g>>0;x=v;y=w;case 13:if(!(x<y)){$s=14;continue;}aa=a.huffSym(a.h1);$s=15;case 15:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];ac=z[1];if(!($interfaceIsEqual(ac,$ifaceNil))){return ac;}if(ab<16){$s=16;continue;}$s=17;continue;case 16:(ad=a.bits,ad.nilCheck,((x<0||x>=ad.length)?$throwRuntimeError("index out of range"):ad[x]=ab));x=x+(1)>>0;$s=13;continue;case 17:ae=0;af=0;ag=0;ah=ab;if(ah===16){ae=3;af=2;if(x===0){return(ai=a.roffset,new AK(ai.$high,ai.$low));}ag=(aj=a.bits,ak=x-1>>0,(aj.nilCheck,((ak<0||ak>=aj.length)?$throwRuntimeError("index out of range"):aj[ak])));}else if(ah===17){ae=3;af=3;ag=0;}else if(ah===18){ae=11;af=7;ag=0;}else{return new AL("unexpected length code");}case 18:if(!(a.nb<af)){$s=19;continue;}al=a.moreBits();$s=20;case 20:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}am=al;if(!($interfaceIsEqual(am,$ifaceNil))){$s=21;continue;}$s=22;continue;case 21:return am;case 22:$s=18;continue;case 19:ae=ae+((((a.b&(((an=af,an<32?(1<<an):0)>>>0)-1>>>0))>>>0)>>0))>>0;a.b=(ao=(af),ao<32?(a.b>>>ao):0)>>>0;a.nb=a.nb-(af)>>>0;if((x+ae>>0)>y){return(ap=a.roffset,new AK(ap.$high,ap.$low));}aq=0;while(true){if(!(aq<ae)){break;}(ar=a.bits,ar.nilCheck,((x<0||x>=ar.length)?$throwRuntimeError("index out of range"):ar[x]=ag));x=x+(1)>>0;aq=aq+(1)>>0;}$s=13;continue;case 14:if(!a.h1.init($subslice(new BO(a.bits),0,d))||!a.h2.init($subslice(new BO(a.bits),d,(d+g>>0)))){return(as=a.roffset,new AK(as.$high,as.$low));}return $ifaceNil;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.readHuffman};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.readHuffman=function(){return this.$val.readHuffman();};AR.ptr.prototype.huffmanBlock=function(){var $ptr,a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:c=a.huffSym(a.hl);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){a.err=e;return;}f=0;g=0;if(d<256){$s=4;continue;}if(d===256){$s=5;continue;}if(d<265){$s=6;continue;}if(d<269){$s=7;continue;}if(d<273){$s=8;continue;}if(d<277){$s=9;continue;}if(d<281){$s=10;continue;}if(d<285){$s=11;continue;}if(d<286){$s=12;continue;}$s=13;continue;case 4:(h=a.hist,i=a.hp,h.nilCheck,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=(d<<24>>>24)));a.hp=a.hp+(1)>>0;if(a.hp===32768){a.flush($methodExpr(CF,"huffmanBlock"));return;}$s=1;continue;$s=14;continue;case 5:a.step=$methodExpr(CF,"nextBlock");return;case 6:g=d-254>>0;f=0;$s=14;continue;case 7:g=($imul(d,2))-519>>0;f=1;$s=14;continue;case 8:g=($imul(d,4))-1057>>0;f=2;$s=14;continue;case 9:g=($imul(d,8))-2149>>0;f=3;$s=14;continue;case 10:g=($imul(d,16))-4365>>0;f=4;$s=14;continue;case 11:g=($imul(d,32))-8861>>0;f=5;$s=14;continue;case 12:g=258;f=0;$s=14;continue;case 13:a.err=(j=a.roffset,new AK(j.$high,j.$low));return;case 14:if(f>0){$s=15;continue;}$s=16;continue;case 15:case 17:if(!(a.nb<f)){$s=18;continue;}k=a.moreBits();$s=19;case 19:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e=k;if(!($interfaceIsEqual(e,$ifaceNil))){$s=20;continue;}$s=21;continue;case 20:a.err=e;return;case 21:$s=17;continue;case 18:g=g+((((a.b&(((l=f,l<32?(1<<l):0)>>>0)-1>>>0))>>>0)>>0))>>0;a.b=(m=(f),m<32?(a.b>>>m):0)>>>0;a.nb=a.nb-(f)>>>0;case 16:n=0;if(a.hd===CG.nil){$s=22;continue;}$s=23;continue;case 22:case 25:if(!(a.nb<5)){$s=26;continue;}o=a.moreBits();$s=27;case 27:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}e=o;if(!($interfaceIsEqual(e,$ifaceNil))){$s=28;continue;}$s=29;continue;case 28:a.err=e;return;case 29:$s=25;continue;case 26:n=((p=(((a.b&31)>>>0))<<3>>>0,((p<0||p>=AW.length)?$throwRuntimeError("index out of range"):AW[p]))>>0);a.b=(q=(5),q<32?(a.b>>>q):0)>>>0;a.nb=a.nb-(5)>>>0;$s=24;continue;case 23:s=a.huffSym(a.hd);$s=30;case 30:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;n=r[0];e=r[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=31;continue;}$s=32;continue;case 31:a.err=e;return;case 32:case 24:if(n<4){$s=33;continue;}if(n<30){$s=34;continue;}$s=35;continue;case 33:n=n+(1)>>0;$s=36;continue;case 34:t=((n-2>>0)>>>0)>>>1>>>0;v=(u=t,u<32?(((n&1))<<u):0)>>0;case 37:if(!(a.nb<t)){$s=38;continue;}w=a.moreBits();$s=39;case 39:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}e=w;if(!($interfaceIsEqual(e,$ifaceNil))){$s=40;continue;}$s=41;continue;case 40:a.err=e;return;case 41:$s=37;continue;case 38:v=v|((((a.b&(((x=t,x<32?(1<<x):0)>>>0)-1>>>0))>>>0)>>0));a.b=(y=(t),y<32?(a.b>>>y):0)>>>0;a.nb=a.nb-(t)>>>0;n=(((z=((t+1>>>0)),z<32?(1<<z):0)>>0)+1>>0)+v>>0;$s=36;continue;case 35:a.err=(aa=a.roffset,new AK(aa.$high,aa.$low));return;case 36:if(n>32768){a.err=new AL("bad history distance");return;}if(!a.hfull&&n>a.hp){a.err=(ab=a.roffset,new AK(ab.$high,ab.$low));return;}ac=g;ad=n;a.copyLen=ac;a.copyDist=ad;if(a.copyHist()){return;}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.huffmanBlock};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.huffmanBlock=function(){return this.$val.huffmanBlock();};AR.ptr.prototype.copyHist=function(){var $ptr,a,b,c,d,e;a=this;b=a.hp-a.copyDist>>0;if(b<0){b=b+(32768)>>0;}while(true){if(!(a.copyLen>0)){break;}c=a.copyLen;d=32768-a.hp>>0;if(c>d){c=d;}e=32768-b>>0;if(c>e){c=e;}G(new BN(a.hist),a.hp,b,c);b=b+(c)>>0;a.hp=a.hp+(c)>>0;a.copyLen=a.copyLen-(c)>>0;if(a.hp===32768){a.flush($methodExpr(CF,"copyHuff"));return true;}if(b===32768){b=0;}}return false;};AR.prototype.copyHist=function(){return this.$val.copyHist();};AR.ptr.prototype.copyHuff=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.copyHist()){return;}$r=a.huffmanBlock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.copyHuff};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.copyHuff=function(){return this.$val.copyHuff();};AR.ptr.prototype.dataBlock=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.nb=0;a.b=0;c=B.ReadFull(a.r,$subslice(new BN(a.buf),0,4));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];a.roffset=(f=a.roffset,g=new $Int64(0,d),new $Int64(f.$high+g.$high,f.$low+g.$low));if(!($interfaceIsEqual(e,$ifaceNil))){a.err=new AM.ptr(a.roffset,e);return;}h=(a.buf[0]>>0)|((a.buf[1]>>0)<<8>>0);i=(a.buf[2]>>0)|((a.buf[3]>>0)<<8>>0);if(!(((i<<16>>>16)===((~h>>0)<<16>>>16)))){a.err=(j=a.roffset,new AK(j.$high,j.$low));return;}if(h===0){a.flush($methodExpr(CF,"nextBlock"));return;}a.copyLen=h;$r=a.copyData();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.dataBlock};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.dataBlock=function(){return this.$val.dataBlock();};AR.ptr.prototype.copyData=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.copyLen;case 1:if(!(b>0)){$s=2;continue;}c=32768-a.hp>>0;if(c>b){c=b;}e=B.ReadFull(a.r,$subslice(new BN(a.hist),a.hp,(a.hp+c>>0)));$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;c=d[0];f=d[1];a.roffset=(g=a.roffset,h=new $Int64(0,c),new $Int64(g.$high+h.$high,g.$low+h.$low));if(!($interfaceIsEqual(f,$ifaceNil))){a.err=new AM.ptr(a.roffset,f);return;}b=b-(c)>>0;a.hp=a.hp+(c)>>0;if(a.hp===32768){a.copyLen=b;a.flush($methodExpr(CF,"copyData"));return;}$s=1;continue;case 2:a.step=$methodExpr(CF,"nextBlock");$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.copyData};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.copyData=function(){return this.$val.copyData();};AR.ptr.prototype.setDict=function(a){var $ptr,a,b;b=this;if(a.$length>32768){a=$subslice(a,(a.$length-32768>>0));}b.hp=$copySlice(new BN(b.hist),a);if(b.hp===32768){b.hp=0;b.hfull=true;}b.hw=b.hp;};AR.prototype.setDict=function(a){return this.$val.setDict(a);};AR.ptr.prototype.moreBits=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.r.ReadByte();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,B.EOF)){e=B.ErrUnexpectedEOF;}return e;}a.roffset=(f=a.roffset,g=new $Int64(0,1),new $Int64(f.$high+g.$high,f.$low+g.$low));a.b=(a.b|(((h=a.nb,h<32?((d>>>0)<<h):0)>>>0)))>>>0;a.nb=a.nb+(8)>>>0;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.moreBits};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.moreBits=function(){return this.$val.moreBits();};AR.ptr.prototype.huffSym=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=(a.min>>>0);case 1:case 3:if(!(b.nb<c)){$s=4;continue;}d=b.moreBits();$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:return[0,e];case 7:$s=3;continue;case 4:h=(f=a.chunks,g=(b.b&511)>>>0,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]));c=(((h&15)>>>0)>>>0);if(c>9){h=(i=(j=a.links,k=h>>>4>>>0,((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k])),l=(((b.b>>>9>>>0))&a.linkMask)>>>0,((l<0||l>=i.$length)?$throwRuntimeError("index out of range"):i.$array[i.$offset+l]));c=(((h&15)>>>0)>>>0);}if(c<=b.nb){if(c===0){b.err=(m=b.roffset,new AK(m.$high,m.$low));return[0,b.err];}b.b=(n=(c),n<32?(b.b>>>n):0)>>>0;b.nb=b.nb-(c)>>>0;return[((h>>>4>>>0)>>0),$ifaceNil];}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.huffSym};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.huffSym=function(a){return this.$val.huffSym(a);};AR.ptr.prototype.flush=function(a){var $ptr,a,b,c,d;b=this;b.toRead=$subslice(new BN(b.hist),b.hw,b.hp);b.woffset=(c=b.woffset,d=new $Int64(0,(b.hp-b.hw>>0)),new $Int64(c.$high+d.$high,c.$low+d.$low));b.hw=b.hp;if(b.hp===32768){b.hp=0;b.hw=0;b.hfull=true;}b.step=a;};AR.prototype.flush=function(a){return this.$val.flush(a);};AT=function(a){var $ptr,a,b,c,d;b=$assertType(a,AQ,true);c=b[0];d=b[1];if(d){return c;}return E.NewReader(a);};AR.ptr.prototype.Reset=function(a,b){var $ptr,a,b,c;c=this;AR.copy(c,new AR.ptr(AT(a),new $Int64(0,0),new $Int64(0,0),0,0,new AP.ptr(0,CD.zero(),BM.nil,0),new AP.ptr(0,CD.zero(),BM.nil,0),c.bits,c.codebits,c.hist,0,0,false,CN.zero(),$methodExpr(CF,"nextBlock"),false,$ifaceNil,BN.nil,CG.nil,CG.nil,0,0));if(!(b===BN.nil)){c.setDict(b);}return $ifaceNil;};AR.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};AU=function(a){var $ptr,a,b;b=new AR.ptr($ifaceNil,new $Int64(0,0),new $Int64(0,0),0,0,new AP.ptr(0,CD.zero(),BM.nil,0),new AP.ptr(0,CD.zero(),BM.nil,0),CI.nil,CK.nil,CM.nil,0,0,false,CN.zero(),$throwNilPointerError,false,$ifaceNil,BN.nil,CG.nil,CG.nil,0,0);b.bits=CH.zero();b.codebits=CJ.zero();b.r=AT(a);b.hist=CL.zero();b.step=$methodExpr(CF,"nextBlock");return b;};$pkg.NewReader=AU;AV=function(a,b){var $ptr,a,b,c;c=new AR.ptr($ifaceNil,new $Int64(0,0),new $Int64(0,0),0,0,new AP.ptr(0,CD.zero(),BM.nil,0),new AP.ptr(0,CD.zero(),BM.nil,0),CI.nil,CK.nil,CM.nil,0,0,false,CN.zero(),$throwNilPointerError,false,$ifaceNil,BN.nil,CG.nil,CG.nil,0,0);c.r=AT(a);c.hist=CL.zero();c.bits=CH.zero();c.codebits=CJ.zero();c.step=$methodExpr(CF,"nextBlock");c.setDict(b);return c;};$pkg.NewReaderDict=AV;AX=function(a){var $ptr,a,b,c;return(((b=a>>>8<<16>>>16,((b<0||b>=AW.length)?$throwRuntimeError("index out of range"):AW[b]))<<16>>>16)|(((c=(a&255)>>>0,((c<0||c>=AW.length)?$throwRuntimeError("index out of range"):AW[c]))<<16>>>16)<<8<<16>>>16))>>>0;};AY=function(a,b){var $ptr,a,b,c;return AX((c=(16-b<<24>>>24),c<32?(a<<c):0)<<16>>>16);};BX.methods=[{prop:"bitLength",name:"bitLength",pkg:"compress/flate",typ:$funcType([BW],[$Int64],false)},{prop:"bitCounts",name:"bitCounts",pkg:"compress/flate",typ:$funcType([CC,$Int32],[BW],false)},{prop:"assignEncodingAndSize",name:"assignEncodingAndSize",pkg:"compress/flate",typ:$funcType([BW,CC],[],false)},{prop:"generate",name:"generate",pkg:"compress/flate",typ:$funcType([BW,$Int32],[],false)}];AK.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AL.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];CR.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];CG.methods=[{prop:"init",name:"init",pkg:"compress/flate",typ:$funcType([BO],[$Bool],false)}];CF.methods=[{prop:"nextBlock",name:"nextBlock",pkg:"compress/flate",typ:$funcType([],[],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BN],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"readHuffman",name:"readHuffman",pkg:"compress/flate",typ:$funcType([],[$error],false)},{prop:"huffmanBlock",name:"huffmanBlock",pkg:"compress/flate",typ:$funcType([],[],false)},{prop:"copyHist",name:"copyHist",pkg:"compress/flate",typ:$funcType([],[$Bool],false)},{prop:"copyHuff",name:"copyHuff",pkg:"compress/flate",typ:$funcType([],[],false)},{prop:"dataBlock",name:"dataBlock",pkg:"compress/flate",typ:$funcType([],[],false)},{prop:"copyData",name:"copyData",pkg:"compress/flate",typ:$funcType([],[],false)},{prop:"setDict",name:"setDict",pkg:"compress/flate",typ:$funcType([BN],[],false)},{prop:"moreBits",name:"moreBits",pkg:"compress/flate",typ:$funcType([],[$error],false)},{prop:"huffSym",name:"huffSym",pkg:"compress/flate",typ:$funcType([CG],[$Int,$error],false)},{prop:"flush",name:"flush",pkg:"compress/flate",typ:$funcType([CT],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([B.Reader,BN],[$error],false)}];Y.init([{prop:"codeBits",name:"codeBits",pkg:"compress/flate",typ:BN,tag:""},{prop:"code",name:"code",pkg:"compress/flate",typ:BY,tag:""}]);Z.init([{prop:"literal",name:"literal",pkg:"compress/flate",typ:$Uint16,tag:""},{prop:"freq",name:"freq",pkg:"compress/flate",typ:$Int32,tag:""}]);AM.init([{prop:"Offset",name:"Offset",pkg:"",typ:$Int64,tag:""},{prop:"Err",name:"Err",pkg:"",typ:$error,tag:""}]);AO.init([{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([B.Reader,BN],[$error],false)}]);AP.init([{prop:"min",name:"min",pkg:"compress/flate",typ:$Int,tag:""},{prop:"chunks",name:"chunks",pkg:"compress/flate",typ:CD,tag:""},{prop:"links",name:"links",pkg:"compress/flate",typ:BM,tag:""},{prop:"linkMask",name:"linkMask",pkg:"compress/flate",typ:$Uint32,tag:""}]);AQ.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([BN],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)}]);AR.init([{prop:"r",name:"r",pkg:"compress/flate",typ:AQ,tag:""},{prop:"roffset",name:"roffset",pkg:"compress/flate",typ:$Int64,tag:""},{prop:"woffset",name:"woffset",pkg:"compress/flate",typ:$Int64,tag:""},{prop:"b",name:"b",pkg:"compress/flate",typ:$Uint32,tag:""},{prop:"nb",name:"nb",pkg:"compress/flate",typ:$Uint,tag:""},{prop:"h1",name:"h1",pkg:"compress/flate",typ:AP,tag:""},{prop:"h2",name:"h2",pkg:"compress/flate",typ:AP,tag:""},{prop:"bits",name:"bits",pkg:"compress/flate",typ:CI,tag:""},{prop:"codebits",name:"codebits",pkg:"compress/flate",typ:CK,tag:""},{prop:"hist",name:"hist",pkg:"compress/flate",typ:CM,tag:""},{prop:"hp",name:"hp",pkg:"compress/flate",typ:$Int,tag:""},{prop:"hw",name:"hw",pkg:"compress/flate",typ:$Int,tag:""},{prop:"hfull",name:"hfull",pkg:"compress/flate",typ:$Bool,tag:""},{prop:"buf",name:"buf",pkg:"compress/flate",typ:CN,tag:""},{prop:"step",name:"step",pkg:"compress/flate",typ:CT,tag:""},{prop:"final$15",name:"final",pkg:"compress/flate",typ:$Bool,tag:""},{prop:"err",name:"err",pkg:"compress/flate",typ:$error,tag:""},{prop:"toRead",name:"toRead",pkg:"compress/flate",typ:BN,tag:""},{prop:"hl",name:"hl",pkg:"compress/flate",typ:CG,tag:""},{prop:"hd",name:"hd",pkg:"compress/flate",typ:CG,tag:""},{prop:"copyLen",name:"copyLen",pkg:"compress/flate",typ:$Int,tag:""},{prop:"copyDist",name:"copyDist",pkg:"compress/flate",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Q=new AP.ptr(7,$toNativeArray($kindUint32,[4103,1288,264,4488,4359,1800,776,3081,4231,1544,520,2569,8,2056,1032,3593,4167,1416,392,2313,4423,1928,904,3337,4295,1672,648,2825,136,2184,1160,3849,4135,1352,328,4552,4391,1864,840,3209,4263,1608,584,2697,72,2120,1096,3721,4199,1480,456,2441,4455,1992,968,3465,4327,1736,712,2953,200,2248,1224,3977,4119,1320,296,4520,4375,1832,808,3145,4247,1576,552,2633,40,2088,1064,3657,4183,1448,424,2377,4439,1960,936,3401,4311,1704,680,2889,168,2216,1192,3913,4151,1384,360,4584,4407,1896,872,3273,4279,1640,616,2761,104,2152,1128,3785,4215,1512,488,2505,4471,2024,1000,3529,4343,1768,744,3017,232,2280,1256,4041,4103,1304,280,4504,4359,1816,792,3113,4231,1560,536,2601,24,2072,1048,3625,4167,1432,408,2345,4423,1944,920,3369,4295,1688,664,2857,152,2200,1176,3881,4135,1368,344,4568,4391,1880,856,3241,4263,1624,600,2729,88,2136,1112,3753,4199,1496,472,2473,4455,2008,984,3497,4327,1752,728,2985,216,2264,1240,4009,4119,1336,312,4536,4375,1848,824,3177,4247,1592,568,2665,56,2104,1080,3689,4183,1464,440,2409,4439,1976,952,3433,4311,1720,696,2921,184,2232,1208,3945,4151,1400,376,4600,4407,1912,888,3305,4279,1656,632,2793,120,2168,1144,3817,4215,1528,504,2537,4471,2040,1016,3561,4343,1784,760,3049,248,2296,1272,4073,4103,1288,264,4488,4359,1800,776,3097,4231,1544,520,2585,8,2056,1032,3609,4167,1416,392,2329,4423,1928,904,3353,4295,1672,648,2841,136,2184,1160,3865,4135,1352,328,4552,4391,1864,840,3225,4263,1608,584,2713,72,2120,1096,3737,4199,1480,456,2457,4455,1992,968,3481,4327,1736,712,2969,200,2248,1224,3993,4119,1320,296,4520,4375,1832,808,3161,4247,1576,552,2649,40,2088,1064,3673,4183,1448,424,2393,4439,1960,936,3417,4311,1704,680,2905,168,2216,1192,3929,4151,1384,360,4584,4407,1896,872,3289,4279,1640,616,2777,104,2152,1128,3801,4215,1512,488,2521,4471,2024,1000,3545,4343,1768,744,3033,232,2280,1256,4057,4103,1304,280,4504,4359,1816,792,3129,4231,1560,536,2617,24,2072,1048,3641,4167,1432,408,2361,4423,1944,920,3385,4295,1688,664,2873,152,2200,1176,3897,4135,1368,344,4568,4391,1880,856,3257,4263,1624,600,2745,88,2136,1112,3769,4199,1496,472,2489,4455,2008,984,3513,4327,1752,728,3001,216,2264,1240,4025,4119,1336,312,4536,4375,1848,824,3193,4247,1592,568,2681,56,2104,1080,3705,4183,1464,440,2425,4439,1976,952,3449,4311,1720,696,2937,184,2232,1208,3961,4151,1400,376,4600,4407,1912,888,3321,4279,1656,632,2809,120,2168,1144,3833,4215,1528,504,2553,4471,2040,1016,3577,4343,1784,760,3065,248,2296,1272,4089]),BM.nil,0);AS=$toNativeArray($kindInt,[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);AW=$toNativeArray($kindUint8,[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255]);AF=AD();AG=AE();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash"]=(function(){var $pkg={},$init,A,C,E;A=$packages["io"];C=$pkg.Hash32=$newType(8,$kindInterface,"hash.Hash32","Hash32","hash",null);E=$sliceType($Uint8);C.init([{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([E],[E],false)},{prop:"Sum32",name:"Sum32",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([E],[$Int,$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash/adler32"]=(function(){var $pkg={},$init,A,B,F,G,C,D,E;A=$packages["hash"];B=$pkg.digest=$newType(4,$kindUint32,"adler32.digest","digest","hash/adler32",null);F=$ptrType(B);G=$sliceType($Uint8);$ptrType(B).prototype.Reset=function(){var $ptr,a;a=this;a.$set(1);};C=function(){var $ptr,a;a=$newDataPointer(0,F);a.Reset();return a;};$pkg.New=C;$ptrType(B).prototype.Size=function(){var $ptr,a;a=this;return 4;};$ptrType(B).prototype.BlockSize=function(){var $ptr,a;a=this;return 1;};D=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n;c=(((a&65535)>>>0)>>>0);d=((a>>>16>>>0)>>>0);e=c;f=d;while(true){if(!(b.$length>0)){break;}g=G.nil;if(b.$length>5552){h=$subslice(b,0,5552);i=$subslice(b,5552);b=h;g=i;}j=b;k=0;while(true){if(!(k<j.$length)){break;}l=((k<0||k>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+k]);e=e+((l>>>0))>>>0;f=f+(e)>>>0;k++;}e=(m=e%(65521),m===m?m:$throwRuntimeError("integer divide by zero"));f=(n=f%(65521),n===n?n:$throwRuntimeError("integer divide by zero"));b=g;}return((((f<<16>>>0)|e)>>>0)>>>0);};$ptrType(B).prototype.Write=function(a){var $ptr,a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;d.$set(D(d.$get(),a));e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};$ptrType(B).prototype.Sum32=function(){var $ptr,a;a=this;return(a.$get()>>>0);};$ptrType(B).prototype.Sum=function(a){var $ptr,a,b,c;b=this;c=(b.$get()>>>0);return $append(a,((c>>>24>>>0)<<24>>>24),((c>>>16>>>0)<<24>>>24),((c>>>8>>>0)<<24>>>24),(c<<24>>>24));};E=function(a){var $ptr,a;return(D(1,a)>>>0);};$pkg.Checksum=E;F.methods=[{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([G],[$Int,$error],false)},{prop:"Sum32",name:"Sum32",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([G],[G],false)}];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["compress/zlib"]=(function(){var $pkg={},$init,A,B,C,G,D,E,F,H,P,Q,U,J,K;A=$packages["bufio"];B=$packages["compress/flate"];C=$packages["errors"];G=$packages["fmt"];D=$packages["hash"];E=$packages["hash/adler32"];F=$packages["io"];H=$pkg.reader=$newType(0,$kindStruct,"zlib.reader","reader","compress/zlib",function(r_,decompressor_,digest_,err_,scratch_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.decompressor=$ifaceNil;this.digest=$ifaceNil;this.err=$ifaceNil;this.scratch=Q.zero();return;}this.r=r_;this.decompressor=decompressor_;this.digest=digest_;this.err=err_;this.scratch=scratch_;});P=$sliceType($Uint8);Q=$arrayType($Uint8,4);U=$ptrType(H);J=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=K(a,P.nil);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return b;}return;}if($f===undefined){$f={$blk:J};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewReader=J;K=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new H.ptr($ifaceNil,$ifaceNil,$ifaceNil,$ifaceNil,Q.zero());d=c.Reset(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}return[c,$ifaceNil];}return;}if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewReaderDict=K;H.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;if(!($interfaceIsEqual(d.err,$ifaceNil))){e=0;f=d.err;b=e;c=f;return[b,c];}if(a.$length===0){g=0;h=$ifaceNil;b=g;c=h;return[b,c];}j=d.decompressor.Read(a);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;b=i[0];c=i[1];k=d.digest.Write($subslice(a,0,b));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;if(!((b===0))||!($interfaceIsEqual(c,F.EOF))){d.err=c;return[b,c];}m=F.ReadFull(d.r,$subslice(new P(d.scratch),0,4));$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[1];if(!($interfaceIsEqual(n,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:d.err=n;o=0;p=n;b=o;c=p;return[b,c];case 5:q=(((((((d.scratch[0]>>>0)<<24>>>0)|((d.scratch[1]>>>0)<<16>>>0))>>>0)|((d.scratch[2]>>>0)<<8>>>0))>>>0)|(d.scratch[3]>>>0))>>>0;r=d.digest.Sum32();$s=8;case 8:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!((q===r))){$s=6;continue;}$s=7;continue;case 6:d.err=$pkg.ErrChecksum;s=0;t=d.err;b=s;c=t;return[b,c];case 7:return[b,c];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.Read=function(a){return this.$val.Read(a);};H.ptr.prototype.Close=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.err,$ifaceNil))){return a.err;}b=a.decompressor.Close();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a.err=b;return a.err;}return;}if($f===undefined){$f={$blk:H.ptr.prototype.Close};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.Close=function(){return this.$val.Close();};H.ptr.prototype.Reset=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$assertType(a,B.Reader,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}h=F.ReadFull(c.r,$subslice(new P(c.scratch),0,2));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}j=(((c.scratch[0]>>>0)<<8>>>0)|(c.scratch[1]>>>0))>>>0;if((!((((c.scratch[0]&15)>>>0)===8)))||(!(((k=j%31,k===k?k:$throwRuntimeError("integer divide by zero"))===0)))){return $pkg.ErrHeader;}l=!((((c.scratch[1]&32)>>>0)===0));if(l){$s=2;continue;}$s=3;continue;case 2:n=F.ReadFull(c.r,$subslice(new P(c.scratch),0,4));$s=4;case 4:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;i=m[1];if(!($interfaceIsEqual(i,$ifaceNil))){return i;}o=(((((((c.scratch[0]>>>0)<<24>>>0)|((c.scratch[1]>>>0)<<16>>>0))>>>0)|((c.scratch[2]>>>0)<<8>>>0))>>>0)|(c.scratch[3]>>>0))>>>0;if(!((o===E.Checksum(b)))){return $pkg.ErrDictionary;}case 3:if($interfaceIsEqual(c.decompressor,$ifaceNil)){$s=5;continue;}$s=6;continue;case 5:if(l){c.decompressor=B.NewReaderDict(c.r,b);}else{c.decompressor=B.NewReader(c.r);}$s=7;continue;case 6:p=$assertType(c.decompressor,B.Resetter).Reset(c.r,b);$s=8;case 8:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}p;case 7:c.digest=E.New();return $ifaceNil;}return;}if($f===undefined){$f={$blk:H.ptr.prototype.Reset};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.Reset=function(a,b){return this.$val.Reset(a,b);};U.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([P],[$Int,$error],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([F.Reader,P],[$error],false)}];H.init([{prop:"r",name:"r",pkg:"compress/zlib",typ:B.Reader,tag:""},{prop:"decompressor",name:"decompressor",pkg:"compress/zlib",typ:F.ReadCloser,tag:""},{prop:"digest",name:"digest",pkg:"compress/zlib",typ:D.Hash32,tag:""},{prop:"err",name:"err",pkg:"compress/zlib",typ:$error,tag:""},{prop:"scratch",name:"scratch",pkg:"compress/zlib",typ:Q,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrChecksum=C.New("zlib: invalid checksum");$pkg.ErrDictionary=C.New("zlib: invalid dictionary");$pkg.ErrHeader=C.New("zlib: invalid header");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["encoding/binary"]=(function(){var $pkg={},$init,A,B,C,D,G,Y,U;A=$packages["errors"];B=$packages["io"];C=$packages["math"];D=$packages["reflect"];G=$pkg.bigEndian=$newType(0,$kindStruct,"binary.bigEndian","bigEndian","encoding/binary",function(){this.$val=this;if(arguments.length===0){return;}});Y=$sliceType($Uint8);G.ptr.prototype.Uint16=function(a){var $ptr,a;return(((1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])<<16>>>16)|(((0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0])<<16>>>16)<<8<<16>>>16))>>>0;};G.prototype.Uint16=function(a){return this.$val.Uint16(a);};G.ptr.prototype.PutUint16=function(a,b){var $ptr,a,b;(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((b>>>8<<16>>>16)<<24>>>24));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=(b<<24>>>24));};G.prototype.PutUint16=function(a,b){return this.$val.PutUint16(a,b);};G.ptr.prototype.Uint32=function(a){var $ptr,a;return(((((((3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3])>>>0)|(((2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2])>>>0)<<8>>>0))>>>0)|(((1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])>>>0)<<16>>>0))>>>0)|(((0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0])>>>0)<<24>>>0))>>>0;};G.prototype.Uint32=function(a){return this.$val.Uint32(a);};G.ptr.prototype.PutUint32=function(a,b){var $ptr,a,b;(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=((b>>>24>>>0)<<24>>>24));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=((b>>>16>>>0)<<24>>>24));(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=((b>>>8>>>0)<<24>>>24));(3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]=(b<<24>>>24));};G.prototype.PutUint32=function(a,b){return this.$val.PutUint32(a,b);};G.ptr.prototype.Uint64=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;return(b=(c=(d=(e=(f=(g=(h=new $Uint64(0,(7>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+7])),i=$shiftLeft64(new $Uint64(0,(6>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+6])),8),new $Uint64(h.$high|i.$high,(h.$low|i.$low)>>>0)),j=$shiftLeft64(new $Uint64(0,(5>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+5])),16),new $Uint64(g.$high|j.$high,(g.$low|j.$low)>>>0)),k=$shiftLeft64(new $Uint64(0,(4>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+4])),24),new $Uint64(f.$high|k.$high,(f.$low|k.$low)>>>0)),l=$shiftLeft64(new $Uint64(0,(3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3])),32),new $Uint64(e.$high|l.$high,(e.$low|l.$low)>>>0)),m=$shiftLeft64(new $Uint64(0,(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2])),40),new $Uint64(d.$high|m.$high,(d.$low|m.$low)>>>0)),n=$shiftLeft64(new $Uint64(0,(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1])),48),new $Uint64(c.$high|n.$high,(c.$low|n.$low)>>>0)),o=$shiftLeft64(new $Uint64(0,(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0])),56),new $Uint64(b.$high|o.$high,(b.$low|o.$low)>>>0));};G.prototype.Uint64=function(a){return this.$val.Uint64(a);};G.ptr.prototype.PutUint64=function(a,b){var $ptr,a,b;(0>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+0]=($shiftRightUint64(b,56).$low<<24>>>24));(1>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+1]=($shiftRightUint64(b,48).$low<<24>>>24));(2>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+2]=($shiftRightUint64(b,40).$low<<24>>>24));(3>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+3]=($shiftRightUint64(b,32).$low<<24>>>24));(4>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+4]=($shiftRightUint64(b,24).$low<<24>>>24));(5>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+5]=($shiftRightUint64(b,16).$low<<24>>>24));(6>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+6]=($shiftRightUint64(b,8).$low<<24>>>24));(7>=a.$length?$throwRuntimeError("index out of range"):a.$array[a.$offset+7]=(b.$low<<24>>>24));};G.prototype.PutUint64=function(a,b){return this.$val.PutUint64(a,b);};G.ptr.prototype.String=function(){var $ptr;return"BigEndian";};G.prototype.String=function(){return this.$val.String();};G.ptr.prototype.GoString=function(){var $ptr;return"binary.BigEndian";};G.prototype.GoString=function(){return this.$val.GoString();};G.methods=[{prop:"Uint16",name:"Uint16",pkg:"",typ:$funcType([Y],[$Uint16],false)},{prop:"PutUint16",name:"PutUint16",pkg:"",typ:$funcType([Y,$Uint16],[],false)},{prop:"Uint32",name:"Uint32",pkg:"",typ:$funcType([Y],[$Uint32],false)},{prop:"PutUint32",name:"PutUint32",pkg:"",typ:$funcType([Y,$Uint32],[],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([Y],[$Uint64],false)},{prop:"PutUint64",name:"PutUint64",pkg:"",typ:$funcType([Y,$Uint64],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}];G.init([]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.BigEndian=new G.ptr();U=A.New("binary: varint overflows a 64-bit integer");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["hash/crc32"]=(function(){var $pkg={},$init,A,B,C,G,M,V,W,X,Y,Z,AA,D,H,I,K,L,N,O,P,Q,R,U;A=$packages["hash"];B=$packages["sync"];C=$pkg.Table=$newType(1024,$kindArray,"crc32.Table","Table","hash/crc32",null);G=$pkg.slicing8Table=$newType(8192,$kindArray,"crc32.slicing8Table","slicing8Table","hash/crc32",null);M=$pkg.digest=$newType(0,$kindStruct,"crc32.digest","digest","hash/crc32",function(crc_,tab_){this.$val=this;if(arguments.length===0){this.crc=0;this.tab=V.nil;return;}this.crc=crc_;this.tab=tab_;});V=$ptrType(C);W=$ptrType(G);X=$arrayType($Uint32,256);Y=$arrayType(C,8);Z=$sliceType($Uint8);AA=$ptrType(M);K=function(a){var $ptr,a,b,c,d,e,f;b=X.zero();c=0;while(true){if(!(c<256)){break;}d=(c>>>0);e=0;while(true){if(!(e<8)){break;}if(((d&1)>>>0)===1){d=(((d>>>1>>>0))^a)>>>0;}else{d=(f=(1),f<32?(d>>>f):0)>>>0;}e=e+(1)>>0;}b.nilCheck,((c<0||c>=b.length)?$throwRuntimeError("index out of range"):b[c]=d);c=c+(1)>>0;}return b;};L=function(a){var $ptr,a,b,c,d,e,f,g,h,i;b=Y.zero();C.copy((b.nilCheck,b[0]),K(a));c=0;while(true){if(!(c<256)){break;}e=(d=(b.nilCheck,b[0]),((c<0||c>=d.length)?$throwRuntimeError("index out of range"):d[c]));f=1;while(true){if(!(f<8)){break;}e=((g=(b.nilCheck,b[0]),h=(e&255)>>>0,((h<0||h>=g.length)?$throwRuntimeError("index out of range"):g[h]))^((e>>>8>>>0)))>>>0;(i=(b.nilCheck,((f<0||f>=b.length)?$throwRuntimeError("index out of range"):b[f])),((c<0||c>=i.length)?$throwRuntimeError("index out of range"):i[c]=e));f=f+(1)>>0;}c=c+(1)>>0;}return b;};N=function(a){var $ptr,a;return new M.ptr(0,a);};$pkg.New=N;O=function(){var $ptr;return N($pkg.IEEETable);};$pkg.NewIEEE=O;M.ptr.prototype.Size=function(){var $ptr,a;a=this;return 4;};M.prototype.Size=function(){return this.$val.Size();};M.ptr.prototype.BlockSize=function(){var $ptr,a;a=this;return 1;};M.prototype.BlockSize=function(){return this.$val.BlockSize();};M.ptr.prototype.Reset=function(){var $ptr,a;a=this;a.crc=0;};M.prototype.Reset=function(){return this.$val.Reset();};P=function(a,b,c){var $ptr,a,b,c,d,e,f,g;a=~a>>>0;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?$throwRuntimeError("index out of range"):d.$array[d.$offset+e]);a=((g=((a<<24>>>24)^f)<<24>>>24,(b.nilCheck,((g<0||g>=b.length)?$throwRuntimeError("index out of range"):b[g])))^((a>>>8>>>0)))>>>0;e++;}return~a>>>0;};Q=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;a=~a>>>0;while(true){if(!(c.$length>8)){break;}a=(a^(((((((((0>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+0])>>>0)|(((1>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+1])>>>0)<<8>>>0))>>>0)|(((2>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+2])>>>0)<<16>>>0))>>>0)|(((3>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+3])>>>0)<<24>>>0))>>>0)))>>>0;a=((((((((((((((d=(b.nilCheck,b[0]),e=(7>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+7]),((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]))^(f=(b.nilCheck,b[1]),g=(6>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+6]),((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g])))>>>0)^(h=(b.nilCheck,b[2]),i=(5>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+5]),((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i])))>>>0)^(j=(b.nilCheck,b[3]),k=(4>=c.$length?$throwRuntimeError("index out of range"):c.$array[c.$offset+4]),((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k])))>>>0)^(l=(b.nilCheck,b[4]),m=a>>>24>>>0,((m<0||m>=l.length)?$throwRuntimeError("index out of range"):l[m])))>>>0)^(n=(b.nilCheck,b[5]),o=(((a>>>16>>>0))&255)>>>0,((o<0||o>=n.length)?$throwRuntimeError("index out of range"):n[o])))>>>0)^(p=(b.nilCheck,b[6]),q=(((a>>>8>>>0))&255)>>>0,((q<0||q>=p.length)?$throwRuntimeError("index out of range"):p[q])))>>>0)^(r=(b.nilCheck,b[7]),s=(a&255)>>>0,((s<0||s>=r.length)?$throwRuntimeError("index out of range"):r[s])))>>>0;c=$subslice(c,8);}a=~a>>>0;return P(a,(b.nilCheck,b[0]),c);};R=function(a,b,c){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($equal(b,D,C)){return U(a,c);}if($equal(b,$pkg.IEEETable,C)&&c.$length>=4096){$s=1;continue;}$s=2;continue;case 1:$r=I.Do((function(){var $ptr;H=L(3988292384);}));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return Q(a,H,c);case 2:return P(a,b,c);}return;}if($f===undefined){$f={$blk:R};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Update=R;M.ptr.prototype.Write=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;e=R(d.crc,d.tab,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.crc=e;f=a.$length;g=$ifaceNil;b=f;c=g;return[b,c];}return;}if($f===undefined){$f={$blk:M.ptr.prototype.Write};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};M.prototype.Write=function(a){return this.$val.Write(a);};M.ptr.prototype.Sum32=function(){var $ptr,a;a=this;return a.crc;};M.prototype.Sum32=function(){return this.$val.Sum32();};M.ptr.prototype.Sum=function(a){var $ptr,a,b,c;b=this;c=b.Sum32();return $append(a,((c>>>24>>>0)<<24>>>24),((c>>>16>>>0)<<24>>>24),((c>>>8>>>0)<<24>>>24),(c<<24>>>24));};M.prototype.Sum=function(a){return this.$val.Sum(a);};U=function(a,b){var $ptr,a,b;return P(a,D,b);};AA.methods=[{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"BlockSize",name:"BlockSize",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([Z],[$Int,$error],false)},{prop:"Sum32",name:"Sum32",pkg:"",typ:$funcType([],[$Uint32],false)},{prop:"Sum",name:"Sum",pkg:"",typ:$funcType([Z],[Z],false)}];C.init($Uint32,256);G.init(C,8);M.init([{prop:"crc",name:"crc",pkg:"hash/crc32",typ:$Uint32,tag:""},{prop:"tab",name:"tab",pkg:"hash/crc32",typ:V,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}D=V.nil;H=W.nil;I=new B.Once.ptr(new B.Mutex.ptr(0,0),0);$pkg.IEEETable=K(3988292384);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/png"]=(function(){var $pkg={},$init,I,A,B,C,D,E,F,G,H,J,O,Q,R,T,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,BD,P,S,K,M,N,U,V,W,X;I=$packages["bufio"];A=$packages["compress/zlib"];B=$packages["encoding/binary"];C=$packages["fmt"];D=$packages["hash"];E=$packages["hash/crc32"];F=$packages["image"];G=$packages["image/color"];H=$packages["io"];J=$packages["strconv"];O=$pkg.interlaceScan=$newType(0,$kindStruct,"png.interlaceScan","interlaceScan","image/png",function(xFactor_,yFactor_,xOffset_,yOffset_){this.$val=this;if(arguments.length===0){this.xFactor=0;this.yFactor=0;this.xOffset=0;this.yOffset=0;return;}this.xFactor=xFactor_;this.yFactor=yFactor_;this.xOffset=xOffset_;this.yOffset=yOffset_;});Q=$pkg.decoder=$newType(0,$kindStruct,"png.decoder","decoder","image/png",function(r_,img_,crc_,width_,height_,depth_,palette_,cb_,stage_,idatLength_,tmp_,interlace_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.img=$ifaceNil;this.crc=$ifaceNil;this.width=0;this.height=0;this.depth=0;this.palette=G.Palette.nil;this.cb=0;this.stage=0;this.idatLength=0;this.tmp=AW.zero();this.interlace=0;return;}this.r=r_;this.img=img_;this.crc=crc_;this.width=width_;this.height=height_;this.depth=depth_;this.palette=palette_;this.cb=cb_;this.stage=stage_;this.idatLength=idatLength_;this.tmp=tmp_;this.interlace=interlace_;});R=$pkg.FormatError=$newType(8,$kindString,"png.FormatError","FormatError","image/png",null);T=$pkg.UnsupportedError=$newType(8,$kindString,"png.UnsupportedError","UnsupportedError","image/png",null);AJ=$sliceType(O);AK=$sliceType($Uint8);AL=$sliceType($emptyInterface);AM=$ptrType(F.Gray);AN=$ptrType(F.RGBA);AO=$ptrType(F.Paletted);AP=$ptrType(F.NRGBA);AQ=$ptrType(F.Gray16);AR=$ptrType(F.RGBA64);AS=$ptrType(F.NRGBA64);AT=$ptrType(F.Alpha);AU=$ptrType(F.Alpha16);AV=$arrayType($Uint8,4096);AW=$arrayType($Uint8,768);BD=$ptrType(Q);K=function(a){var $ptr,a,b;b=a>>31>>0;return(((a^b)>>0))-b>>0;};M=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;d=0;e=0;f=0;g=0;h=0;i=0;j=d;k=e;l=f;m=g;n=h;o=i;p=0;while(true){if(!(p<c)){break;}q=0;r=0;j=q;l=r;s=p;while(true){if(!(s<a.$length)){break;}k=(((s<0||s>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+s])>>0);m=k-l>>0;n=j-l>>0;o=K(m+n>>0);m=K(m);n=K(n);if(m<=n&&m<=o){}else if(n<=o){j=k;}else{j=l;}j=j+((((s<0||s>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+s])>>0))>>0;j=j&(255);((s<0||s>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+s]=(j<<24>>>24));l=k;s=s+(c)>>0;}p=p+(1)>>0;}};N=function(a){var $ptr,a;return 7<=a&&a<=10;};R.prototype.Error=function(){var $ptr,a;a=this.$val;return"png: invalid format: "+a;};$ptrType(R).prototype.Error=function(){return new R(this.$get()).Error();};T.prototype.Error=function(){var $ptr,a;a=this.$val;return"png: unsupported feature: "+a;};$ptrType(T).prototype.Error=function(){return new T(this.$get()).Error();};U=function(a,b){var $ptr,a,b;if(a<b){return a;}return b;};Q.ptr.prototype.parseIHDR=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((a===13))){return new R("bad IHDR length");}d=H.ReadFull(b.r,$subslice(new AK(b.tmp),0,13));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return e;case 3:f=b.crc.Write($subslice(new AK(b.tmp),0,13));$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;if(!((b.tmp[10]===0))){return new T("compression method");}if(!((b.tmp[11]===0))){return new T("filter method");}if(!((b.tmp[12]===0))&&!((b.tmp[12]===1))){return new R("invalid interlace method");}b.interlace=(b.tmp[12]>>0);g=(B.BigEndian.Uint32($subslice(new AK(b.tmp),0,4))>>0);h=(B.BigEndian.Uint32($subslice(new AK(b.tmp),4,8))>>0);if(g<0||h<0){return new R("negative dimension");}i=$mul64(new $Int64(0,g),new $Int64(0,h));if(!((j=new $Int64(0,((i.$low+((i.$high>>31)*4294967296))>>0)),(i.$high===j.$high&&i.$low===j.$low)))){return new T("dimension overflow");}b.cb=0;b.depth=(b.tmp[8]>>0);k=b.depth;if(k===1){l=b.tmp[9];if(l===0){b.cb=1;}else if(l===3){b.cb=7;}}else if(k===2){m=b.tmp[9];if(m===0){b.cb=2;}else if(m===3){b.cb=8;}}else if(k===4){n=b.tmp[9];if(n===0){b.cb=3;}else if(n===3){b.cb=9;}}else if(k===8){o=b.tmp[9];if(o===0){b.cb=4;}else if(o===2){b.cb=6;}else if(o===3){b.cb=10;}else if(o===4){b.cb=5;}else if(o===6){b.cb=11;}}else if(k===16){p=b.tmp[9];if(p===0){b.cb=12;}else if(p===2){b.cb=14;}else if(p===4){b.cb=13;}else if(p===6){b.cb=15;}}if(b.cb===0){$s=5;continue;}$s=6;continue;case 5:q=C.Sprintf("bit depth %d, color type %d",new AL([new $Uint8(b.tmp[8]),new $Uint8(b.tmp[9])]));$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$s=8;case 8:return new T(q);case 6:r=(g>>0);s=(h>>0);b.width=r;b.height=s;t=b.verifyChecksum();$s=9;case 9:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$s=10;case 10:return t;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parseIHDR};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parseIHDR=function(a){return this.$val.parseIHDR(a);};Q.ptr.prototype.parsePLTE=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=((c=a/3,(c===c&&c!==1/0&&c!==-1/0)?c>>>0:$throwRuntimeError("integer divide by zero"))>>0);if(!(((e=a%3,e===e?e:$throwRuntimeError("integer divide by zero"))===0))||d<=0||d>256||d>((f=(b.depth>>>0),f<32?(1<<f):0)>>0)){return new R("bad PLTE length");}h=H.ReadFull(b.r,$subslice(new AK(b.tmp),0,($imul(3,d))));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){return j;}k=b.crc.Write($subslice(new AK(b.tmp),0,i));$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;l=b.cb;if(l===7||l===8||l===9||l===10){b.palette=$makeSlice(G.Palette,256);m=0;while(true){if(!(m<d)){break;}(u=b.palette,((m<0||m>=u.$length)?$throwRuntimeError("index out of range"):u.$array[u.$offset+m]=(n=new G.RGBA.ptr((o=b.tmp,p=($imul(3,m))+0>>0,((p<0||p>=o.length)?$throwRuntimeError("index out of range"):o[p])),(q=b.tmp,r=($imul(3,m))+1>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),(s=b.tmp,t=($imul(3,m))+2>>0,((t<0||t>=s.length)?$throwRuntimeError("index out of range"):s[t])),255),new n.constructor.elem(n))));m=m+(1)>>0;}v=d;while(true){if(!(v<256)){break;}(x=b.palette,((v<0||v>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+v]=(w=new G.RGBA.ptr(0,0,0,255),new w.constructor.elem(w))));v=v+(1)>>0;}b.palette=$subslice(b.palette,0,d);}else if(l===6||l===11||l===14||l===15){}else{return new R("PLTE, color type mismatch");}y=b.verifyChecksum();$s=3;case 3:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=4;case 4:return y;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parsePLTE};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parsePLTE=function(a){return this.$val.parsePLTE(a);};Q.ptr.prototype.parsetRNS=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a>256){return new R("bad tRNS length");}d=H.ReadFull(b.r,$subslice(new AK(b.tmp),0,a));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=b.crc.Write($subslice(new AK(b.tmp),0,e));$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=b.cb;if(h===4||h===12){return new T("grayscale transparency");}else if(h===6||h===14){return new T("truecolor transparency");}else if(h===7||h===8||h===9||h===10){if(b.palette.$length<e){b.palette=$subslice(b.palette,0,e);}i=0;while(true){if(!(i<e)){break;}k=$clone($assertType((j=b.palette,((i<0||i>=j.$length)?$throwRuntimeError("index out of range"):j.$array[j.$offset+i])),G.RGBA),G.RGBA);(n=b.palette,((i<0||i>=n.$length)?$throwRuntimeError("index out of range"):n.$array[n.$offset+i]=(l=new G.NRGBA.ptr(k.R,k.G,k.B,(m=b.tmp,((i<0||i>=m.length)?$throwRuntimeError("index out of range"):m[i]))),new l.constructor.elem(l))));i=i+(1)>>0;}}else if(h===5||h===13||h===11||h===15){return new R("tRNS, color type mismatch");}o=b.verifyChecksum();$s=3;case 3:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$s=4;case 4:return o;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parsetRNS};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parsetRNS=function(a){return this.$val.parsetRNS(a);};Q.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length===0){return[0,$ifaceNil];}case 1:if(!(b.idatLength===0)){$s=2;continue;}c=b.verifyChecksum();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:return[0,d];case 5:f=H.ReadFull(b.r,$subslice(new AK(b.tmp),0,8));$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:return[0,g];case 8:b.idatLength=B.BigEndian.Uint32($subslice(new AK(b.tmp),0,4));if(!($bytesToString($subslice(new AK(b.tmp),4,8))==="IDAT")){return[0,new R("not enough pixel data")];}$r=b.crc.Reset();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=b.crc.Write($subslice(new AK(b.tmp),4,8));$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;$s=1;continue;case 2:if((b.idatLength>>0)<0){return[0,new T("IDAT chunk length overflow")];}j=b.r.Read($subslice(a,0,U(a.$length,(b.idatLength>>0))));$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];m=b.crc.Write($subslice(a,0,k));$s=12;case 12:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;b.idatLength=b.idatLength-((k>>>0))>>>0;return[k,l];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.Read=function(a){return this.$val.Read(a);};Q.ptr.prototype.decode=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;c=A.NewReader(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}$deferred.push([$methodVal(d,"Close"),[]]);f=$ifaceNil;if(a.interlace===0){$s=2;continue;}if(a.interlace===1){$s=3;continue;}$s=4;continue;case 2:h=a.readImagePass(d,0,false);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;f=g[0];e=g[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}$s=4;continue;case 3:j=a.readImagePass($ifaceNil,0,true);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;f=i[0];e=i[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,e];}k=0;case 7:if(!(k<7)){$s=8;continue;}m=a.readImagePass(d,k,false);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];if(!($interfaceIsEqual(o,$ifaceNil))){return[$ifaceNil,o];}if(!($interfaceIsEqual(n,$ifaceNil))){$s=10;continue;}$s=11;continue;case 10:$r=a.mergePassInto(f,n,k);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:k=k+(1)>>0;$s=7;continue;case 8:case 4:p=0;q=0;case 13:if(!((p===0)&&$interfaceIsEqual(e,$ifaceNil))){$s=14;continue;}if(q===100){return[$ifaceNil,H.ErrNoProgress];}s=d.Read($subslice(new AK(a.tmp),0,1));$s=15;case 15:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;p=r[0];e=r[1];q=q+(1)>>0;$s=13;continue;case 14:if(!($interfaceIsEqual(e,$ifaceNil))&&!($interfaceIsEqual(e,H.EOF))){$s=16;continue;}$s=17;continue;case 16:t=e.Error();$s=18;case 18:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$s=19;case 19:return[$ifaceNil,new R(t)];case 17:if(!((p===0))||!((a.idatLength===0))){return[$ifaceNil,new R("too much pixel data")];}return[f,$ifaceNil];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:Q.ptr.prototype.decode};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};Q.prototype.decode=function(){return this.$val.decode();};Q.ptr.prototype.readImagePass=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,c,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,d,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,e,ea,eb,ec,ed,ee,ef,eg,eh,ei,ej,ek,el,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;c=$f.c;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;d=$f.d;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;e=$f.e;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;ef=$f.ef;eg=$f.eg;eh=$f.eh;ei=$f.ei;ej=$f.ej;ek=$f.ek;el=$f.el;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=0;f=0;g=AM.nil;h=AN.nil;i=AO.nil;j=AP.nil;k=AQ.nil;l=AR.nil;m=AS.nil;n=$ifaceNil;o=d.width;p=d.height;q=o;r=p;if((d.interlace===1)&&!c){s=$clone(((b<0||b>=P.$length)?$throwRuntimeError("index out of range"):P.$array[P.$offset+b]),O);q=(t=((((q-s.xOffset>>0)+s.xFactor>>0)-1>>0))/s.xFactor,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));r=(u=((((r-s.yOffset>>0)+s.yFactor>>0)-1>>0))/s.yFactor,(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"));if((q===0)||(r===0)){return[$ifaceNil,$ifaceNil];}}v=d.cb;if(v===1||v===2||v===3||v===4){e=d.depth;g=F.NewGray(F.Rect(0,0,q,r));n=g;}else if(v===5){e=16;j=F.NewNRGBA(F.Rect(0,0,q,r));n=j;}else if(v===6){e=24;h=F.NewRGBA(F.Rect(0,0,q,r));n=h;}else if(v===7||v===8||v===9||v===10){e=d.depth;i=F.NewPaletted(F.Rect(0,0,q,r),d.palette);n=i;}else if(v===11){e=32;j=F.NewNRGBA(F.Rect(0,0,q,r));n=j;}else if(v===12){e=16;k=F.NewGray16(F.Rect(0,0,q,r));n=k;}else if(v===13){e=32;m=F.NewNRGBA64(F.Rect(0,0,q,r));n=m;}else if(v===14){e=48;l=F.NewRGBA64(F.Rect(0,0,q,r));n=l;}else if(v===15){e=64;m=F.NewNRGBA64(F.Rect(0,0,q,r));n=m;}if(c){return[n,$ifaceNil];}x=(w=((e+7>>0))/8,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"));z=1+(y=((($imul(e,q))+7>>0))/8,(y===y&&y!==1/0&&y!==-1/0)?y>>0:$throwRuntimeError("integer divide by zero"))>>0;aa=$makeSlice(AK,z);ab=$makeSlice(AK,z);ac=0;case 1:if(!(ac<r)){$s=2;continue;}ae=H.ReadFull(a,aa);$s=3;case 3:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;af=ad[1];if(!($interfaceIsEqual(af,$ifaceNil))){if($interfaceIsEqual(af,H.EOF)||$interfaceIsEqual(af,H.ErrUnexpectedEOF)){return[$ifaceNil,new R("not enough pixel data")];}return[$ifaceNil,af];}ag=$subslice(aa,1);ah=$subslice(ab,1);ai=(0>=aa.$length?$throwRuntimeError("index out of range"):aa.$array[aa.$offset+0]);if(ai===0){}else if(ai===1){aj=x;while(true){if(!(aj<ag.$length)){break;}((aj<0||aj>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+aj]=(((aj<0||aj>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+aj])+((ak=aj-x>>0,((ak<0||ak>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ak])))<<24>>>24));aj=aj+(1)>>0;}}else if(ai===2){al=ah;am=0;while(true){if(!(am<al.$length)){break;}an=am;ao=((am<0||am>=al.$length)?$throwRuntimeError("index out of range"):al.$array[al.$offset+am]);((an<0||an>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+an]=(((an<0||an>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+an])+(ao)<<24>>>24));am++;}}else if(ai===3){ap=0;while(true){if(!(ap<x)){break;}((ap<0||ap>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ap]=(((ap<0||ap>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ap])+((aq=((ap<0||ap>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+ap])/2,(aq===aq&&aq!==1/0&&aq!==-1/0)?aq>>>0:$throwRuntimeError("integer divide by zero")))<<24>>>24));ap=ap+(1)>>0;}ar=x;while(true){if(!(ar<ag.$length)){break;}((ar<0||ar>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ar]=(((ar<0||ar>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ar])+(((as=((((at=ar-x>>0,((at<0||at>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+at]))>>0)+(((ar<0||ar>=ah.$length)?$throwRuntimeError("index out of range"):ah.$array[ah.$offset+ar])>>0)>>0))/2,(as===as&&as!==1/0&&as!==-1/0)?as>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))<<24>>>24));ar=ar+(1)>>0;}}else if(ai===4){M(ag,ah,x);}else{return[$ifaceNil,new R("bad filter type")];}au=d.cb;if(au===1){av=0;while(true){if(!(av<q)){break;}ay=(aw=(ax=av/8,(ax===ax&&ax!==1/0&&ax!==-1/0)?ax>>0:$throwRuntimeError("integer divide by zero")),((aw<0||aw>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+aw]));az=0;while(true){if(!(az<8&&(av+az>>0)<q)){break;}g.SetGray(av+az>>0,ac,new G.Gray.ptr(((ay>>>7<<24>>>24))*255<<24>>>24));ay=(ba=(1),ba<32?(ay<<ba):0)<<24>>>24;az=az+(1)>>0;}av=av+(8)>>0;}}else if(au===2){bb=0;while(true){if(!(bb<q)){break;}be=(bc=(bd=bb/4,(bd===bd&&bd!==1/0&&bd!==-1/0)?bd>>0:$throwRuntimeError("integer divide by zero")),((bc<0||bc>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+bc]));bf=0;while(true){if(!(bf<4&&(bb+bf>>0)<q)){break;}g.SetGray(bb+bf>>0,ac,new G.Gray.ptr(((be>>>6<<24>>>24))*85<<24>>>24));be=(bg=(2),bg<32?(be<<bg):0)<<24>>>24;bf=bf+(1)>>0;}bb=bb+(4)>>0;}}else if(au===3){bh=0;while(true){if(!(bh<q)){break;}bk=(bi=(bj=bh/2,(bj===bj&&bj!==1/0&&bj!==-1/0)?bj>>0:$throwRuntimeError("integer divide by zero")),((bi<0||bi>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+bi]));bl=0;while(true){if(!(bl<2&&(bh+bl>>0)<q)){break;}g.SetGray(bh+bl>>0,ac,new G.Gray.ptr(((bk>>>4<<24>>>24))*17<<24>>>24));bk=(bm=(4),bm<32?(bk<<bm):0)<<24>>>24;bl=bl+(1)>>0;}bh=bh+(2)>>0;}}else if(au===4){$copySlice($subslice(g.Pix,f),ag);f=f+(g.Stride)>>0;}else if(au===5){bn=0;while(true){if(!(bn<q)){break;}bp=(bo=($imul(2,bn))+0>>0,((bo<0||bo>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+bo]));j.SetNRGBA(bn,ac,new G.NRGBA.ptr(bp,bp,bp,(bq=($imul(2,bn))+1>>0,((bq<0||bq>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+bq]))));bn=bn+(1)>>0;}}else if(au===6){br=h.Pix;bs=f;bt=0;bu=br;bv=bs;bw=bt;bx=0;while(true){if(!(bx<q)){break;}(bz=bv+0>>0,((bz<0||bz>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+bz]=(by=bw+0>>0,((by<0||by>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+by]))));(cb=bv+1>>0,((cb<0||cb>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cb]=(ca=bw+1>>0,((ca<0||ca>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ca]))));(cd=bv+2>>0,((cd<0||cd>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+cd]=(cc=bw+2>>0,((cc<0||cc>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+cc]))));(ce=bv+3>>0,((ce<0||ce>=bu.$length)?$throwRuntimeError("index out of range"):bu.$array[bu.$offset+ce]=255));bv=bv+(4)>>0;bw=bw+(3)>>0;bx=bx+(1)>>0;}f=f+(h.Stride)>>0;}else if(au===7){cf=0;while(true){if(!(cf<q)){break;}ci=(cg=(ch=cf/8,(ch===ch&&ch!==1/0&&ch!==-1/0)?ch>>0:$throwRuntimeError("integer divide by zero")),((cg<0||cg>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+cg]));cj=0;while(true){if(!(cj<8&&(cf+cj>>0)<q)){break;}ck=ci>>>7<<24>>>24;if(i.Palette.$length<=(ck>>0)){i.Palette=$subslice(i.Palette,0,((ck>>0)+1>>0));}i.SetColorIndex(cf+cj>>0,ac,ck);ci=(cl=(1),cl<32?(ci<<cl):0)<<24>>>24;cj=cj+(1)>>0;}cf=cf+(8)>>0;}}else if(au===8){cm=0;while(true){if(!(cm<q)){break;}cp=(cn=(co=cm/4,(co===co&&co!==1/0&&co!==-1/0)?co>>0:$throwRuntimeError("integer divide by zero")),((cn<0||cn>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+cn]));cq=0;while(true){if(!(cq<4&&(cm+cq>>0)<q)){break;}cr=cp>>>6<<24>>>24;if(i.Palette.$length<=(cr>>0)){i.Palette=$subslice(i.Palette,0,((cr>>0)+1>>0));}i.SetColorIndex(cm+cq>>0,ac,cr);cp=(cs=(2),cs<32?(cp<<cs):0)<<24>>>24;cq=cq+(1)>>0;}cm=cm+(4)>>0;}}else if(au===9){ct=0;while(true){if(!(ct<q)){break;}cw=(cu=(cv=ct/2,(cv===cv&&cv!==1/0&&cv!==-1/0)?cv>>0:$throwRuntimeError("integer divide by zero")),((cu<0||cu>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+cu]));cx=0;while(true){if(!(cx<2&&(ct+cx>>0)<q)){break;}cy=cw>>>4<<24>>>24;if(i.Palette.$length<=(cy>>0)){i.Palette=$subslice(i.Palette,0,((cy>>0)+1>>0));}i.SetColorIndex(ct+cx>>0,ac,cy);cw=(cz=(4),cz<32?(cw<<cz):0)<<24>>>24;cx=cx+(1)>>0;}ct=ct+(2)>>0;}}else if(au===10){if(!((i.Palette.$length===255))){da=0;while(true){if(!(da<q)){break;}if(i.Palette.$length<=(((da<0||da>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+da])>>0)){i.Palette=$subslice(i.Palette,0,((((da<0||da>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+da])>>0)+1>>0));}da=da+(1)>>0;}}$copySlice($subslice(i.Pix,f),ag);f=f+(i.Stride)>>0;}else if(au===11){$copySlice($subslice(j.Pix,f),ag);f=f+(j.Stride)>>0;}else if(au===12){db=0;while(true){if(!(db<q)){break;}de=((((dc=($imul(2,db))+0>>0,((dc<0||dc>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dc]))<<16>>>16)<<8<<16>>>16)|((dd=($imul(2,db))+1>>0,((dd<0||dd>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dd]))<<16>>>16))>>>0;k.SetGray16(db,ac,new G.Gray16.ptr(de));db=db+(1)>>0;}}else if(au===13){df=0;while(true){if(!(df<q)){break;}di=((((dg=($imul(4,df))+0>>0,((dg<0||dg>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dg]))<<16>>>16)<<8<<16>>>16)|((dh=($imul(4,df))+1>>0,((dh<0||dh>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dh]))<<16>>>16))>>>0;dl=((((dj=($imul(4,df))+2>>0,((dj<0||dj>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dj]))<<16>>>16)<<8<<16>>>16)|((dk=($imul(4,df))+3>>0,((dk<0||dk>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dk]))<<16>>>16))>>>0;m.SetNRGBA64(df,ac,new G.NRGBA64.ptr(di,di,di,dl));df=df+(1)>>0;}}else if(au===14){dm=0;while(true){if(!(dm<q)){break;}dq=((((dn=($imul(6,dm))+0>>0,((dn<0||dn>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dn]))<<16>>>16)<<8<<16>>>16)|((dp=($imul(6,dm))+1>>0,((dp<0||dp>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dp]))<<16>>>16))>>>0;dt=((((dr=($imul(6,dm))+2>>0,((dr<0||dr>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dr]))<<16>>>16)<<8<<16>>>16)|((ds=($imul(6,dm))+3>>0,((ds<0||ds>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ds]))<<16>>>16))>>>0;dw=((((du=($imul(6,dm))+4>>0,((du<0||du>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+du]))<<16>>>16)<<8<<16>>>16)|((dv=($imul(6,dm))+5>>0,((dv<0||dv>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dv]))<<16>>>16))>>>0;l.SetRGBA64(dm,ac,new G.RGBA64.ptr(dq,dt,dw,65535));dm=dm+(1)>>0;}}else if(au===15){dx=0;while(true){if(!(dx<q)){break;}ea=((((dy=($imul(8,dx))+0>>0,((dy<0||dy>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dy]))<<16>>>16)<<8<<16>>>16)|((dz=($imul(8,dx))+1>>0,((dz<0||dz>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+dz]))<<16>>>16))>>>0;ed=((((eb=($imul(8,dx))+2>>0,((eb<0||eb>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+eb]))<<16>>>16)<<8<<16>>>16)|((ec=($imul(8,dx))+3>>0,((ec<0||ec>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ec]))<<16>>>16))>>>0;eg=((((ee=($imul(8,dx))+4>>0,((ee<0||ee>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ee]))<<16>>>16)<<8<<16>>>16)|((ef=($imul(8,dx))+5>>0,((ef<0||ef>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ef]))<<16>>>16))>>>0;ej=((((eh=($imul(8,dx))+6>>0,((eh<0||eh>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+eh]))<<16>>>16)<<8<<16>>>16)|((ei=($imul(8,dx))+7>>0,((ei<0||ei>=ag.$length)?$throwRuntimeError("index out of range"):ag.$array[ag.$offset+ei]))<<16>>>16))>>>0;m.SetNRGBA64(dx,ac,new G.NRGBA64.ptr(ea,ed,eg,ej));dx=dx+(1)>>0;}}ek=aa;el=ab;ab=ek;aa=el;ac=ac+(1)>>0;$s=1;continue;case 2:return[n,$ifaceNil];}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.readImagePass};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.c=c;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.d=d;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.e=e;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.ef=ef;$f.eg=eg;$f.eh=eh;$f.ei=ei;$f.ej=ej;$f.ek=ek;$f.el=el;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.readImagePass=function(a,b,c){return this.$val.readImagePass(a,b,c);};Q.ptr.prototype.mergePassInto=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$clone(((c<0||c>=P.$length)?$throwRuntimeError("index out of range"):P.$array[P.$offset+c]),O);f=AK.nil;g=AK.nil;h=0;i=new F.Rectangle.ptr(new F.Point.ptr(0,0),new F.Point.ptr(0,0));j=0;k=a;if($assertType(k,AT,true)[1]){l=k.$val;f=$assertType(b,AT).Pix;m=l.Pix;n=l.Stride;o=$clone(l.Rect,F.Rectangle);g=m;h=n;F.Rectangle.copy(i,o);j=1;}else if($assertType(k,AU,true)[1]){p=k.$val;f=$assertType(b,AU).Pix;q=p.Pix;r=p.Stride;s=$clone(p.Rect,F.Rectangle);g=q;h=r;F.Rectangle.copy(i,s);j=2;}else if($assertType(k,AM,true)[1]){t=k.$val;f=$assertType(b,AM).Pix;u=t.Pix;v=t.Stride;w=$clone(t.Rect,F.Rectangle);g=u;h=v;F.Rectangle.copy(i,w);j=1;}else if($assertType(k,AQ,true)[1]){x=k.$val;f=$assertType(b,AQ).Pix;y=x.Pix;z=x.Stride;aa=$clone(x.Rect,F.Rectangle);g=y;h=z;F.Rectangle.copy(i,aa);j=2;}else if($assertType(k,AP,true)[1]){ab=k.$val;f=$assertType(b,AP).Pix;ac=ab.Pix;ad=ab.Stride;ae=$clone(ab.Rect,F.Rectangle);g=ac;h=ad;F.Rectangle.copy(i,ae);j=4;}else if($assertType(k,AS,true)[1]){af=k.$val;f=$assertType(b,AS).Pix;ag=af.Pix;ah=af.Stride;ai=$clone(af.Rect,F.Rectangle);g=ag;h=ah;F.Rectangle.copy(i,ai);j=8;}else if($assertType(k,AO,true)[1]){aj=k.$val;f=$assertType(b,AO).Pix;ak=aj.Pix;al=aj.Stride;am=$clone(aj.Rect,F.Rectangle);g=ak;h=al;F.Rectangle.copy(i,am);j=1;}else if($assertType(k,AN,true)[1]){an=k.$val;f=$assertType(b,AN).Pix;ao=an.Pix;ap=an.Stride;aq=$clone(an.Rect,F.Rectangle);g=ao;h=ap;F.Rectangle.copy(i,aq);j=4;}else if($assertType(k,AR,true)[1]){ar=k.$val;f=$assertType(b,AR).Pix;as=ar.Pix;at=ar.Stride;au=$clone(ar.Rect,F.Rectangle);g=as;h=at;F.Rectangle.copy(i,au);j=8;}av=0;ax=b.Bounds();$s=1;case 1:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=$clone(ax,F.Rectangle);ay=av;az=$clone(aw,F.Rectangle);ba=az.Min.Y;while(true){if(!(ba<az.Max.Y)){break;}bb=($imul((((($imul(ba,e.yFactor))+e.yOffset>>0)-i.Min.Y>>0)),h))+($imul(((e.xOffset-i.Min.X>>0)),j))>>0;bc=az.Min.X;while(true){if(!(bc<az.Max.X)){break;}bd=bb+($imul(($imul(bc,e.xFactor)),j))>>0;$copySlice($subslice(g,bd),$subslice(f,ay,(ay+j>>0)));ay=ay+(j)>>0;bc=bc+(1)>>0;}ba=ba+(1)>>0;}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.mergePassInto};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.mergePassInto=function(a,b,c){return this.$val.mergePassInto(a,b,c);};Q.ptr.prototype.parseIDAT=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$ifaceNil;c=this;c.idatLength=a;e=c.decode();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;c.img=d[0];b=d[1];if(!($interfaceIsEqual(b,$ifaceNil))){b=b;return b;}f=c.verifyChecksum();$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b=f;$s=3;case 3:return b;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parseIDAT};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parseIDAT=function(a){return this.$val.parseIDAT(a);};Q.ptr.prototype.parseIEND=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((a===0))){return new R("bad IEND length");}c=b.verifyChecksum();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parseIEND};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parseIEND=function(a){return this.$val.parseIEND(a);};Q.ptr.prototype.parseChunk=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=H.ReadFull(a.r,$subslice(new AK(a.tmp),0,8));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=B.BigEndian.Uint32($subslice(new AK(a.tmp),0,4));$r=a.crc.Reset();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=a.crc.Write($subslice(new AK(a.tmp),4,8));$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=$bytesToString($subslice(new AK(a.tmp),4,8));if(h==="IHDR"){$s=4;continue;}if(h==="PLTE"){$s=5;continue;}if(h==="tRNS"){$s=6;continue;}if(h==="IDAT"){$s=7;continue;}if(h==="IEND"){$s=8;continue;}$s=9;continue;case 4:if(!((a.stage===0))){return new R(S);}a.stage=1;i=a.parseIHDR(f);$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=11;case 11:return i;case 5:if(!((a.stage===1))){return new R(S);}a.stage=2;j=a.parsePLTE(f);$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=13;case 13:return j;case 6:if(!((a.stage===2))){return new R(S);}a.stage=3;k=a.parsetRNS(f);$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=15;case 15:return k;case 7:if(a.stage<1||a.stage>4||((a.stage===1)&&N(a.cb))){return new R(S);}a.stage=4;l=a.parseIDAT(f);$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=17;case 17:return l;case 8:if(!((a.stage===4))){return new R(S);}a.stage=5;m=a.parseIEND(f);$s=18;case 18:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=19;case 19:return m;case 9:n=AV.zero();case 20:if(!(f>0)){$s=21;continue;}p=H.ReadFull(a.r,$subslice(new AK(n),0,U(4096,(f>>0))));$s=22;case 22:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;d=o[0];e=o[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}q=a.crc.Write($subslice(new AK(n),0,d));$s=23;case 23:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}q;f=f-((d>>>0))>>>0;$s=20;continue;case 21:r=a.verifyChecksum();$s=24;case 24:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}$s=25;case 25:return r;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.parseChunk};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.parseChunk=function(){return this.$val.parseChunk();};Q.ptr.prototype.verifyChecksum=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=H.ReadFull(a.r,$subslice(new AK(a.tmp),0,4));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return d;case 3:e=a.crc.Sum32();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!((B.BigEndian.Uint32($subslice(new AK(a.tmp),0,4))===e))){$s=4;continue;}$s=5;continue;case 4:return new R("invalid checksum");case 5:return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.verifyChecksum};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.verifyChecksum=function(){return this.$val.verifyChecksum();};Q.ptr.prototype.checkHeader=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=H.ReadFull(a.r,$subslice(new AK(a.tmp),0,8));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}if(!($bytesToString($subslice(new AK(a.tmp),0,8))==="\x89PNG\r\n\x1A\n")){return new R("not a PNG file");}return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.checkHeader};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.checkHeader=function(){return this.$val.checkHeader();};V=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new Q.ptr(a,$ifaceNil,E.NewIEEE(),0,0,0,G.Palette.nil,0,0,0,AW.zero(),0);c=b.checkHeader();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:if($interfaceIsEqual(d,H.EOF)){d=H.ErrUnexpectedEOF;}return[$ifaceNil,d];case 3:case 4:if(!(!((b.stage===5)))){$s=5;continue;}e=b.parseChunk();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:if($interfaceIsEqual(f,H.EOF)){f=H.ErrUnexpectedEOF;}return[$ifaceNil,f];case 8:$s=4;continue;case 5:return[b.img,$ifaceNil];}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Decode=V;W=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new Q.ptr(a,$ifaceNil,E.NewIEEE(),0,0,0,G.Palette.nil,0,0,0,AW.zero(),0);c=b.checkHeader();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:if($interfaceIsEqual(d,H.EOF)){d=H.ErrUnexpectedEOF;}return[new F.Config.ptr($ifaceNil,0,0),d];case 3:case 4:e=b.parseChunk();$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){$s=7;continue;}$s=8;continue;case 7:if($interfaceIsEqual(f,H.EOF)){f=H.ErrUnexpectedEOF;}return[new F.Config.ptr($ifaceNil,0,0),f];case 8:g=N(b.cb);if((b.stage===1)&&!g){$s=5;continue;}if((b.stage===2)&&g){$s=5;continue;}$s=4;continue;case 5:h=$ifaceNil;i=b.cb;if(i===1||i===2||i===3||i===4){h=G.GrayModel;}else if(i===5){h=G.NRGBAModel;}else if(i===6){h=G.RGBAModel;}else if(i===7||i===8||i===9||i===10){h=b.palette;}else if(i===11){h=G.NRGBAModel;}else if(i===12){h=G.Gray16Model;}else if(i===13){h=G.NRGBA64Model;}else if(i===14){h=G.RGBA64Model;}else if(i===15){h=G.NRGBA64Model;}return[new F.Config.ptr(h,b.width,b.height),$ifaceNil];}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DecodeConfig=W;X=function(){var $ptr;F.RegisterFormat("png","\x89PNG\r\n\x1A\n",V,W);};BD.methods=[{prop:"parseIHDR",name:"parseIHDR",pkg:"image/png",typ:$funcType([$Uint32],[$error],false)},{prop:"parsePLTE",name:"parsePLTE",pkg:"image/png",typ:$funcType([$Uint32],[$error],false)},{prop:"parsetRNS",name:"parsetRNS",pkg:"image/png",typ:$funcType([$Uint32],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AK],[$Int,$error],false)},{prop:"decode",name:"decode",pkg:"image/png",typ:$funcType([],[F.Image,$error],false)},{prop:"readImagePass",name:"readImagePass",pkg:"image/png",typ:$funcType([H.Reader,$Int,$Bool],[F.Image,$error],false)},{prop:"mergePassInto",name:"mergePassInto",pkg:"image/png",typ:$funcType([F.Image,F.Image,$Int],[],false)},{prop:"parseIDAT",name:"parseIDAT",pkg:"image/png",typ:$funcType([$Uint32],[$error],false)},{prop:"parseIEND",name:"parseIEND",pkg:"image/png",typ:$funcType([$Uint32],[$error],false)},{prop:"parseChunk",name:"parseChunk",pkg:"image/png",typ:$funcType([],[$error],false)},{prop:"verifyChecksum",name:"verifyChecksum",pkg:"image/png",typ:$funcType([],[$error],false)},{prop:"checkHeader",name:"checkHeader",pkg:"image/png",typ:$funcType([],[$error],false)}];R.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];T.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];O.init([{prop:"xFactor",name:"xFactor",pkg:"image/png",typ:$Int,tag:""},{prop:"yFactor",name:"yFactor",pkg:"image/png",typ:$Int,tag:""},{prop:"xOffset",name:"xOffset",pkg:"image/png",typ:$Int,tag:""},{prop:"yOffset",name:"yOffset",pkg:"image/png",typ:$Int,tag:""}]);Q.init([{prop:"r",name:"r",pkg:"image/png",typ:H.Reader,tag:""},{prop:"img",name:"img",pkg:"image/png",typ:F.Image,tag:""},{prop:"crc",name:"crc",pkg:"image/png",typ:D.Hash32,tag:""},{prop:"width",name:"width",pkg:"image/png",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"image/png",typ:$Int,tag:""},{prop:"depth",name:"depth",pkg:"image/png",typ:$Int,tag:""},{prop:"palette",name:"palette",pkg:"image/png",typ:G.Palette,tag:""},{prop:"cb",name:"cb",pkg:"image/png",typ:$Int,tag:""},{prop:"stage",name:"stage",pkg:"image/png",typ:$Int,tag:""},{prop:"idatLength",name:"idatLength",pkg:"image/png",typ:$Uint32,tag:""},{prop:"tmp",name:"tmp",pkg:"image/png",typ:AW,tag:""},{prop:"interlace",name:"interlace",pkg:"image/png",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=I.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}P=new AJ([new O.ptr(8,8,0,0),new O.ptr(8,8,4,0),new O.ptr(4,8,0,4),new O.ptr(4,4,2,0),new O.ptr(2,4,0,2),new O.ptr(2,2,1,0),new O.ptr(1,2,0,1)]);S="chunk out of order";X();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["path"]=(function(){var $pkg={},$init,A,B,C;A=$packages["errors"];B=$packages["strings"];C=$packages["unicode/utf8"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrBadPattern=A.New("syntax error in pattern");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/ebitenutil/internal/assets"]=(function(){var $pkg={},$init,A,D,B,C,E,F,G,H,I,J,L,M,AA,AB,AC,AD,N,T,K,O,P,Q;A=$packages["bytes"];D=$packages["fmt"];B=$packages["image"];C=$packages["image/png"];E=$packages["io/ioutil"];F=$packages["os"];G=$packages["path"];H=$packages["path/filepath"];I=$packages["strings"];J=$packages["time"];L=$pkg.asset=$newType(0,$kindStruct,"assets.asset","asset","github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",function(bytes_,info_){this.$val=this;if(arguments.length===0){this.bytes=AA.nil;this.info=$ifaceNil;return;}this.bytes=bytes_;this.info=info_;});M=$pkg.bindata_file_info=$newType(0,$kindStruct,"assets.bindata_file_info","bindata_file_info","github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",function(name_,size_,mode_,modTime_){this.$val=this;if(arguments.length===0){this.name="";this.size=new $Int64(0,0);this.mode=0;this.modTime=new J.Time.ptr(new $Int64(0,0),0,AC.nil);return;}this.name=name_;this.size=size_;this.mode=mode_;this.modTime=modTime_;});AA=$sliceType($Uint8);AB=$ptrType(L);AC=$ptrType(J.Location);AD=$sliceType($emptyInterface);K=function(){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=Q("text.png");$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}a=b;c=a[0];d=a[1];if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}f=B.Decode(A.NewBuffer(c));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];d=e[2];if(!($interfaceIsEqual(d,$ifaceNil))){return[$ifaceNil,d];}return[g,$ifaceNil];}return;}if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TextImage=K;M.ptr.prototype.Name=function(){var $ptr,a;a=$clone(this,M);return a.name;};M.prototype.Name=function(){return this.$val.Name();};M.ptr.prototype.Size=function(){var $ptr,a;a=$clone(this,M);return a.size;};M.prototype.Size=function(){return this.$val.Size();};M.ptr.prototype.Mode=function(){var $ptr,a;a=$clone(this,M);return a.mode;};M.prototype.Mode=function(){return this.$val.Mode();};M.ptr.prototype.ModTime=function(){var $ptr,a;a=$clone(this,M);return a.modTime;};M.prototype.ModTime=function(){return this.$val.ModTime();};M.ptr.prototype.IsDir=function(){var $ptr,a;a=$clone(this,M);return false;};M.prototype.IsDir=function(){return this.$val.IsDir();};M.ptr.prototype.Sys=function(){var $ptr,a;a=$clone(this,M);return $ifaceNil;};M.prototype.Sys=function(){return this.$val.Sys();};O=function(){var $ptr;return[N,$ifaceNil];};P=function(){var $ptr,a,b,c,d,e;a=O();b=a[0];c=a[1];if(!($interfaceIsEqual(c,$ifaceNil))){return[AB.nil,c];}d=new M.ptr("text.png",new $Int64(0,2058),420,$clone(J.Unix(new $Int64(0,1420820510),new $Int64(0,0)),J.Time));e=new L.ptr(b,new d.constructor.elem(d));return[e,$ifaceNil];};Q=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=I.Replace(a,"\\","/",-1);c=(d=T[$String.keyFor(b)],d!==undefined?[d.v,true]:[$throwNilPointerError,false]);e=c[0];f=c[1];if(f){$s=1;continue;}$s=2;continue;case 1:h=e();$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];if(!($interfaceIsEqual(j,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:k=D.Errorf("Asset %s can't read by error: %v",new AD([new $String(a),j]));$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=7;case 7:return[AA.nil,k];case 5:return[i.bytes,$ifaceNil];case 2:l=D.Errorf("Asset %s not found",new AD([new $String(a)]));$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=9;case 9:return[AA.nil,l];}return;}if($f===undefined){$f={$blk:Q};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Asset=Q;M.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[F.FileMode],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[J.Time],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}];L.init([{prop:"bytes",name:"bytes",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:AA,tag:""},{prop:"info",name:"info",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:F.FileInfo,tag:""}]);M.init([{prop:"name",name:"name",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:$String,tag:""},{prop:"size",name:"size",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:$Int64,tag:""},{prop:"mode",name:"mode",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:F.FileMode,tag:""},{prop:"modTime",name:"modTime",pkg:"github.com/hajimehoshi/ebiten/ebitenutil/internal/assets",typ:J.Time,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}N=new AA($stringToBytes("\x89PNG\r\n\x1A\n\x00\x00\x00\rIHDR\x00\x00\x00\xC0\x00\x00\x00\x80\b\x03\x00\x00\x00jZ\x96Y\x00\x00\x00\x06PLTE\x00\x00\x00\xFF\xFF\xFF\xA5\xD9\x9F\xDD\x00\x00\x00\x01tRNS\x00@\xE6\xD8f\x00\x00\x07\xB2IDATx\x9C\xEC\x1C\x89v#!\b\xF2\xE6\xFF\x7F\x99MT\xE4\xF4\x984m\x8E\r\xBB\xB5\x13\x83\x1C\xE2\x01\x8C\xF6\x02o\x0E_\x05n\x80\x83\x9AX?j\x1B\xF1w\xDA\xDE\xE0\x02x\x05iu\xFD\x87\xF5\xA1\xD4\xB7\xB2}\x8B\x86<\xB6\xF2\xB9`,\x80t\xFB\xD7>\xD0\x15J)\xDF\x92\xD5\xE0/`\xD0G\xD2\x97\x87\xAE.\xF2\xA3\xB2g\x11\x9E|c\xAA\xA8\xFB\x12D\x1A\xBB\x90\xF0\xBA}\xB8\xFEp\xDDa\xEB\xD9\x06\xA8x2\xEAU5E\xA8Yc\xA9\xC7\xBD\xA2k\xEAYoq\r+\x807\xE4f\x01C\xA2\x97T\xDB\xE0\xED\x7F\xED\x17~\xDA\x91\xC40\xDD\x05\x19\xCEM\xACR\xA2\xEBZ3Yqcp\x8F\xD6\x9CX\xF3\xE3U\b\xD5\x07\x94\xAA\xB6\xEE\x94\xB2Y\x80\xCA\x98Q\x16P\x1Asi\xD8R\xA7O\x9Dy\xAF#%\x11\x05a)\xD3\x00\x9Am\x1B\xF4QK\xC2\xAD\xE3P\xAB&e\x01QR\x9E\x9D\xEA)\xD7\xB8r\x9F]\xCBG\xAD\x10\x94\x00\x00v\xD5V\xE8}\x12\xB7\xE9.\xEBh\xEDJ\xB7\"=\x02N\xCD\x07bTLF\xC0\r\x0E[\xAD\xF7\x81V\xDE*\xC8\xB1\xFF\x912\xFB\x8D\x93\x01\xCC\xCA\xF4\xE5#\xD9\x07\x1C\x03Wa\xEC\xF3\x03\xD8\xB1\x03\xD9\x92T}\xDEpo\x15\x9A\x8B\xF4\xE09\xF0\xF9\xF0u\xA7\x9F\r\x1F\xA6\xC0b\x0E\x87\xCD\xE5\x05\xC0x\xA3\xFD\xB1|\x90\xC2:mg\xDC\xE9\xB2b\x83P\xEB{#U\xA2\xC93\xB2+\x12\x19\xF4=\xB6\xFE\xC6\xB8A\xA1\x0E\xB5\xD8\xBD\x13/%:^+CH\xFB\xC4EAcS\b\x02DbN\xD8\xDBO2\x07\x9AWz\xF5\xED\x8A{\xE7\tu\x1F\x1D\x9C\xDF\x94\xC9O\xFEA>\x1A\x93\xE7h\xAE\xB3\xE4K\xE5\xF3[\x05\xA8nr\xA47\xBD\x12'`\x1A\x9B\x11\xAE\x03\x1AP\xA6N\xE4T\x8EqB\xD3\x18\x84*bA\xA58\xC4P?*\xA2\\\xA0G4\xDE9\x8A<I\xE8\xAF\xAC\xD4)\xEB\xF1\x93y\xC0YM\x90\x17\x9D/d\xA0\xBAEm&\x0F:\xBA\x8E4\xD5e\tZ\bh\x81\x92\xB1\xA2Q\x8A\xCD5=Y5\xBAc\xA7V\x98H\xA1G\b\b\xBD\xAB\xDC\x04\x82V9p\xD2\xC1\x18Op\xF4d\xED\t\x9B\xB8P\xF8~\x9F\xF9K\xC9$\xAEs\x00{\xEF:\xE3\xA9h\x9E\x9D\xF5\xB6\xD4j%\xD3y\xAD\xE2\xB8\x92\xAF\x99\xCE\x9F\x9A[\x10\r\xF5\xCCE;\xA7\xBC~h\xBA\xAB\xADx\xDE\x04QB\xDFC\xDC\x1E\xFDl\xE1i\"3M\x82B\xA9Ix\x8D~\x9F\x85|\xE5\x9C,\xDB?\x84\x87\x11zI\xF80g\xEE\r\xE1\xAB\xC0\xB3a\xBC\x13\xBF\x0Eh\xBF\x07\xD5F\\\xE0\xD0U\xC5MjH(\x19B\xCE\xCC \xA7\x89\xC4\xCBg7\x03U\x12\x90k:\x1DM\xD3<\x03i|\x95\x1B\xE7\xB2\xF2\xD5\"Ss\xECL\xB6\xD1\xFD\xF4\x12\xE3V\xEE\x1D\xAF\x80\x89\xED?\xA0\xA7\x06\xDE\xD7\x8F\x1C1\xE0X\x17CW\xF0\xE7K\xDB\xF4\x9C\xC7@\xD2\xF3\x10\xEA\x03\x18O\x9D\xF2\x96;t\x1A\xD3\xEA\xCC\xB9\xBC\xAE&I\x8A\xC2eJm\x0F\x8CSH\x81\xDD\xEF\x82\x9D\xC4\x98\x85\t\x12\xA1\xCA\xE0]\x02aF\x13k\x12\xDFs1\tM\xD21w\xB0\xEDH\x01\x0E\"\xC1\xFB\xD8\xC6\xED3S[\xC8\xCF\x03|\xB2\x92\xC2V<`\x19\xCC\xE0\x02m\xF1\xA1\x1F\f\xA4\xFD\x013\xC3L\x12\xCB\x1Bm/\xB9\xECu\xE2o\xEBtJ\x83\x04\xD7v:9\vO\xE1\xA0\xD1\x18E\x1E\xF6\xF2\xBEG\xB5\xE3\xB5\xC2\xB4\xB5C[\x7F\xBB\xF3\x9C\x80\xA5\x99\x1A\xE8\xEF|\xED}{\x86\x96\xB2i\xEA%\x81\xB7\xB9?\x03\xFC\xEC\xC0\xE4^x{o\xF4\xAB\xC0\xB3\xE1r\xEF:\x84\xE6\xD7/\x83\xE4\xB6\x13~\x98>\x86\xAF\xC6\xB9\x18t\x18\xBBB\x9DEU\xA5\xCAS]\xF6vQ\\{\x1A\x7F\xB8\"\xAB\xE3Bo\x11R\x06\xD0I\xC9\xA3g6\xC5m\xD6.g\xE2,\xA08\x1A\xFD\x17\x19\x14$L\xC2\xC8z\xEAG\xEA\xB1\x07\xA8\xAB\x90r\x13&A\xA0\xCE$\xDB\x90\xAE\x07\x8F\xA0\x03\xC3QH\xA9\xEA%P\xB4!e\x8FQ;\x02\xDA\xF5\xC2\xCD\xB5\x03\xCC\xB7\f\xA6\xD7\xCD\x1B\x80\xC9\xBB\xB7\xA4y\xAC\xDF\fh\x14i\xC3=0;\xA4:\x9D\xCC;\x06\xDC>\x00(47[l\xA0\r&q\xA6\xF3x\xB9\x9Aj\xD0]\xF4H\xBB\xBFt)\x04\xF4\x04\xA0\xED\x80\xE40\xC2\xA9x@N\x9B\x89qMrCS\xA7\xEC\x8DOkK\xBE-\xD7c\xE5\xE2O\x19\xD6W\xA3\xD4\xE7\xC9\xE3\x96g\x9D\x8D1\x95\xCBV\x9B\xA8c^\x93\x9D\xF8$U\x9AWd\x8D\xCED\xE8\xE7H\x7F\x06|\x807\xFA\xE6\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0U\xE0\xD9\xF0\xBF(\xC0I\xED;\x00Cv\x01\xCD\x99\xCAGq49x\xD4\xB5\xEA\xA7f*\xFB\xDDK9\xB4\xEDr;\xFD~\xA6dA\x01\xD43\xBA6\xE6\xC4\xB5\x88`\x9A\x9B\xD7\x03\xC3\x1E@\xC3'(\x00^\xB1(\v8l\xB4(ir\x07\xD1\xBF\xBF7)`e\x8C\xBC\xC3,%\x937\x06}\x8A\x17#\xA6\x9C\xB2N\xE8\xF0\xB3b\x99\xF3\x8F\n\x18\x9Bk\xEEc2,\x88\x98Y\xCB\x16\xC4L\x944\xC4\xA2\x88\x88\xD1\xC0L\x17\xE3\x9D\r\xDD\xED\xDE\xE0\xFACH\xEE\xF2\xAB\x07hw4P]\xA6\xF4I\\N\xC1\xF6\xDCv\xA9H\xD2\xA4\xFC*\x038\x1F\xEA\xB9\xB2\xDA\xA1Yc\xAB\xEF\xF3\x94\x8B\x94\x18R\xDC\xAE\xBB3\xCB\xC5\x13\xE0\x00\xA6\x1EC\r\xA4\r<WH,P\xBE\xB5\xA3@\x9B\xA3\x9Bq\xF2\x8E\xAC\x0F\x109Z\xA2\x93\xEE\xFD\xE4\xE1\xF2\xA0Om<\xFD\x12S\x1C>\xE2\xC1\xB70z]?\xE1\xA7/\xB3\x94\xA2-\x8E\xE0\xD7\x9E\xD8\xC5\x10f\x84\xFD8Z'\x02f\xBE\fxr\xDD\x1C\xD0\x17\x8F\xDA\xCEZ@N|R;\x1B\xA6\xE9P j\xDA\r\xBF\xE5\x8A\xCC\b\xE1\xFD\x80g\x04\xEA\xC4h}\x1F\xC2\xB7^\x16g\x8D\x12\x01~\xE1\xBCLF\xF1\xF1\\~\x11\x12a\xDFJ\xFE\x07\xC0\xFF\xE2\x8D\xBE.|\x82\x02z\x8D\xE7+P\xE8\xF6?\r\x11\xDF\xF8z\xA1\x1E\x00\xFC^;\xE0\xA59\f\xA9a\xB2c\xEB\x82\xCF:\x80\xF2h\x93\xFB_\xDA/C\x98\xD4\xB3\x17\x97\xB7\xC5L\xD5)\x97\xFDM\x12@\xB3\xB9\xA3\xA9\xA6p\x0E}\x85\xEF\xFE8\x8C>'\x1EJ\xE7:\xF6\x9B\x17\xA1\x04\xCC\x0E\xEC\xF4c8\xBC\xC3\xE78\br7\xA48:\xF6\x18\x8E/A=\xAF\x0F<\xE5\x1EVR\xAAc\xF3\xE6\b}\xD7`!\xD6\x96O\x18\xE0\xD2<\xBBEy\xBF\x1B\x11or\x0Ea\xC7\xA75\xD7\xA5o\xF7\xB4\xF7\x8E\x9C\x91u[\xC7Ce\xDCtC\x83}\v \x1F#\xB9\x0E\xA1\x1As\xCDK+\xD1\xA0\\\xC1R\x83vNeE\xC5\xB9\xC9\xC7dVI\xA9\x99\xFC\x1A4\xC9N\xB2\xD8=\xB5X\xFE0\x94\x1C\xDFK\xCB\x16\xF6\xDA\x92#\xEC\"\"\xDA\xF3H\xB6d\x1C\\\xE2t\x99\xCE\x9Eh\xF9\vOw\x9F\xC7yi^\xCCS\x7F1q\xEE\x85O\xF0F\xDF\x1B>A\x81_\x8E\x07\x9As|&\x1E\x98q\xD1\x8E\xB7EjE\x16\x0Fd\xB4w\xE3\x01h\xA9\xDB\xEDx`\xC1\x05!*0\x85\x9F&\x83\xC2\xAB\x8B\x19\xEE\x83\xF1\x1E\x05\xDB\xFCp\xB3\x81\xFE\xFEX;B\xE9\x1F\x8F\xCA\xCA\x9A\xF9\x8B%\x80\xB9Q0\xF6g\xA9I\xE7\xEF\x15\xF8\x12L\x00\xD45\x9A\x95\x12V\x8E\xCAqK\x80\xC9\x8D\x02]r\xCA\x16\x97\x98\xAA<6\xA4W3\x99\xC6\x98s\xD8\xF0\xBA$\xFC<3\xC6\x8F\xD4\x85t\xA5\xF1\xD3\xEF\x8D\x076\xE0\x1Eg\xFD\xE4%\xA0i\x02\xE01\xC0\xA4RK\xFBk\x02<\x94r\xFF\xBE\x97\x9B\x93x\x9DqXLb\x11\x0E\xB0\xFD\x815_\x02\x9C\xBD\xB3n:\xE7dg\xDE\x03s\x1Ez\xD7\xC3%\xF69\xDA\x7F\x03\xA8\xFF\xBC\xDEG\xDCP\xFE\x17\x00\x00\xFF\xFF!o0\xC6\x16:4\xA9\x00\x00\x00\x00IEND\xAEB`\x82"));T=$makeMap($String.keyFor,[{k:"text.png",v:P}]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/color/palette"]=(function(){var $pkg={},$init,A;A=$packages["image/color"];$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["compress/lzw"]=(function(){var $pkg={},$init,A,B,C,D,F,N,O,P,Q,R,S,V,G,L,H;A=$packages["bufio"];B=$packages["errors"];C=$packages["fmt"];D=$packages["io"];F=$pkg.decoder=$newType(0,$kindStruct,"lzw.decoder","decoder","compress/lzw",function(r_,bits_,nBits_,width_,read_,litWidth_,err_,clear_,eof_,hi_,overflow_,last_,suffix_,prefix_,output_,o_,toRead_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.bits=0;this.nBits=0;this.width=0;this.read=$throwNilPointerError;this.litWidth=0;this.err=$ifaceNil;this.clear=0;this.eof=0;this.hi=0;this.overflow=0;this.last=0;this.suffix=O.zero();this.prefix=P.zero();this.output=Q.zero();this.o=0;this.toRead=N.nil;return;}this.r=r_;this.bits=bits_;this.nBits=nBits_;this.width=width_;this.read=read_;this.litWidth=litWidth_;this.err=err_;this.clear=clear_;this.eof=eof_;this.hi=hi_;this.overflow=overflow_;this.last=last_;this.suffix=suffix_;this.prefix=prefix_;this.output=output_;this.o=o_;this.toRead=toRead_;});N=$sliceType($Uint8);O=$arrayType($Uint8,4096);P=$arrayType($Uint16,4096);Q=$arrayType($Uint8,8192);R=$ptrType(F);S=$sliceType($emptyInterface);V=$funcType([R],[$Uint16,$error],false);F.ptr.prototype.readLSB=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:if(!(a.nBits<a.width)){$s=2;continue;}c=a.r.ReadByte();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[0,e];}a.bits=(a.bits|(((f=a.nBits,f<32?((d>>>0)<<f):0)>>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;$s=1;continue;case 2:h=(((a.bits&((((g=a.width,g<32?(1<<g):0)>>>0)-1>>>0)))>>>0)<<16>>>16);a.bits=(i=(a.width),i<32?(a.bits>>>i):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[h,$ifaceNil];}return;}if($f===undefined){$f={$blk:F.ptr.prototype.readLSB};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.readLSB=function(){return this.$val.readLSB();};F.ptr.prototype.readMSB=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:if(!(a.nBits<a.width)){$s=2;continue;}c=a.r.ReadByte();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return[0,e];}a.bits=(a.bits|(((f=((24-a.nBits>>>0)),f<32?((d>>>0)<<f):0)>>>0)))>>>0;a.nBits=a.nBits+(8)>>>0;$s=1;continue;case 2:h=(((g=((32-a.width>>>0)),g<32?(a.bits>>>g):0)>>>0)<<16>>>16);a.bits=(i=(a.width),i<32?(a.bits<<i):0)>>>0;a.nBits=a.nBits-(a.width)>>>0;return[h,$ifaceNil];}return;}if($f===undefined){$f={$blk:F.ptr.prototype.readMSB};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.readMSB=function(){return this.$val.readMSB();};F.ptr.prototype.Read=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:if(b.toRead.$length>0){c=$copySlice(a,b.toRead);b.toRead=$subslice(b.toRead,c);return[c,$ifaceNil];}if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}$r=b.decode();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:F.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.Read=function(a){return this.$val.Read(a);};F.ptr.prototype.decode=function(){var $ptr,a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:c=a.read(a);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,D.EOF)){e=D.ErrUnexpectedEOF;}a.err=e;a.flush();return;}if(d<a.clear){(f=a.output,g=a.o,((g<0||g>=f.length)?$throwRuntimeError("index out of range"):f[g]=(d<<24>>>24)));a.o=a.o+(1)>>0;if(!((a.last===65535))){(h=a.suffix,i=a.hi,((i<0||i>=h.length)?$throwRuntimeError("index out of range"):h[i]=(d<<24>>>24)));(j=a.prefix,k=a.hi,((k<0||k>=j.length)?$throwRuntimeError("index out of range"):j[k]=a.last));}}else if(d===a.clear){a.width=1+(a.litWidth>>>0)>>>0;a.hi=a.eof;a.overflow=(l=a.width,l<32?(1<<l):0)<<16>>>16;a.last=65535;$s=1;continue;}else if(d===a.eof){a.flush();a.err=D.EOF;return;}else if(d<=a.hi){m=d;n=8191;o=m;p=n;if(d===a.hi){o=a.last;while(true){if(!(o>=a.clear)){break;}o=(q=a.prefix,((o<0||o>=q.length)?$throwRuntimeError("index out of range"):q[o]));}(r=a.output,((p<0||p>=r.length)?$throwRuntimeError("index out of range"):r[p]=(o<<24>>>24)));p=p-(1)>>0;o=a.last;}while(true){if(!(o>=a.clear)){break;}(t=a.output,((p<0||p>=t.length)?$throwRuntimeError("index out of range"):t[p]=(s=a.suffix,((o<0||o>=s.length)?$throwRuntimeError("index out of range"):s[o]))));p=p-(1)>>0;o=(u=a.prefix,((o<0||o>=u.length)?$throwRuntimeError("index out of range"):u[o]));}(v=a.output,((p<0||p>=v.length)?$throwRuntimeError("index out of range"):v[p]=(o<<24>>>24)));a.o=a.o+($copySlice($subslice(new N(a.output),a.o),$subslice(new N(a.output),p)))>>0;if(!((a.last===65535))){(w=a.suffix,x=a.hi,((x<0||x>=w.length)?$throwRuntimeError("index out of range"):w[x]=(o<<24>>>24)));(y=a.prefix,z=a.hi,((z<0||z>=y.length)?$throwRuntimeError("index out of range"):y[z]=a.last));}}else{a.err=B.New("lzw: invalid code");a.flush();return;}aa=d;ab=a.hi+1<<16>>>16;a.last=aa;a.hi=ab;if(a.hi>=a.overflow){if(a.width===12){a.last=65535;}else{a.width=a.width+(1)>>>0;a.overflow=(ac=(1),ac<32?(a.overflow<<ac):0)<<16>>>16;}}if(a.o>=4096){a.flush();return;}$s=1;continue;case 2:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:F.ptr.prototype.decode};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};F.prototype.decode=function(){return this.$val.decode();};F.ptr.prototype.flush=function(){var $ptr,a;a=this;a.toRead=$subslice(new N(a.output),0,a.o);a.o=0;};F.prototype.flush=function(){return this.$val.flush();};F.ptr.prototype.Close=function(){var $ptr,a;a=this;a.err=G;return $ifaceNil;};F.prototype.Close=function(){return this.$val.Close();};H=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new F.ptr($ifaceNil,0,0,0,$throwNilPointerError,0,$ifaceNil,0,0,0,0,0,O.zero(),P.zero(),Q.zero(),0,N.nil);e=b;if(e===0){d.read=$methodExpr(R,"readLSB");}else if(e===1){d.read=$methodExpr(R,"readMSB");}else{d.err=B.New("lzw: unknown order");return d;}if(c<2||8<c){$s=1;continue;}$s=2;continue;case 1:f=C.Errorf("lzw: litWidth %d out of range",new S([new $Int(c)]));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d.err=f;return d;case 2:g=$assertType(a,D.ByteReader,true);h=g[0];i=g[1];if(i){d.r=h;}else{d.r=A.NewReader(a);}d.litWidth=c;d.width=1+(c>>>0)>>>0;d.clear=(j=(c>>>0),j<32?(1<<j):0)<<16>>>16;k=d.clear+1<<16>>>16;l=d.clear+1<<16>>>16;d.eof=k;d.hi=l;d.overflow=(m=d.width,m<32?(1<<m):0)<<16>>>16;d.last=65535;return d;}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewReader=H;R.methods=[{prop:"readLSB",name:"readLSB",pkg:"compress/lzw",typ:$funcType([],[$Uint16,$error],false)},{prop:"readMSB",name:"readMSB",pkg:"compress/lzw",typ:$funcType([],[$Uint16,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([N],[$Int,$error],false)},{prop:"decode",name:"decode",pkg:"compress/lzw",typ:$funcType([],[],false)},{prop:"flush",name:"flush",pkg:"compress/lzw",typ:$funcType([],[],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)}];F.init([{prop:"r",name:"r",pkg:"compress/lzw",typ:D.ByteReader,tag:""},{prop:"bits",name:"bits",pkg:"compress/lzw",typ:$Uint32,tag:""},{prop:"nBits",name:"nBits",pkg:"compress/lzw",typ:$Uint,tag:""},{prop:"width",name:"width",pkg:"compress/lzw",typ:$Uint,tag:""},{prop:"read",name:"read",pkg:"compress/lzw",typ:V,tag:""},{prop:"litWidth",name:"litWidth",pkg:"compress/lzw",typ:$Int,tag:""},{prop:"err",name:"err",pkg:"compress/lzw",typ:$error,tag:""},{prop:"clear",name:"clear",pkg:"compress/lzw",typ:$Uint16,tag:""},{prop:"eof",name:"eof",pkg:"compress/lzw",typ:$Uint16,tag:""},{prop:"hi",name:"hi",pkg:"compress/lzw",typ:$Uint16,tag:""},{prop:"overflow",name:"overflow",pkg:"compress/lzw",typ:$Uint16,tag:""},{prop:"last",name:"last",pkg:"compress/lzw",typ:$Uint16,tag:""},{prop:"suffix",name:"suffix",pkg:"compress/lzw",typ:O,tag:""},{prop:"prefix",name:"prefix",pkg:"compress/lzw",typ:P,tag:""},{prop:"output",name:"output",pkg:"compress/lzw",typ:Q,tag:""},{prop:"o",name:"o",pkg:"compress/lzw",typ:$Int,tag:""},{prop:"toRead",name:"toRead",pkg:"compress/lzw",typ:N,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=B.New("lzw: reader/writer is closed");L=B.New("lzw: out of codes");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["image/gif"]=(function(){var $pkg={},$init,A,H,B,C,D,E,F,I,J,G,N,O,P,Q,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AV,AW,K,L,M,R,S,T,W,X;A=$packages["bufio"];H=$packages["bytes"];B=$packages["compress/lzw"];C=$packages["errors"];D=$packages["fmt"];E=$packages["image"];F=$packages["image/color"];I=$packages["image/color/palette"];J=$packages["image/draw"];G=$packages["io"];N=$pkg.reader=$newType(8,$kindInterface,"gif.reader","reader","image/gif",null);O=$pkg.decoder=$newType(0,$kindStruct,"gif.decoder","decoder","image/gif",function(r_,vers_,width_,height_,loopCount_,delayTime_,backgroundIndex_,disposalMethod_,imageFields_,transparentIndex_,hasTransparentIndex_,globalColorTable_,delay_,disposal_,image_,tmp_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.vers="";this.width=0;this.height=0;this.loopCount=0;this.delayTime=0;this.backgroundIndex=0;this.disposalMethod=0;this.imageFields=0;this.transparentIndex=0;this.hasTransparentIndex=false;this.globalColorTable=F.Palette.nil;this.delay=AO.nil;this.disposal=AJ.nil;this.image=AP.nil;this.tmp=AQ.zero();return;}this.r=r_;this.vers=vers_;this.width=width_;this.height=height_;this.loopCount=loopCount_;this.delayTime=delayTime_;this.backgroundIndex=backgroundIndex_;this.disposalMethod=disposalMethod_;this.imageFields=imageFields_;this.transparentIndex=transparentIndex_;this.hasTransparentIndex=hasTransparentIndex_;this.globalColorTable=globalColorTable_;this.delay=delay_;this.disposal=disposal_;this.image=image_;this.tmp=tmp_;});P=$pkg.blockReader=$newType(0,$kindStruct,"gif.blockReader","blockReader","image/gif",function(r_,slice_,err_,tmp_){this.$val=this;if(arguments.length===0){this.r=$ifaceNil;this.slice=AJ.nil;this.err=$ifaceNil;this.tmp=AM.zero();return;}this.r=r_;this.slice=slice_;this.err=err_;this.tmp=tmp_;});Q=$pkg.interlaceScan=$newType(0,$kindStruct,"gif.interlaceScan","interlaceScan","image/gif",function(skip_,start_){this.$val=this;if(arguments.length===0){this.skip=0;this.start=0;return;}this.skip=skip_;this.start=start_;});AI=$sliceType(Q);AJ=$sliceType($Uint8);AK=$sliceType(F.Color);AL=$sliceType($emptyInterface);AM=$arrayType($Uint8,256);AN=$ptrType(E.Paletted);AO=$sliceType($Int);AP=$sliceType(AN);AQ=$arrayType($Uint8,1024);AV=$ptrType(O);AW=$ptrType(P);P.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(a.$length===0){return[0,$ifaceNil];}if(b.slice.$length===0){$s=1;continue;}$s=2;continue;case 1:c=0;e=b.r.ReadByte();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;c=d[0];b.err=d[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){return[0,b.err];}if(c===0){b.err=G.EOF;return[0,b.err];}b.slice=$subslice(new AJ(b.tmp),0,c);g=G.ReadFull(b.r,b.slice);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;b.err=f[1];if(!($interfaceIsEqual(b.err,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:return[0,b.err];case 6:case 2:h=$copySlice(a,b.slice);b.slice=$subslice(b.slice,h);return[h,$ifaceNil];}return;}if($f===undefined){$f={$blk:P.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.Read=function(a){return this.$val.Read(a);};O.ptr.prototype.decode=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;d=$assertType(a,N,true);e=d[0];f=d[1];if(f){c.r=e;}else{c.r=A.NewReader(a);}g=c.readHeaderAndScreenDescriptor();$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(!($interfaceIsEqual(h,$ifaceNil))){return h;}if(b){return $ifaceNil;}case 2:j=c.r.ReadByte();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(!($interfaceIsEqual(l,$ifaceNil))){return l;}m=k;if(m===33){$s=5;continue;}if(m===44){$s=6;continue;}if(m===59){$s=7;continue;}$s=8;continue;case 5:n=c.readExtension();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;if(!($interfaceIsEqual(l,$ifaceNil))){$s=11;continue;}$s=12;continue;case 11:return l;case 12:$s=9;continue;case 6:p=c.newImageFromDescriptor();$s=13;case 13:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;q=o[0];r=o[1];if(!($interfaceIsEqual(r,$ifaceNil))){return r;}s=!((((c.imageFields&128)>>>0)===0));if(s){$s=14;continue;}$s=15;continue;case 14:u=c.readColorTable(c.imageFields);$s=17;case 17:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;q.Palette=t[0];r=t[1];if(!($interfaceIsEqual(r,$ifaceNil))){return r;}$s=16;continue;case 15:if(c.globalColorTable===F.Palette.nil){return C.New("gif: no color table");}q.Palette=c.globalColorTable;case 16:if(c.hasTransparentIndex&&(c.transparentIndex>>0)<q.Palette.$length){if(!s){q.Palette=$appendSlice(F.Palette.nil,(v=c.globalColorTable,$subslice(new AK(v.$array),v.$offset,v.$offset+v.$length)));}(x=q.Palette,y=c.transparentIndex,((y<0||y>=x.$length)?$throwRuntimeError("index out of range"):x.$array[x.$offset+y]=(w=new F.RGBA.ptr(0,0,0,0),new w.constructor.elem(w))));}aa=c.r.ReadByte();$s=18;case 18:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;ab=z[0];r=z[1];if(!($interfaceIsEqual(r,$ifaceNil))){return r;}if(ab<2||ab>8){$s=19;continue;}$s=20;continue;case 19:ac=D.Errorf("gif: pixel size in decode out of range: %d",new AL([new $Uint8(ab)]));$s=21;case 21:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$s=22;case 22:return ac;case 20:ad=new P.ptr(c.r,AJ.nil,$ifaceNil,AM.zero());ae=B.NewReader(ad,0,(ab>>0));$s=23;case 23:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=ae;$deferred.push([$methodVal(af,"Close"),[]]);ah=G.ReadFull(af,q.Pix);$s=24;case 24:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ag=ah;r=ag[1];if(!($interfaceIsEqual(r,$ifaceNil))){$s=25;continue;}$s=26;continue;case 25:if(!($interfaceIsEqual(r,G.ErrUnexpectedEOF))){return r;}return K;case 26:aj=af.Read($subslice(new AJ(c.tmp),0,1));$s=27;case 27:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}ai=aj;ak=ai[0];al=ai[1];if(!((ak===0))||(!($interfaceIsEqual(al,G.EOF))&&!($interfaceIsEqual(al,G.ErrUnexpectedEOF)))){$s=28;continue;}$s=29;continue;case 28:if(!($interfaceIsEqual(al,$ifaceNil))){return al;}return L;case 29:an=ad.Read($subslice(new AJ(c.tmp),0,1));$s=30;case 30:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}am=an;ao=am[0];ap=am[1];if(!((ao===0))||!($interfaceIsEqual(ap,G.EOF))){$s=31;continue;}$s=32;continue;case 31:if(!($interfaceIsEqual(ap,$ifaceNil))){return ap;}return L;case 32:if(q.Palette.$length<256){aq=q.Pix;ar=0;while(true){if(!(ar<aq.$length)){break;}as=((ar<0||ar>=aq.$length)?$throwRuntimeError("index out of range"):aq.$array[aq.$offset+ar]);if((as>>0)>=q.Palette.$length){return M;}ar++;}}if(!((((c.imageFields&64)>>>0)===0))){S(q);}c.image=$append(c.image,q);c.delay=$append(c.delay,c.delayTime);c.disposal=$append(c.disposal,c.disposalMethod);c.delayTime=0;c.hasTransparentIndex=false;$s=9;continue;case 7:if(c.image.$length===0){return G.ErrUnexpectedEOF;}return $ifaceNil;case 8:at=D.Errorf("gif: unknown block type: 0x%.2x",new AL([new $Uint8(k)]));$s=33;case 33:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}$s=34;case 34:return at;case 9:$s=2;continue;case 3:$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:O.ptr.prototype.decode};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};O.prototype.decode=function(a,b){return this.$val.decode(a,b);};O.ptr.prototype.readHeaderAndScreenDescriptor=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=G.ReadFull(a.r,$subslice(new AJ(a.tmp),0,13));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return d;}a.vers=$bytesToString($subslice(new AJ(a.tmp),0,6));if(!(a.vers==="GIF87a")&&!(a.vers==="GIF89a")){$s=2;continue;}$s=3;continue;case 2:e=D.Errorf("gif: can't recognize format %s",new AL([new $String(a.vers)]));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=5;case 5:return e;case 3:a.width=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.height=(a.tmp[8]>>0)+((a.tmp[9]>>0)<<8>>0)>>0;f=a.tmp[10];if(!((((f&128)>>>0)===0))){$s=6;continue;}$s=7;continue;case 6:a.backgroundIndex=a.tmp[11];h=a.readColorTable(f);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;a.globalColorTable=g[0];d=g[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:return d;case 10:case 7:return $ifaceNil;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.readHeaderAndScreenDescriptor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.readHeaderAndScreenDescriptor=function(){return this.$val.readHeaderAndScreenDescriptor();};O.ptr.prototype.readColorTable=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=(c=((1+(((a&7)>>>0)>>>0)>>>0)),c<32?(1<<c):0)>>0;f=G.ReadFull(b.r,$subslice(new AJ(b.tmp),0,($imul(3,d))));$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[1];if(!($interfaceIsEqual(g,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:h=D.Errorf("gif: short read on color table: %s",new AL([g]));$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=5;case 5:return[F.Palette.nil,h];case 3:i=0;j=$makeSlice(F.Palette,d);k=i;l=j;m=l;n=0;while(true){if(!(n<m.$length)){break;}o=n;((o<0||o>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+o]=(p=new F.RGBA.ptr((q=b.tmp,r=k+0>>0,((r<0||r>=q.length)?$throwRuntimeError("index out of range"):q[r])),(s=b.tmp,t=k+1>>0,((t<0||t>=s.length)?$throwRuntimeError("index out of range"):s[t])),(u=b.tmp,v=k+2>>0,((v<0||v>=u.length)?$throwRuntimeError("index out of range"):u[v])),255),new p.constructor.elem(p)));k=k+(3)>>0;n++;}return[l,$ifaceNil];}return;}if($f===undefined){$f={$blk:O.ptr.prototype.readColorTable};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.readColorTable=function(a){return this.$val.readColorTable(a);};O.ptr.prototype.readExtension=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.r.ReadByte();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=0;g=d;if(g===1){$s=2;continue;}if(g===249){$s=3;continue;}if(g===254){$s=4;continue;}if(g===255){$s=5;continue;}$s=6;continue;case 2:f=13;$s=7;continue;case 3:h=a.readGraphicControl();$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=9;case 9:return h;case 4:$s=7;continue;case 5:j=a.r.ReadByte();$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(!($interfaceIsEqual(l,$ifaceNil))){return l;}f=(k>>0);$s=7;continue;case 6:m=D.Errorf("gif: unknown extension 0x%.2x",new AL([new $Uint8(d)]));$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=12;case 12:return m;case 7:if(f>0){$s=13;continue;}$s=14;continue;case 13:o=G.ReadFull(a.r,$subslice(new AJ(a.tmp),0,f));$s=15;case 15:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n[1];if(!($interfaceIsEqual(p,$ifaceNil))){$s=16;continue;}$s=17;continue;case 16:return p;case 17:case 14:if((d===255)&&$bytesToString($subslice(new AJ(a.tmp),0,f))==="NETSCAPE2.0"){$s=18;continue;}$s=19;continue;case 18:r=a.readBlock();$s=20;case 20:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[0];t=q[1];if((s===0)||!($interfaceIsEqual(t,$ifaceNil))){return t;}if((s===3)&&(a.tmp[0]===1)){a.loopCount=(a.tmp[1]>>0)|((a.tmp[2]>>0)<<8>>0);}case 19:case 21:v=a.readBlock();$s=23;case 23:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}u=v;w=u[0];x=u[1];if((w===0)||!($interfaceIsEqual(x,$ifaceNil))){return x;}$s=21;continue;case 22:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:O.ptr.prototype.readExtension};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.readExtension=function(){return this.$val.readExtension();};O.ptr.prototype.readGraphicControl=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=G.ReadFull(a.r,$subslice(new AJ(a.tmp),0,6));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:e=D.Errorf("gif: can't read graphic control: %s",new AL([d]));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=5;case 5:return e;case 3:f=a.tmp[1];a.disposalMethod=(((f&28)>>>0))>>>2<<24>>>24;a.delayTime=(a.tmp[2]>>0)|((a.tmp[3]>>0)<<8>>0);if(!((((f&1)>>>0)===0))){a.transparentIndex=a.tmp[4];a.hasTransparentIndex=true;}return $ifaceNil;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.readGraphicControl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.readGraphicControl=function(){return this.$val.readGraphicControl();};O.ptr.prototype.newImageFromDescriptor=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=G.ReadFull(a.r,$subslice(new AJ(a.tmp),0,9));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:e=D.Errorf("gif: can't read image descriptor: %s",new AL([d]));$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=5;case 5:return[AN.nil,e];case 3:f=(a.tmp[0]>>0)+((a.tmp[1]>>0)<<8>>0)>>0;g=(a.tmp[2]>>0)+((a.tmp[3]>>0)<<8>>0)>>0;h=(a.tmp[4]>>0)+((a.tmp[5]>>0)<<8>>0)>>0;i=(a.tmp[6]>>0)+((a.tmp[7]>>0)<<8>>0)>>0;a.imageFields=a.tmp[8];j=$clone(E.Rect(f,g,f+h>>0,g+i>>0),E.Rectangle);if(!($equal(j,j.Intersect(E.Rect(0,0,a.width,a.height)),E.Rectangle))){return[AN.nil,C.New("gif: frame bounds larger than image bounds")];}return[E.NewPaletted(j,F.Palette.nil),$ifaceNil];}return;}if($f===undefined){$f={$blk:O.ptr.prototype.newImageFromDescriptor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.newImageFromDescriptor=function(){return this.$val.newImageFromDescriptor();};O.ptr.prototype.readBlock=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=a.r.ReadByte();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if((d===0)||!($interfaceIsEqual(e,$ifaceNil))){return[0,e];}f=G.ReadFull(a.r,$subslice(new AJ(a.tmp),0,d));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=3;case 3:return f;}return;}if($f===undefined){$f={$blk:O.ptr.prototype.readBlock};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};O.prototype.readBlock=function(){return this.$val.readBlock();};S=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=AJ.nil;c=a.Bounds().Dx();d=a.Bounds().Dy();b=$makeSlice(AJ,($imul(c,d)));e=0;f=R;g=0;while(true){if(!(g<f.$length)){break;}h=$clone(((g<0||g>=f.$length)?$throwRuntimeError("index out of range"):f.$array[f.$offset+g]),Q);i=$imul(h.start,c);j=h.start;while(true){if(!(j<d)){break;}$copySlice($subslice(b,i,(i+c>>0)),$subslice(a.Pix,e,(e+c>>0)));e=e+(c)>>0;i=i+(($imul(c,h.skip)))>>0;j=j+(h.skip)>>0;}g++;}a.Pix=b;};T=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new O.ptr($ifaceNil,"",0,0,0,0,0,0,0,0,false,F.Palette.nil,AO.nil,AJ.nil,AP.nil,AQ.zero());c=b.decode(a,false);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return[$ifaceNil,d];case 3:return[(e=b.image,(0>=e.$length?$throwRuntimeError("index out of range"):e.$array[e.$offset+0])),$ifaceNil];}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Decode=T;W=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new O.ptr($ifaceNil,"",0,0,0,0,0,0,0,0,false,F.Palette.nil,AO.nil,AJ.nil,AP.nil,AQ.zero());c=b.decode(a,true);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!($interfaceIsEqual(d,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return[new E.Config.ptr($ifaceNil,0,0),d];case 3:return[new E.Config.ptr(b.globalColorTable,b.width,b.height),$ifaceNil];}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DecodeConfig=W;X=function(){var $ptr;E.RegisterFormat("gif","GIF8?a",T,W);};AV.methods=[{prop:"decode",name:"decode",pkg:"image/gif",typ:$funcType([G.Reader,$Bool],[$error],false)},{prop:"readHeaderAndScreenDescriptor",name:"readHeaderAndScreenDescriptor",pkg:"image/gif",typ:$funcType([],[$error],false)},{prop:"readColorTable",name:"readColorTable",pkg:"image/gif",typ:$funcType([$Uint8],[F.Palette,$error],false)},{prop:"readExtension",name:"readExtension",pkg:"image/gif",typ:$funcType([],[$error],false)},{prop:"readGraphicControl",name:"readGraphicControl",pkg:"image/gif",typ:$funcType([],[$error],false)},{prop:"newImageFromDescriptor",name:"newImageFromDescriptor",pkg:"image/gif",typ:$funcType([],[AN,$error],false)},{prop:"readBlock",name:"readBlock",pkg:"image/gif",typ:$funcType([],[$Int,$error],false)}];AW.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([AJ],[$Int,$error],false)}];N.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([AJ],[$Int,$error],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)}]);O.init([{prop:"r",name:"r",pkg:"image/gif",typ:N,tag:""},{prop:"vers",name:"vers",pkg:"image/gif",typ:$String,tag:""},{prop:"width",name:"width",pkg:"image/gif",typ:$Int,tag:""},{prop:"height",name:"height",pkg:"image/gif",typ:$Int,tag:""},{prop:"loopCount",name:"loopCount",pkg:"image/gif",typ:$Int,tag:""},{prop:"delayTime",name:"delayTime",pkg:"image/gif",typ:$Int,tag:""},{prop:"backgroundIndex",name:"backgroundIndex",pkg:"image/gif",typ:$Uint8,tag:""},{prop:"disposalMethod",name:"disposalMethod",pkg:"image/gif",typ:$Uint8,tag:""},{prop:"imageFields",name:"imageFields",pkg:"image/gif",typ:$Uint8,tag:""},{prop:"transparentIndex",name:"transparentIndex",pkg:"image/gif",typ:$Uint8,tag:""},{prop:"hasTransparentIndex",name:"hasTransparentIndex",pkg:"image/gif",typ:$Bool,tag:""},{prop:"globalColorTable",name:"globalColorTable",pkg:"image/gif",typ:F.Palette,tag:""},{prop:"delay",name:"delay",pkg:"image/gif",typ:AO,tag:""},{prop:"disposal",name:"disposal",pkg:"image/gif",typ:AJ,tag:""},{prop:"image",name:"image",pkg:"image/gif",typ:AP,tag:""},{prop:"tmp",name:"tmp",pkg:"image/gif",typ:AQ,tag:""}]);P.init([{prop:"r",name:"r",pkg:"image/gif",typ:N,tag:""},{prop:"slice",name:"slice",pkg:"image/gif",typ:AJ,tag:""},{prop:"err",name:"err",pkg:"image/gif",typ:$error,tag:""},{prop:"tmp",name:"tmp",pkg:"image/gif",typ:AM,tag:""}]);Q.init([{prop:"skip",name:"skip",pkg:"image/gif",typ:$Int,tag:""},{prop:"start",name:"start",pkg:"image/gif",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}K=C.New("gif: not enough image data");L=C.New("gif: too much image data");M=C.New("gif: invalid pixel value");R=new AI([new Q.ptr(8,0),new Q.ptr(8,4),new Q.ptr(4,2),new Q.ptr(2,1)]);X();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/ebitenutil"]=(function(){var $pkg={},$init,L,M,N,O,A,B,F,C,G,H,I,J,D,E,K,P,Q,Y,Z,AA,AB,AC,AD,AE,AF,AL,AM,AN,AO,R,U,S,V,X;L=$packages["bytes"];M=$packages["errors"];N=$packages["fmt"];O=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil/internal/assets"];F=$packages["image"];C=$packages["image/color"];G=$packages["image/color/palette"];H=$packages["image/draw"];I=$packages["image/gif"];J=$packages["io"];D=$packages["math"];E=$packages["strings"];K=$packages["sync"];P=$pkg.debugPrintImageParts=$newType(8,$kindString,"ebitenutil.debugPrintImageParts","debugPrintImageParts","github.com/hajimehoshi/ebiten/ebitenutil",null);Q=$pkg.debugPrintState=$newType(0,$kindStruct,"ebitenutil.debugPrintState","debugPrintState","github.com/hajimehoshi/ebiten/ebitenutil",function(textImage_,debugPrintRenderTarget_){this.$val=this;if(arguments.length===0){this.textImage=Y.nil;this.debugPrintRenderTarget=Y.nil;return;}this.textImage=textImage_;this.debugPrintRenderTarget=debugPrintRenderTarget_;});Y=$ptrType(A.Image);Z=$arrayType($Float64,3);AA=$arrayType(Z,2);AB=$arrayType($Float64,5);AC=$arrayType(AB,4);AD=$sliceType(A.ImagePart);AE=$sliceType(C.Color);AF=$sliceType($Uint8);AL=$structType([]);AM=$sliceType($emptyInterface);AN=$funcType([],[],false);AO=$ptrType(Q);P.prototype.Len=function(){var $ptr,a;a=this.$val;return a.length;};$ptrType(P).prototype.Len=function(){return new P(this.$get()).Len();};P.prototype.Dst=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=0;c=0;d=0;e=0;f=this.$val;g=6;h=16;i=g;j=h;k=(a-E.LastIndex(f.substring(0,a),"\n")>>0)-1>>0;l=E.Count(f.substring(0,a),"\n");k=$imul(k,(i));l=$imul(l,(j));if(k<0){m=0;n=0;o=0;p=0;b=m;c=n;d=o;e=p;return[b,c,d,e];}q=k;r=l;s=k+i>>0;t=l+j>>0;b=q;c=r;d=s;e=t;return[b,c,d,e];};$ptrType(P).prototype.Dst=function(a){return new P(this.$get()).Dst(a);};P.prototype.Src=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;b=0;c=0;d=0;e=0;f=this.$val;g=6;h=16;i=g;j=h;k=(f.charCodeAt(a)>>0);if(k===10){l=0;m=0;n=0;o=0;b=l;c=m;d=n;e=o;return[b,c,d,e];}q=$imul(((p=k%32,p===p?p:$throwRuntimeError("integer divide by zero"))),i);s=$imul(((r=k/32,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"))),j);t=q;u=s;v=q+i>>0;w=s+j>>0;b=t;c=u;d=v;e=w;return[b,c,d,e];};$ptrType(P).prototype.Src=function(a){return new P(this.$get()).Src(a);};S=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=R.DebugPrint(a,b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=2;case 2:return c;}return;}if($f===undefined){$f={$blk:S};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.DebugPrint=S;Q.ptr.prototype.drawText=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;h=e.RGBA();$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];j=g[1];k=g[2];l=g[3];m=i/65535;n=j/65535;o=k/65535;p=l/65535;if(0<p){m=m/(p);n=n/(p);o=o/(p);}q=new A.DrawImageOptions.ptr(new P(b),new A.GeoM.ptr(false,AA.zero()),new A.ColorM.ptr(false,AC.zero()),AD.nil);q.GeoM.Translate((c+1>>0),d);q.ColorM.Scale(m,n,o,p);r=a.DrawImage(f.textImage,q);$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.drawText};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.drawText=function(a,b,c,d,e){return this.$val.drawText(a,b,c,d,e);};Q.ptr.prototype.DebugPrint=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.textImage===Y.nil){$s=1;continue;}$s=2;continue;case 1:e=B.TextImage();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;f=d[0];g=d[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}i=A.NewImageFromImage(f,0);$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;c.textImage=h[0];g=h[1];if(!($interfaceIsEqual(g,$ifaceNil))){return g;}case 2:if(c.debugPrintRenderTarget===Y.nil){$s=5;continue;}$s=6;continue;case 5:j=256;k=256;l=j;m=k;n=$ifaceNil;p=A.NewImage(l,m,0);$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;c.debugPrintRenderTarget=o[0];n=o[1];if(!($interfaceIsEqual(n,$ifaceNil))){return n;}case 6:$r=c.drawText(a,b,1,1,(q=new C.NRGBA.ptr(0,0,0,128),new q.constructor.elem(q)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.drawText(a,b,0,0,(r=new C.NRGBA.ptr(255,255,255,255),new r.constructor.elem(r)));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}return $ifaceNil;}return;}if($f===undefined){$f={$blk:Q.ptr.prototype.DebugPrint};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};Q.prototype.DebugPrint=function(a,b){return this.$val.DebugPrint(a,b);};V=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k;a=new AE([]);b=new AF([0,128,255]);c=0;while(true){if(!(c<b.$length)){break;}d=((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);e=new AF([0,128,255]);f=0;while(true){if(!(f<e.$length)){break;}g=((f<0||f>=e.$length)?$throwRuntimeError("index out of range"):e.$array[e.$offset+f]);h=new AF([0,128,255]);i=0;while(true){if(!(i<h.$length)){break;}j=((i<0||i>=h.$length)?$throwRuntimeError("index out of range"):h.$array[h.$offset+i]);a=$append(a,(k=new C.RGBA.ptr(d,g,j,255),new k.constructor.elem(k)));i++;}f++;}c++;}U=$subslice(new C.Palette(a.$array),a.$offset,a.$offset+a.$length);};X=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=[d];e=[e];f=[f];f[0]=$ifaceNil;e[0]=null;c[0]=new $Chan(AL,0);d[0]=new($global.XMLHttpRequest)();d[0].open($externalize("GET",$String),$externalize(a,$String),$externalize(true,$Bool));d[0].responseType=$externalize("arraybuffer",$String);d[0].addEventListener($externalize("load",$String),$externalize((function(c,d,e,f){return function $b(){var $ptr,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([function(g){$close(g);},[c[0]]]);h=$parseInt(d[0].status)>>0;if(200<=h&&h<400){e[0]=d[0].response;return;}i=N.Sprintf("http error: %d",new AM([new $Int(h)]));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=M.New(i);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}f[0]=j;$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};})(c,d,e,f),AN));d[0].addEventListener($externalize("error",$String),$externalize((function(c,d,e,f){return function $b(){var $ptr,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([function(g){$close(g);},[c[0]]]);h=N.Sprintf("XMLHttpRequest error: %s",new AM([new $String($internalize(d[0].statusText,$String))]));$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=M.New(h);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}f[0]=i;$s=-1;case-1:}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};})(c,d,e,f),AN));d[0].send();g=$recv(c[0]);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g[0];if(!($interfaceIsEqual(f[0],$ifaceNil))){return[Y.nil,$ifaceNil,f[0]];}h=$assertType($internalize(new($global.Uint8Array)(e[0]),$emptyInterface),AF);i=L.NewBuffer(h);k=F.Decode(i);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];f[0]=j[2];if(!($interfaceIsEqual(f[0],$ifaceNil))){return[Y.nil,$ifaceNil,f[0]];}n=A.NewImageFromImage(l,b);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];f[0]=m[1];if(!($interfaceIsEqual(f[0],$ifaceNil))){return[Y.nil,$ifaceNil,f[0]];}return[o,l,$ifaceNil];}return;}if($f===undefined){$f={$blk:X};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};$pkg.NewImageFromFile=X;P.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Dst",name:"Dst",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Src",name:"Src",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}];AO.methods=[{prop:"drawText",name:"drawText",pkg:"github.com/hajimehoshi/ebiten/ebitenutil",typ:$funcType([Y,$String,$Int,$Int,C.Color],[],false)},{prop:"DebugPrint",name:"DebugPrint",pkg:"",typ:$funcType([Y,$String],[$error],false)}];Q.init([{prop:"textImage",name:"textImage",pkg:"github.com/hajimehoshi/ebiten/ebitenutil",typ:Y,tag:""},{prop:"debugPrintRenderTarget",name:"debugPrintRenderTarget",pkg:"github.com/hajimehoshi/ebiten/ebitenutil",typ:Y,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=L.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=N.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=O.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}U=C.Palette.nil;R=new Q.ptr(Y.nil,Y.nil);V();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/examples/common"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,J,K,L,M,N,O,P,Q,R,S,I;A=$packages["github.com/hajimehoshi/ebiten"];B=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];C=$packages["image/color"];D=$packages["math"];E=$packages["path/filepath"];F=$packages["runtime"];G=$packages["strings"];H=$pkg.Font=$newType(0,$kindStruct,"common.Font","Font","github.com/hajimehoshi/ebiten/examples/common",function(image_,offset_,charNumPerLine_,charWidth_,charHeight_){this.$val=this;if(arguments.length===0){this.image=R.nil;this.offset=0;this.charNumPerLine=0;this.charWidth=0;this.charHeight=0;return;}this.image=image_;this.offset=offset_;this.charNumPerLine=charNumPerLine_;this.charWidth=charWidth_;this.charHeight=charHeight_;});J=$pkg.fontImageParts=$newType(0,$kindStruct,"common.fontImageParts","fontImageParts","github.com/hajimehoshi/ebiten/examples/common",function(str_,font_){this.$val=this;if(arguments.length===0){this.str="";this.font=K.nil;return;}this.str=str_;this.font=font_;});K=$ptrType(H);L=$sliceType($String);M=$arrayType($Float64,3);N=$arrayType(M,2);O=$arrayType($Float64,5);P=$arrayType(O,4);Q=$sliceType(A.ImagePart);R=$ptrType(A.Image);S=$ptrType(J);H.ptr.prototype.TextWidth=function(a){var $ptr,a,b;b=this;return $imul(b.charWidth,a.length);};H.prototype.TextWidth=function(a){return this.$val.TextWidth(a);};I=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a="";b=E.Join(new L([a,"images","arcadefont.png"]));d=B.NewImageFromFile(b,0);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[2];if(!($interfaceIsEqual(f,$ifaceNil))){$panic(f);}$pkg.ArcadeFont=new H.ptr(e,32,16,8,8);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};J.ptr.prototype.Len=function(){var $ptr,a;a=this;return a.str.length;};J.prototype.Len=function(){return this.$val.Len();};J.ptr.prototype.Dst=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b=0;c=0;d=0;e=0;f=this;g=(a-G.LastIndex(f.str.substring(0,a),"\n")>>0)-1>>0;h=G.Count(f.str.substring(0,a),"\n");g=$imul(g,(f.font.charWidth));h=$imul(h,(f.font.charHeight));if(g<0){i=0;j=0;k=0;l=0;b=i;c=j;d=k;e=l;return[b,c,d,e];}m=g;n=h;o=g+f.font.charWidth>>0;p=h+f.font.charHeight>>0;b=m;c=n;d=o;e=p;return[b,c,d,e];};J.prototype.Dst=function(a){return this.$val.Dst(a);};J.ptr.prototype.Src=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;b=0;c=0;d=0;e=0;f=this;g=(f.str.charCodeAt(a)>>0);if(g===10){h=0;i=0;j=0;k=0;b=h;c=i;d=j;e=k;return[b,c,d,e];}m=$imul(((l=g%f.font.charNumPerLine,l===l?l:$throwRuntimeError("integer divide by zero"))),f.font.charWidth);o=$imul(((n=((g-f.font.offset>>0))/f.font.charNumPerLine,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))),f.font.charHeight);p=m;q=o;r=m+f.font.charWidth>>0;s=o+f.font.charHeight>>0;b=p;c=q;d=r;e=s;return[b,c,d,e];};J.prototype.Src=function(a){return this.$val.Src(a);};H.ptr.prototype.DrawText=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;h=new A.DrawImageOptions.ptr(new J.ptr(b,g),new A.GeoM.ptr(false,N.zero()),new A.ColorM.ptr(false,P.zero()),Q.nil);h.GeoM.Scale(e,e);h.GeoM.Translate(c,d);j=f.RGBA();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];m=i[2];n=i[3];o=k/65535;p=l/65535;q=m/65535;r=n/65535;if(0<r){o=o/(r);p=p/(r);q=q/(r);}h.ColorM.Scale(o,p,q,r);s=a.DrawImage(g.image,h);$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=3;case 3:return s;}return;}if($f===undefined){$f={$blk:H.ptr.prototype.DrawText};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.DrawText=function(a,b,c,d,e,f){return this.$val.DrawText(a,b,c,d,e,f);};H.ptr.prototype.DrawTextWithShadow=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=this;i=g.DrawText(a,b,c+1>>0,d+1>>0,e,(h=new C.NRGBA.ptr(0,0,0,128),new h.constructor.elem(h)));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(!($interfaceIsEqual(j,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:return j;case 3:k=g.DrawText(a,b,c,d,e,f);$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(!($interfaceIsEqual(l,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:return l;case 6:return $ifaceNil;}return;}if($f===undefined){$f={$blk:H.ptr.prototype.DrawTextWithShadow};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.DrawTextWithShadow=function(a,b,c,d,e,f){return this.$val.DrawTextWithShadow(a,b,c,d,e,f);};K.methods=[{prop:"TextWidth",name:"TextWidth",pkg:"",typ:$funcType([$String],[$Int],false)},{prop:"DrawText",name:"DrawText",pkg:"",typ:$funcType([R,$String,$Int,$Int,$Int,C.Color],[$error],false)},{prop:"DrawTextWithShadow",name:"DrawTextWithShadow",pkg:"",typ:$funcType([R,$String,$Int,$Int,$Int,C.Color],[$error],false)}];S.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Dst",name:"Dst",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)},{prop:"Src",name:"Src",pkg:"",typ:$funcType([$Int],[$Int,$Int,$Int,$Int],false)}];H.init([{prop:"image",name:"image",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:R,tag:""},{prop:"offset",name:"offset",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:$Int,tag:""},{prop:"charNumPerLine",name:"charNumPerLine",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:$Int,tag:""},{prop:"charWidth",name:"charWidth",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:$Int,tag:""},{prop:"charHeight",name:"charHeight",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:$Int,tag:""}]);J.init([{prop:"str",name:"str",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:$String,tag:""},{prop:"font",name:"font",pkg:"github.com/hajimehoshi/ebiten/examples/common",typ:K,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ArcadeFont=K.nil;$r=I();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/exp/audio"]=(function(){var $pkg={},$init,B,A,C,D,F,G,E;B=$packages["github.com/hajimehoshi/ebiten/internal/audio"];A=$packages["io"];C=$pkg.ReadSeekCloser=$newType(8,$kindInterface,"audio.ReadSeekCloser","ReadSeekCloser","github.com/hajimehoshi/ebiten/exp/audio",null);D=$pkg.Player=$newType(0,$kindStruct,"audio.Player","Player","github.com/hajimehoshi/ebiten/exp/audio",function(src_,sampleRate_){this.$val=this;if(arguments.length===0){this.src=$ifaceNil;this.sampleRate=0;return;}this.src=src_;this.sampleRate=sampleRate_;});F=$sliceType($Uint8);G=$ptrType(D);E=function(a,b){var $ptr,a,b;return new D.ptr(a,b);};$pkg.NewPlayer=E;D.ptr.prototype.Play=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=B.Play(a.src,a.sampleRate);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=2;case 2:return b;}return;}if($f===undefined){$f={$blk:D.ptr.prototype.Play};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};D.prototype.Play=function(){return this.$val.Play();};G.methods=[{prop:"Play",name:"Play",pkg:"",typ:$funcType([],[$error],false)}];C.init([{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([F],[$Int,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)}]);D.init([{prop:"src",name:"src",pkg:"github.com/hajimehoshi/ebiten/exp/audio",typ:C,tag:""},{prop:"sampleRate",name:"sampleRate",pkg:"github.com/hajimehoshi/ebiten/exp/audio",typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["log"]=(function(){var $pkg={},$init,A,E,B,C,D,F,G,Z,AA,AB,AC,AD,I,H,J,S;A=$packages["fmt"];E=$packages["github.com/gopherjs/gopherjs/nosync"];B=$packages["io"];C=$packages["os"];D=$packages["runtime"];F=$packages["time"];G=$pkg.Logger=$newType(0,$kindStruct,"log.Logger","Logger","log",function(mu_,prefix_,flag_,out_,buf_){this.$val=this;if(arguments.length===0){this.mu=new E.Mutex.ptr(false);this.prefix="";this.flag=0;this.out=$ifaceNil;this.buf=Z.nil;return;}this.mu=mu_;this.prefix=prefix_;this.flag=flag_;this.out=out_;this.buf=buf_;});Z=$sliceType($Uint8);AA=$arrayType($Uint8,20);AB=$ptrType(Z);AC=$sliceType($emptyInterface);AD=$ptrType(G);H=function(a,b,c){var $ptr,a,b,c;return new G.ptr(new E.Mutex.ptr(false),b,c,a,Z.nil);};$pkg.New=H;G.ptr.prototype.SetOutput=function(a){var $ptr,a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.out=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetOutput=function(a){return this.$val.SetOutput(a);};J=function(a,b,c){var $ptr,a,b,c,d,e,f,g;d=AA.zero();e=19;while(true){if(!(b>=10||c>1)){break;}c=c-(1)>>0;g=(f=b/10,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"));((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=(((48+b>>0)-($imul(g,10))>>0)<<24>>>24));e=e-(1)>>0;b=g;}((e<0||e>=d.length)?$throwRuntimeError("index out of range"):d[e]=((48+b>>0)<<24>>>24));a.$set($appendSlice(a.$get(),$subslice(new Z(d),e)));};G.ptr.prototype.formatHeader=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=$clone(b,F.Time);e=this;a.$set($appendSlice(a.$get(),e.prefix));if(!(((e.flag&32)===0))){F.Time.copy(b,b.UTC());}if(!(((e.flag&7)===0))){$s=1;continue;}$s=2;continue;case 1:if(!(((e.flag&1)===0))){$s=3;continue;}$s=4;continue;case 3:g=b.Date();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];j=f[2];J(a,h,4);a.$set($append(a.$get(),47));J(a,(i>>0),2);a.$set($append(a.$get(),47));J(a,j,2);a.$set($append(a.$get(),32));case 4:if(!(((e.flag&6)===0))){$s=6;continue;}$s=7;continue;case 6:l=b.Clock();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=k[2];J(a,m,2);a.$set($append(a.$get(),58));J(a,n,2);a.$set($append(a.$get(),58));J(a,o,2);if(!(((e.flag&4)===0))){a.$set($append(a.$get(),46));J(a,(p=b.Nanosecond()/1000,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero")),6);}a.$set($append(a.$get(),32));case 7:case 2:if(!(((e.flag&24)===0))){if(!(((e.flag&16)===0))){q=c;r=c.length-1>>0;while(true){if(!(r>0)){break;}if(c.charCodeAt(r)===47){q=c.substring((r+1>>0));break;}r=r-(1)>>0;}c=q;}a.$set($appendSlice(a.$get(),c));a.$set($append(a.$get(),58));J(a,d,-1);a.$set($appendSlice(a.$get(),": "));}$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.formatHeader};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.formatHeader=function(a,b,c,d){return this.$val.formatHeader(a,b,c,d);};G.ptr.prototype.Output=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;d=$clone(F.Now(),F.Time);e="";f=0;c.mu.Lock();$deferred.push([$methodVal(c.mu,"Unlock"),[]]);if(!(((c.flag&24)===0))){c.mu.Unlock();g=false;h=D.Caller(a);e=h[1];f=h[2];g=h[3];if(!g){e="???";f=0;}c.mu.Lock();}c.buf=$subslice(c.buf,0,0);$r=c.formatHeader((c.$ptr_buf||(c.$ptr_buf=new AB(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))),d,e,f);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c.buf=$appendSlice(c.buf,b);if((b.length===0)||!((b.charCodeAt((b.length-1>>0))===10))){c.buf=$append(c.buf,10);}j=c.out.Write(c.buf);$s=2;case 2:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[1];return k;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:G.ptr.prototype.Output};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};G.prototype.Output=function(a,b){return this.$val.Output(a,b);};G.ptr.prototype.Printf=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Printf};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Printf=function(a,b){return this.$val.Printf(a,b);};G.ptr.prototype.Print=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Print};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Print=function(a){return this.$val.Print(a);};G.ptr.prototype.Println=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Println};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Println=function(a){return this.$val.Println(a);};G.ptr.prototype.Fatal=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;C.Exit(1);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatal};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatal=function(a){return this.$val.Fatal(a);};G.ptr.prototype.Fatalf=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;C.Exit(1);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatalf};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatalf=function(a,b){return this.$val.Fatalf(a,b);};G.ptr.prototype.Fatalln=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;C.Exit(1);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Fatalln};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Fatalln=function(a){return this.$val.Fatalln(a);};G.ptr.prototype.Panic=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprint(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$panic(new $String(d));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panic};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panic=function(a){return this.$val.Panic(a);};G.ptr.prototype.Panicf=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=A.Sprintf(a,b);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=c.Output(2,e);$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;$panic(new $String(e));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panicf};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panicf=function(a,b){return this.$val.Panicf(a,b);};G.ptr.prototype.Panicln=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=A.Sprintln(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=b.Output(2,d);$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$panic(new $String(d));$s=-1;case-1:}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Panicln};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Panicln=function(a){return this.$val.Panicln(a);};G.ptr.prototype.Flags=function(){var $ptr,a,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.flag;}catch(err){$err=err;return 0;}finally{$callDeferred($deferred,$err);}};G.prototype.Flags=function(){return this.$val.Flags();};G.ptr.prototype.SetFlags=function(a){var $ptr,a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.flag=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetFlags=function(a){return this.$val.SetFlags(a);};G.ptr.prototype.Prefix=function(){var $ptr,a,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;a.mu.Lock();$deferred.push([$methodVal(a.mu,"Unlock"),[]]);return a.prefix;}catch(err){$err=err;return"";}finally{$callDeferred($deferred,$err);}};G.prototype.Prefix=function(){return this.$val.Prefix();};G.ptr.prototype.SetPrefix=function(a){var $ptr,a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;b.mu.Lock();$deferred.push([$methodVal(b.mu,"Unlock"),[]]);b.prefix=a;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.SetPrefix=function(a){return this.$val.SetPrefix(a);};S=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=A.Sprint(a);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;d=I.Output(2,c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;C.Exit(1);$s=-1;case-1:}return;}if($f===undefined){$f={$blk:S};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fatal=S;AD.methods=[{prop:"SetOutput",name:"SetOutput",pkg:"",typ:$funcType([B.Writer],[],false)},{prop:"formatHeader",name:"formatHeader",pkg:"log",typ:$funcType([AB,F.Time,$String,$Int],[],false)},{prop:"Output",name:"Output",pkg:"",typ:$funcType([$Int,$String],[$error],false)},{prop:"Printf",name:"Printf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Print",name:"Print",pkg:"",typ:$funcType([AC],[],true)},{prop:"Println",name:"Println",pkg:"",typ:$funcType([AC],[],true)},{prop:"Fatal",name:"Fatal",pkg:"",typ:$funcType([AC],[],true)},{prop:"Fatalf",name:"Fatalf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Fatalln",name:"Fatalln",pkg:"",typ:$funcType([AC],[],true)},{prop:"Panic",name:"Panic",pkg:"",typ:$funcType([AC],[],true)},{prop:"Panicf",name:"Panicf",pkg:"",typ:$funcType([$String,AC],[],true)},{prop:"Panicln",name:"Panicln",pkg:"",typ:$funcType([AC],[],true)},{prop:"Flags",name:"Flags",pkg:"",typ:$funcType([],[$Int],false)},{prop:"SetFlags",name:"SetFlags",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Prefix",name:"Prefix",pkg:"",typ:$funcType([],[$String],false)},{prop:"SetPrefix",name:"SetPrefix",pkg:"",typ:$funcType([$String],[],false)}];G.init([{prop:"mu",name:"mu",pkg:"log",typ:E.Mutex,tag:""},{prop:"prefix",name:"prefix",pkg:"log",typ:$String,tag:""},{prop:"flag",name:"flag",pkg:"log",typ:$Int,tag:""},{prop:"out",name:"out",pkg:"log",typ:B.Writer,tag:""},{prop:"buf",name:"buf",pkg:"log",typ:Z,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=H(C.Stderr,"",3);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/hajimehoshi/ebiten/examples/piano"]=(function(){var $pkg={},$init,A,B,F,G,H,I,C,D,E,N,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,J,L,P,Q,T,K,M,O,R,S,U,V,W;A=$packages["bytes"];B=$packages["fmt"];F=$packages["github.com/hajimehoshi/ebiten"];G=$packages["github.com/hajimehoshi/ebiten/ebitenutil"];H=$packages["github.com/hajimehoshi/ebiten/examples/common"];I=$packages["github.com/hajimehoshi/ebiten/exp/audio"];C=$packages["image/color"];D=$packages["log"];E=$packages["math"];N=$pkg.stream=$newType(0,$kindStruct,"main.stream","stream","github.com/hajimehoshi/ebiten/examples/piano",function(Reader_){this.$val=this;if(arguments.length===0){this.Reader=AK.nil;return;}this.Reader=Reader_;});X=$ptrType(F.Image);Y=$sliceType($Float64);Z=$sliceType(F.Key);AA=$sliceType($Uint8);AB=$sliceType($Int16);AC=$sliceType($String);AD=$arrayType($Float64,3);AE=$arrayType(AD,2);AF=$arrayType($Float64,5);AG=$arrayType(AF,4);AH=$sliceType(F.ImagePart);AI=$ptrType(F.DrawImageOptions);AJ=$sliceType($emptyInterface);AK=$ptrType(A.Reader);AL=$ptrType(N);K=function(){var $ptr,a,b,c,d,e,f,g,h;a=44100;b=new Y([1,0.8,0.6,0.4,0.2]);c=new Y([4,2,1,0.5,0.25]);d=0;while(true){if(!(d<J.$length)){break;}e=0;f=1382.300767579509;g=0;while(true){if(!(g<b.$length)){break;}h=((g<0||g>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+g])*E.Exp(-5*d/(((g<0||g>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+g])*a));e=e+(h*E.Sin(d*f*(g+1>>0)/a));g=g+(1)>>0;}((d<0||d>=J.$length)?$throwRuntimeError("index out of range"):J.$array[J.$offset+d]=e/5);d=d+(1)>>0;}};M=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j;if(!((a.$length===b.$length))){$panic(new $String("len(l) must equal to len(r)"));}c=$makeSlice(AA,($imul(a.$length,4)));d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;(g=$imul(4,f),((g<0||g>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+g]=(((f<0||f>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+f])<<24>>>24)));(h=($imul(4,f))+1>>0,((h<0||h>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+h]=((((f<0||f>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+f])>>8<<16>>16)<<24>>>24)));(i=($imul(4,f))+2>>0,((i<0||i>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+i]=(((f<0||f>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+f])<<24>>>24)));(j=($imul(4,f))+3>>0,((j<0||j>=c.$length)?$throwRuntimeError("index out of range"):c.$array[c.$offset+j]=((((f<0||f>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+f])>>8<<16>>16)<<24>>>24)));e++;}return c;};N.ptr.prototype.Close=function(){var $ptr,a;a=this;return $ifaceNil;};N.prototype.Close=function(){return this.$val.Close();};O=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=(a>>0);d=(e=L[$Int.keyFor(c)],e!==undefined?[e.v,true]:[AA.nil,false]);f=d[0];g=d[1];if(g){$s=1;continue;}$s=2;continue;case 1:h=I.NewPlayer(new N.ptr(A.NewReader(f)),44100);i=h.Play();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;return;case 2:k=(j=($imul(J.$length,220))/c,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));l=$makeSlice(AB,k);m=$makeSlice(AB,k);n=0;o=0;p=0;while(true){if(!(p<l.$length)){break;}q=((n<0||n>=J.$length)?$throwRuntimeError("index out of range"):J.$array[J.$offset+n]);((p<0||p>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+p]=(q*b*32767>>0));((p<0||p>=m.$length)?$throwRuntimeError("index out of range"):m.$array[m.$offset+p]=((p<0||p>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+p]));o=o+(c)>>0;n=(r=o/220,(r===r&&r!==1/0&&r!==-1/0)?r>>0:$throwRuntimeError("integer divide by zero"));p=p+(1)>>0;}s=M(l,m);t=c;(L||$throwRuntimeError("assignment to entry in nil map"))[$Int.keyFor(t)]={k:t,v:s};u=I.NewPlayer(new N.ptr(A.NewReader(s)),44100);v=u.Play();$s=4;case 4:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;$s=-1;case-1:}return;}if($f===undefined){$f={$blk:O};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};R=function(){var $ptr,a,b,c,d;a=P;b=0;while(true){if(!(b<a.$length)){break;}c=((b<0||b>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+b]);d=c;(Q||$throwRuntimeError("assignment to entry in nil map"))[F.Key.keyFor(d)]={k:d,v:0};b++;}};S=function(){var $ptr,a,b,c,d,e,f;a=P;b=0;while(true){if(!(b<a.$length)){break;}c=((b<0||b>=a.$length)?$throwRuntimeError("index out of range"):a.$array[a.$offset+b]);if(!F.IsKeyPressed(c)){d=c;(Q||$throwRuntimeError("assignment to entry in nil map"))[F.Key.keyFor(d)]={k:d,v:0};b++;continue;}e=c;(Q||$throwRuntimeError("assignment to entry in nil map"))[F.Key.keyFor(e)]={k:e,v:(f=Q[F.Key.keyFor(c)],f!==undefined?f.v:0)+(1)>>0};b++;}};U=function(){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=$ifaceNil;c=F.NewImage(16,16,0);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];a=b[1];if(!($interfaceIsEqual(a,$ifaceNil))){$panic(a);}f=d.Fill((e=C.White,new e.constructor.elem(e)));$s=2;case 2:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}f;h=F.NewImage(320,240,0);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;T=g[0];a=g[1];if(!($interfaceIsEqual(a,$ifaceNil))){$panic(a);}i=new AC(["A","S","D","F","G","H","J","K","L"]);j=24;k=48;l=i;m=0;case 4:if(!(m<l.$length)){$s=5;continue;}n=m;o=((m<0||m>=l.$length)?$throwRuntimeError("index out of range"):l.$array[l.$offset+m]);p=($imul(n,j))+36>>0;q=112;r=new F.DrawImageOptions.ptr($ifaceNil,new F.GeoM.ptr(false,AE.zero()),new F.ColorM.ptr(false,AG.zero()),AH.nil);s=d.Size();t=s[0];u=s[1];r.GeoM.Scale((j-1>>0)/t,q/u);r.GeoM.Translate(p,k);r.ColorM.Scale(1,1,1,1);v=T.DrawImage(d,r);$s=6;case 6:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}v;x=H.ArcadeFont.DrawText(T,o,p+8>>0,(k+q>>0)-16>>0,1,(w=C.Black,new w.constructor.elem(w)));$s=7;case 7:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;m++;$s=4;continue;case 5:y=new AC(["Q","W","","R","T","","U","I","O"]);z=y;aa=0;case 8:if(!(aa<z.$length)){$s=9;continue;}ab=aa;ac=((aa<0||aa>=z.$length)?$throwRuntimeError("index out of range"):z.$array[z.$offset+aa]);if(ac===""){$s=10;continue;}$s=11;continue;case 10:aa++;$s=8;continue;case 11:ad=($imul(ab,j))+24>>0;ae=64;af=new F.DrawImageOptions.ptr($ifaceNil,new F.GeoM.ptr(false,AE.zero()),new F.ColorM.ptr(false,AG.zero()),AH.nil);ag=d.Size();ah=ag[0];ai=ag[1];af.GeoM.Scale((j-1>>0)/ah,ae/ai);af.GeoM.Translate(ad,k);af.ColorM.Scale(0,0,0,1);aj=T.DrawImage(d,af);$s=12;case 12:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}aj;al=H.ArcadeFont.DrawText(T,ac,ad+8>>0,(k+ae>>0)-16>>0,1,(ak=C.White,new ak.constructor.elem(ak)));$s=13;case 13:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}al;aa++;$s=8;continue;case 9:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:U};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};V=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:S();b=P;c=0;case 1:if(!(c<b.$length)){$s=2;continue;}d=c;e=((c<0||c>=b.$length)?$throwRuntimeError("index out of range"):b.$array[b.$offset+c]);if(!(((f=Q[F.Key.keyFor(e)],f!==undefined?f.v:0)===1))){$s=3;continue;}$s=4;continue;case 3:c++;$s=1;continue;case 4:$r=O(220*E.Exp2((d-1>>0)/12),1);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c++;$s=1;continue;case 2:h=a.Fill((g=new C.RGBA.ptr(128,128,192,255),new g.constructor.elem(g)));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=a.DrawImage(T,AI.nil);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;j=a;k=B.Sprintf("FPS: %0.2f",new AJ([new $Float64(F.CurrentFPS())]));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=G.DebugPrint(j,l);$s=9;case 9:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}m;return $ifaceNil;}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};W=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=F.Run(V,320,240,2,"Piano (Ebiten Demo)");$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}b=a;if(!($interfaceIsEqual(b,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:$r=D.Fatal(new AJ([b]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;case-1:}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AL.methods=[{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)}];N.init([{prop:"Reader",name:"",pkg:"",typ:AK,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}T=X.nil;J=$makeSlice(Y,176400);L=$makeMap($Int.keyFor,[]);P=new Z([26,10,32,28,13,27,15,29,16,17,30,19,18,20,24,21]);Q=$makeMap(F.Key.keyFor,[]);K();R();$r=U();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($pkg===$mainPkg){$s=11;continue;}$s=12;continue;case 11:$r=W();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$mainFinished=true;case 12:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$synthesizeMethods();
var $mainPkg = $packages["github.com/hajimehoshi/ebiten/examples/piano"];
$packages["runtime"].$init();
$go($mainPkg.$init, [], true);
$flushConsole();
}).call(this);
//# sourceMappingURL=piano.js.map