diff --git a/build/web/index.html b/build/web/index.html
deleted file mode 100644
index f3621c7a..00000000
--- a/build/web/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
- angel_validate
-
-
-
-
-Passport Registration
-Validation Example
-
-
-
-
-
-
\ No newline at end of file
diff --git a/build/web/main.dart.js b/build/web/main.dart.js
deleted file mode 100644
index 5e551593..00000000
--- a/build/web/main.dart.js
+++ /dev/null
@@ -1,4518 +0,0 @@
-(function(){var supportsDirectProtoAccess=function(){var z=function(){}
-z.prototype={p:{}}
-var y=new z()
-if(!(y.__proto__&&y.__proto__.p===z.prototype.p))return false
-try{if(typeof navigator!="undefined"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Chrome/")>=0)return true
-if(typeof version=="function"&&version.length==0){var x=version()
-if(/^\d+\.\d+\.\d+\.\d+$/.test(x))return true}}catch(w){}return false}()
-function map(a){a=Object.create(null)
-a.x=0
-delete a.x
-return a}var A=map()
-var B=map()
-var C=map()
-var D=map()
-var E=map()
-var F=map()
-var G=map()
-var H=map()
-var J=map()
-var K=map()
-var L=map()
-var M=map()
-var N=map()
-var O=map()
-var P=map()
-var Q=map()
-var R=map()
-var S=map()
-var T=map()
-var U=map()
-var V=map()
-var W=map()
-var X=map()
-var Y=map()
-var Z=map()
-function I(){}init()
-function setupProgram(a,b){"use strict"
-function generateAccessor(a9,b0,b1){var g=a9.split("-")
-var f=g[0]
-var e=f.length
-var d=f.charCodeAt(e-1)
-var c
-if(g.length>1)c=true
-else c=false
-d=d>=60&&d<=64?d-59:d>=123&&d<=126?d-117:d>=37&&d<=43?d-27:0
-if(d){var a0=d&3
-var a1=d>>2
-var a2=f=f.substring(0,e-1)
-var a3=f.indexOf(":")
-if(a3>0){a2=f.substring(0,a3)
-f=f.substring(a3+1)}if(a0){var a4=a0&2?"r":""
-var a5=a0&1?"this":"r"
-var a6="return "+a5+"."+f
-var a7=b1+".prototype.g"+a2+"="
-var a8="function("+a4+"){"+a6+"}"
-if(c)b0.push(a7+"$reflectable("+a8+");\n")
-else b0.push(a7+a8+";\n")}if(a1){var a4=a1&2?"r,v":"v"
-var a5=a1&1?"this":"r"
-var a6=a5+"."+f+"=v"
-var a7=b1+".prototype.s"+a2+"="
-var a8="function("+a4+"){"+a6+"}"
-if(c)b0.push(a7+"$reflectable("+a8+");\n")
-else b0.push(a7+a8+";\n")}}return f}function defineClass(a2,a3){var g=[]
-var f="function "+a2+"("
-var e=""
-var d=""
-for(var c=0;c0){var a6=a5.split("+")
-a5=a6[0]
-var a7=a6[1]
-finishClass(a7)
-var a8=g[a7]
-var a9=a8.prototype
-var b0=g[c1].prototype
-var b1=Object.keys(a9)
-for(var b2=0;b2")addStubs(g,a0,d,false,[])}convertToFastObject(g)
-g=g.__proto__
-g.$deferredAction()}function mixinDeferredActionHelper(c,d){var g
-if(d.hasOwnProperty("$deferredAction"))g=d.$deferredAction
-return function foo(){var f=this
-while(!f.hasOwnProperty("$deferredAction"))f=f.__proto__
-if(g)f.$deferredAction=g
-else{delete f.$deferredAction
-convertToFastObject(f)}c.$deferredAction()
-f.$deferredAction()}}function processClassData(b1,b2,b3){b2=convertToSlowObject(b2)
-var g
-var f=Object.keys(b2)
-var e=false
-var d=supportsDirectProtoAccess&&b1!="c"
-for(var c=0;c0)b2[g].$reflectable=a2}else if(a1===42){b2[g].$defaultValues=b2[a0]
-var a3=b2.$methodsWithOptionalArguments
-if(!a3)b2.$methodsWithOptionalArguments=a3={}
-a3[a0]=g}else{var a4=b2[a0]
-if(a0!=="^"&&a4!=null&&a4.constructor===Array&&a0!=="<>")if(d)e=true
-else addStubs(b2,a4,a0,false,[])
-else g=a0}}if(e)b2.$deferredAction=finishAddStubsHelper
-var a5=b2["^"],a6,a7,a8=a5
-var a9=a8.split(";")
-a8=a9[1]?a9[1].split(","):[]
-a7=a9[0]
-a6=a7.split(":")
-if(a6.length==2){a7=a6[0]
-var b0=a6[1]
-if(b0)b2.$signature=function(b4){return function(){return init.types[b4]}}(b0)}if(a7)b3.pending[b1]=a7
-b3.combinedConstructorFunction+=defineClass(b1,a8)
-b3.constructorsList.push(b1)
-b3.collected[b1]=[m,b2]
-i.push(b1)}function processStatics(a3,a4){var g=Object.keys(a3)
-for(var f=0;f0)a3[a0].$reflectable=a1
-if(d&&d.length)init.typeInformation[a0]=d}else if(c===42){m[a0].$defaultValues=d
-var a2=a3.$methodsWithOptionalArguments
-if(!a2)a3.$methodsWithOptionalArguments=a2={}
-a2[e]=a0}else if(typeof d==="function"){m[a0=e]=d
-h.push(e)
-init.globalFunctions[e]=d}else if(d.constructor===Array)addStubs(m,d,e,true,h)
-else{a0=e
-processClassData(e,d,a4)}}}function addStubs(b2,b3,b4,b5,b6){var g=0,f=b3[g],e
-if(typeof f=="string")e=b3[++g]
-else{e=f
-f=b4}var d=[b2[b4]=b2[f]=e]
-e.$stubName=b4
-b6.push(b4)
-for(g++;g>1
-var a3=(a1&1)===1
-var a4=a1===3
-var a5=a1===1
-var a6=b3[1]
-var a7=a6>>1
-var a8=(a6&1)===1
-var a9=a2+a7!=d[0].length
-var b0=b3[2]
-if(typeof b0=="number")b3[2]=b0+b
-var b1=2*a7+a2+3
-if(a0){e=tearOff(d,b3,b5,b4,a9)
-b2[b4].$getter=e
-e.$getterStub=true
-if(b5){init.globalFunctions[b4]=e
-b6.push(a0)}b2[a0]=e
-d.push(e)
-e.$stubName=a0
-e.$callName=null}}function tearOffGetter(c,d,e,f){return f?new Function("funcs","reflectionInfo","name","H","c","return function tearOff_"+e+y+++"(x) {"+"if (c === null) c = "+"H.bP"+"("+"this, funcs, reflectionInfo, false, [x], name);"+"return new c(this, funcs[0], x, name);"+"}")(c,d,e,H,null):new Function("funcs","reflectionInfo","name","H","c","return function tearOff_"+e+y+++"() {"+"if (c === null) c = "+"H.bP"+"("+"this, funcs, reflectionInfo, false, [], name);"+"return new c(this, funcs[0], null, name);"+"}")(c,d,e,H,null)}function tearOff(c,d,e,f,a0){var g
-return e?function(){if(g===void 0)g=H.bP(this,c,d,true,[],f).prototype
-return g}:tearOffGetter(c,d,f,a0)}var y=0
-if(!init.libraries)init.libraries=[]
-if(!init.mangledNames)init.mangledNames=map()
-if(!init.mangledGlobalNames)init.mangledGlobalNames=map()
-if(!init.statics)init.statics=map()
-if(!init.typeInformation)init.typeInformation=map()
-if(!init.globalFunctions)init.globalFunctions=map()
-var x=init.libraries
-var w=init.mangledNames
-var v=init.mangledGlobalNames
-var u=Object.prototype.hasOwnProperty
-var t=a.length
-var s=map()
-s.collected=map()
-s.pending=map()
-s.constructorsList=[]
-s.combinedConstructorFunction="function $reflectable(fn){fn.$reflectable=1;return fn};\n"+"var $desc;\n"
-for(var r=0;r=z)return H.j(y,x)
-y[x]=w}return y.join(b)},
-C:function(a,b){if(b>>>0!==b||b>=a.length)return H.j(a,b)
-return a[b]},
-gbH:function(a){if(a.length>0)return a[0]
-throw H.b(H.bv())},
-G:function(a,b,c,d,e){var z,y,x
-this.bC(a,"set range")
-P.bG(b,c,a.length,null,null,null)
-z=c-b
-if(z===0)return
-if(e<0)H.r(P.L(e,0,null,"skipCount",null))
-if(e+z>d.length)throw H.b(H.eM())
-if(e=0;--y){x=e+y
-if(x<0||x>=d.length)return H.j(d,x)
-a[b+y]=d[x]}else for(y=0;y=d.length)return H.j(d,x)
-a[b+y]=d[x]}},
-b1:function(a,b,c,d){return this.G(a,b,c,d,0)},
-bQ:function(a,b,c,d){var z,y,x,w,v
-this.at(a,"replace range")
-P.bG(b,c,a.length,null,null,null)
-z=c-b
-y=a.length
-x=b+1
-if(z>=1){w=z-1
-v=y-w
-this.b1(a,b,x,d)
-if(w!==0){this.G(a,x,v,a,c)
-this.si(a,v)}}else{v=y+(1-z)
-this.si(a,v)
-this.G(a,x,v,a,c)
-this.b1(a,b,x,d)}},
-H:function(a,b){var z
-for(z=0;z=a.length||b<0)throw H.b(H.u(a,b))
-return a[b]},
-p:function(a,b,c){this.bC(a,"indexed set")
-if(typeof b!=="number"||Math.floor(b)!==b)throw H.b(H.u(a,b))
-if(b>=a.length||b<0)throw H.b(H.u(a,b))
-a[b]=c},
-$isB:1,
-$asB:I.x,
-$isi:1,
-$asi:null,
-$ise:1,
-$ase:null,
-$isd:1,
-$asd:null,
-q:{
-eO:function(a,b){var z
-if(typeof a!=="number"||Math.floor(a)!==a)throw H.b(P.aF(a,"length","is not an integer"))
-if(a<0||a>4294967295)throw H.b(P.L(a,0,4294967295,"length",null))
-z=H.K(new Array(a),[b])
-z.fixed$length=Array
-return z}}},
-jq:{"^":"aL;$ti"},
-aX:{"^":"c;a,b,c,d,$ti",
-gl:function(){return this.d},
-k:function(){var z,y,x
-z=this.a
-y=z.length
-if(this.b!==y)throw H.b(H.aa(z))
-x=this.c
-if(x>=y){this.d=null
-return!1}this.d=z[x]
-this.c=x+1
-return!0}},
-aM:{"^":"h;",
-aW:function(a,b){return a%b},
-dB:function(a){var z
-if(a>=-2147483648&&a<=2147483647)return a|0
-if(isFinite(a)){z=a<0?Math.ceil(a):Math.floor(a)
-return z+0}throw H.b(new P.q(""+a+".toInt()"))},
-dC:function(a,b){var z,y,x,w
-if(b<2||b>36)throw H.b(P.L(b,2,36,"radix",null))
-z=a.toString(b)
-if(C.b.V(z,z.length-1)!==41)return z
-y=/^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(z)
-if(y==null)H.r(new P.q("Unexpected toString result: "+z))
-x=J.F(y)
-z=x.h(y,1)
-w=+x.h(y,3)
-if(x.h(y,2)!=null){z+=x.h(y,2)
-w-=x.h(y,2).length}return z+C.b.b0("0",w)},
-j:function(a){if(a===0&&1/a<0)return"-0.0"
-else return""+a},
-gD:function(a){return a&0x1FFFFFFF},
-F:function(a,b){if(typeof b!=="number")throw H.b(H.M(b))
-return a+b},
-ca:function(a,b){if(typeof b!=="number")throw H.b(H.M(b))
-return a-b},
-a9:function(a,b){return(a|0)===a?a/b|0:this.cO(a,b)},
-cO:function(a,b){var z=a/b
-if(z>=-2147483648&&z<=2147483647)return z|0
-if(z>0){if(z!==1/0)return Math.floor(z)}else if(z>-1/0)return Math.ceil(z)
-throw H.b(new P.q("Result of truncating division is "+H.a(z)+": "+H.a(a)+" ~/ "+b))},
-aL:function(a,b){var z
-if(a>0)z=b>31?0:a>>>b
-else{z=b>31?31:b
-z=a>>z>>>0}return z},
-a3:function(a,b){if(typeof b!=="number")throw H.b(H.M(b))
-return a=a.length)throw H.b(H.u(a,b))
-return a.charCodeAt(b)},
-F:function(a,b){if(typeof b!=="string")throw H.b(P.aF(b,null,null))
-return a+b},
-ds:function(a,b,c){H.dy(c)
-return H.bX(a,b,c)},
-dt:function(a,b,c){return H.iJ(a,b,c,null)},
-c9:function(a,b,c){var z
-if(c>a.length)throw H.b(P.L(c,0,a.length,null,null))
-z=c+b.length
-if(z>a.length)return!1
-return b===a.substring(c,z)},
-c8:function(a,b){return this.c9(a,b,0)},
-al:function(a,b,c){if(c==null)c=a.length
-if(typeof c!=="number"||Math.floor(c)!==c)H.r(H.M(c))
-if(b<0)throw H.b(P.b7(b,null,null))
-if(typeof c!=="number")return H.a9(c)
-if(b>c)throw H.b(P.b7(b,null,null))
-if(c>a.length)throw H.b(P.b7(c,null,null))
-return a.substring(b,c)},
-b3:function(a,b){return this.al(a,b,null)},
-aj:function(a){var z,y,x,w,v
-z=a.trim()
-y=z.length
-if(y===0)return z
-if(this.V(z,0)===133){x=J.eR(z,1)
-if(x===y)return""}else x=0
-w=y-1
-v=this.V(z,w)===133?J.eS(z,w):y
-if(x===0&&v===y)return z
-return z.substring(x,v)},
-b0:function(a,b){var z,y
-if(0>=b)return""
-if(b===1||a.length===0)return a
-if(b!==b>>>0)throw H.b(C.o)
-for(z=a,y="";!0;){if((b&1)===1)y=z+y
-b=b>>>1
-if(b===0)break
-z+=z}return y},
-dj:function(a,b,c){var z=b-a.length
-if(z<=0)return a
-return this.b0(c,z)+a},
-gdz:function(a){return new P.fe(a)},
-cW:function(a,b,c){if(c>a.length)throw H.b(P.L(c,0,a.length,null,null))
-return H.iI(a,b,c)},
-H:function(a,b){return this.cW(a,b,0)},
-gI:function(a){return a.length!==0},
-j:function(a){return a},
-gD:function(a){var z,y,x
-for(z=a.length,y=0,x=0;x>6}y=536870911&y+((67108863&y)<<3)
-y^=y>>11
-return 536870911&y+((16383&y)<<15)},
-gw:function(a){return C.L},
-gi:function(a){return a.length},
-h:function(a,b){if(typeof b!=="number"||Math.floor(b)!==b)throw H.b(H.u(a,b))
-if(b>=a.length||b<0)throw H.b(H.u(a,b))
-return a[b]},
-$isB:1,
-$asB:I.x,
-$isp:1,
-$isbD:1,
-q:{
-ct:function(a){if(a<256)switch(a){case 9:case 10:case 11:case 12:case 13:case 32:case 133:case 160:return!0
-default:return!1}switch(a){case 5760:case 6158:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8232:case 8233:case 8239:case 8287:case 12288:case 65279:return!0
-default:return!1}},
-eR:function(a,b){var z,y
-for(z=a.length;b0;b=z){z=b-1
-y=C.b.V(a,z)
-if(y!==32&&y!==13&&!J.ct(y))break}return b}}}}],["","",,H,{"^":"",
-bv:function(){return new P.ba("No element")},
-eN:function(){return new P.ba("Too many elements")},
-eM:function(){return new P.ba("Too few elements")},
-e:{"^":"d;$ti",$ase:null},
-af:{"^":"e;$ti",
-gn:function(a){return new H.bz(this,this.gi(this),0,null,[H.t(this,"af",0)])},
-B:function(a,b){var z,y
-z=this.gi(this)
-for(y=0;y=z.length)return H.j(z,y)
-z[y]=x}return z},
-a1:function(a){return this.ai(a,!0)}},
-bz:{"^":"c;a,b,c,d,$ti",
-gl:function(){return this.d},
-k:function(){var z,y,x,w
-z=this.a
-y=J.F(z)
-x=y.gi(z)
-if(this.b!==x)throw H.b(new P.D(z))
-w=this.c
-if(w>=x){this.d=null
-return!1}this.d=y.C(z,w);++this.c
-return!0}},
-b2:{"^":"d;a,b,$ti",
-gn:function(a){return new H.f3(null,J.Z(this.a),this.b,this.$ti)},
-gi:function(a){return J.O(this.a)},
-gt:function(a){return J.e_(this.a)},
-C:function(a,b){return this.b.$1(J.aW(this.a,b))},
-$asd:function(a,b){return[b]},
-q:{
-b3:function(a,b,c,d){if(!!J.m(a).$ise)return new H.bt(a,b,[c,d])
-return new H.b2(a,b,[c,d])}}},
-bt:{"^":"b2;a,b,$ti",$ise:1,
-$ase:function(a,b){return[b]},
-$asd:function(a,b){return[b]}},
-f3:{"^":"aK;a,b,c,$ti",
-k:function(){var z=this.b
-if(z.k()){this.a=this.c.$1(z.gl())
-return!0}this.a=null
-return!1},
-gl:function(){return this.a},
-$asaK:function(a,b){return[b]}},
-a2:{"^":"af;a,b,$ti",
-gi:function(a){return J.O(this.a)},
-C:function(a,b){return this.b.$1(J.aW(this.a,b))},
-$asaf:function(a,b){return[b]},
-$ase:function(a,b){return[b]},
-$asd:function(a,b){return[b]}},
-fJ:{"^":"d;a,b,$ti",
-gn:function(a){return new H.fK(J.Z(this.a),this.b,this.$ti)},
-J:function(a,b){return new H.b2(this,b,[H.J(this,0),null])}},
-fK:{"^":"aK;a,b,$ti",
-k:function(){var z,y
-for(z=this.a,y=this.b;z.k();)if(y.$1(z.gl())===!0)return!0
-return!1},
-gl:function(){return this.a.gl()}},
-cR:{"^":"d;a,b,$ti",
-gn:function(a){return new H.fz(J.Z(this.a),this.b,this.$ti)},
-q:{
-fy:function(a,b,c){if(b<0)throw H.b(P.ac(b))
-if(!!J.m(a).$ise)return new H.ep(a,b,[c])
-return new H.cR(a,b,[c])}}},
-ep:{"^":"cR;a,b,$ti",
-gi:function(a){var z,y
-z=J.O(this.a)
-y=this.b
-if(z>y)return y
-return z},
-$ise:1,
-$ase:null,
-$asd:null},
-fz:{"^":"aK;a,b,$ti",
-k:function(){if(--this.b>=0)return this.a.k()
-this.b=-1
-return!1},
-gl:function(){if(this.b<0)return
-return this.a.gl()}},
-cN:{"^":"d;a,b,$ti",
-gn:function(a){return new H.fn(J.Z(this.a),this.b,this.$ti)},
-b4:function(a,b,c){var z=this.b
-if(z<0)H.r(P.L(z,0,null,"count",null))},
-q:{
-fm:function(a,b,c){var z
-if(!!J.m(a).$ise){z=new H.eo(a,b,[c])
-z.b4(a,b,c)
-return z}return H.fl(a,b,c)},
-fl:function(a,b,c){var z=new H.cN(a,b,[c])
-z.b4(a,b,c)
-return z}}},
-eo:{"^":"cN;a,b,$ti",
-gi:function(a){var z=J.O(this.a)-this.b
-if(z>=0)return z
-return 0},
-$ise:1,
-$ase:null,
-$asd:null},
-fn:{"^":"aK;a,b,$ti",
-k:function(){var z,y
-for(z=this.a,y=0;y=y)return H.j(z,-1)
-x=z.pop()
-y=init.globalState.f.a
-w=y.b
-v=y.a
-u=v.length
-w=(w-1&u-1)>>>0
-y.b=w
-if(w<0||w>=u)return H.j(v,w)
-v[w]=x
-if(w===y.c)y.bf();++y.d}this.y=!1}this.aN()},
-cT:function(a,b){var z,y,x
-if(this.ch==null)this.ch=[]
-for(z=J.m(a),y=0;x=this.ch,y=z.length)return H.j(z,x)
-z[x]=b
-return}x.push(a)
-this.ch.push(b)},
-dn:function(a){var z,y,x
-if(this.ch==null)return
-for(z=J.m(a),y=0;x=this.ch,y0||this.y||!this.x)init.globalState.z.p(0,this.a,this)
-else this.aR()},
-aR:[function(){var z,y,x,w,v
-z=this.cx
-if(z!=null)z.R(0)
-for(z=this.b,y=z.gbX(z),y=y.gn(y);y.k();)y.gl().cs()
-z.R(0)
-this.c.R(0)
-init.globalState.z.ag(0,this.a)
-this.dx.R(0)
-if(this.ch!=null){for(x=0;z=this.ch,y=z.length,x=y)return H.j(z,v)
-w.W(z[v])}this.ch=null}},"$0","gdh",0,0,2]},
-hk:{"^":"f:2;a,b",
-$0:function(){this.a.W(this.b)}},
-h2:{"^":"c;a,b",
-cY:function(){var z=this.a
-if(z.b===z.c)return
-return z.bP()},
-bU:function(){var z,y,x
-z=this.cY()
-if(z==null){if(init.globalState.e!=null)if(init.globalState.z.E(init.globalState.e.a))if(init.globalState.r===!0){y=init.globalState.e.b
-y=y.gt(y)}else y=!1
-else y=!1
-else y=!1
-if(y)H.r(P.b0("Program exited with open ReceivePorts."))
-y=init.globalState
-if(y.x===!0){x=y.z
-x=x.gt(x)&&y.f.b===0}else x=!1
-if(x){y=y.Q
-x=P.W(["command","close"])
-x=new H.ak(!0,new P.dg(0,null,null,null,null,null,0,[null,P.k])).L(x)
-y.toString
-self.postMessage(x)}return!1}z.dl()
-return!0},
-br:function(){if(self.window!=null)new H.h3(this).$0()
-else for(;this.bU(););},
-ah:function(){var z,y,x,w,v
-if(init.globalState.x!==!0)this.br()
-else try{this.br()}catch(x){w=H.y(x)
-z=w
-y=H.H(x)
-w=init.globalState.Q
-v=P.W(["command","error","msg",H.a(z)+"\n"+H.a(y)])
-v=new H.ak(!0,P.at(null,P.k)).L(v)
-w.toString
-self.postMessage(v)}}},
-h3:{"^":"f:2;a",
-$0:function(){if(!this.a.bU())return
-P.fF(C.i,this)}},
-aT:{"^":"c;a,b,c",
-dl:function(){var z=this.a
-if(z.y){z.z.push(this)
-return}z.ac(this.b)}},
-ho:{"^":"c;"},
-eG:{"^":"f:1;a,b,c,d,e,f",
-$0:function(){H.eH(this.a,this.b,this.c,this.d,this.e,this.f)}},
-eI:{"^":"f:2;a,b,c,d,e",
-$0:function(){var z,y,x
-z=this.e
-z.x=!0
-if(this.d!==!0)this.a.$1(this.c)
-else{y=this.a
-x=H.a7()
-if(H.T(x,[x,x]).M(y))y.$2(this.b,this.c)
-else if(H.T(x,[x]).M(y))y.$1(this.b)
-else y.$0()}z.aN()}},
-d8:{"^":"c;"},
-bf:{"^":"d8;b,a",
-W:function(a){var z,y,x
-z=init.globalState.z.h(0,this.a)
-if(z==null)return
-y=this.b
-if(y.gbi())return
-x=H.hJ(a)
-if(z.gcX()===y){y=J.F(x)
-switch(y.h(x,0)){case"pause":z.by(y.h(x,1),y.h(x,2))
-break
-case"resume":z.dq(y.h(x,1))
-break
-case"add-ondone":z.cT(y.h(x,1),y.h(x,2))
-break
-case"remove-ondone":z.dn(y.h(x,1))
-break
-case"set-errors-fatal":z.c6(y.h(x,1),y.h(x,2))
-break
-case"ping":z.d5(y.h(x,1),y.h(x,2),y.h(x,3))
-break
-case"kill":z.d4(y.h(x,1),y.h(x,2))
-break
-case"getErrors":y=y.h(x,1)
-z.dx.m(0,y)
-break
-case"stopErrors":y=y.h(x,1)
-z.dx.ag(0,y)
-break}return}init.globalState.f.a.P(new H.aT(z,new H.ht(this,x),"receive"))},
-v:function(a,b){if(b==null)return!1
-return b instanceof H.bf&&J.N(this.b,b.b)},
-gD:function(a){return this.b.gaF()}},
-ht:{"^":"f:1;a,b",
-$0:function(){var z=this.a.b
-if(!z.gbi())z.cn(this.b)}},
-bM:{"^":"d8;b,c,a",
-W:function(a){var z,y,x
-z=P.W(["command","message","port",this,"msg",a])
-y=new H.ak(!0,P.at(null,P.k)).L(z)
-if(init.globalState.x===!0){init.globalState.Q.toString
-self.postMessage(y)}else{x=init.globalState.ch.h(0,this.b)
-if(x!=null)x.postMessage(y)}},
-v:function(a,b){if(b==null)return!1
-return b instanceof H.bM&&J.N(this.b,b.b)&&J.N(this.a,b.a)&&J.N(this.c,b.c)},
-gD:function(a){var z,y,x
-z=this.b
-if(typeof z!=="number")return z.b2()
-y=this.a
-if(typeof y!=="number")return y.b2()
-x=this.c
-if(typeof x!=="number")return H.a9(x)
-return(z<<16^y<<8^x)>>>0}},
-b8:{"^":"c;aF:a<,b,bi:c<",
-cs:function(){this.c=!0
-this.b=null},
-cn:function(a){if(this.c)return
-this.b.$1(a)},
-$isfa:1},
-fB:{"^":"c;a,b,c",
-cg:function(a,b){var z,y
-if(a===0)z=self.setTimeout==null||init.globalState.x===!0
-else z=!1
-if(z){this.c=1
-z=init.globalState.f
-y=init.globalState.d
-z.a.P(new H.aT(y,new H.fD(this,b),"timer"))
-this.b=!0}else if(self.setTimeout!=null){++init.globalState.f.b
-this.c=self.setTimeout(H.az(new H.fE(this,b),0),a)}else throw H.b(new P.q("Timer greater than 0."))},
-q:{
-fC:function(a,b){var z=new H.fB(!0,!1,null)
-z.cg(a,b)
-return z}}},
-fD:{"^":"f:2;a,b",
-$0:function(){this.a.c=null
-this.b.$0()}},
-fE:{"^":"f:2;a,b",
-$0:function(){this.a.c=null;--init.globalState.f.b
-this.b.$0()}},
-ad:{"^":"c;aF:a<",
-gD:function(a){var z=this.a
-if(typeof z!=="number")return z.dE()
-z=C.e.aL(z,0)^C.e.a9(z,4294967296)
-z=(~z>>>0)+(z<<15>>>0)&4294967295
-z=((z^z>>>12)>>>0)*5&4294967295
-z=((z^z>>>4)>>>0)*2057&4294967295
-return(z^z>>>16)>>>0},
-v:function(a,b){var z,y
-if(b==null)return!1
-if(b===this)return!0
-if(b instanceof H.ad){z=this.a
-y=b.a
-return z==null?y==null:z===y}return!1}},
-ak:{"^":"c;a,b",
-L:[function(a){var z,y,x,w,v
-if(a==null||typeof a==="string"||typeof a==="number"||typeof a==="boolean")return a
-z=this.b
-y=z.h(0,a)
-if(y!=null)return["ref",y]
-z.p(0,a,z.gi(z))
-z=J.m(a)
-if(!!z.$iscy)return["buffer",a]
-if(!!z.$isb4)return["typed",a]
-if(!!z.$isB)return this.c2(a)
-if(!!z.$iseD){x=this.gc_()
-w=a.gS()
-w=H.b3(w,x,H.t(w,"d",0),null)
-w=P.Y(w,!0,H.t(w,"d",0))
-z=z.gbX(a)
-z=H.b3(z,x,H.t(z,"d",0),null)
-return["map",w,P.Y(z,!0,H.t(z,"d",0))]}if(!!z.$iscs)return this.c3(a)
-if(!!z.$ish)this.bW(a)
-if(!!z.$isfa)this.ak(a,"RawReceivePorts can't be transmitted:")
-if(!!z.$isbf)return this.c4(a)
-if(!!z.$isbM)return this.c5(a)
-if(!!z.$isf){v=a.$static_name
-if(v==null)this.ak(a,"Closures can't be transmitted:")
-return["function",v]}if(!!z.$isad)return["capability",a.a]
-if(!(a instanceof P.c))this.bW(a)
-return["dart",init.classIdExtractor(a),this.c1(init.classFieldsExtractor(a))]},"$1","gc_",2,0,0],
-ak:function(a,b){throw H.b(new P.q(H.a(b==null?"Can't transmit:":b)+" "+H.a(a)))},
-bW:function(a){return this.ak(a,null)},
-c2:function(a){var z=this.c0(a)
-if(!!a.fixed$length)return["fixed",z]
-if(!a.fixed$length)return["extendable",z]
-if(!a.immutable$list)return["mutable",z]
-if(a.constructor===Array)return["const",z]
-this.ak(a,"Can't serialize indexable: ")},
-c0:function(a){var z,y,x
-z=[]
-C.a.si(z,a.length)
-for(y=0;y=z.length)return H.j(z,y)
-z[y]=x}return z},
-c1:function(a){var z
-for(z=0;z=y.length)return H.j(y,x)
-y[x]=w}return["js-object",z,y]},
-c5:function(a){if(this.a)return["sendport",a.b,a.a,a.c]
-return["raw sendport",a]},
-c4:function(a){if(this.a)return["sendport",init.globalState.b,a.a,a.b.gaF()]
-return["raw sendport",a]}},
-bd:{"^":"c;a,b",
-Y:[function(a){var z,y,x,w,v,u
-if(a==null||typeof a==="string"||typeof a==="number"||typeof a==="boolean")return a
-if(typeof a!=="object"||a===null||a.constructor!==Array)throw H.b(P.ac("Bad serialized message: "+H.a(a)))
-switch(C.a.gbH(a)){case"ref":if(1>=a.length)return H.j(a,1)
-z=a[1]
-y=this.b
-if(z>>>0!==z||z>=y.length)return H.j(y,z)
-return y[z]
-case"buffer":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-return x
-case"typed":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-return x
-case"fixed":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-y=H.K(this.ab(x),[null])
-y.fixed$length=Array
-return y
-case"extendable":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-return H.K(this.ab(x),[null])
-case"mutable":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-return this.ab(x)
-case"const":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-y=H.K(this.ab(x),[null])
-y.fixed$length=Array
-return y
-case"map":return this.d0(a)
-case"sendport":return this.d1(a)
-case"raw sendport":if(1>=a.length)return H.j(a,1)
-x=a[1]
-this.b.push(x)
-return x
-case"js-object":return this.d_(a)
-case"function":if(1>=a.length)return H.j(a,1)
-x=init.globalFunctions[a[1]]()
-this.b.push(x)
-return x
-case"capability":if(1>=a.length)return H.j(a,1)
-return new H.ad(a[1])
-case"dart":y=a.length
-if(1>=y)return H.j(a,1)
-w=a[1]
-if(2>=y)return H.j(a,2)
-v=a[2]
-u=init.instanceFromClassId(w)
-this.b.push(u)
-this.ab(v)
-return init.initializeEmptyInstance(w,u,v)
-default:throw H.b("couldn't deserialize: "+H.a(a))}},"$1","gcZ",2,0,0],
-ab:function(a){var z,y,x
-z=J.F(a)
-y=0
-while(!0){x=z.gi(a)
-if(typeof x!=="number")return H.a9(x)
-if(!(y=z)return H.j(a,1)
-y=a[1]
-if(2>=z)return H.j(a,2)
-x=a[2]
-w=P.a1()
-this.b.push(w)
-y=J.c3(y,this.gcZ()).a1(0)
-for(z=J.F(y),v=J.F(x),u=0;u=y.length)return H.j(y,u)
-w.p(0,y[u],this.Y(v.h(x,u)))}return w},
-d1:function(a){var z,y,x,w,v,u,t
-z=a.length
-if(1>=z)return H.j(a,1)
-y=a[1]
-if(2>=z)return H.j(a,2)
-x=a[2]
-if(3>=z)return H.j(a,3)
-w=a[3]
-if(J.N(y,init.globalState.b)){v=init.globalState.z.h(0,x)
-if(v==null)return
-u=v.aT(w)
-if(u==null)return
-t=new H.bf(u,x)}else t=new H.bM(y,w,x)
-this.b.push(t)
-return t},
-d_:function(a){var z,y,x,w,v,u,t
-z=a.length
-if(1>=z)return H.j(a,1)
-y=a[1]
-if(2>=z)return H.j(a,2)
-x=a[2]
-w={}
-this.b.push(w)
-z=J.F(y)
-v=J.F(x)
-u=0
-while(!0){t=z.gi(y)
-if(typeof t!=="number")return H.a9(t)
-if(!(u=z.length)return H.j(z,3)
-y=z[3]
-if(y!=null)return parseInt(a,10)
-if(z[2]!=null)return parseInt(a,16)
-return H.cG(a,c)},
-cF:function(a,b){return b.$1(a)},
-f8:function(a,b){var z,y
-if(!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(a))return H.cF(a,b)
-z=parseFloat(a)
-if(isNaN(z)){y=C.b.aj(a)
-if(y==="NaN"||y==="+NaN"||y==="-NaN")return z
-return H.cF(a,b)}return z},
-bF:function(a){var z,y,x,w,v,u,t,s
-z=J.m(a)
-y=z.constructor
-if(typeof y=="function"){x=y.name
-w=typeof x==="string"?x:null}else w=null
-if(w==null||z===C.q||!!J.m(a).$isaS){v=C.k(a)
-if(v==="Object"){u=a.constructor
-if(typeof u=="function"){t=String(u).match(/^\s*function\s*([\w$]*)\s*\(/)
-s=t==null?null:t[1]
-if(typeof s==="string"&&/^\w+$/.test(s))w=s}if(w==null)w=v}else w=v}w=w
-if(w.length>1&&C.b.V(w,0)===36)w=C.b.b3(w,1)
-return function(b,c){return b.replace(/[^<,> ]+/g,function(d){return c[d]||d})}(w+H.bU(H.bR(a),0,null),init.mangledGlobalNames)},
-b6:function(a){return"Instance of '"+H.bF(a)+"'"},
-bE:function(a,b){if(a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string")throw H.b(H.M(a))
-return a[b]},
-cJ:function(a,b,c){if(a==null||typeof a==="boolean"||typeof a==="number"||typeof a==="string")throw H.b(H.M(a))
-a[b]=c},
-a9:function(a){throw H.b(H.M(a))},
-j:function(a,b){if(a==null)J.O(a)
-throw H.b(H.u(a,b))},
-u:function(a,b){var z,y
-if(typeof b!=="number"||Math.floor(b)!==b)return new P.a_(!0,b,"index",null)
-z=J.O(a)
-if(!(b<0)){if(typeof z!=="number")return H.a9(z)
-y=b>=z}else y=!0
-if(y)return P.ae(b,a,"index",null,z)
-return P.b7(b,"index",null)},
-M:function(a){return new P.a_(!0,a,null,null)},
-dy:function(a){if(typeof a!=="string")throw H.b(H.M(a))
-return a},
-b:function(a){var z
-if(a==null)a=new P.cE()
-z=new Error()
-z.dartException=a
-if("defineProperty" in Object){Object.defineProperty(z,"message",{get:H.dT})
-z.name=""}else z.toString=H.dT
-return z},
-dT:function(){return J.P(this.dartException)},
-r:function(a){throw H.b(a)},
-aa:function(a){throw H.b(new P.D(a))},
-y:function(a){var z,y,x,w,v,u,t,s,r,q,p,o,n,m,l
-z=new H.iL(a)
-if(a==null)return
-if(typeof a!=="object")return a
-if("dartException" in a)return z.$1(a.dartException)
-else if(!("message" in a))return a
-y=a.message
-if("number" in a&&typeof a.number=="number"){x=a.number
-w=x&65535
-if((C.c.aL(x,16)&8191)===10)switch(w){case 438:return z.$1(H.by(H.a(y)+" (Error "+w+")",null))
-case 445:case 5007:v=H.a(y)+" (Error "+w+")"
-return z.$1(new H.cD(v,null))}}if(a instanceof TypeError){u=$.$get$cT()
-t=$.$get$cU()
-s=$.$get$cV()
-r=$.$get$cW()
-q=$.$get$d_()
-p=$.$get$d0()
-o=$.$get$cY()
-$.$get$cX()
-n=$.$get$d2()
-m=$.$get$d1()
-l=u.N(y)
-if(l!=null)return z.$1(H.by(y,l))
-else{l=t.N(y)
-if(l!=null){l.method="call"
-return z.$1(H.by(y,l))}else{l=s.N(y)
-if(l==null){l=r.N(y)
-if(l==null){l=q.N(y)
-if(l==null){l=p.N(y)
-if(l==null){l=o.N(y)
-if(l==null){l=r.N(y)
-if(l==null){l=n.N(y)
-if(l==null){l=m.N(y)
-v=l!=null}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0}else v=!0
-if(v)return z.$1(new H.cD(y,l==null?null:l.method))}}return z.$1(new H.fH(typeof y==="string"?y:""))}if(a instanceof RangeError){if(typeof y==="string"&&y.indexOf("call stack")!==-1)return new P.cO()
-y=function(b){try{return String(b)}catch(k){}return null}(a)
-return z.$1(new P.a_(!1,null,null,typeof y==="string"?y.replace(/^RangeError:\s*/,""):y))}if(typeof InternalError=="function"&&a instanceof InternalError)if(typeof y==="string"&&y==="too much recursion")return new P.cO()
-return a},
-H:function(a){var z
-if(a==null)return new H.di(a,null)
-z=a.$cachedTrace
-if(z!=null)return z
-return a.$cachedTrace=new H.di(a,null)},
-iw:function(a){if(a==null||typeof a!='object')return J.U(a)
-else return H.a4(a)},
-i9:function(a,b){var z,y,x,w
-z=a.length
-for(y=0;y=27
-if(v)return H.ed(y,!w,z,b)
-if(y===0){w=$.Q
-$.Q=J.aC(w,1)
-u="self"+H.a(w)
-w="return function(){var "+u+" = this."
-v=$.ap
-if(v==null){v=H.aZ("self")
-$.ap=v}return new Function(w+H.a(v)+";return "+u+"."+H.a(z)+"();}")()}t="abcdefghijklmnopqrstuvwxyz".split("").splice(0,y).join(",")
-w=$.Q
-$.Q=J.aC(w,1)
-t+=H.a(w)
-w="return function("+t+"){return this."
-v=$.ap
-if(v==null){v=H.aZ("self")
-$.ap=v}return new Function(w+H.a(v)+"."+H.a(z)+"("+t+");}")()},
-ee:function(a,b,c,d){var z,y
-z=H.bs
-y=H.c9
-switch(b?-1:a){case 0:throw H.b(new H.ff("Intercepted function with no arguments."))
-case 1:return function(e,f,g){return function(){return f(this)[e](g(this))}}(c,z,y)
-case 2:return function(e,f,g){return function(h){return f(this)[e](g(this),h)}}(c,z,y)
-case 3:return function(e,f,g){return function(h,i){return f(this)[e](g(this),h,i)}}(c,z,y)
-case 4:return function(e,f,g){return function(h,i,j){return f(this)[e](g(this),h,i,j)}}(c,z,y)
-case 5:return function(e,f,g){return function(h,i,j,k){return f(this)[e](g(this),h,i,j,k)}}(c,z,y)
-case 6:return function(e,f,g){return function(h,i,j,k,l){return f(this)[e](g(this),h,i,j,k,l)}}(c,z,y)
-default:return function(e,f,g,h){return function(){h=[g(this)]
-Array.prototype.push.apply(h,arguments)
-return e.apply(f(this),h)}}(d,z,y)}},
-ef:function(a,b){var z,y,x,w,v,u,t,s
-z=H.ea()
-y=$.c8
-if(y==null){y=H.aZ("receiver")
-$.c8=y}x=b.$stubName
-w=b.length
-v=a[x]
-u=b==null?v==null:b===v
-t=!u||w>=28
-if(t)return H.ee(w,!u,x,b)
-if(w===1){y="return function(){return this."+H.a(z)+"."+H.a(x)+"(this."+H.a(y)+");"
-u=$.Q
-$.Q=J.aC(u,1)
-return new Function(y+H.a(u)+"}")()}s="abcdefghijklmnopqrstuvwxyz".split("").splice(0,w-1).join(",")
-y="return function("+s+"){return this."+H.a(z)+"."+H.a(x)+"(this."+H.a(y)+", "+s+");"
-u=$.Q
-$.Q=J.aC(u,1)
-return new Function(y+H.a(u)+"}")()},
-bP:function(a,b,c,d,e,f){var z
-b.fixed$length=Array
-if(!!J.m(c).$isi){c.fixed$length=Array
-z=c}else z=c
-return H.eg(a,b,z,!!d,e,f)},
-iF:function(a,b){var z=J.F(b)
-throw H.b(H.ec(H.bF(a),z.al(b,3,z.gi(b))))},
-dF:function(a,b){var z
-if(a!=null)z=(typeof a==="object"||typeof a==="function")&&J.m(a)[b]
-else z=!0
-if(z)return a
-H.iF(a,b)},
-iK:function(a){throw H.b(new P.ek("Cyclic initialization for static "+H.a(a)))},
-T:function(a,b,c){return new H.fg(a,b,c,null)},
-bg:function(a,b){var z=a.builtin$cls
-if(b==null||b.length===0)return new H.fi(z)
-return new H.fh(z,b,null)},
-a7:function(){return C.n},
-bo:function(){return(Math.random()*0x100000000>>>0)+(Math.random()*0x100000000>>>0)*4294967296},
-dB:function(a){return init.getIsolateTag(a)},
-w:function(a){return new H.bc(a,null)},
-K:function(a,b){a.$ti=b
-return a},
-bR:function(a){if(a==null)return
-return a.$ti},
-dC:function(a,b){return H.dS(a["$as"+H.a(b)],H.bR(a))},
-t:function(a,b,c){var z=H.dC(a,b)
-return z==null?null:z[c]},
-J:function(a,b){var z=H.bR(a)
-return z==null?null:z[b]},
-dP:function(a,b){if(a==null)return"dynamic"
-else if(typeof a==="object"&&a!==null&&a.constructor===Array)return a[0].builtin$cls+H.bU(a,1,b)
-else if(typeof a=="function")return a.builtin$cls
-else if(typeof a==="number"&&Math.floor(a)===a)return C.c.j(a)
-else return},
-bU:function(a,b,c){var z,y,x,w,v,u
-if(a==null)return""
-z=new P.aR("")
-for(y=b,x=!0,w=!0,v="";y"},
-dD:function(a){var z=J.m(a).constructor.builtin$cls
-if(a==null)return z
-return z+H.bU(a.$ti,0,null)},
-dS:function(a,b){if(a==null)return b
-a=a.apply(null,b)
-if(a==null)return
-if(typeof a==="object"&&a!==null&&a.constructor===Array)return a
-if(typeof a=="function")return a.apply(null,b)
-return b},
-hU:function(a,b){var z,y
-if(a==null||b==null)return!0
-z=a.length
-for(y=0;ys)return!1
-if(t+r":z.$1(a))},
-kn:function(a){return H.a4(a)},
-km:function(a,b,c){Object.defineProperty(a,b,{value:c,enumerable:false,writable:true,configurable:true})},
-iq:function(a){var z,y,x,w,v,u
-z=$.bS.$1(a)
-y=$.bi[z]
-if(y!=null){Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
-return y.i}x=$.bk[z]
-if(x!=null)return x
-w=init.interceptorsByTag[z]
-if(w==null){z=$.dv.$2(a,z)
-if(z!=null){y=$.bi[z]
-if(y!=null){Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
-return y.i}x=$.bk[z]
-if(x!=null)return x
-w=init.interceptorsByTag[z]}}if(w==null)return
-x=w.prototype
-v=z[0]
-if(v==="!"){y=H.bV(x)
-$.bi[z]=y
-Object.defineProperty(a,init.dispatchPropertyName,{value:y,enumerable:false,writable:true,configurable:true})
-return y.i}if(v==="~"){$.bk[z]=x
-return x}if(v==="-"){u=H.bV(x)
-Object.defineProperty(Object.getPrototypeOf(a),init.dispatchPropertyName,{value:u,enumerable:false,writable:true,configurable:true})
-return u.i}if(v==="+")return H.dM(a,x)
-if(v==="*")throw H.b(new P.d3(z))
-if(init.leafTags[z]===true){u=H.bV(x)
-Object.defineProperty(Object.getPrototypeOf(a),init.dispatchPropertyName,{value:u,enumerable:false,writable:true,configurable:true})
-return u.i}else return H.dM(a,x)},
-dM:function(a,b){var z=Object.getPrototypeOf(a)
-Object.defineProperty(z,init.dispatchPropertyName,{value:J.bm(b,z,null,null),enumerable:false,writable:true,configurable:true})
-return b},
-bV:function(a){return J.bm(a,!1,null,!!a.$isE)},
-iu:function(a,b,c){var z=b.prototype
-if(init.leafTags[a]===true)return J.bm(z,!1,null,!!z.$isE)
-else return J.bm(z,c,null,null)},
-ih:function(){if(!0===$.bT)return
-$.bT=!0
-H.ii()},
-ii:function(){var z,y,x,w,v,u,t,s
-$.bi=Object.create(null)
-$.bk=Object.create(null)
-H.ic()
-z=init.interceptorsByTag
-y=Object.getOwnPropertyNames(z)
-if(typeof window!="undefined"){window
-x=function(){}
-for(w=0;w=0},
-bX:function(a,b,c){var z,y,x,w
-H.dy(c)
-if(typeof b==="string")if(b==="")if(a==="")return c
-else{z=a.length
-y=H.a(c)
-for(x=0;x>1,x>>1,(x&1)===1,z[2],null)}}},
-fG:{"^":"c;a,b,c,d,e,f",
-N:function(a){var z,y,x
-z=new RegExp(this.a).exec(a)
-if(z==null)return
-y=Object.create(null)
-x=this.b
-if(x!==-1)y.arguments=z[x+1]
-x=this.c
-if(x!==-1)y.argumentsExpr=z[x+1]
-x=this.d
-if(x!==-1)y.expr=z[x+1]
-x=this.e
-if(x!==-1)y.method=z[x+1]
-x=this.f
-if(x!==-1)y.receiver=z[x+1]
-return y},
-q:{
-S:function(a){var z,y,x,w,v,u
-a=a.replace(String({}),'$receiver$').replace(/[[\]{}()*+?.\\^$|]/g,"\\$&")
-z=a.match(/\\\$[a-zA-Z]+\\\$/g)
-if(z==null)z=[]
-y=z.indexOf("\\$arguments\\$")
-x=z.indexOf("\\$argumentsExpr\\$")
-w=z.indexOf("\\$expr\\$")
-v=z.indexOf("\\$method\\$")
-u=z.indexOf("\\$receiver\\$")
-return new H.fG(a.replace(new RegExp('\\\\\\$arguments\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$argumentsExpr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$expr\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$method\\\\\\$','g'),'((?:x|[^x])*)').replace(new RegExp('\\\\\\$receiver\\\\\\$','g'),'((?:x|[^x])*)'),y,x,w,v,u)},
-bb:function(a){return function($expr$){var $argumentsExpr$='$arguments$'
-try{$expr$.$method$($argumentsExpr$)}catch(z){return z.message}}(a)},
-cZ:function(a){return function($expr$){try{$expr$.$method$}catch(z){return z.message}}(a)}}},
-cD:{"^":"z;a,b",
-j:function(a){var z=this.b
-if(z==null)return"NullError: "+H.a(this.a)
-return"NullError: method not found: '"+H.a(z)+"' on null"}},
-eV:{"^":"z;a,b,c",
-j:function(a){var z,y
-z=this.b
-if(z==null)return"NoSuchMethodError: "+H.a(this.a)
-y=this.c
-if(y==null)return"NoSuchMethodError: method not found: '"+H.a(z)+"' ("+H.a(this.a)+")"
-return"NoSuchMethodError: method not found: '"+H.a(z)+"' on '"+H.a(y)+"' ("+H.a(this.a)+")"},
-q:{
-by:function(a,b){var z,y
-z=b==null
-y=z?null:b.method
-return new H.eV(a,y,z?null:b.receiver)}}},
-fH:{"^":"z;a",
-j:function(a){var z=this.a
-return z.length===0?"Error":"Error: "+z}},
-iL:{"^":"f:0;a",
-$1:function(a){if(!!J.m(a).$isz)if(a.$thrownJsError==null)a.$thrownJsError=this.a
-return a}},
-di:{"^":"c;a,b",
-j:function(a){var z,y
-z=this.b
-if(z!=null)return z
-z=this.a
-y=z!==null&&typeof z==="object"?z.stack:null
-z=y==null?"":y
-this.b=z
-return z}},
-ik:{"^":"f:1;a",
-$0:function(){return this.a.$0()}},
-il:{"^":"f:1;a,b",
-$0:function(){return this.a.$1(this.b)}},
-im:{"^":"f:1;a,b,c",
-$0:function(){return this.a.$2(this.b,this.c)}},
-io:{"^":"f:1;a,b,c,d",
-$0:function(){return this.a.$3(this.b,this.c,this.d)}},
-ip:{"^":"f:1;a,b,c,d,e",
-$0:function(){return this.a.$4(this.b,this.c,this.d,this.e)}},
-f:{"^":"c;",
-j:function(a){return"Closure '"+H.bF(this)+"'"},
-gbZ:function(){return this},
-$isbu:1,
-gbZ:function(){return this}},
-cS:{"^":"f;"},
-fo:{"^":"cS;",
-j:function(a){var z=this.$static_name
-if(z==null)return"Closure of unknown static method"
-return"Closure '"+z+"'"}},
-br:{"^":"cS;a,b,c,d",
-v:function(a,b){if(b==null)return!1
-if(this===b)return!0
-if(!(b instanceof H.br))return!1
-return this.a===b.a&&this.b===b.b&&this.c===b.c},
-gD:function(a){var z,y
-z=this.c
-if(z==null)y=H.a4(this.a)
-else y=typeof z!=="object"?J.U(z):H.a4(z)
-z=H.a4(this.b)
-if(typeof y!=="number")return y.dF()
-return(y^z)>>>0},
-j:function(a){var z=this.c
-if(z==null)z=this.a
-return"Closure '"+H.a(this.d)+"' of "+H.b6(z)},
-q:{
-bs:function(a){return a.a},
-c9:function(a){return a.c},
-ea:function(){var z=$.ap
-if(z==null){z=H.aZ("self")
-$.ap=z}return z},
-aZ:function(a){var z,y,x,w,v
-z=new H.br("self","target","receiver","name")
-y=Object.getOwnPropertyNames(z)
-y.fixed$length=Array
-x=y
-for(y=x.length,w=0;w "+H.a(this.a))},
-q:{
-cL:function(a){var z,y,x
-a=a
-z=[]
-for(y=a.length,x=0;x=y.length)return H.j(y,0)
-if(y[0]==null)throw H.b("no type for '"+z+"<...>'")
-for(z=this.b,x=z.length,w=0;w"}},
-bc:{"^":"c;a,b",
-j:function(a){var z,y
-z=this.b
-if(z!=null)return z
-y=function(b,c){return b.replace(/[^<,> ]+/g,function(d){return c[d]||d})}(this.a,init.mangledGlobalNames)
-this.b=y
-return y},
-gD:function(a){return J.U(this.a)},
-v:function(a,b){if(b==null)return!1
-return b instanceof H.bc&&J.N(this.a,b.a)}},
-V:{"^":"c;a,b,c,d,e,f,r,$ti",
-gi:function(a){return this.a},
-gt:function(a){return this.a===0},
-gI:function(a){return!this.gt(this)},
-gS:function(){return new H.eX(this,[H.J(this,0)])},
-gbX:function(a){return H.b3(this.gS(),new H.eU(this),H.J(this,0),H.J(this,1))},
-E:function(a){var z,y
-if(typeof a==="string"){z=this.b
-if(z==null)return!1
-return this.ba(z,a)}else if(typeof a==="number"&&(a&0x3ffffff)===a){y=this.c
-if(y==null)return!1
-return this.ba(y,a)}else return this.da(a)},
-da:function(a){var z=this.d
-if(z==null)return!1
-return this.ae(this.ap(z,this.ad(a)),a)>=0},
-u:function(a,b){b.B(0,new H.eT(this))},
-h:function(a,b){var z,y,x
-if(typeof b==="string"){z=this.b
-if(z==null)return
-y=this.a8(z,b)
-return y==null?null:y.ga_()}else if(typeof b==="number"&&(b&0x3ffffff)===b){x=this.c
-if(x==null)return
-y=this.a8(x,b)
-return y==null?null:y.ga_()}else return this.dc(b)},
-dc:function(a){var z,y,x
-z=this.d
-if(z==null)return
-y=this.ap(z,this.ad(a))
-x=this.ae(y,a)
-if(x<0)return
-return y[x].ga_()},
-p:function(a,b,c){var z,y
-if(typeof b==="string"){z=this.b
-if(z==null){z=this.aH()
-this.b=z}this.b5(z,b,c)}else if(typeof b==="number"&&(b&0x3ffffff)===b){y=this.c
-if(y==null){y=this.aH()
-this.c=y}this.b5(y,b,c)}else this.de(b,c)},
-de:function(a,b){var z,y,x,w
-z=this.d
-if(z==null){z=this.aH()
-this.d=z}y=this.ad(a)
-x=this.ap(z,y)
-if(x==null)this.aK(z,y,[this.av(a,b)])
-else{w=this.ae(x,a)
-if(w>=0)x[w].sa_(b)
-else x.push(this.av(a,b))}},
-ag:function(a,b){if(typeof b==="string")return this.bq(this.b,b)
-else if(typeof b==="number"&&(b&0x3ffffff)===b)return this.bq(this.c,b)
-else return this.dd(b)},
-dd:function(a){var z,y,x,w
-z=this.d
-if(z==null)return
-y=this.ap(z,this.ad(a))
-x=this.ae(y,a)
-if(x<0)return
-w=y.splice(x,1)[0]
-this.bv(w)
-return w.ga_()},
-R:function(a){if(this.a>0){this.f=null
-this.e=null
-this.d=null
-this.c=null
-this.b=null
-this.a=0
-this.r=this.r+1&67108863}},
-B:function(a,b){var z,y
-z=this.e
-y=this.r
-for(;z!=null;){b.$2(z.a,z.b)
-if(y!==this.r)throw H.b(new P.D(this))
-z=z.c}},
-b5:function(a,b,c){var z=this.a8(a,b)
-if(z==null)this.aK(a,b,this.av(b,c))
-else z.sa_(c)},
-bq:function(a,b){var z
-if(a==null)return
-z=this.a8(a,b)
-if(z==null)return
-this.bv(z)
-this.bb(a,b)
-return z.ga_()},
-av:function(a,b){var z,y
-z=new H.eW(a,b,null,null,[null,null])
-if(this.e==null){this.f=z
-this.e=z}else{y=this.f
-z.d=y
-y.c=z
-this.f=z}++this.a
-this.r=this.r+1&67108863
-return z},
-bv:function(a){var z,y
-z=a.gcJ()
-y=a.c
-if(z==null)this.e=y
-else z.c=y
-if(y==null)this.f=z
-else y.d=z;--this.a
-this.r=this.r+1&67108863},
-ad:function(a){return J.U(a)&0x3ffffff},
-ae:function(a,b){var z,y
-if(a==null)return-1
-z=a.length
-for(y=0;y",z)
-this.bb(z,"")
-return z},
-$iseD:1,
-$iscw:1},
-eU:{"^":"f:0;a",
-$1:function(a){return this.a.h(0,a)}},
-eT:{"^":"f;a",
-$2:function(a,b){this.a.p(0,a,b)},
-$signature:function(){return H.bh(function(a,b){return{func:1,args:[a,b]}},this.a,"V")}},
-eW:{"^":"c;bK:a<,a_:b@,c,cJ:d<,$ti"},
-eX:{"^":"e;a,$ti",
-gi:function(a){return this.a.a},
-gt:function(a){return this.a.a===0},
-gn:function(a){var z,y
-z=this.a
-y=new H.eY(z,z.r,null,null,this.$ti)
-y.c=z.e
-return y},
-B:function(a,b){var z,y,x
-z=this.a
-y=z.e
-x=z.r
-for(;y!=null;){b.$1(y.a)
-if(x!==z.r)throw H.b(new P.D(z))
-y=y.c}}},
-eY:{"^":"c;a,b,c,d,$ti",
-gl:function(){return this.d},
-k:function(){var z=this.a
-if(this.b!==z.r)throw H.b(new P.D(z))
-else{z=this.c
-if(z==null){this.d=null
-return!1}else{this.d=z.a
-this.c=z.c
-return!0}}}},
-id:{"^":"f:0;a",
-$1:function(a){return this.a(a)}},
-ie:{"^":"f:8;a",
-$2:function(a,b){return this.a(a,b)}},
-ig:{"^":"f:9;a",
-$1:function(a){return this.a(a)}},
-cu:{"^":"c;a,b,c,d",
-j:function(a){return"RegExp/"+this.a+"/"},
-gbj:function(){var z=this.c
-if(z!=null)return z
-z=this.b
-z=H.cv(this.a,z.multiline,!z.ignoreCase,!0)
-this.c=z
-return z},
-cz:function(a,b){var z,y
-z=this.gbj()
-z.lastIndex=b
-y=z.exec(a)
-if(y==null)return
-return new H.hs(this,y)},
-$isbD:1,
-q:{
-cv:function(a,b,c,d){var z,y,x,w
-z=b?"m":""
-y=c?"":"i"
-x=d?"g":""
-w=function(e,f){try{return new RegExp(e,f)}catch(v){return v}}(a,z+y+x)
-if(w instanceof RegExp)return w
-throw H.b(new P.cm("Illegal RegExp pattern ("+String(w)+")",a,null))}}},
-hs:{"^":"c;a,b",
-h:function(a,b){var z=this.b
-if(b>>>0!==b||b>=z.length)return H.j(z,b)
-return z[b]}},
-fM:{"^":"c;a,b,c,d",
-gl:function(){return this.d},
-k:function(){var z,y,x,w
-z=this.b
-if(z==null)return!1
-y=this.c
-if(y<=z.length){x=this.a.cz(z,y)
-if(x!=null){this.d=x
-z=x.b
-y=z.index
-w=y+z[0].length
-this.c=y===w?w+1:w
-return!0}}this.d=null
-this.b=null
-return!1}}}],["","",,H,{"^":"",
-dz:function(a){var z=H.K(a?Object.keys(a):[],[null])
-z.fixed$length=Array
-return z}}],["","",,H,{"^":"",
-iE:function(a){if(typeof dartPrint=="function"){dartPrint(a)
-return}if(typeof console=="object"&&typeof console.log!="undefined"){console.log(a)
-return}if(typeof window=="object")return
-if(typeof print=="function"){print(a)
-return}throw"Unable to print message: "+String(a)}}],["","",,H,{"^":"",cy:{"^":"h;",
-gw:function(a){return C.C},
-$iscy:1,
-"%":"ArrayBuffer"},b4:{"^":"h;",$isb4:1,"%":";ArrayBufferView;bB|cz|cB|bC|cA|cC|a3"},jz:{"^":"b4;",
-gw:function(a){return C.D},
-"%":"DataView"},bB:{"^":"b4;",
-gi:function(a){return a.length},
-$isE:1,
-$asE:I.x,
-$isB:1,
-$asB:I.x},bC:{"^":"cB;",
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-p:function(a,b,c){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-a[b]=c}},cz:{"^":"bB+X;",$asE:I.x,$asB:I.x,
-$asi:function(){return[P.C]},
-$ase:function(){return[P.C]},
-$asd:function(){return[P.C]},
-$isi:1,
-$ise:1,
-$isd:1},cB:{"^":"cz+ck;",$asE:I.x,$asB:I.x,
-$asi:function(){return[P.C]},
-$ase:function(){return[P.C]},
-$asd:function(){return[P.C]}},a3:{"^":"cC;",
-p:function(a,b,c){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-a[b]=c},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]}},cA:{"^":"bB+X;",$asE:I.x,$asB:I.x,
-$asi:function(){return[P.k]},
-$ase:function(){return[P.k]},
-$asd:function(){return[P.k]},
-$isi:1,
-$ise:1,
-$isd:1},cC:{"^":"cA+ck;",$asE:I.x,$asB:I.x,
-$asi:function(){return[P.k]},
-$ase:function(){return[P.k]},
-$asd:function(){return[P.k]}},jA:{"^":"bC;",
-gw:function(a){return C.E},
-$isi:1,
-$asi:function(){return[P.C]},
-$ise:1,
-$ase:function(){return[P.C]},
-$isd:1,
-$asd:function(){return[P.C]},
-"%":"Float32Array"},jB:{"^":"bC;",
-gw:function(a){return C.F},
-$isi:1,
-$asi:function(){return[P.C]},
-$ise:1,
-$ase:function(){return[P.C]},
-$isd:1,
-$asd:function(){return[P.C]},
-"%":"Float64Array"},jC:{"^":"a3;",
-gw:function(a){return C.G},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"Int16Array"},jD:{"^":"a3;",
-gw:function(a){return C.H},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"Int32Array"},jE:{"^":"a3;",
-gw:function(a){return C.I},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"Int8Array"},jF:{"^":"a3;",
-gw:function(a){return C.M},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"Uint16Array"},jG:{"^":"a3;",
-gw:function(a){return C.N},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"Uint32Array"},jH:{"^":"a3;",
-gw:function(a){return C.O},
-gi:function(a){return a.length},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":"CanvasPixelArray|Uint8ClampedArray"},jI:{"^":"a3;",
-gw:function(a){return C.P},
-gi:function(a){return a.length},
-h:function(a,b){if(b>>>0!==b||b>=a.length)H.r(H.u(a,b))
-return a[b]},
-$isi:1,
-$asi:function(){return[P.k]},
-$ise:1,
-$ase:function(){return[P.k]},
-$isd:1,
-$asd:function(){return[P.k]},
-"%":";Uint8Array"}}],["","",,P,{"^":"",
-fN:function(){var z,y,x
-z={}
-if(self.scheduleImmediate!=null)return P.hV()
-if(self.MutationObserver!=null&&self.document!=null){y=self.document.createElement("div")
-x=self.document.createElement("span")
-z.a=null
-new self.MutationObserver(H.az(new P.fP(z),1)).observe(y,{childList:true})
-return new P.fO(z,y,x)}else if(self.setImmediate!=null)return P.hW()
-return P.hX()},
-k4:[function(a){++init.globalState.f.b
-self.scheduleImmediate(H.az(new P.fQ(a),0))},"$1","hV",2,0,4],
-k5:[function(a){++init.globalState.f.b
-self.setImmediate(H.az(new P.fR(a),0))},"$1","hW",2,0,4],
-k6:[function(a){P.bH(C.i,a)},"$1","hX",2,0,4],
-dn:function(a,b){var z=H.a7()
-if(H.T(z,[z,z]).M(a)){b.toString
-return a}else{b.toString
-return a}},
-hO:function(){var z,y
-for(;z=$.al,z!=null;){$.av=null
-y=z.ga6()
-$.al=y
-if(y==null)$.au=null
-z.gcV().$0()}},
-kk:[function(){$.bN=!0
-try{P.hO()}finally{$.av=null
-$.bN=!1
-if($.al!=null)$.$get$bI().$1(P.dx())}},"$0","dx",0,0,2],
-ds:function(a){var z=new P.d7(a,null)
-if($.al==null){$.au=z
-$.al=z
-if(!$.bN)$.$get$bI().$1(P.dx())}else{$.au.b=z
-$.au=z}},
-hS:function(a){var z,y,x
-z=$.al
-if(z==null){P.ds(a)
-$.av=$.au
-return}y=new P.d7(a,null)
-x=$.av
-if(x==null){y.b=z
-$.av=y
-$.al=y}else{y.b=x.b
-x.b=y
-$.av=y
-if(y.b==null)$.au=y}},
-dQ:function(a){var z=$.n
-if(C.d===z){P.ax(null,null,C.d,a)
-return}z.toString
-P.ax(null,null,z,z.aO(a,!0))},
-ki:[function(a){},"$1","hY",2,0,16],
-hP:[function(a,b){var z=$.n
-z.toString
-P.aw(null,null,z,a,b)},function(a){return P.hP(a,null)},"$2","$1","i_",2,2,5,0],
-kj:[function(){},"$0","hZ",0,0,2],
-hR:function(a,b,c){var z,y,x,w,v,u,t
-try{b.$1(a.$0())}catch(u){t=H.y(u)
-z=t
-y=H.H(u)
-$.n.toString
-x=null
-if(x==null)c.$2(z,y)
-else{t=J.ao(x)
-w=t
-v=x.gU()
-c.$2(w,v)}}},
-hF:function(a,b,c,d){var z=a.aP()
-if(!!J.m(z).$isa0&&z!==$.$get$aH())z.b_(new P.hI(b,c,d))
-else b.a7(c,d)},
-hG:function(a,b){return new P.hH(a,b)},
-hE:function(a,b,c){$.n.toString
-a.aw(b,c)},
-fF:function(a,b){var z=$.n
-if(z===C.d){z.toString
-return P.bH(a,b)}return P.bH(a,z.aO(b,!0))},
-bH:function(a,b){var z=C.c.a9(a.a,1000)
-return H.fC(z<0?0:z,b)},
-fL:function(){return $.n},
-aw:function(a,b,c,d,e){var z={}
-z.a=d
-P.hS(new P.hQ(z,e))},
-dp:function(a,b,c,d){var z,y
-y=$.n
-if(y===c)return d.$0()
-$.n=c
-z=y
-try{y=d.$0()
-return y}finally{$.n=z}},
-dr:function(a,b,c,d,e){var z,y
-y=$.n
-if(y===c)return d.$1(e)
-$.n=c
-z=y
-try{y=d.$1(e)
-return y}finally{$.n=z}},
-dq:function(a,b,c,d,e,f){var z,y
-y=$.n
-if(y===c)return d.$2(e,f)
-$.n=c
-z=y
-try{y=d.$2(e,f)
-return y}finally{$.n=z}},
-ax:function(a,b,c,d){var z=C.d!==c
-if(z)d=c.aO(d,!(!z||!1))
-P.ds(d)},
-fP:{"^":"f:0;a",
-$1:function(a){var z,y;--init.globalState.f.b
-z=this.a
-y=z.a
-z.a=null
-y.$0()}},
-fO:{"^":"f:10;a,b,c",
-$1:function(a){var z,y;++init.globalState.f.b
-this.a.a=a
-z=this.b
-y=this.c
-z.firstChild?z.removeChild(y):z.appendChild(y)}},
-fQ:{"^":"f:1;a",
-$0:function(){--init.globalState.f.b
-this.a.$0()}},
-fR:{"^":"f:1;a",
-$0:function(){--init.globalState.f.b
-this.a.$0()}},
-a0:{"^":"c;$ti"},
-dd:{"^":"c;aJ:a<,b,c,d,e,$ti",
-gcS:function(){return this.b.b},
-gbJ:function(){return(this.c&1)!==0},
-gd9:function(){return(this.c&2)!==0},
-gbI:function(){return this.c===8},
-d7:function(a){return this.b.b.aX(this.d,a)},
-di:function(a){if(this.c!==6)return!0
-return this.b.b.aX(this.d,J.ao(a))},
-d3:function(a){var z,y,x,w
-z=this.e
-y=H.a7()
-x=J.G(a)
-w=this.b.b
-if(H.T(y,[y,y]).M(z))return w.dv(z,x.gZ(a),a.gU())
-else return w.aX(z,x.gZ(a))},
-d8:function(){return this.b.b.bS(this.d)}},
-a5:{"^":"c;as:a<,b,cN:c<,$ti",
-gcG:function(){return this.a===2},
-gaG:function(){return this.a>=4},
-bV:function(a,b){var z,y,x
-z=$.n
-if(z!==C.d){z.toString
-if(b!=null)b=P.dn(b,z)}y=new P.a5(0,z,null,[null])
-x=b==null?1:3
-this.ax(new P.dd(null,y,x,a,b,[null,null]))
-return y},
-dA:function(a){return this.bV(a,null)},
-b_:function(a){var z,y
-z=$.n
-y=new P.a5(0,z,null,this.$ti)
-if(z!==C.d)z.toString
-this.ax(new P.dd(null,y,8,a,null,[null,null]))
-return y},
-ax:function(a){var z,y
-z=this.a
-if(z<=1){a.a=this.c
-this.c=a}else{if(z===2){y=this.c
-if(!y.gaG()){y.ax(a)
-return}this.a=y.a
-this.c=y.c}z=this.b
-z.toString
-P.ax(null,null,z,new P.h7(this,a))}},
-bp:function(a){var z,y,x,w,v
-z={}
-z.a=a
-if(a==null)return
-y=this.a
-if(y<=1){x=this.c
-this.c=a
-if(x!=null){for(w=a;w.gaJ()!=null;)w=w.a
-w.a=x}}else{if(y===2){v=this.c
-if(!v.gaG()){v.bp(a)
-return}this.a=v.a
-this.c=v.c}z.a=this.ar(a)
-y=this.b
-y.toString
-P.ax(null,null,y,new P.he(z,this))}},
-aq:function(){var z=this.c
-this.c=null
-return this.ar(z)},
-ar:function(a){var z,y,x
-for(z=a,y=null;z!=null;y=z,z=x){x=z.gaJ()
-z.a=y}return y},
-am:function(a){var z
-if(!!J.m(a).$isa0)P.be(a,this)
-else{z=this.aq()
-this.a=4
-this.c=a
-P.ai(this,z)}},
-a7:[function(a,b){var z=this.aq()
-this.a=8
-this.c=new P.aY(a,b)
-P.ai(this,z)},function(a){return this.a7(a,null)},"dG","$2","$1","gaC",2,2,5,0],
-cq:function(a){var z
-if(!!J.m(a).$isa0){if(a.a===8){this.a=1
-z=this.b
-z.toString
-P.ax(null,null,z,new P.h8(this,a))}else P.be(a,this)
-return}this.a=1
-z=this.b
-z.toString
-P.ax(null,null,z,new P.h9(this,a))},
-cm:function(a,b){this.cq(a)},
-$isa0:1,
-q:{
-ha:function(a,b){var z,y,x,w
-b.a=1
-try{a.bV(new P.hb(b),new P.hc(b))}catch(x){w=H.y(x)
-z=w
-y=H.H(x)
-P.dQ(new P.hd(b,z,y))}},
-be:function(a,b){var z,y,x
-for(;a.gcG();)a=a.c
-z=a.gaG()
-y=b.c
-if(z){b.c=null
-x=b.ar(y)
-b.a=a.a
-b.c=a.c
-P.ai(b,x)}else{b.a=2
-b.c=a
-a.bp(y)}},
-ai:function(a,b){var z,y,x,w,v,u,t,s,r,q,p,o
-z={}
-z.a=a
-for(y=a;!0;){x={}
-w=y.a===8
-if(b==null){if(w){v=y.c
-z=y.b
-y=J.ao(v)
-x=v.gU()
-z.toString
-P.aw(null,null,z,y,x)}return}for(;b.gaJ()!=null;b=u){u=b.a
-b.a=null
-P.ai(z.a,b)}t=z.a.c
-x.a=w
-x.b=t
-y=!w
-if(!y||b.gbJ()||b.gbI()){s=b.gcS()
-if(w){r=z.a.b
-r.toString
-r=r==null?s==null:r===s
-if(!r)s.toString
-else r=!0
-r=!r}else r=!1
-if(r){y=z.a
-v=y.c
-y=y.b
-x=J.ao(v)
-r=v.gU()
-y.toString
-P.aw(null,null,y,x,r)
-return}q=$.n
-if(q==null?s!=null:q!==s)$.n=s
-else q=null
-if(b.gbI())new P.hh(z,x,w,b).$0()
-else if(y){if(b.gbJ())new P.hg(x,b,t).$0()}else if(b.gd9())new P.hf(z,x,b).$0()
-if(q!=null)$.n=q
-y=x.b
-r=J.m(y)
-if(!!r.$isa0){p=b.b
-if(!!r.$isa5)if(y.a>=4){o=p.c
-p.c=null
-b=p.ar(o)
-p.a=y.a
-p.c=y.c
-z.a=y
-continue}else P.be(y,p)
-else P.ha(y,p)
-return}}p=b.b
-b=p.aq()
-y=x.a
-x=x.b
-if(!y){p.a=4
-p.c=x}else{p.a=8
-p.c=x}z.a=p
-y=p}}}},
-h7:{"^":"f:1;a,b",
-$0:function(){P.ai(this.a,this.b)}},
-he:{"^":"f:1;a,b",
-$0:function(){P.ai(this.b,this.a.a)}},
-hb:{"^":"f:0;a",
-$1:function(a){var z=this.a
-z.a=0
-z.am(a)}},
-hc:{"^":"f:11;a",
-$2:function(a,b){this.a.a7(a,b)},
-$1:function(a){return this.$2(a,null)}},
-hd:{"^":"f:1;a,b,c",
-$0:function(){this.a.a7(this.b,this.c)}},
-h8:{"^":"f:1;a,b",
-$0:function(){P.be(this.b,this.a)}},
-h9:{"^":"f:1;a,b",
-$0:function(){var z,y
-z=this.a
-y=z.aq()
-z.a=4
-z.c=this.b
-P.ai(z,y)}},
-hh:{"^":"f:2;a,b,c,d",
-$0:function(){var z,y,x,w,v,u,t
-z=null
-try{z=this.d.d8()}catch(w){v=H.y(w)
-y=v
-x=H.H(w)
-if(this.c){v=J.ao(this.a.a.c)
-u=y
-u=v==null?u==null:v===u
-v=u}else v=!1
-u=this.b
-if(v)u.b=this.a.a.c
-else u.b=new P.aY(y,x)
-u.a=!0
-return}if(!!J.m(z).$isa0){if(z instanceof P.a5&&z.gas()>=4){if(z.gas()===8){v=this.b
-v.b=z.gcN()
-v.a=!0}return}t=this.a.a
-v=this.b
-v.b=z.dA(new P.hi(t))
-v.a=!1}}},
-hi:{"^":"f:0;a",
-$1:function(a){return this.a}},
-hg:{"^":"f:2;a,b,c",
-$0:function(){var z,y,x,w
-try{this.a.b=this.b.d7(this.c)}catch(x){w=H.y(x)
-z=w
-y=H.H(x)
-w=this.a
-w.b=new P.aY(z,y)
-w.a=!0}}},
-hf:{"^":"f:2;a,b,c",
-$0:function(){var z,y,x,w,v,u,t,s
-try{z=this.a.a.c
-w=this.c
-if(w.di(z)===!0&&w.e!=null){v=this.b
-v.b=w.d3(z)
-v.a=!1}}catch(u){w=H.y(u)
-y=w
-x=H.H(u)
-w=this.a
-v=J.ao(w.a.c)
-t=y
-s=this.b
-if(v==null?t==null:v===t)s.b=w.a.c
-else s.b=new P.aY(y,x)
-s.a=!0}}},
-d7:{"^":"c;cV:a<,a6:b<"},
-ah:{"^":"c;$ti",
-J:function(a,b){return new P.hr(b,this,[H.t(this,"ah",0),null])},
-B:function(a,b){var z,y
-z={}
-y=new P.a5(0,$.n,null,[null])
-z.a=null
-z.a=this.a5(new P.fs(z,this,b,y),!0,new P.ft(y),y.gaC())
-return y},
-gi:function(a){var z,y
-z={}
-y=new P.a5(0,$.n,null,[P.k])
-z.a=0
-this.a5(new P.fu(z),!0,new P.fv(z,y),y.gaC())
-return y},
-a1:function(a){var z,y,x
-z=H.t(this,"ah",0)
-y=H.K([],[z])
-x=new P.a5(0,$.n,null,[[P.i,z]])
-this.a5(new P.fw(this,y),!0,new P.fx(y,x),x.gaC())
-return x}},
-fs:{"^":"f;a,b,c,d",
-$1:function(a){P.hR(new P.fq(this.c,a),new P.fr(),P.hG(this.a.a,this.d))},
-$signature:function(){return H.bh(function(a){return{func:1,args:[a]}},this.b,"ah")}},
-fq:{"^":"f:1;a,b",
-$0:function(){return this.a.$1(this.b)}},
-fr:{"^":"f:0;",
-$1:function(a){}},
-ft:{"^":"f:1;a",
-$0:function(){this.a.am(null)}},
-fu:{"^":"f:0;a",
-$1:function(a){++this.a.a}},
-fv:{"^":"f:1;a,b",
-$0:function(){this.b.am(this.a.a)}},
-fw:{"^":"f;a,b",
-$1:function(a){this.b.push(a)},
-$signature:function(){return H.bh(function(a){return{func:1,args:[a]}},this.a,"ah")}},
-fx:{"^":"f:1;a,b",
-$0:function(){this.b.am(this.a)}},
-fp:{"^":"c;$ti"},
-ka:{"^":"c;$ti"},
-d9:{"^":"c;as:e<,$ti",
-aU:function(a,b){var z=this.e
-if((z&8)!==0)return
-this.e=(z+128|4)>>>0
-if(z<128&&this.r!=null)this.r.bA()
-if((z&4)===0&&(this.e&32)===0)this.bg(this.gbl())},
-bO:function(a){return this.aU(a,null)},
-bR:function(){var z=this.e
-if((z&8)!==0)return
-if(z>=128){z-=128
-this.e=z
-if(z<128){if((z&64)!==0){z=this.r
-z=!z.gt(z)}else z=!1
-if(z)this.r.au(this)
-else{z=(this.e&4294967291)>>>0
-this.e=z
-if((z&32)===0)this.bg(this.gbn())}}}},
-aP:function(){var z=(this.e&4294967279)>>>0
-this.e=z
-if((z&8)===0)this.aA()
-z=this.f
-return z==null?$.$get$aH():z},
-aA:function(){var z=(this.e|8)>>>0
-this.e=z
-if((z&64)!==0)this.r.bA()
-if((this.e&32)===0)this.r=null
-this.f=this.bk()},
-az:["cd",function(a){var z=this.e
-if((z&8)!==0)return
-if(z<32)this.bs(a)
-else this.ay(new P.fY(a,null,[null]))}],
-aw:["ce",function(a,b){var z=this.e
-if((z&8)!==0)return
-if(z<32)this.bu(a,b)
-else this.ay(new P.h_(a,b,null))}],
-cp:function(){var z=this.e
-if((z&8)!==0)return
-z=(z|2)>>>0
-this.e=z
-if(z<32)this.bt()
-else this.ay(C.p)},
-bm:[function(){},"$0","gbl",0,0,2],
-bo:[function(){},"$0","gbn",0,0,2],
-bk:function(){return},
-ay:function(a){var z,y
-z=this.r
-if(z==null){z=new P.hC(null,null,0,[null])
-this.r=z}z.m(0,a)
-y=this.e
-if((y&64)===0){y=(y|64)>>>0
-this.e=y
-if(y<128)this.r.au(this)}},
-bs:function(a){var z=this.e
-this.e=(z|32)>>>0
-this.d.aY(this.a,a)
-this.e=(this.e&4294967263)>>>0
-this.aB((z&4)!==0)},
-bu:function(a,b){var z,y,x
-z=this.e
-y=new P.fU(this,a,b)
-if((z&1)!==0){this.e=(z|16)>>>0
-this.aA()
-z=this.f
-if(!!J.m(z).$isa0){x=$.$get$aH()
-x=z==null?x!=null:z!==x}else x=!1
-if(x)z.b_(y)
-else y.$0()}else{y.$0()
-this.aB((z&4)!==0)}},
-bt:function(){var z,y,x
-z=new P.fT(this)
-this.aA()
-this.e=(this.e|16)>>>0
-y=this.f
-if(!!J.m(y).$isa0){x=$.$get$aH()
-x=y==null?x!=null:y!==x}else x=!1
-if(x)y.b_(z)
-else z.$0()},
-bg:function(a){var z=this.e
-this.e=(z|32)>>>0
-a.$0()
-this.e=(this.e&4294967263)>>>0
-this.aB((z&4)!==0)},
-aB:function(a){var z,y
-if((this.e&64)!==0){z=this.r
-z=z.gt(z)}else z=!1
-if(z){z=(this.e&4294967231)>>>0
-this.e=z
-if((z&4)!==0)if(z<128){z=this.r
-z=z==null||z.gt(z)}else z=!1
-else z=!1
-if(z)this.e=(this.e&4294967291)>>>0}for(;!0;a=y){z=this.e
-if((z&8)!==0){this.r=null
-return}y=(z&4)!==0
-if(a===y)break
-this.e=(z^32)>>>0
-if(y)this.bm()
-else this.bo()
-this.e=(this.e&4294967263)>>>0}z=this.e
-if((z&64)!==0&&z<128)this.r.au(this)},
-ck:function(a,b,c,d,e){var z,y
-z=a==null?P.hY():a
-y=this.d
-y.toString
-this.a=z
-this.b=P.dn(b==null?P.i_():b,y)
-this.c=c==null?P.hZ():c}},
-fU:{"^":"f:2;a,b,c",
-$0:function(){var z,y,x,w,v,u
-z=this.a
-y=z.e
-if((y&8)!==0&&(y&16)===0)return
-z.e=(y|32)>>>0
-y=z.b
-x=H.T(H.a7(),[H.bg(P.c),H.bg(P.ag)]).M(y)
-w=z.d
-v=this.b
-u=z.b
-if(x)w.dw(u,v,this.c)
-else w.aY(u,v)
-z.e=(z.e&4294967263)>>>0}},
-fT:{"^":"f:2;a",
-$0:function(){var z,y
-z=this.a
-y=z.e
-if((y&16)===0)return
-z.e=(y|42)>>>0
-z.d.bT(z.c)
-z.e=(z.e&4294967263)>>>0}},
-bJ:{"^":"c;a6:a@,$ti"},
-fY:{"^":"bJ;b,a,$ti",
-aV:function(a){a.bs(this.b)}},
-h_:{"^":"bJ;Z:b>,U:c<,a",
-aV:function(a){a.bu(this.b,this.c)},
-$asbJ:I.x},
-fZ:{"^":"c;",
-aV:function(a){a.bt()},
-ga6:function(){return},
-sa6:function(a){throw H.b(new P.ba("No events after a done."))}},
-hw:{"^":"c;as:a<,$ti",
-au:function(a){var z=this.a
-if(z===1)return
-if(z>=1){this.a=1
-return}P.dQ(new P.hx(this,a))
-this.a=1},
-bA:function(){if(this.a===1)this.a=3}},
-hx:{"^":"f:1;a,b",
-$0:function(){var z,y,x,w
-z=this.a
-y=z.a
-z.a=0
-if(y===3)return
-x=z.b
-w=x.ga6()
-z.b=w
-if(w==null)z.c=null
-x.aV(this.b)}},
-hC:{"^":"hw;b,c,a,$ti",
-gt:function(a){return this.c==null},
-m:function(a,b){var z=this.c
-if(z==null){this.c=b
-this.b=b}else{z.sa6(b)
-this.c=b}}},
-hI:{"^":"f:1;a,b,c",
-$0:function(){return this.a.a7(this.b,this.c)}},
-hH:{"^":"f:12;a,b",
-$2:function(a,b){P.hF(this.a,this.b,a,b)}},
-bK:{"^":"ah;$ti",
-a5:function(a,b,c,d){return this.cv(a,d,c,!0===b)},
-bL:function(a,b,c){return this.a5(a,null,b,c)},
-cv:function(a,b,c,d){return P.h6(this,a,b,c,d,H.t(this,"bK",0),H.t(this,"bK",1))},
-bh:function(a,b){b.az(a)},
-cE:function(a,b,c){c.aw(a,b)},
-$asah:function(a,b){return[b]}},
-dc:{"^":"d9;x,y,a,b,c,d,e,f,r,$ti",
-az:function(a){if((this.e&2)!==0)return
-this.cd(a)},
-aw:function(a,b){if((this.e&2)!==0)return
-this.ce(a,b)},
-bm:[function(){var z=this.y
-if(z==null)return
-z.bO(0)},"$0","gbl",0,0,2],
-bo:[function(){var z=this.y
-if(z==null)return
-z.bR()},"$0","gbn",0,0,2],
-bk:function(){var z=this.y
-if(z!=null){this.y=null
-return z.aP()}return},
-dH:[function(a){this.x.bh(a,this)},"$1","gcB",2,0,function(){return H.bh(function(a,b){return{func:1,v:true,args:[a]}},this.$receiver,"dc")}],
-dJ:[function(a,b){this.x.cE(a,b,this)},"$2","gcD",4,0,13],
-dI:[function(){this.cp()},"$0","gcC",0,0,2],
-cl:function(a,b,c,d,e,f,g){this.y=this.x.a.bL(this.gcB(),this.gcC(),this.gcD())},
-$asd9:function(a,b){return[b]},
-q:{
-h6:function(a,b,c,d,e,f,g){var z,y
-z=$.n
-y=e?1:0
-y=new P.dc(a,null,null,null,null,z,y,null,null,[f,g])
-y.ck(b,c,d,e,g)
-y.cl(a,b,c,d,e,f,g)
-return y}}},
-hr:{"^":"bK;b,a,$ti",
-bh:function(a,b){var z,y,x,w,v
-z=null
-try{z=this.b.$1(a)}catch(w){v=H.y(w)
-y=v
-x=H.H(w)
-P.hE(b,y,x)
-return}b.az(z)}},
-aY:{"^":"c;Z:a>,U:b<",
-j:function(a){return H.a(this.a)},
-$isz:1},
-hD:{"^":"c;"},
-hQ:{"^":"f:1;a,b",
-$0:function(){var z,y,x
-z=this.a
-y=z.a
-if(y==null){x=new P.cE()
-z.a=x
-z=x}else z=y
-y=this.b
-if(y==null)throw H.b(z)
-x=H.b(z)
-x.stack=J.P(y)
-throw x}},
-hy:{"^":"hD;",
-bT:function(a){var z,y,x,w
-try{if(C.d===$.n){x=a.$0()
-return x}x=P.dp(null,null,this,a)
-return x}catch(w){x=H.y(w)
-z=x
-y=H.H(w)
-return P.aw(null,null,this,z,y)}},
-aY:function(a,b){var z,y,x,w
-try{if(C.d===$.n){x=a.$1(b)
-return x}x=P.dr(null,null,this,a,b)
-return x}catch(w){x=H.y(w)
-z=x
-y=H.H(w)
-return P.aw(null,null,this,z,y)}},
-dw:function(a,b,c){var z,y,x,w
-try{if(C.d===$.n){x=a.$2(b,c)
-return x}x=P.dq(null,null,this,a,b,c)
-return x}catch(w){x=H.y(w)
-z=x
-y=H.H(w)
-return P.aw(null,null,this,z,y)}},
-aO:function(a,b){if(b)return new P.hz(this,a)
-else return new P.hA(this,a)},
-cU:function(a,b){return new P.hB(this,a)},
-h:function(a,b){return},
-bS:function(a){if($.n===C.d)return a.$0()
-return P.dp(null,null,this,a)},
-aX:function(a,b){if($.n===C.d)return a.$1(b)
-return P.dr(null,null,this,a,b)},
-dv:function(a,b,c){if($.n===C.d)return a.$2(b,c)
-return P.dq(null,null,this,a,b,c)}},
-hz:{"^":"f:1;a,b",
-$0:function(){return this.a.bT(this.b)}},
-hA:{"^":"f:1;a,b",
-$0:function(){return this.a.bS(this.b)}},
-hB:{"^":"f:0;a,b",
-$1:function(a){return this.a.aY(this.b,a)}}}],["","",,P,{"^":"",
-a1:function(){return new H.V(0,null,null,null,null,null,0,[null,null])},
-W:function(a){return H.i9(a,new H.V(0,null,null,null,null,null,0,[null,null]))},
-eL:function(a,b,c){var z,y
-if(P.bO(a)){if(b==="("&&c===")")return"(...)"
-return b+"..."+c}z=[]
-y=$.$get$ay()
-y.push(a)
-try{P.hM(a,z)}finally{if(0>=y.length)return H.j(y,-1)
-y.pop()}y=P.cP(b,z,", ")+c
-return y.charCodeAt(0)==0?y:y},
-b1:function(a,b,c){var z,y,x
-if(P.bO(a))return b+"..."+c
-z=new P.aR(b)
-y=$.$get$ay()
-y.push(a)
-try{x=z
-x.a=P.cP(x.ga4(),a,", ")}finally{if(0>=y.length)return H.j(y,-1)
-y.pop()}y=z
-y.a=y.ga4()+c
-y=z.ga4()
-return y.charCodeAt(0)==0?y:y},
-bO:function(a){var z,y
-for(z=0;y=$.$get$ay(),z=b.length)return H.j(b,-1)
-v=b.pop()
-if(0>=b.length)return H.j(b,-1)
-u=b.pop()}else{t=z.gl();++x
-if(!z.k()){if(x<=4){b.push(H.a(t))
-return}v=H.a(t)
-if(0>=b.length)return H.j(b,-1)
-u=b.pop()
-y+=v.length+2}else{s=z.gl();++x
-for(;z.k();t=s,s=r){r=z.gl();++x
-if(x>100){while(!0){if(!(y>75&&x>3))break
-if(0>=b.length)return H.j(b,-1)
-y-=b.pop().length+2;--x}b.push("...")
-return}}u=H.a(t)
-v=H.a(s)
-y+=v.length+u.length+4}}if(x>b.length+2){y+=5
-q="..."}else q=null
-while(!0){if(!(y>80&&b.length>3))break
-if(0>=b.length)return H.j(b,-1)
-y-=b.pop().length+2
-if(q==null){y+=5
-q="..."}}if(q!=null)b.push(q)
-b.push(u)
-b.push(v)},
-eZ:function(a,b,c,d,e){return new H.V(0,null,null,null,null,null,0,[d,e])},
-f_:function(a,b,c){var z=P.eZ(null,null,null,b,c)
-J.dZ(a,new P.i2(z))
-return z},
-R:function(a,b,c,d){return new P.df(0,null,null,null,null,null,0,[d])},
-f0:function(a,b){var z,y
-z=P.R(null,null,null,b)
-for(y=J.Z(a);y.k();)z.m(0,y.gl())
-return z},
-cx:function(a){var z,y,x
-z={}
-if(P.bO(a))return"{...}"
-y=new P.aR("")
-try{$.$get$ay().push(a)
-x=y
-x.a=x.ga4()+"{"
-z.a=!0
-a.B(0,new P.f4(z,y))
-z=y
-z.a=z.ga4()+"}"}finally{z=$.$get$ay()
-if(0>=z.length)return H.j(z,-1)
-z.pop()}z=y.ga4()
-return z.charCodeAt(0)==0?z:z},
-dg:{"^":"V;a,b,c,d,e,f,r,$ti",
-ad:function(a){return H.iw(a)&0x3ffffff},
-ae:function(a,b){var z,y,x
-if(a==null)return-1
-z=a.length
-for(y=0;y=0},
-aT:function(a){var z
-if(!(typeof a==="string"&&a!=="__proto__"))z=typeof a==="number"&&(a&0x3ffffff)===a
-else z=!0
-if(z)return this.H(0,a)?a:null
-else return this.cH(a)},
-cH:function(a){var z,y,x
-z=this.d
-if(z==null)return
-y=z[this.an(a)]
-x=this.ao(y,a)
-if(x<0)return
-return J.an(y,x).gbc()},
-B:function(a,b){var z,y
-z=this.e
-y=this.r
-for(;z!=null;){b.$1(z.a)
-if(y!==this.r)throw H.b(new P.D(this))
-z=z.b}},
-m:function(a,b){var z,y,x
-if(typeof b==="string"&&b!=="__proto__"){z=this.b
-if(z==null){y=Object.create(null)
-y[""]=y
-delete y[""]
-this.b=y
-z=y}return this.b6(z,b)}else if(typeof b==="number"&&(b&0x3ffffff)===b){x=this.c
-if(x==null){y=Object.create(null)
-y[""]=y
-delete y[""]
-this.c=y
-x=y}return this.b6(x,b)}else return this.P(b)},
-P:function(a){var z,y,x
-z=this.d
-if(z==null){z=P.hm()
-this.d=z}y=this.an(a)
-x=z[y]
-if(x==null)z[y]=[this.aI(a)]
-else{if(this.ao(x,a)>=0)return!1
-x.push(this.aI(a))}return!0},
-ag:function(a,b){if(typeof b==="string"&&b!=="__proto__")return this.b8(this.b,b)
-else if(typeof b==="number"&&(b&0x3ffffff)===b)return this.b8(this.c,b)
-else return this.cK(b)},
-cK:function(a){var z,y,x
-z=this.d
-if(z==null)return!1
-y=z[this.an(a)]
-x=this.ao(y,a)
-if(x<0)return!1
-this.b9(y.splice(x,1)[0])
-return!0},
-R:function(a){if(this.a>0){this.f=null
-this.e=null
-this.d=null
-this.c=null
-this.b=null
-this.a=0
-this.r=this.r+1&67108863}},
-b6:function(a,b){if(a[b]!=null)return!1
-a[b]=this.aI(b)
-return!0},
-b8:function(a,b){var z
-if(a==null)return!1
-z=a[b]
-if(z==null)return!1
-this.b9(z)
-delete a[b]
-return!0},
-aI:function(a){var z,y
-z=new P.hl(a,null,null)
-if(this.e==null){this.f=z
-this.e=z}else{y=this.f
-z.c=y
-y.b=z
-this.f=z}++this.a
-this.r=this.r+1&67108863
-return z},
-b9:function(a){var z,y
-z=a.gct()
-y=a.b
-if(z==null)this.e=y
-else z.b=y
-if(y==null)this.f=z
-else y.c=z;--this.a
-this.r=this.r+1&67108863},
-an:function(a){return J.U(a)&0x3ffffff},
-ao:function(a,b){var z,y
-if(a==null)return-1
-z=a.length
-for(y=0;y"]=z
-delete z[""]
-return z}}},
-hl:{"^":"c;bc:a<,b,ct:c<"},
-aj:{"^":"c;a,b,c,d,$ti",
-gl:function(){return this.d},
-k:function(){var z=this.a
-if(this.b!==z.r)throw H.b(new P.D(z))
-else{z=this.c
-if(z==null){this.d=null
-return!1}else{this.d=z.a
-this.c=z.b
-return!0}}}},
-hj:{"^":"fj;$ti"},
-i2:{"^":"f:6;a",
-$2:function(a,b){this.a.p(0,a,b)}},
-aq:{"^":"b5;$ti"},
-b5:{"^":"c+X;$ti",$asi:null,$ase:null,$asd:null,$isi:1,$ise:1,$isd:1},
-X:{"^":"c;$ti",
-gn:function(a){return new H.bz(a,this.gi(a),0,null,[H.t(a,"X",0)])},
-C:function(a,b){return this.h(a,b)},
-B:function(a,b){var z,y
-z=this.gi(a)
-for(y=0;y=z.length)return H.j(z,y)
-z[y]=x}return z},
-a1:function(a){return this.ai(a,!0)},
-m:function(a,b){var z=this.gi(a)
-this.si(a,z+1)
-this.p(a,z,b)},
-u:function(a,b){var z,y,x,w
-z=this.gi(a)
-for(y=b.gn(b);y.k();z=w){x=y.gl()
-w=z+1
-this.si(a,w)
-this.p(a,z,x)}},
-j:function(a){return P.b1(a,"[","]")},
-$isi:1,
-$asi:null,
-$ise:1,
-$ase:null,
-$isd:1,
-$asd:null},
-f4:{"^":"f:6;a,b",
-$2:function(a,b){var z,y
-z=this.a
-if(!z.a)this.b.a+=", "
-z.a=!1
-z=this.b
-y=z.a+=H.a(a)
-z.a=y+": "
-z.a+=H.a(b)}},
-f1:{"^":"af;a,b,c,d,$ti",
-gn:function(a){return new P.hn(this,this.c,this.d,this.b,null,this.$ti)},
-B:function(a,b){var z,y,x
-z=this.d
-for(y=this.b;y!==this.c;y=(y+1&this.a.length-1)>>>0){x=this.a
-if(y<0||y>=x.length)return H.j(x,y)
-b.$1(x[y])
-if(z!==this.d)H.r(new P.D(this))}},
-gt:function(a){return this.b===this.c},
-gi:function(a){return(this.c-this.b&this.a.length-1)>>>0},
-C:function(a,b){var z,y,x,w
-z=(this.c-this.b&this.a.length-1)>>>0
-if(typeof b!=="number")return H.a9(b)
-if(0>b||b>=z)H.r(P.ae(b,this,"index",null,z))
-y=this.a
-x=y.length
-w=(this.b+b&x-1)>>>0
-if(w<0||w>=x)return H.j(y,w)
-return y[w]},
-m:function(a,b){this.P(b)},
-u:function(a,b){var z,y,x,w,v,u,t,s
-z=b.gi(b)
-y=this.gi(this)
-x=C.c.F(y,z)
-w=this.a.length
-if(x>=w){x=C.c.F(y,z)
-v=P.f2(x+C.e.aL(x,1))
-if(typeof v!=="number")return H.a9(v)
-x=new Array(v)
-x.fixed$length=Array
-u=H.K(x,this.$ti)
-this.c=this.cR(u)
-this.a=u
-this.b=0
-C.a.G(u,y,C.c.F(y,z),b,0)
-this.c=C.c.F(this.c,z)}else{t=w-this.c
-if(z.a3(0,t)){x=this.a
-w=this.c
-C.a.G(x,w,C.c.F(w,z),b,0)
-this.c=C.c.F(this.c,z)}else{s=z.ca(0,t)
-x=this.a
-w=this.c
-C.a.G(x,w,w+t,b,0)
-C.a.G(this.a,0,s,b,t)
-this.c=s}}++this.d},
-R:function(a){var z,y,x,w,v
-z=this.b
-y=this.c
-if(z!==y){for(x=this.a,w=x.length,v=w-1;z!==y;z=(z+1&v)>>>0){if(z<0||z>=w)return H.j(x,z)
-x[z]=null}this.c=0
-this.b=0;++this.d}},
-j:function(a){return P.b1(this,"{","}")},
-bP:function(){var z,y,x,w
-z=this.b
-if(z===this.c)throw H.b(H.bv());++this.d
-y=this.a
-x=y.length
-if(z>=x)return H.j(y,z)
-w=y[z]
-y[z]=null
-this.b=(z+1&x-1)>>>0
-return w},
-P:function(a){var z,y,x
-z=this.a
-y=this.c
-x=z.length
-if(y<0||y>=x)return H.j(z,y)
-z[y]=a
-x=(y+1&x-1)>>>0
-this.c=x
-if(this.b===x)this.bf();++this.d},
-bf:function(){var z,y,x,w
-z=new Array(this.a.length*2)
-z.fixed$length=Array
-y=H.K(z,this.$ti)
-z=this.a
-x=this.b
-w=z.length-x
-C.a.G(y,0,w,z,x)
-C.a.G(y,w,w+this.b,this.a,0)
-this.b=0
-this.c=this.a.length
-this.a=y},
-cR:function(a){var z,y,x,w,v
-z=this.b
-y=this.c
-x=this.a
-if(z<=y){w=y-z
-C.a.G(a,0,w,x,z)
-return w}else{v=x.length-z
-C.a.G(a,0,v,x,z)
-C.a.G(a,v,v+this.c,this.a,0)
-return this.c+v}},
-cf:function(a,b){var z=new Array(8)
-z.fixed$length=Array
-this.a=H.K(z,[b])},
-$ase:null,
-$asd:null,
-q:{
-bA:function(a,b){var z=new P.f1(null,0,0,0,[b])
-z.cf(a,b)
-return z},
-f2:function(a){var z
-a=C.r.b2(a,1)-1
-for(;!0;a=z)z=(a&a-1)>>>0}}},
-hn:{"^":"c;a,b,c,d,e,$ti",
-gl:function(){return this.e},
-k:function(){var z,y,x
-z=this.a
-if(this.c!==z.d)H.r(new P.D(z))
-y=this.d
-if(y===this.b){this.e=null
-return!1}z=z.a
-x=z.length
-if(y>=x)return H.j(z,y)
-this.e=z[y]
-this.d=(y+1&x-1)>>>0
-return!0}},
-fk:{"^":"c;$ti",
-gt:function(a){return this.a===0},
-gI:function(a){return this.a!==0},
-u:function(a,b){var z
-for(z=new P.aj(b,b.r,null,null,[null]),z.c=b.e;z.k();)this.m(0,z.d)},
-J:function(a,b){return new H.bt(this,b,[H.J(this,0),null])},
-j:function(a){return P.b1(this,"{","}")},
-B:function(a,b){var z
-for(z=new P.aj(this,this.r,null,null,[null]),z.c=this.e;z.k();)b.$1(z.d)},
-A:function(a,b){var z,y
-z=new P.aj(this,this.r,null,null,[null])
-z.c=this.e
-if(!z.k())return""
-if(b===""){y=""
-do y+=H.a(z.d)
-while(z.k())}else{y=H.a(z.d)
-for(;z.k();)y=y+b+H.a(z.d)}return y.charCodeAt(0)==0?y:y},
-C:function(a,b){var z,y,x
-if(typeof b!=="number"||Math.floor(b)!==b)throw H.b(P.c7("index"))
-if(b<0)H.r(P.L(b,0,null,"index",null))
-for(z=new P.aj(this,this.r,null,null,[null]),z.c=this.e,y=0;z.k();){x=z.d
-if(b===y)return x;++y}throw H.b(P.ae(b,this,"index",null,y))},
-$ise:1,
-$ase:null,
-$isd:1,
-$asd:null},
-fj:{"^":"fk;$ti"}}],["","",,P,{"^":"",
-ch:function(a){if(typeof a==="number"||typeof a==="boolean"||null==a)return J.P(a)
-if(typeof a==="string")return JSON.stringify(a)
-return P.eq(a)},
-eq:function(a){var z=J.m(a)
-if(!!z.$isf)return z.j(a)
-return H.b6(a)},
-b0:function(a){return new P.h5(a)},
-ar:function(a,b,c,d){var z,y,x
-z=J.eO(a,d)
-if(a!==0&&!0)for(y=z.length,x=0;x=1e5)return""+a
-if(a>=1e4)return"0"+a
-if(a>=1000)return"00"+a
-if(a>=100)return"000"+a
-if(a>=10)return"0000"+a
-return"00000"+a}},
-en:{"^":"f:7;",
-$1:function(a){if(a>=10)return""+a
-return"0"+a}},
-z:{"^":"c;",
-gU:function(){return H.H(this.$thrownJsError)}},
-cE:{"^":"z;",
-j:function(a){return"Throw of null."}},
-a_:{"^":"z;a,b,c,d",
-gaE:function(){return"Invalid argument"+(!this.a?"(s)":"")},
-gaD:function(){return""},
-j:function(a){var z,y,x,w,v,u
-z=this.c
-y=z!=null?" ("+H.a(z)+")":""
-z=this.d
-x=z==null?"":": "+H.a(z)
-w=this.gaE()+y+x
-if(!this.a)return w
-v=this.gaD()
-u=P.ch(this.b)
-return w+v+": "+H.a(u)},
-q:{
-ac:function(a){return new P.a_(!1,null,null,a)},
-aF:function(a,b,c){return new P.a_(!0,a,b,c)},
-c7:function(a){return new P.a_(!1,null,a,"Must not be null")}}},
-cK:{"^":"a_;e,f,a,b,c,d",
-gaE:function(){return"RangeError"},
-gaD:function(){var z,y,x
-z=this.e
-if(z==null){z=this.f
-y=z!=null?": Not less than or equal to "+H.a(z):""}else{x=this.f
-if(x==null)y=": Not greater than or equal to "+H.a(z)
-else{if(typeof x!=="number")return x.dD()
-if(typeof z!=="number")return H.a9(z)
-if(x>z)y=": Not in range "+z+".."+x+", inclusive"
-else y=xa||a>c)throw H.b(P.L(a,0,c,"start",f))
-if(a>b||b>c)throw H.b(P.L(b,a,c,"end",f))
-return b}}},
-ew:{"^":"a_;e,i:f>,a,b,c,d",
-gaE:function(){return"RangeError"},
-gaD:function(){if(J.dU(this.b,0))return": index must not be negative"
-var z=this.f
-if(z===0)return": no indices are valid"
-return": index should be less than "+H.a(z)},
-q:{
-ae:function(a,b,c,d,e){var z=e!=null?e:J.O(b)
-return new P.ew(b,z,!0,a,c,"Index out of range")}}},
-q:{"^":"z;a",
-j:function(a){return"Unsupported operation: "+this.a}},
-d3:{"^":"z;a",
-j:function(a){var z=this.a
-return z!=null?"UnimplementedError: "+H.a(z):"UnimplementedError"}},
-ba:{"^":"z;a",
-j:function(a){return"Bad state: "+this.a}},
-D:{"^":"z;a",
-j:function(a){var z=this.a
-if(z==null)return"Concurrent modification during iteration."
-return"Concurrent modification during iteration: "+H.a(P.ch(z))+"."}},
-f6:{"^":"c;",
-j:function(a){return"Out of Memory"},
-gU:function(){return},
-$isz:1},
-cO:{"^":"c;",
-j:function(a){return"Stack Overflow"},
-gU:function(){return},
-$isz:1},
-ek:{"^":"z;a",
-j:function(a){return"Reading static variable '"+this.a+"' during its initialization"}},
-h5:{"^":"c;a",
-j:function(a){var z=this.a
-if(z==null)return"Exception"
-return"Exception: "+H.a(z)}},
-cm:{"^":"c;a,b,c",
-j:function(a){var z,y
-z=""!==this.a?"FormatException: "+this.a:"FormatException"
-y=this.b
-if(typeof y!=="string")return z
-if(y.length>78)y=J.e8(y,0,75)+"..."
-return z+"\n"+H.a(y)}},
-er:{"^":"c;a,b,$ti",
-j:function(a){return"Expando:"+H.a(this.a)},
-h:function(a,b){var z,y
-z=this.b
-if(typeof z!=="string"){if(b==null||typeof b==="boolean"||typeof b==="number"||typeof b==="string")H.r(P.aF(b,"Expandos are not allowed on strings, numbers, booleans or null",null))
-return z.get(b)}y=H.bE(b,"expando$values")
-return y==null?null:H.bE(y,z)},
-p:function(a,b,c){var z,y
-z=this.b
-if(typeof z!=="string")z.set(b,c)
-else{y=H.bE(b,"expando$values")
-if(y==null){y=new P.c()
-H.cJ(b,"expando$values",y)}H.cJ(y,z,c)}}},
-k:{"^":"aB;"},
-"+int":0,
-d:{"^":"c;$ti",
-J:function(a,b){return H.b3(this,b,H.t(this,"d",0),null)},
-B:function(a,b){var z
-for(z=this.gn(this);z.k();)b.$1(z.gl())},
-A:function(a,b){var z,y
-z=this.gn(this)
-if(!z.k())return""
-if(b===""){y=""
-do y+=H.a(z.gl())
-while(z.k())}else{y=H.a(z.gl())
-for(;z.k();)y=y+b+H.a(z.gl())}return y.charCodeAt(0)==0?y:y},
-dg:function(a){return this.A(a,"")},
-ai:function(a,b){return P.Y(this,!0,H.t(this,"d",0))},
-a1:function(a){return this.ai(a,!0)},
-gi:function(a){var z,y
-z=this.gn(this)
-for(y=0;z.k();)++y
-return y},
-gt:function(a){return!this.gn(this).k()},
-gI:function(a){return!this.gt(this)},
-gc7:function(a){var z,y
-z=this.gn(this)
-if(!z.k())throw H.b(H.bv())
-y=z.gl()
-if(z.k())throw H.b(H.eN())
-return y},
-C:function(a,b){var z,y,x
-if(typeof b!=="number"||Math.floor(b)!==b)throw H.b(P.c7("index"))
-if(b<0)H.r(P.L(b,0,null,"index",null))
-for(z=this.gn(this),y=0;z.k();){x=z.gl()
-if(b===y)return x;++y}throw H.b(P.ae(b,this,"index",null,y))},
-j:function(a){return P.eL(this,"(",")")},
-$asd:null},
-aK:{"^":"c;$ti"},
-i:{"^":"c;$ti",$asi:null,$ise:1,$ase:null,$isd:1,$asd:null},
-"+List":0,
-f5:{"^":"c;",
-j:function(a){return"null"}},
-"+Null":0,
-aB:{"^":"c;"},
-"+num":0,
-c:{"^":";",
-v:function(a,b){return this===b},
-gD:function(a){return H.a4(this)},
-j:function(a){return H.b6(this)},
-gw:function(a){return new H.bc(H.dD(this),null)},
-toString:function(){return this.j(this)}},
-jv:{"^":"c;"},
-cM:{"^":"e;$ti"},
-ag:{"^":"c;"},
-p:{"^":"c;",$isbD:1},
-"+String":0,
-fe:{"^":"d;a",
-gn:function(a){return new P.fd(this.a,0,0,null)},
-$asd:function(){return[P.k]}},
-fd:{"^":"c;a,b,c,d",
-gl:function(){return this.d},
-k:function(){var z,y,x,w,v,u
-z=this.c
-this.b=z
-y=this.a
-x=y.length
-if(z===x){this.d=null
-return!1}w=C.b.V(y,z)
-v=z+1
-if((w&64512)===55296&&v>>6},
-de:function(a){a=536870911&a+((67108863&a)<<3)
-a^=a>>>11
-return 536870911&a+((16383&a)<<15)},
-du:function(a){var z=$.n
-if(z===C.d)return a
-if(a==null)return
-return z.cU(a,!0)},
-bW:function(a){return document.querySelector(a)},
-A:{"^":"v;","%":"HTMLAppletElement|HTMLBRElement|HTMLBaseElement|HTMLCanvasElement|HTMLContentElement|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLDirectoryElement|HTMLDivElement|HTMLEmbedElement|HTMLFieldSetElement|HTMLFontElement|HTMLFrameElement|HTMLHRElement|HTMLHeadElement|HTMLHeadingElement|HTMLHtmlElement|HTMLIFrameElement|HTMLImageElement|HTMLKeygenElement|HTMLLabelElement|HTMLLegendElement|HTMLLinkElement|HTMLMapElement|HTMLMarqueeElement|HTMLMenuElement|HTMLMenuItemElement|HTMLMetaElement|HTMLModElement|HTMLOListElement|HTMLObjectElement|HTMLOptGroupElement|HTMLParagraphElement|HTMLPictureElement|HTMLPreElement|HTMLQuoteElement|HTMLScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElement|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableColElement|HTMLTableDataCellElement|HTMLTableElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElement|HTMLTemplateElement|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement|PluginPlaceholderElement;HTMLElement"},
-iO:{"^":"A;",
-j:function(a){return String(a)},
-$ish:1,
-"%":"HTMLAnchorElement"},
-iQ:{"^":"A;",
-j:function(a){return String(a)},
-$ish:1,
-"%":"HTMLAreaElement"},
-iR:{"^":"A;",$ish:1,"%":"HTMLBodyElement"},
-iS:{"^":"A;O:value=","%":"HTMLButtonElement"},
-iV:{"^":"l;i:length=",$ish:1,"%":"CDATASection|CharacterData|Comment|ProcessingInstruction|Text"},
-iY:{"^":"l;",$ish:1,"%":"DocumentFragment|ShadowRoot"},
-iZ:{"^":"h;",
-j:function(a){return String(a)},
-"%":"DOMException"},
-el:{"^":"h;",
-j:function(a){return"Rectangle ("+H.a(a.left)+", "+H.a(a.top)+") "+H.a(this.ga2(a))+" x "+H.a(this.ga0(a))},
-v:function(a,b){var z
-if(b==null)return!1
-z=J.m(b)
-if(!z.$isaP)return!1
-return a.left===z.gaS(b)&&a.top===z.gaZ(b)&&this.ga2(a)===z.ga2(b)&&this.ga0(a)===z.ga0(b)},
-gD:function(a){var z,y,x,w
-z=a.left
-y=a.top
-x=this.ga2(a)
-w=this.ga0(a)
-return W.de(W.a6(W.a6(W.a6(W.a6(0,z&0x1FFFFFFF),y&0x1FFFFFFF),x&0x1FFFFFFF),w&0x1FFFFFFF))},
-ga0:function(a){return a.height},
-gaS:function(a){return a.left},
-gaZ:function(a){return a.top},
-ga2:function(a){return a.width},
-$isaP:1,
-$asaP:I.x,
-"%":";DOMRectReadOnly"},
-j_:{"^":"h;i:length=",
-m:function(a,b){return a.add(b)},
-"%":"DOMSettableTokenList|DOMTokenList"},
-fW:{"^":"aq;a,b",
-gt:function(a){return this.a.firstElementChild==null},
-gi:function(a){return this.b.length},
-h:function(a,b){var z=this.b
-if(b>>>0!==b||b>=z.length)return H.j(z,b)
-return z[b]},
-p:function(a,b,c){var z=this.b
-if(b>>>0!==b||b>=z.length)return H.j(z,b)
-this.a.replaceChild(c,z[b])},
-si:function(a,b){throw H.b(new P.q("Cannot resize element lists"))},
-m:function(a,b){this.a.appendChild(b)
-return b},
-gn:function(a){var z=this.a1(this)
-return new J.aX(z,z.length,0,null,[H.J(z,0)])},
-u:function(a,b){var z,y
-for(z=b.gn(b),y=this.a;z.k();)y.appendChild(z.gl())},
-R:function(a){J.c0(this.a)},
-$asaq:function(){return[W.v]},
-$asb5:function(){return[W.v]},
-$asi:function(){return[W.v]},
-$ase:function(){return[W.v]},
-$asd:function(){return[W.v]}},
-v:{"^":"l;",
-gbD:function(a){return new W.fW(a,a.children)},
-gbE:function(a){return new W.h0(a)},
-j:function(a){return a.localName},
-gbN:function(a){return new W.da(a,"submit",!1,[W.aG])},
-$isv:1,
-$isl:1,
-$isc:1,
-$ish:1,
-"%":";Element"},
-j0:{"^":"aG;Z:error=","%":"ErrorEvent"},
-aG:{"^":"h;",
-dk:function(a){return a.preventDefault()},
-"%":"AnimationEvent|AnimationPlayerEvent|ApplicationCacheErrorEvent|AudioProcessingEvent|AutocompleteErrorEvent|BeforeInstallPromptEvent|BeforeUnloadEvent|ClipboardEvent|CloseEvent|CompositionEvent|CrossOriginConnectEvent|CustomEvent|DefaultSessionStartEvent|DeviceLightEvent|DeviceMotionEvent|DeviceOrientationEvent|DragEvent|ExtendableEvent|FetchEvent|FocusEvent|FontFaceSetLoadEvent|GamepadEvent|GeofencingEvent|HashChangeEvent|IDBVersionChangeEvent|KeyboardEvent|MIDIConnectionEvent|MIDIMessageEvent|MediaEncryptedEvent|MediaKeyEvent|MediaKeyMessageEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEvent|MouseEvent|NotificationEvent|OfflineAudioCompletionEvent|PageTransitionEvent|PeriodicSyncEvent|PointerEvent|PopStateEvent|ProgressEvent|PromiseRejectionEvent|PushEvent|RTCDTMFToneChangeEvent|RTCDataChannelEvent|RTCIceCandidateEvent|RTCPeerConnectionIceEvent|RelatedEvent|ResourceProgressEvent|SVGZoomEvent|SecurityPolicyViolationEvent|ServicePortConnectEvent|ServiceWorkerMessageEvent|SpeechRecognitionEvent|SpeechSynthesisEvent|StorageEvent|SyncEvent|TextEvent|TouchEvent|TrackEvent|TransitionEvent|UIEvent|WebGLContextEvent|WebKitTransitionEvent|WheelEvent|XMLHttpRequestProgressEvent;Event|InputEvent"},
-ci:{"^":"h;",
-co:function(a,b,c,d){return a.addEventListener(b,H.az(c,1),!1)},
-cL:function(a,b,c,d){return a.removeEventListener(b,H.az(c,1),!1)},
-"%":"CrossOriginServiceWorkerClient|MediaStream;EventTarget"},
-jk:{"^":"A;i:length=","%":"HTMLFormElement"},
-jl:{"^":"eA;",
-gi:function(a){return a.length},
-h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.b(P.ae(b,a,null,null,null))
-return a[b]},
-p:function(a,b,c){throw H.b(new P.q("Cannot assign element of immutable List."))},
-si:function(a,b){throw H.b(new P.q("Cannot resize immutable List."))},
-C:function(a,b){if(b>>>0!==b||b>=a.length)return H.j(a,b)
-return a[b]},
-$isi:1,
-$asi:function(){return[W.l]},
-$ise:1,
-$ase:function(){return[W.l]},
-$isd:1,
-$asd:function(){return[W.l]},
-$isE:1,
-$asE:function(){return[W.l]},
-$isB:1,
-$asB:function(){return[W.l]},
-"%":"HTMLCollection|HTMLFormControlsCollection|HTMLOptionsCollection"},
-ex:{"^":"h+X;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-eA:{"^":"ex+aJ;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-cn:{"^":"A;O:value=",$iscn:1,$isv:1,$ish:1,"%":"HTMLInputElement"},
-js:{"^":"A;O:value=","%":"HTMLLIElement"},
-jw:{"^":"A;Z:error=","%":"HTMLAudioElement|HTMLMediaElement|HTMLVideoElement"},
-jx:{"^":"aG;",
-af:function(a,b,c){return a.matches.$2(b,c)},
-"%":"MediaQueryListEvent"},
-jy:{"^":"A;O:value=","%":"HTMLMeterElement"},
-jJ:{"^":"h;",$ish:1,"%":"Navigator"},
-fV:{"^":"aq;a",
-m:function(a,b){this.a.appendChild(b)},
-u:function(a,b){var z,y,x,w
-b.gcP()
-for(z=b.gi(b),y=this.a,x=0;C.c.a3(x,z);++x){w=b.gcP()
-y.appendChild(w.gdK(w))}return},
-p:function(a,b,c){var z,y
-z=this.a
-y=z.childNodes
-if(b>>>0!==b||b>=y.length)return H.j(y,b)
-z.replaceChild(c,y[b])},
-gn:function(a){var z=this.a.childNodes
-return new W.cl(z,z.length,-1,null,[H.t(z,"aJ",0)])},
-gi:function(a){return this.a.childNodes.length},
-si:function(a,b){throw H.b(new P.q("Cannot set length on immutable List."))},
-h:function(a,b){var z=this.a.childNodes
-if(b>>>0!==b||b>=z.length)return H.j(z,b)
-return z[b]},
-$asaq:function(){return[W.l]},
-$asb5:function(){return[W.l]},
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]}},
-l:{"^":"ci;",
-dm:function(a){var z=a.parentNode
-if(z!=null)z.removeChild(a)},
-du:function(a,b){var z,y
-try{z=a.parentNode
-J.dX(z,b,a)}catch(y){H.y(y)}return a},
-cr:function(a){var z
-for(;z=a.firstChild,z!=null;)a.removeChild(z)},
-j:function(a){var z=a.nodeValue
-return z==null?this.cb(a):z},
-cM:function(a,b,c){return a.replaceChild(b,c)},
-$isl:1,
-$isc:1,
-"%":"Attr|Document|HTMLDocument|XMLDocument;Node"},
-jK:{"^":"eB;",
-gi:function(a){return a.length},
-h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.b(P.ae(b,a,null,null,null))
-return a[b]},
-p:function(a,b,c){throw H.b(new P.q("Cannot assign element of immutable List."))},
-si:function(a,b){throw H.b(new P.q("Cannot resize immutable List."))},
-C:function(a,b){if(b>>>0!==b||b>=a.length)return H.j(a,b)
-return a[b]},
-$isi:1,
-$asi:function(){return[W.l]},
-$ise:1,
-$ase:function(){return[W.l]},
-$isd:1,
-$asd:function(){return[W.l]},
-$isE:1,
-$asE:function(){return[W.l]},
-$isB:1,
-$asB:function(){return[W.l]},
-"%":"NodeList|RadioNodeList"},
-ey:{"^":"h+X;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-eB:{"^":"ey+aJ;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-jL:{"^":"A;O:value=","%":"HTMLOptionElement"},
-jM:{"^":"A;O:value=","%":"HTMLOutputElement"},
-jN:{"^":"A;O:value=","%":"HTMLParamElement"},
-jP:{"^":"A;O:value=","%":"HTMLProgressElement"},
-jR:{"^":"A;i:length=,O:value=","%":"HTMLSelectElement"},
-jS:{"^":"aG;Z:error=","%":"SpeechRecognitionError"},
-jV:{"^":"A;O:value=","%":"HTMLTextAreaElement"},
-k3:{"^":"ci;",$ish:1,"%":"DOMWindow|Window"},
-k7:{"^":"h;a0:height=,aS:left=,aZ:top=,a2:width=",
-j:function(a){return"Rectangle ("+H.a(a.left)+", "+H.a(a.top)+") "+H.a(a.width)+" x "+H.a(a.height)},
-v:function(a,b){var z,y,x
-if(b==null)return!1
-z=J.m(b)
-if(!z.$isaP)return!1
-y=a.left
-x=z.gaS(b)
-if(y==null?x==null:y===x){y=a.top
-x=z.gaZ(b)
-if(y==null?x==null:y===x){y=a.width
-x=z.ga2(b)
-if(y==null?x==null:y===x){y=a.height
-z=z.ga0(b)
-z=y==null?z==null:y===z}else z=!1}else z=!1}else z=!1
-return z},
-gD:function(a){var z,y,x,w
-z=J.U(a.left)
-y=J.U(a.top)
-x=J.U(a.width)
-w=J.U(a.height)
-return W.de(W.a6(W.a6(W.a6(W.a6(0,z),y),x),w))},
-$isaP:1,
-$asaP:I.x,
-"%":"ClientRect"},
-k8:{"^":"l;",$ish:1,"%":"DocumentType"},
-k9:{"^":"el;",
-ga0:function(a){return a.height},
-ga2:function(a){return a.width},
-"%":"DOMRect"},
-kc:{"^":"A;",$ish:1,"%":"HTMLFrameSetElement"},
-kd:{"^":"eC;",
-gi:function(a){return a.length},
-h:function(a,b){if(b>>>0!==b||b>=a.length)throw H.b(P.ae(b,a,null,null,null))
-return a[b]},
-p:function(a,b,c){throw H.b(new P.q("Cannot assign element of immutable List."))},
-si:function(a,b){throw H.b(new P.q("Cannot resize immutable List."))},
-C:function(a,b){if(b>>>0!==b||b>=a.length)return H.j(a,b)
-return a[b]},
-$isi:1,
-$asi:function(){return[W.l]},
-$ise:1,
-$ase:function(){return[W.l]},
-$isd:1,
-$asd:function(){return[W.l]},
-$isE:1,
-$asE:function(){return[W.l]},
-$isB:1,
-$asB:function(){return[W.l]},
-"%":"MozNamedAttrMap|NamedNodeMap"},
-ez:{"^":"h+X;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-eC:{"^":"ez+aJ;",
-$asi:function(){return[W.l]},
-$ase:function(){return[W.l]},
-$asd:function(){return[W.l]},
-$isi:1,
-$ise:1,
-$isd:1},
-h0:{"^":"cd;a",
-K:function(){var z,y,x,w,v
-z=P.R(null,null,null,P.p)
-for(y=this.a.className.split(" "),x=y.length,w=0;w=z)return
-else if(b<0)throw H.b(P.ac("Invalid list length"))
-this.dr(0,b,z)},
-m:function(a,b){this.b.a.appendChild(b)},
-u:function(a,b){var z,y
-for(z=new H.bz(b,b.gi(b),0,null,[H.t(b,"af",0)]),y=this.b.a;z.k();)y.appendChild(z.d)},
-dr:function(a,b,c){var z=this.gX()
-z=H.fm(z,b,H.t(z,"d",0))
-C.a.B(P.Y(H.fy(z,c-b,H.t(z,"d",0)),!0,null),new P.ev())},
-R:function(a){J.c0(this.b.a)},
-gi:function(a){return J.O(this.gX().a)},
-h:function(a,b){var z=this.gX()
-return z.b.$1(J.aW(z.a,b))},
-gn:function(a){var z=P.Y(this.gX(),!1,W.v)
-return new J.aX(z,z.length,0,null,[H.J(z,0)])},
-$asaq:function(){return[W.v]},
-$asb5:function(){return[W.v]},
-$asi:function(){return[W.v]},
-$ase:function(){return[W.v]},
-$asd:function(){return[W.v]}},et:{"^":"f:0;",
-$1:function(a){return!!J.m(a).$isv}},eu:{"^":"f:0;",
-$1:function(a){return H.dF(a,"$isv")}},ev:{"^":"f:0;",
-$1:function(a){return J.e5(a)}}}],["","",,P,{"^":""}],["","",,P,{"^":"",iN:{"^":"aI;",$ish:1,"%":"SVGAElement"},iP:{"^":"o;",$ish:1,"%":"SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGSetElement"},j1:{"^":"o;",$ish:1,"%":"SVGFEBlendElement"},j2:{"^":"o;",$ish:1,"%":"SVGFEColorMatrixElement"},j3:{"^":"o;",$ish:1,"%":"SVGFEComponentTransferElement"},j4:{"^":"o;",$ish:1,"%":"SVGFECompositeElement"},j5:{"^":"o;",$ish:1,"%":"SVGFEConvolveMatrixElement"},j6:{"^":"o;",$ish:1,"%":"SVGFEDiffuseLightingElement"},j7:{"^":"o;",$ish:1,"%":"SVGFEDisplacementMapElement"},j8:{"^":"o;",$ish:1,"%":"SVGFEFloodElement"},j9:{"^":"o;",$ish:1,"%":"SVGFEGaussianBlurElement"},ja:{"^":"o;",$ish:1,"%":"SVGFEImageElement"},jb:{"^":"o;",$ish:1,"%":"SVGFEMergeElement"},jc:{"^":"o;",$ish:1,"%":"SVGFEMorphologyElement"},jd:{"^":"o;",$ish:1,"%":"SVGFEOffsetElement"},je:{"^":"o;",$ish:1,"%":"SVGFESpecularLightingElement"},jf:{"^":"o;",$ish:1,"%":"SVGFETileElement"},jg:{"^":"o;",$ish:1,"%":"SVGFETurbulenceElement"},jh:{"^":"o;",$ish:1,"%":"SVGFilterElement"},aI:{"^":"o;",$ish:1,"%":"SVGCircleElement|SVGClipPathElement|SVGDefsElement|SVGEllipseElement|SVGForeignObjectElement|SVGGElement|SVGGeometryElement|SVGLineElement|SVGPathElement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGSwitchElement;SVGGraphicsElement"},jm:{"^":"aI;",$ish:1,"%":"SVGImageElement"},jt:{"^":"o;",$ish:1,"%":"SVGMarkerElement"},ju:{"^":"o;",$ish:1,"%":"SVGMaskElement"},jO:{"^":"o;",$ish:1,"%":"SVGPatternElement"},jQ:{"^":"o;",$ish:1,"%":"SVGScriptElement"},fS:{"^":"cd;a",
-K:function(){var z,y,x,w,v,u
-z=this.a.getAttribute("class")
-y=P.R(null,null,null,P.p)
-if(z==null)return y
-for(x=z.split(" "),w=x.length,v=0;v"}if(c.H(0,a))return"(recursive)"
-x=P.f0([a],null)
-w=c.cI()
-w.u(0,c)
-w.u(0,x)
-z.a=w
-z=new Z.iC(z,this,b)
-if(!!y.$isd){if(!!y.$isi)v=""
-else{x=Z.dt(a)
-if(x==null)return x.F()
-v=x+":"}u=y.J(a,z).a1(0)
-if(u.length>this.b)C.a.bQ(u,this.b-1,u.length,["..."])
-t=v+"["+C.a.A(u,", ")+"]"
-if(t.length+b<=this.a&&!C.b.H(t,"\n"))return t
-return v+"[\n"+new H.a2(u,new Z.iz(b),[null,null]).A(0,",\n")+"\n"+C.a.A(P.ar(b," ",!1,null),"")+"]"}else if(!!y.$iscw){u=J.c3(a.gS(),new Z.iA(a,z)).a1(0)
-if(u.length>this.b)C.a.bQ(u,this.b-1,u.length,["..."])
-t="{"+C.a.A(u,", ")+"}"
-if(t.length+b<=this.a&&!C.b.H(t,"\n"))return t
-return"{\n"+new H.a2(u,new Z.iB(b),[null,null]).A(0,",\n")+"\n"+C.a.A(P.ar(b," ",!1,null),"")+"}"}else if(typeof a==="string")return"'"+new H.a2(a.split("\n"),Z.iD(),[null,null]).A(0,"\\n'\n"+C.a.A(P.ar(b+2," ",!1,null),"")+"'")+"'"
-else{s=J.aE(y.j(a),"\n",C.a.A(P.ar(b," ",!1,null),"")+"\n")
-r=J.c4(s,"Instance of ")
-if(d)s="<"+s+">"
-if(typeof a==="number"||typeof a==="boolean"||!!y.$isbu||a==null||r)return s
-else return H.a(Z.dt(a))+":"+s}}},
-iC:{"^":"f:15;a,b,c",
-$1:function(a){return this.b.$4(a,this.c+2,this.a.a,!1)}},
-iz:{"^":"f:0;a",
-$1:function(a){return C.b.F(C.a.A(P.ar(this.a+2," ",!1,null),""),a)}},
-iA:{"^":"f:0;a,b",
-$1:function(a){var z=this.b
-return H.a(z.$1(a))+": "+H.a(z.$1(this.a.h(0,a)))}},
-iB:{"^":"f:0;a",
-$1:function(a){return C.b.F(C.a.A(P.ar(this.a+2," ",!1,null),""),a)}}}],["","",,M,{"^":"",
-i7:function(a){return J.e6(J.aE(a,"\\","\\\\"),$.$get$dk(),new M.i8())},
-hL:[function(a){var z=J.e1(a)
-return"\\x"+C.b.dj(J.e9(z.gc7(z),16).toUpperCase(),2,"0")},"$1","iM",2,0,3],
-i8:{"^":"f:0;",
-$1:function(a){var z=C.l.h(0,a.h(0,0))
-if(z!=null)return z
-return M.hL(a.h(0,0))}}}],["","",,F,{"^":"",
-ko:[function(){var z=J.e0($.$get$c_())
-new W.db(0,z.a,z.b,W.du(new F.it()),!1,[H.J(z,0)]).aM()},"$0","dL",0,0,1],
-i1:{"^":"f:0;",
-$1:function(a){var z
-if(typeof a==="number"&&Math.floor(a)===a&&a<18)return"Only adults can register for passports. Sorry, kid!"
-else{if(a!=null)z=typeof a==="string"&&C.b.aj(a).length===0
-else z=!0
-if(z)return"Age is required."
-else return"Age must be a positive integer. Unless you are a monster..."}}},
-it:{"^":"f:0;",
-$1:function(a){var z,y,x,w,v,u,t,s,r
-J.e4(a)
-w=$.$get$bZ()
-J.bq(w).R(0)
-z=P.a1()
-C.a.B(["firstName","lastName","age","familySize"],new F.ir(z))
-v=$.$get$bY()
-if(J.c1(J.c2(v)))J.bp(z,"blank",J.c2(v))
-P.bn("Form data: "+H.a(z))
-try{v=$.$get$dA()
-v.toString
-y=v.bF(S.i0(z,["age","familySize"]))
-v=J.bq(w)
-u=document
-t=u.createElement("li")
-J.aD(t).m(0,"success")
-t.textContent="Successfully registered for a passport."
-v.m(0,t)
-t="First Name: "+H.a(J.an(y,"firstName"))
-s=u.createElement("li")
-J.aD(s).m(0,"success")
-s.textContent=t
-v.m(0,s)
-s="Last Name: "+H.a(J.an(y,"lastName"))
-t=u.createElement("li")
-J.aD(t).m(0,"success")
-t.textContent=s
-v.m(0,t)
-t="Age: "+H.a(J.an(y,"age"))+" years old"
-s=u.createElement("li")
-J.aD(s).m(0,"success")
-s.textContent=t
-v.m(0,s)
-s="Number of People in Family: "+H.a(J.an(y,"familySize"))
-u=u.createElement("li")
-J.aD(u).m(0,"success")
-u.textContent=s
-v.m(0,u)}catch(r){v=H.y(r)
-if(v instanceof S.d4){x=v
-J.bq(w).u(0,new H.a2(x.gbG(),new F.is(),[null,null]))}else throw r}}},
-ir:{"^":"f:0;a",
-$1:function(a){var z='[name="'+H.a(a)+'"]'
-this.a.p(0,a,H.dF(document.querySelector(z),"$iscn").value)}},
-is:{"^":"f:0;",
-$1:function(a){var z=document
-z=z.createElement("li")
-z.textContent=a
-return z}}},1]]
-setupProgram(dart,0)
-J.m=function(a){if(typeof a=="number"){if(Math.floor(a)==a)return J.cq.prototype
-return J.eQ.prototype}if(typeof a=="string")return J.aN.prototype
-if(a==null)return J.cr.prototype
-if(typeof a=="boolean")return J.eP.prototype
-if(a.constructor==Array)return J.aL.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.aO.prototype
-return a}if(a instanceof P.c)return a
-return J.bj(a)}
-J.F=function(a){if(typeof a=="string")return J.aN.prototype
-if(a==null)return a
-if(a.constructor==Array)return J.aL.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.aO.prototype
-return a}if(a instanceof P.c)return a
-return J.bj(a)}
-J.a8=function(a){if(a==null)return a
-if(a.constructor==Array)return J.aL.prototype
-if(typeof a!="object"){if(typeof a=="function")return J.aO.prototype
-return a}if(a instanceof P.c)return a
-return J.bj(a)}
-J.bQ=function(a){if(typeof a=="number")return J.aM.prototype
-if(a==null)return a
-if(!(a instanceof P.c))return J.aS.prototype
-return a}
-J.ia=function(a){if(typeof a=="number")return J.aM.prototype
-if(typeof a=="string")return J.aN.prototype
-if(a==null)return a
-if(!(a instanceof P.c))return J.aS.prototype
-return a}
-J.aA=function(a){if(typeof a=="string")return J.aN.prototype
-if(a==null)return a
-if(!(a instanceof P.c))return J.aS.prototype
-return a}
-J.G=function(a){if(a==null)return a
-if(typeof a!="object"){if(typeof a=="function")return J.aO.prototype
-return a}if(a instanceof P.c)return a
-return J.bj(a)}
-J.aC=function(a,b){if(typeof a=="number"&&typeof b=="number")return a+b
-return J.ia(a).F(a,b)}
-J.N=function(a,b){if(a==null)return b==null
-if(typeof a!="object")return b!=null&&a===b
-return J.m(a).v(a,b)}
-J.dU=function(a,b){if(typeof a=="number"&&typeof b=="number")return a>>0===b&&b>>0===b&&b= 0) return hooks;
- if (ua.indexOf("Chrome") >= 0) {
- function confirm(p) {
- return typeof window == "object" && window[p] && window[p].name == p;
- }
- if (confirm("Window") && confirm("HTMLElement")) return hooks;
- }
- hooks.getTag = getTagFallback;
- };
-}
-C.w=function() {
- var toStringFunction = Object.prototype.toString;
- function getTag(o) {
- var s = toStringFunction.call(o);
- return s.substring(8, s.length - 1);
- }
- function getUnknownTag(object, tag) {
- if (/^HTML[A-Z].*Element$/.test(tag)) {
- var name = toStringFunction.call(object);
- if (name == "[object Object]") return null;
- return "HTMLElement";
- }
- }
- function getUnknownTagGenericBrowser(object, tag) {
- if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement";
- return getUnknownTag(object, tag);
- }
- function prototypeForTag(tag) {
- if (typeof window == "undefined") return null;
- if (typeof window[tag] == "undefined") return null;
- var constructor = window[tag];
- if (typeof constructor != "function") return null;
- return constructor.prototype;
- }
- function discriminator(tag) { return null; }
- var isBrowser = typeof navigator == "object";
- return {
- getTag: getTag,
- getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag,
- prototypeForTag: prototypeForTag,
- discriminator: discriminator };
-}
-C.x=function(hooks) {
- var userAgent = typeof navigator == "object" ? navigator.userAgent : "";
- if (userAgent.indexOf("Trident/") == -1) return hooks;
- var getTag = hooks.getTag;
- var quickMap = {
- "BeforeUnloadEvent": "Event",
- "DataTransfer": "Clipboard",
- "HTMLDDElement": "HTMLElement",
- "HTMLDTElement": "HTMLElement",
- "HTMLPhraseElement": "HTMLElement",
- "Position": "Geoposition"
- };
- function getTagIE(o) {
- var tag = getTag(o);
- var newTag = quickMap[tag];
- if (newTag) return newTag;
- if (tag == "Object") {
- if (window.DataView && (o instanceof window.DataView)) return "DataView";
- }
- return tag;
- }
- function prototypeForTagIE(tag) {
- var constructor = window[tag];
- if (constructor == null) return null;
- return constructor.prototype;
- }
- hooks.getTag = getTagIE;
- hooks.prototypeForTag = prototypeForTagIE;
-}
-C.y=function(hooks) {
- var getTag = hooks.getTag;
- var prototypeForTag = hooks.prototypeForTag;
- function getTagFixed(o) {
- var tag = getTag(o);
- if (tag == "Document") {
- if (!!o.xmlVersion) return "!Document";
- return "!HTMLDocument";
- }
- return tag;
- }
- function prototypeForTagFixed(tag) {
- if (tag == "Document") return null;
- return prototypeForTag(tag);
- }
- hooks.getTag = getTagFixed;
- hooks.prototypeForTag = prototypeForTagFixed;
-}
-C.k=function getTagFallback(o) {
- var s = Object.prototype.toString.call(o);
- return s.substring(8, s.length - 1);
-}
-C.B=I.bl([])
-C.A=I.bl(["\n","\r","\f","\b","\t","\v","\x7f"])
-C.l=new H.cc(7,{"\n":"\\n","\r":"\\r","\f":"\\f","\b":"\\b","\t":"\\t","\v":"\\v","\x7f":"\\x7F"},C.A,[null,null])
-C.U=new H.cc(0,{},C.B,[null,null])
-C.C=H.w("iT")
-C.D=H.w("iU")
-C.E=H.w("ji")
-C.F=H.w("jj")
-C.G=H.w("jn")
-C.H=H.w("jo")
-C.I=H.w("jp")
-C.J=H.w("cs")
-C.K=H.w("f5")
-C.L=H.w("p")
-C.M=H.w("jX")
-C.N=H.w("jY")
-C.O=H.w("jZ")
-C.P=H.w("k_")
-C.Q=H.w("aV")
-C.R=H.w("C")
-C.S=H.w("k")
-C.T=H.w("aB")
-$.cH="$cachedFunction"
-$.cI="$cachedInvocation"
-$.Q=0
-$.ap=null
-$.c8=null
-$.bS=null
-$.dv=null
-$.dO=null
-$.bi=null
-$.bk=null
-$.bT=null
-$.al=null
-$.au=null
-$.av=null
-$.bN=!1
-$.n=C.d
-$.cj=0
-$=null
-init.isHunkLoaded=function(a){return!!$dart_deferred_initializers$[a]}
-init.deferredInitialized=new Object(null)
-init.isHunkInitialized=function(a){return init.deferredInitialized[a]}
-init.initializeLoadedHunk=function(a){$dart_deferred_initializers$[a]($globals$,$)
-init.deferredInitialized[a]=true}
-init.deferredLibraryUris={}
-init.deferredLibraryHashes={};(function(a){for(var z=0;z> v2`, and push the
- * result back onto the stack.
- */
- bitShiftRight,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 << v2`, and push the
- * result back onto the stack.
- */
- bitShiftLeft,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 + v2`, and push the
- * result back onto the stack.
- */
- add,
-
- /**
- * Pop the top value from the stack, compute its integer negation, and push
- * the result back onto the stack.
- */
- negate,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 - v2`, and push the
- * result back onto the stack.
- */
- subtract,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 * v2`, and push the
- * result back onto the stack.
- */
- multiply,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 / v2`, and push the
- * result back onto the stack.
- */
- divide,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
- * result back onto the stack.
- */
- floorDivide,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 > v2`, and push the
- * result back onto the stack.
- */
- greater,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 < v2`, and push the
- * result back onto the stack.
- */
- less,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
- * result back onto the stack.
- */
- greaterEqual,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
- * result back onto the stack.
- */
- lessEqual,
-
- /**
- * Pop the top 2 values from the stack, compute `v1 % v2`, and push the
- * result back onto the stack.
- */
- modulo,
-
- /**
- * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
- * result back onto the stack.
- */
- conditional,
-
- /**
- * Pop from the stack `value` and get the next `target` reference from
- * [UnlinkedConst.references] - a top-level variable (prefixed or not), an
- * assignable field of a class (prefixed or not), or a sequence of getters
- * ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
- * not be distinguished between: `a` is a prefix and `b` is a top-level
- * variable; or `a` is an object and `b` is the name of a property. Perform
- * `reference op= value` where `op` is the next assignment operator from
- * [UnlinkedConst.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
- assignToRef,
-
- /**
- * Pop from the stack `target` and `value`. Get the name of the property from
- * `UnlinkedConst.strings` and assign the `value` to the named property of the
- * `target`. This operation is used when we know that the `target` is an
- * object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
- * Perform `target.property op= value` where `op` is the next assignment
- * operator from [UnlinkedConst.assignmentOperators]. Push `value` back into
- * the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
- assignToProperty,
-
- /**
- * Pop from the stack `index`, `target` and `value`. Perform
- * `target[index] op= value` where `op` is the next assignment operator from
- * [UnlinkedConst.assignmentOperators]. Push `value` back into the stack.
- *
- * If the assignment operator is a prefix/postfix increment/decrement, then
- * `value` is not present in the stack, so it should not be popped and the
- * corresponding value of the `target` after/before update is pushed into the
- * stack instead.
- */
- assignToIndex,
-
- /**
- * Pop from the stack `index` and `target`. Push into the stack the result
- * of evaluation of `target[index]`.
- */
- extractIndex,
-
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedConst.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedConst.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke a method (or a function) with
- * the reference from [UnlinkedConst.references]. If `k` is nonzero (where
- * `k` is obtained from [UnlinkedConst.ints]), obtain `k` type arguments from
- * [UnlinkedConst.references] and use them as generic type arguments for the
- * aforementioned method or function. Push the result of the invocation onto
- * the stack.
- *
- * In general `a.b` cannot not be distinguished between: `a` is a prefix and
- * `b` is a top-level function; or `a` is an object and `b` is the name of a
- * method. This operation should be used for a sequence of identifiers
- * `a.b.b.c.d.e` ending with an invokable result.
- */
- invokeMethodRef,
-
- /**
- * Pop the top `n` values from the stack (where `n` is obtained from
- * [UnlinkedConst.ints]) into a list (filled from the end) and take the next
- * `n` values from [UnlinkedConst.strings] and use the lists of names and
- * values to create named arguments. Then pop the top `m` values from the
- * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled
- * from the end) and use them as positional arguments. Use the lists of
- * positional and names arguments to invoke the method with the name from
- * [UnlinkedConst.strings] of the target popped from the stack. If `k` is
- * nonzero (where `k` is obtained from [UnlinkedConst.ints]), obtain `k` type
- * arguments from [UnlinkedConst.references] and use them as generic type
- * arguments for the aforementioned method. Push the result of the
- * invocation onto the stack.
- *
- * This operation should be used for invocation of a method invocation
- * where `target` is known to be an object instance.
- */
- invokeMethod,
-
- /**
- * Begin a new cascade section. Duplicate the top value of the stack.
- */
- cascadeSectionBegin,
-
- /**
- * End a new cascade section. Pop the top value from the stack and throw it
- * away.
- */
- cascadeSectionEnd,
-
- /**
- * Pop the top value from the stack and cast it to the type with reference
- * from [UnlinkedConst.references], push the result into the stack.
- */
- typeCast,
-
- /**
- * Pop the top value from the stack and check whether it is a subclass of the
- * type with reference from [UnlinkedConst.references], push the result into
- * the stack.
- */
- typeCheck,
-
- /**
- * Pop the top value from the stack and raise an exception with this value.
- */
- throwException,
-
- /**
- * Obtain two values `n` and `m` from [UnlinkedConst.ints]. Then, starting at
- * the executable element for the expression being evaluated, if n > 0, pop to
- * the nth enclosing function element. Then, push the mth local function of
- * that element onto the stack.
- */
- pushLocalFunctionReference
-}
-
-/**
- * Enum used to indicate the kind of an constructor initializer.
- */
-enum UnlinkedConstructorInitializerKind : byte {
- /**
- * Initialization of a field.
- */
- field,
-
- /**
- * Invocation of a constructor in the same class.
- */
- thisInvocation,
-
- /**
- * Invocation of a superclass' constructor.
- */
- superInvocation
-}
-
-/**
- * Enum used to indicate the kind of an executable.
- */
-enum UnlinkedExecutableKind : byte {
- /**
- * Executable is a function or method.
- */
- functionOrMethod,
-
- /**
- * Executable is a getter.
- */
- getter,
-
- /**
- * Executable is a setter.
- */
- setter,
-
- /**
- * Executable is a constructor.
- */
- constructor
-}
-
-/**
- * Enum representing the various kinds of assignment operations combined
- * with:
- * [UnlinkedConstOperation.assignToRef],
- * [UnlinkedConstOperation.assignToProperty],
- * [UnlinkedConstOperation.assignToIndex].
- */
-enum UnlinkedExprAssignOperator : byte {
- /**
- * Perform simple assignment `target = operand`.
- */
- assign,
-
- /**
- * Perform `target ??= operand`.
- */
- ifNull,
-
- /**
- * Perform `target *= operand`.
- */
- multiply,
-
- /**
- * Perform `target /= operand`.
- */
- divide,
-
- /**
- * Perform `target ~/= operand`.
- */
- floorDivide,
-
- /**
- * Perform `target %= operand`.
- */
- modulo,
-
- /**
- * Perform `target += operand`.
- */
- plus,
-
- /**
- * Perform `target -= operand`.
- */
- minus,
-
- /**
- * Perform `target <<= operand`.
- */
- shiftLeft,
-
- /**
- * Perform `target >>= operand`.
- */
- shiftRight,
-
- /**
- * Perform `target &= operand`.
- */
- bitAnd,
-
- /**
- * Perform `target ^= operand`.
- */
- bitXor,
-
- /**
- * Perform `target |= operand`.
- */
- bitOr,
-
- /**
- * Perform `++target`.
- */
- prefixIncrement,
-
- /**
- * Perform `--target`.
- */
- prefixDecrement,
-
- /**
- * Perform `target++`.
- */
- postfixIncrement,
-
- /**
- * Perform `target++`.
- */
- postfixDecrement
-}
-
-/**
- * Enum used to indicate the kind of a parameter.
- */
-enum UnlinkedParamKind : byte {
- /**
- * Parameter is required.
- */
- required,
-
- /**
- * Parameter is positional optional (enclosed in `[]`)
- */
- positional,
-
- /**
- * Parameter is named optional (enclosed in `{}`)
- */
- named
-}
-
-/**
- * Information about an element code range.
- */
-table CodeRange {
- /**
- * Length of the element code.
- */
- length:uint (id: 1);
-
- /**
- * Offset of the element code relative to the beginning of the file.
- */
- offset:uint (id: 0);
-}
-
-/**
- * Summary information about a reference to a an entity such as a type, top
- * level executable, or executable within a class.
- */
-table EntityRef {
- /**
- * If this is a reference to a function type implicitly defined by a
- * function-typed parameter, a list of zero-based indices indicating the path
- * from the entity referred to by [reference] to the appropriate type
- * parameter. Otherwise the empty list.
- *
- * If there are N indices in this list, then the entity being referred to is
- * the function type implicitly defined by a function-typed parameter of a
- * function-typed parameter, to N levels of nesting. The first index in the
- * list refers to the outermost level of nesting; for example if [reference]
- * refers to the entity defined by:
- *
- * void f(x, void g(y, z, int h(String w))) { ... }
- *
- * Then to refer to the function type implicitly defined by parameter `h`
- * (which is parameter 2 of parameter 1 of `f`), then
- * [implicitFunctionTypeIndices] should be [1, 2].
- *
- * Note that if the entity being referred to is a generic method inside a
- * generic class, then the type arguments in [typeArguments] are applied
- * first to the class and then to the method.
- */
- implicitFunctionTypeIndices:[uint] (id: 4);
-
- /**
- * If this is a reference to a type parameter, one-based index into the list
- * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
- * Bruijn index conventions; that is, innermost parameters come first, and
- * if a class or method has multiple parameters, they are indexed from right
- * to left. So for instance, if the enclosing declaration is
- *
- * class C {
- * m {
- * ...
- * }
- * }
- *
- * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
- * respectively.
- *
- * If the type being referred to is not a type parameter, [paramReference] is
- * zero.
- */
- paramReference:uint (id: 3);
-
- /**
- * Index into [UnlinkedUnit.references] for the entity being referred to, or
- * zero if this is a reference to a type parameter.
- */
- reference:uint (id: 0);
-
- /**
- * If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
- * is unique within the compilation unit) identifying the target of type
- * propagation or type inference with which this [EntityRef] is associated.
- *
- * Otherwise zero.
- */
- slot:uint (id: 2);
-
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the function parameters. Otherwise
- * empty.
- */
- syntheticParams:[UnlinkedParam] (id: 6);
-
- /**
- * If this [EntityRef] is a reference to a function type whose
- * [FunctionElement] is not in any library (e.g. a function type that was
- * synthesized by a LUB computation), the return type of the function.
- * Otherwise `null`.
- */
- syntheticReturnType:EntityRef (id: 5);
-
- /**
- * If this is an instantiation of a generic type or generic executable, the
- * type arguments used to instantiate it (if any).
- */
- typeArguments:[EntityRef] (id: 1);
-}
-
-/**
- * Information about a dependency that exists between one library and another
- * due to an "import" declaration.
- */
-table LinkedDependency {
- /**
- * URI for the compilation units listed in the library's `part` declarations.
- * These URIs are relative to the importing library.
- */
- parts:[string] (id: 1);
-
- /**
- * The relative URI of the dependent library. This URI is relative to the
- * importing library, even if there are intervening `export` declarations.
- * So, for example, if `a.dart` imports `b/c.dart` and `b/c.dart` exports
- * `d/e.dart`, the URI listed for `a.dart`'s dependency on `e.dart` will be
- * `b/d/e.dart`.
- */
- uri:string (id: 0);
-}
-
-/**
- * Information about a single name in the export namespace of the library that
- * is not in the public namespace.
- */
-table LinkedExportName {
- /**
- * Index into [LinkedLibrary.dependencies] for the library in which the
- * entity is defined.
- */
- dependency:uint (id: 0);
-
- /**
- * The kind of the entity being referred to.
- */
- kind:ReferenceKind (id: 3);
-
- /**
- * Name of the exported entity. For an exported setter, this name includes
- * the trailing '='.
- */
- name:string (id: 1);
-
- /**
- * Integer index indicating which unit in the exported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- */
- unit:uint (id: 2);
-}
-
-/**
- * Linked summary of a library.
- */
-table LinkedLibrary {
- /**
- * The libraries that this library depends on (either via an explicit import
- * statement or via the implicit dependencies on `dart:core` and
- * `dart:async`). The first element of this array is a pseudo-dependency
- * representing the library itself (it is also used for `dynamic` and
- * `void`). This is followed by elements representing "prelinked"
- * dependencies (direct imports and the transitive closure of exports).
- * After the prelinked dependencies are elements representing "linked"
- * dependencies.
- *
- * A library is only included as a "linked" dependency if it is a true
- * dependency (e.g. a propagated or inferred type or constant value
- * implicitly refers to an element declared in the library) or
- * anti-dependency (e.g. the result of type propagation or type inference
- * depends on the lack of a certain declaration in the library).
- */
- dependencies:[LinkedDependency] (id: 0);
-
- /**
- * For each export in [UnlinkedUnit.exports], an index into [dependencies]
- * of the library being exported.
- */
- exportDependencies:[uint] (id: 6);
-
- /**
- * Information about entities in the export namespace of the library that are
- * not in the public namespace of the library (that is, entities that are
- * brought into the namespace via `export` directives).
- *
- * Sorted by name.
- */
- exportNames:[LinkedExportName] (id: 4);
-
- /**
- * Indicates whether this library was summarized in "fallback mode". If
- * true, all other fields in the data structure have their default values.
- */
- fallbackMode:bool (id: 5);
-
- /**
- * For each import in [UnlinkedUnit.imports], an index into [dependencies]
- * of the library being imported.
- */
- importDependencies:[uint] (id: 1);
-
- /**
- * The number of elements in [dependencies] which are not "linked"
- * dependencies (that is, the number of libraries in the direct imports plus
- * the transitive closure of exports, plus the library itself).
- */
- numPrelinkedDependencies:uint (id: 2);
-
- /**
- * The linked summary of all the compilation units constituting the
- * library. The summary of the defining compilation unit is listed first,
- * followed by the summary of each part, in the order of the `part`
- * declarations in the defining compilation unit.
- */
- units:[LinkedUnit] (id: 3);
-}
-
-/**
- * Information about the resolution of an [UnlinkedReference].
- */
-table LinkedReference {
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * and the entity being referred to is contained within another entity, index
- * of the containing entity. This behaves similarly to
- * [UnlinkedReference.prefixReference], however it is only used for class
- * members, not for prefixed imports.
- *
- * Containing references must always point backward; that is, for all i, if
- * LinkedUnit.references[i].containingReference != 0, then
- * LinkedUnit.references[i].containingReference < i.
- */
- containingReference:uint (id: 5);
-
- /**
- * Index into [LinkedLibrary.dependencies] indicating which imported library
- * declares the entity being referred to.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member), or if [kind] is [ReferenceKind.prefix].
- */
- dependency:uint (id: 1);
-
- /**
- * The kind of the entity being referred to. For the pseudo-types `dynamic`
- * and `void`, the kind is [ReferenceKind.classOrEnum].
- */
- kind:ReferenceKind (id: 2);
-
- /**
- * If [kind] is [ReferenceKind.function] (that is, the entity being referred
- * to is a local function), the index of the function within
- * [UnlinkedExecutable.localFunctions]. If [kind] is
- * [ReferenceKind.variable], the index of the variable within
- * [UnlinkedExecutable.localVariables]. Otherwise zero.
- */
- localIndex:uint (id: 6);
-
- /**
- * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
- * name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- */
- name:string (id: 3);
-
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it declares (does not include type parameters of enclosing entities).
- * Otherwise zero.
- */
- numTypeParameters:uint (id: 4);
-
- /**
- * Integer index indicating which unit in the imported library contains the
- * definition of the entity. As with indices into [LinkedLibrary.units],
- * zero represents the defining compilation unit, and nonzero values
- * represent parts in the order of the corresponding `part` declarations.
- *
- * Zero if this entity is contained within another entity (e.g. a class
- * member).
- */
- unit:uint (id: 0);
-}
-
-/**
- * Linked summary of a compilation unit.
- */
-table LinkedUnit {
- /**
- * List of slot ids (referring to [UnlinkedExecutable.constCycleSlot])
- * corresponding to const constructors that are part of cycles.
- */
- constCycles:[uint] (id: 2);
-
- /**
- * List of slot ids (referring to [UnlinkedParam.inheritsCovariantSlot])
- * corresponding to parameters that inherit `@covariant` behavior from a base
- * class.
- */
- parametersInheritingCovariant:[uint] (id: 3);
-
- /**
- * Information about the resolution of references within the compilation
- * unit. Each element of [UnlinkedUnit.references] has a corresponding
- * element in this list (at the same index). If this list has additional
- * elements beyond the number of elements in [UnlinkedUnit.references], those
- * additional elements are references that are only referred to implicitly
- * (e.g. elements involved in inferred or propagated types).
- */
- references:[LinkedReference] (id: 0);
-
- /**
- * List associating slot ids found inside the unlinked summary for the
- * compilation unit with propagated and inferred types.
- */
- types:[EntityRef] (id: 1);
-}
-
-/**
- * Summary information about a package.
- */
-table PackageBundle {
- /**
- * MD5 hash of the non-informative fields of the [PackageBundle] (not
- * including this one). This can be used to identify when the API of a
- * package may have changed.
- */
- apiSignature:string (id: 7);
-
- /**
- * Information about the packages this package depends on, if known.
- */
- dependencies:[PackageDependencyInfo] (id: 8);
-
- /**
- * Linked libraries.
- */
- linkedLibraries:[LinkedLibrary] (id: 0);
-
- /**
- * The list of URIs of items in [linkedLibraries], e.g. `dart:core` or
- * `package:foo/bar.dart`.
- */
- linkedLibraryUris:[string] (id: 1);
-
- /**
- * Major version of the summary format. See
- * [PackageBundleAssembler.currentMajorVersion].
- */
- majorVersion:uint (id: 5);
-
- /**
- * Minor version of the summary format. See
- * [PackageBundleAssembler.currentMinorVersion].
- */
- minorVersion:uint (id: 6);
-
- /**
- * List of MD5 hashes of the files listed in [unlinkedUnitUris]. Each hash
- * is encoded as a hexadecimal string using lower case letters.
- */
- unlinkedUnitHashes:[string] (id: 4);
-
- /**
- * Unlinked information for the compilation units constituting the package.
- */
- unlinkedUnits:[UnlinkedUnit] (id: 2);
-
- /**
- * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
- */
- unlinkedUnitUris:[string] (id: 3);
-}
-
-/**
- * Information about a single dependency of a summary package.
- */
-table PackageDependencyInfo {
- /**
- * API signature of this dependency.
- */
- apiSignature:string (id: 0);
-
- /**
- * If this dependency summarizes any files whose URI takes the form
- * "package:/...", a list of all such package names, sorted
- * lexicographically. Otherwise empty.
- */
- includedPackageNames:[string] (id: 2);
-
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "dart:...".
- */
- includesDartUris:bool (id: 4);
-
- /**
- * Indicates whether this dependency summarizes any files whose URI takes the
- * form "file:...".
- */
- includesFileUris:bool (id: 3);
-
- /**
- * Relative path to the summary file for this dependency. This is intended as
- * a hint to help the analysis server locate summaries of dependencies. We
- * don't specify precisely what this path is relative to, but we expect it to
- * be relative to a directory the analysis server can find (e.g. for projects
- * built using Bazel, it would be relative to the "bazel-bin" directory).
- *
- * Absent if the path is not known.
- */
- summaryPath:string (id: 1);
-}
-
-/**
- * Index information about a package.
- */
-table PackageIndex {
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the kind of the synthetic element.
- */
- elementKinds:[IndexSyntheticElementKind] (id: 5);
-
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the class member element name, or `null` if the element is
- * a top-level element. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
- elementNameClassMemberIds:[uint] (id: 7);
-
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the named parameter name, or `null` if the element is not
- * a named parameter. The list is sorted in ascending order, so that the
- * client can quickly check whether an element is referenced in this
- * [PackageIndex].
- */
- elementNameParameterIds:[uint] (id: 8);
-
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the identifier of the top-level element name, or `null` if the element is
- * the unit. The list is sorted in ascending order, so that the client can
- * quickly check whether an element is referenced in this [PackageIndex].
- */
- elementNameUnitMemberIds:[uint] (id: 1);
-
- /**
- * Each item of this list corresponds to a unique referenced element. It is
- * the index into [unitLibraryUris] and [unitUnitUris] for the library
- * specific unit where the element is declared.
- */
- elementUnits:[uint] (id: 0);
-
- /**
- * List of unique element strings used in this [PackageIndex]. The list is
- * sorted in ascending order, so that the client can quickly check the
- * presence of a string in this [PackageIndex].
- */
- strings:[string] (id: 6);
-
- /**
- * Each item of this list corresponds to the library URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
- unitLibraryUris:[uint] (id: 2);
-
- /**
- * List of indexes of each unit in this [PackageIndex].
- */
- units:[UnitIndex] (id: 4);
-
- /**
- * Each item of this list corresponds to the unit URI of a unique library
- * specific unit referenced in the [PackageIndex]. It is an index into
- * [strings] list.
- */
- unitUnitUris:[uint] (id: 3);
-}
-
-/**
- * Index information about a unit in a [PackageIndex].
- */
-table UnitIndex {
- /**
- * Each item of this list is the kind of an element defined in this unit.
- */
- definedNameKinds:[IndexNameKind] (id: 6);
-
- /**
- * Each item of this list is the name offset of an element defined in this
- * unit relative to the beginning of the file.
- */
- definedNameOffsets:[uint] (id: 7);
-
- /**
- * Each item of this list corresponds to an element defined in this unit. It
- * is an index into [PackageIndex.strings] list. The list is sorted in
- * ascending order, so that the client can quickly find name definitions in
- * this [UnitIndex].
- */
- definedNames:[uint] (id: 5);
-
- /**
- * Index into [PackageIndex.unitLibraryUris] and [PackageIndex.unitUnitUris]
- * for the library specific unit that corresponds to this [UnitIndex].
- */
- unit:uint (id: 0);
-
- /**
- * Each item of this list is the `true` if the corresponding element usage
- * is qualified with some prefix.
- */
- usedElementIsQualifiedFlags:[ubyte] (id: 11);
-
- /**
- * Each item of this list is the kind of the element usage.
- */
- usedElementKinds:[IndexRelationKind] (id: 4);
-
- /**
- * Each item of this list is the length of the element usage.
- */
- usedElementLengths:[uint] (id: 1);
-
- /**
- * Each item of this list is the offset of the element usage relative to the
- * beginning of the file.
- */
- usedElementOffsets:[uint] (id: 2);
-
- /**
- * Each item of this list is the index into [PackageIndex.elementUnits] and
- * [PackageIndex.elementOffsets]. The list is sorted in ascending order, so
- * that the client can quickly find element references in this [UnitIndex].
- */
- usedElements:[uint] (id: 3);
-
- /**
- * Each item of this list is the `true` if the corresponding name usage
- * is qualified with some prefix.
- */
- usedNameIsQualifiedFlags:[ubyte] (id: 12);
-
- /**
- * Each item of this list is the kind of the name usage.
- */
- usedNameKinds:[IndexRelationKind] (id: 10);
-
- /**
- * Each item of this list is the offset of the name usage relative to the
- * beginning of the file.
- */
- usedNameOffsets:[uint] (id: 9);
-
- /**
- * Each item of this list is the index into [PackageIndex.strings] for a
- * used name. The list is sorted in ascending order, so that the client can
- * quickly find name uses in this [UnitIndex].
- */
- usedNames:[uint] (id: 8);
-}
-
-/**
- * Unlinked summary information about a class declaration.
- */
-table UnlinkedClass {
- /**
- * Annotations for this class.
- */
- annotations:[UnlinkedConst] (id: 5);
-
- /**
- * Code range of the class.
- */
- codeRange:CodeRange (id: 13);
-
- /**
- * Documentation comment for the class, or `null` if there is no
- * documentation comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 6);
-
- /**
- * Executable objects (methods, getters, and setters) contained in the class.
- */
- executables:[UnlinkedExecutable] (id: 2);
-
- /**
- * Field declarations contained in the class.
- */
- fields:[UnlinkedVariable] (id: 4);
-
- /**
- * Indicates whether this class is the core "Object" class (and hence has no
- * supertype)
- */
- hasNoSupertype:bool (id: 12);
-
- /**
- * Interfaces appearing in an `implements` clause, if any.
- */
- interfaces:[EntityRef] (id: 7);
-
- /**
- * Indicates whether the class is declared with the `abstract` keyword.
- */
- isAbstract:bool (id: 8);
-
- /**
- * Indicates whether the class is declared using mixin application syntax.
- */
- isMixinApplication:bool (id: 11);
-
- /**
- * Mixins appearing in a `with` clause, if any.
- */
- mixins:[EntityRef] (id: 10);
-
- /**
- * Name of the class.
- */
- name:string (id: 0);
-
- /**
- * Offset of the class name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-
- /**
- * Supertype of the class, or `null` if either (a) the class doesn't
- * explicitly declare a supertype (and hence has supertype `Object`), or (b)
- * the class *is* `Object` (and hence has no supertype).
- */
- supertype:EntityRef (id: 3);
-
- /**
- * Type parameters of the class, if any.
- */
- typeParameters:[UnlinkedTypeParam] (id: 9);
-}
-
-/**
- * Unlinked summary information about a `show` or `hide` combinator in an
- * import or export declaration.
- */
-table UnlinkedCombinator {
- /**
- * If this is a `show` combinator, offset of the end of the list of shown
- * names. Otherwise zero.
- */
- end:uint (id: 3);
-
- /**
- * List of names which are hidden. Empty if this is a `show` combinator.
- */
- hides:[string] (id: 1);
-
- /**
- * If this is a `show` combinator, offset of the `show` keyword. Otherwise
- * zero.
- */
- offset:uint (id: 2);
-
- /**
- * List of names which are shown. Empty if this is a `hide` combinator.
- */
- shows:[string] (id: 0);
-}
-
-/**
- * Unlinked summary information about a single import or export configuration.
- */
-table UnlinkedConfiguration {
- /**
- * The name of the declared variable whose value is being used in the
- * condition.
- */
- name:string (id: 0);
-
- /**
- * The URI of the implementation library to be used if the condition is true.
- */
- uri:string (id: 2);
-
- /**
- * The value to which the value of the declared variable will be compared,
- * or `true` if the condition does not include an equality test.
- */
- value:string (id: 1);
-}
-
-/**
- * Unlinked summary information about a compile-time constant expression, or a
- * potentially constant expression.
- *
- * Constant expressions are represented using a simple stack-based language
- * where [operations] is a sequence of operations to execute starting with an
- * empty stack. Once all operations have been executed, the stack should
- * contain a single value which is the value of the constant. Note that some
- * operations consume additional data from the other fields of this class.
- */
-table UnlinkedConst {
- /**
- * Sequence of operators used by assignment operations.
- */
- assignmentOperators:[UnlinkedExprAssignOperator] (id: 6);
-
- /**
- * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
- */
- doubles:[double] (id: 4);
-
- /**
- * Sequence of unsigned 32-bit integers consumed by the operations
- * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
- * `makeList`, and `makeMap`.
- */
- ints:[uint] (id: 1);
-
- /**
- * Indicates whether the expression is a valid potentially constant
- * expression.
- */
- isValidConst:bool (id: 5);
-
- /**
- * Sequence of operations to execute (starting with an empty stack) to form
- * the constant value.
- */
- operations:[UnlinkedConstOperation] (id: 0);
-
- /**
- * Sequence of language constructs consumed by the operations
- * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
- * that in the case of `pushReference` (and sometimes `invokeConstructor` the
- * actual entity being referred to may be something other than a type.
- */
- references:[EntityRef] (id: 2);
-
- /**
- * Sequence of strings consumed by the operations `pushString` and
- * `invokeConstructor`.
- */
- strings:[string] (id: 3);
-}
-
-/**
- * Unlinked summary information about a constructor initializer.
- */
-table UnlinkedConstructorInitializer {
- /**
- * If there are `m` [arguments] and `n` [argumentNames], then each argument
- * from [arguments] with index `i` such that `n + i - m >= 0`, should be used
- * with the name at `n + i - m`.
- */
- argumentNames:[string] (id: 4);
-
- /**
- * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
- * invocation. Otherwise empty.
- */
- arguments:[UnlinkedConst] (id: 3);
-
- /**
- * If [kind] is `field`, the expression of the field initializer.
- * Otherwise `null`.
- */
- expression:UnlinkedConst (id: 1);
-
- /**
- * The kind of the constructor initializer (field, redirect, super).
- */
- kind:UnlinkedConstructorInitializerKind (id: 2);
-
- /**
- * If [kind] is `field`, the name of the field declared in the class. If
- * [kind] is `thisInvocation`, the name of the constructor, declared in this
- * class, to redirect to. If [kind] is `superInvocation`, the name of the
- * constructor, declared in the superclass, to invoke.
- */
- name:string (id: 0);
-}
-
-/**
- * Unlinked summary information about a documentation comment.
- */
-table UnlinkedDocumentationComment {
- /**
- * Length of the documentation comment (prior to replacing '\r\n' with '\n').
- */
- length:uint (id: 0, deprecated);
-
- /**
- * Offset of the beginning of the documentation comment relative to the
- * beginning of the file.
- */
- offset:uint (id: 2, deprecated);
-
- /**
- * Text of the documentation comment, with '\r\n' replaced by '\n'.
- *
- * References appearing within the doc comment in square brackets are not
- * specially encoded.
- */
- text:string (id: 1);
-}
-
-/**
- * Unlinked summary information about an enum declaration.
- */
-table UnlinkedEnum {
- /**
- * Annotations for this enum.
- */
- annotations:[UnlinkedConst] (id: 4);
-
- /**
- * Code range of the enum.
- */
- codeRange:CodeRange (id: 5);
-
- /**
- * Documentation comment for the enum, or `null` if there is no documentation
- * comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 3);
-
- /**
- * Name of the enum type.
- */
- name:string (id: 0);
-
- /**
- * Offset of the enum name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-
- /**
- * Values listed in the enum declaration, in declaration order.
- */
- values:[UnlinkedEnumValue] (id: 2);
-}
-
-/**
- * Unlinked summary information about a single enumerated value in an enum
- * declaration.
- */
-table UnlinkedEnumValue {
- /**
- * Documentation comment for the enum value, or `null` if there is no
- * documentation comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 2);
-
- /**
- * Name of the enumerated value.
- */
- name:string (id: 0);
-
- /**
- * Offset of the enum value name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-}
-
-/**
- * Unlinked summary information about a function, method, getter, or setter
- * declaration.
- */
-table UnlinkedExecutable {
- /**
- * Annotations for this executable.
- */
- annotations:[UnlinkedConst] (id: 6);
-
- /**
- * If this executable's function body is declared using `=>`, the expression
- * to the right of the `=>`. May be omitted if neither type inference nor
- * constant evaluation depends on the function body.
- */
- bodyExpr:UnlinkedConst (id: 29);
-
- /**
- * Code range of the executable.
- */
- codeRange:CodeRange (id: 26);
-
- /**
- * If a constant [UnlinkedExecutableKind.constructor], the constructor
- * initializers. Otherwise empty.
- */
- constantInitializers:[UnlinkedConstructorInitializer] (id: 14);
-
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [isConst] is `true`,
- * a nonzero slot id which is unique within this compilation unit. If this id
- * is found in [LinkedUnit.constCycles], then this constructor is part of a
- * cycle.
- *
- * Otherwise, zero.
- */
- constCycleSlot:uint (id: 25);
-
- /**
- * Documentation comment for the executable, or `null` if there is no
- * documentation comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 7);
-
- /**
- * If this executable's return type is inferable, nonzero slot id
- * identifying which entry in [LinkedUnit.types] contains the inferred
- * return type. If there is no matching entry in [LinkedUnit.types], then
- * no return type was inferred for this variable, so its static type is
- * `dynamic`.
- */
- inferredReturnTypeSlot:uint (id: 5);
-
- /**
- * Indicates whether the executable is declared using the `abstract` keyword.
- */
- isAbstract:bool (id: 10);
-
- /**
- * Indicates whether the executable has body marked as being asynchronous.
- */
- isAsynchronous:bool (id: 27);
-
- /**
- * Indicates whether the executable is declared using the `const` keyword.
- */
- isConst:bool (id: 12);
-
- /**
- * Indicates whether the executable is declared using the `external` keyword.
- */
- isExternal:bool (id: 11);
-
- /**
- * Indicates whether the executable is declared using the `factory` keyword.
- */
- isFactory:bool (id: 8);
-
- /**
- * Indicates whether the executable has body marked as being a generator.
- */
- isGenerator:bool (id: 28);
-
- /**
- * Indicates whether the executable is a redirected constructor.
- */
- isRedirectedConstructor:bool (id: 13);
-
- /**
- * Indicates whether the executable is declared using the `static` keyword.
- *
- * Note that for top level executables, this flag is false, since they are
- * not declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
- isStatic:bool (id: 9);
-
- /**
- * The kind of the executable (function/method, getter, setter, or
- * constructor).
- */
- kind:UnlinkedExecutableKind (id: 4);
-
- /**
- * The list of local functions.
- */
- localFunctions:[UnlinkedExecutable] (id: 18);
-
- /**
- * The list of local labels.
- */
- localLabels:[UnlinkedLabel] (id: 22);
-
- /**
- * The list of local variables.
- */
- localVariables:[UnlinkedVariable] (id: 19);
-
- /**
- * Name of the executable. For setters, this includes the trailing "=". For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the empty string.
- */
- name:string (id: 1);
-
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the end of the constructor name. Otherwise zero.
- */
- nameEnd:uint (id: 23);
-
- /**
- * Offset of the executable name relative to the beginning of the file. For
- * named constructors, this excludes the class name and excludes the ".".
- * For unnamed constructors, this is the offset of the class name (i.e. the
- * offset of the second "C" in "class C { C(); }").
- */
- nameOffset:uint (id: 0);
-
- /**
- * Parameters of the executable, if any. Note that getters have no
- * parameters (hence this will be the empty list), and setters have a single
- * parameter.
- */
- parameters:[UnlinkedParam] (id: 2);
-
- /**
- * If [kind] is [UnlinkedExecutableKind.constructor] and [name] is not empty,
- * the offset of the period before the constructor name. Otherwise zero.
- */
- periodOffset:uint (id: 24);
-
- /**
- * If [isRedirectedConstructor] and [isFactory] are both `true`, the
- * constructor to which this constructor redirects; otherwise empty.
- */
- redirectedConstructor:EntityRef (id: 15);
-
- /**
- * If [isRedirectedConstructor] is `true` and [isFactory] is `false`, the
- * name of the constructor that this constructor redirects to; otherwise
- * empty.
- */
- redirectedConstructorName:string (id: 17);
-
- /**
- * Declared return type of the executable. Absent if the executable is a
- * constructor or the return type is implicit. Absent for executables
- * associated with variable initializers and closures, since these
- * executables may have return types that are not accessible via direct
- * imports.
- */
- returnType:EntityRef (id: 3);
-
- /**
- * Type parameters of the executable, if any. Empty if support for generic
- * method syntax is disabled.
- */
- typeParameters:[UnlinkedTypeParam] (id: 16);
-
- /**
- * If a local function, the length of the visible range; zero otherwise.
- */
- visibleLength:uint (id: 20);
-
- /**
- * If a local function, the beginning of the visible range; zero otherwise.
- */
- visibleOffset:uint (id: 21);
-}
-
-/**
- * Unlinked summary information about an export declaration (stored outside
- * [UnlinkedPublicNamespace]).
- */
-table UnlinkedExportNonPublic {
- /**
- * Annotations for this export directive.
- */
- annotations:[UnlinkedConst] (id: 3);
-
- /**
- * Offset of the "export" keyword.
- */
- offset:uint (id: 0);
-
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
- uriEnd:uint (id: 1);
-
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
- uriOffset:uint (id: 2);
-}
-
-/**
- * Unlinked summary information about an export declaration (stored inside
- * [UnlinkedPublicNamespace]).
- */
-table UnlinkedExportPublic {
- /**
- * Combinators contained in this export declaration.
- */
- combinators:[UnlinkedCombinator] (id: 1);
-
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
- configurations:[UnlinkedConfiguration] (id: 2);
-
- /**
- * URI used in the source code to reference the exported library.
- */
- uri:string (id: 0);
-}
-
-/**
- * Unlinked summary information about an import declaration.
- */
-table UnlinkedImport {
- /**
- * Annotations for this import declaration.
- */
- annotations:[UnlinkedConst] (id: 8);
-
- /**
- * Combinators contained in this import declaration.
- */
- combinators:[UnlinkedCombinator] (id: 4);
-
- /**
- * Configurations used to control which library will actually be loaded at
- * run-time.
- */
- configurations:[UnlinkedConfiguration] (id: 10);
-
- /**
- * Indicates whether the import declaration uses the `deferred` keyword.
- */
- isDeferred:bool (id: 9);
-
- /**
- * Indicates whether the import declaration is implicit.
- */
- isImplicit:bool (id: 5);
-
- /**
- * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
- * is true, zero.
- */
- offset:uint (id: 0);
-
- /**
- * Offset of the prefix name relative to the beginning of the file, or zero
- * if there is no prefix.
- */
- prefixOffset:uint (id: 6);
-
- /**
- * Index into [UnlinkedUnit.references] of the prefix declared by this
- * import declaration, or zero if this import declaration declares no prefix.
- *
- * Note that multiple imports can declare the same prefix.
- */
- prefixReference:uint (id: 7);
-
- /**
- * URI used in the source code to reference the imported library.
- */
- uri:string (id: 1);
-
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file. If [isImplicit] is true, zero.
- */
- uriEnd:uint (id: 2);
-
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file. If [isImplicit] is true, zero.
- */
- uriOffset:uint (id: 3);
-}
-
-/**
- * Unlinked summary information about a label.
- */
-table UnlinkedLabel {
- /**
- * Return `true` if this label is associated with a `switch` member (`case` or
- * `default`).
- */
- isOnSwitchMember:bool (id: 2);
-
- /**
- * Return `true` if this label is associated with a `switch` statement.
- */
- isOnSwitchStatement:bool (id: 3);
-
- /**
- * Name of the label.
- */
- name:string (id: 0);
-
- /**
- * Offset of the label relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-}
-
-/**
- * Unlinked summary information about a function parameter.
- */
-table UnlinkedParam {
- /**
- * Annotations for this parameter.
- */
- annotations:[UnlinkedConst] (id: 9);
-
- /**
- * Code range of the parameter.
- */
- codeRange:CodeRange (id: 7);
-
- /**
- * If the parameter has a default value, the source text of the constant
- * expression in the default value. Otherwise the empty string.
- */
- defaultValueCode:string (id: 13);
-
- /**
- * If this parameter's type is inferable, nonzero slot id identifying which
- * entry in [LinkedLibrary.types] contains the inferred type. If there is no
- * matching entry in [LinkedLibrary.types], then no type was inferred for
- * this variable, so its static type is `dynamic`.
- *
- * Note that although strong mode considers initializing formals to be
- * inferable, they are not marked as such in the summary; if their type is
- * not specified, they always inherit the static type of the corresponding
- * field.
- */
- inferredTypeSlot:uint (id: 2);
-
- /**
- * If this is a parameter of an instance method, a nonzero slot id which is
- * unique within this compilation unit. If this id is found in
- * [LinkedUnit.parametersInheritingCovariant], then this parameter inherits
- * `@covariant` behavior from a base class.
- *
- * Otherwise, zero.
- */
- inheritsCovariantSlot:uint (id: 14);
-
- /**
- * The synthetic initializer function of the parameter. Absent if the variable
- * does not have an initializer.
- */
- initializer:UnlinkedExecutable (id: 12);
-
- /**
- * Indicates whether this is a function-typed parameter.
- */
- isFunctionTyped:bool (id: 5);
-
- /**
- * Indicates whether this is an initializing formal parameter (i.e. it is
- * declared using `this.` syntax).
- */
- isInitializingFormal:bool (id: 6);
-
- /**
- * Kind of the parameter.
- */
- kind:UnlinkedParamKind (id: 4);
-
- /**
- * Name of the parameter.
- */
- name:string (id: 0);
-
- /**
- * Offset of the parameter name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-
- /**
- * If [isFunctionTyped] is `true`, the parameters of the function type.
- */
- parameters:[UnlinkedParam] (id: 8);
-
- /**
- * If [isFunctionTyped] is `true`, the declared return type. If
- * [isFunctionTyped] is `false`, the declared type. Absent if the type is
- * implicit.
- */
- type:EntityRef (id: 3);
-
- /**
- * The length of the visible range.
- */
- visibleLength:uint (id: 10);
-
- /**
- * The beginning of the visible range.
- */
- visibleOffset:uint (id: 11);
-}
-
-/**
- * Unlinked summary information about a part declaration.
- */
-table UnlinkedPart {
- /**
- * Annotations for this part declaration.
- */
- annotations:[UnlinkedConst] (id: 2);
-
- /**
- * End of the URI string (including quotes) relative to the beginning of the
- * file.
- */
- uriEnd:uint (id: 0);
-
- /**
- * Offset of the URI string (including quotes) relative to the beginning of
- * the file.
- */
- uriOffset:uint (id: 1);
-}
-
-/**
- * Unlinked summary information about a specific name contributed by a
- * compilation unit to a library's public namespace.
- *
- * TODO(paulberry): some of this information is redundant with information
- * elsewhere in the summary. Consider reducing the redundancy to reduce
- * summary size.
- */
-table UnlinkedPublicName {
- /**
- * The kind of object referred to by the name.
- */
- kind:ReferenceKind (id: 1);
-
- /**
- * If this [UnlinkedPublicName] is a class, the list of members which can be
- * referenced statically - static fields, static methods, and constructors.
- * Otherwise empty.
- *
- * Unnamed constructors are not included since they do not constitute a
- * separate name added to any namespace.
- */
- members:[UnlinkedPublicName] (id: 2);
-
- /**
- * The name itself.
- */
- name:string (id: 0);
-
- /**
- * If the entity being referred to is generic, the number of type parameters
- * it accepts. Otherwise zero.
- */
- numTypeParameters:uint (id: 3);
-}
-
-/**
- * Unlinked summary information about what a compilation unit contributes to a
- * library's public namespace. This is the subset of [UnlinkedUnit] that is
- * required from dependent libraries in order to perform prelinking.
- */
-table UnlinkedPublicNamespace {
- /**
- * Export declarations in the compilation unit.
- */
- exports:[UnlinkedExportPublic] (id: 2);
-
- /**
- * Public names defined in the compilation unit.
- *
- * TODO(paulberry): consider sorting these names to reduce unnecessary
- * relinking.
- */
- names:[UnlinkedPublicName] (id: 0);
-
- /**
- * URIs referenced by part declarations in the compilation unit.
- */
- parts:[string] (id: 1);
-}
-
-/**
- * Unlinked summary information about a name referred to in one library that
- * might be defined in another.
- */
-table UnlinkedReference {
- /**
- * Name of the entity being referred to. For the pseudo-type `dynamic`, the
- * string is "dynamic". For the pseudo-type `void`, the string is "void".
- * For the pseudo-type `bottom`, the string is "*bottom*".
- */
- name:string (id: 0);
-
- /**
- * Prefix used to refer to the entity, or zero if no prefix is used. This is
- * an index into [UnlinkedUnit.references].
- *
- * Prefix references must always point backward; that is, for all i, if
- * UnlinkedUnit.references[i].prefixReference != 0, then
- * UnlinkedUnit.references[i].prefixReference < i.
- */
- prefixReference:uint (id: 1);
-}
-
-/**
- * Unlinked summary information about a typedef declaration.
- */
-table UnlinkedTypedef {
- /**
- * Annotations for this typedef.
- */
- annotations:[UnlinkedConst] (id: 4);
-
- /**
- * Code range of the typedef.
- */
- codeRange:CodeRange (id: 7);
-
- /**
- * Documentation comment for the typedef, or `null` if there is no
- * documentation comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 6);
-
- /**
- * Name of the typedef.
- */
- name:string (id: 0);
-
- /**
- * Offset of the typedef name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-
- /**
- * Parameters of the executable, if any.
- */
- parameters:[UnlinkedParam] (id: 3);
-
- /**
- * Return type of the typedef.
- */
- returnType:EntityRef (id: 2);
-
- /**
- * Type parameters of the typedef, if any.
- */
- typeParameters:[UnlinkedTypeParam] (id: 5);
-}
-
-/**
- * Unlinked summary information about a type parameter declaration.
- */
-table UnlinkedTypeParam {
- /**
- * Annotations for this type parameter.
- */
- annotations:[UnlinkedConst] (id: 3);
-
- /**
- * Bound of the type parameter, if a bound is explicitly declared. Otherwise
- * null.
- */
- bound:EntityRef (id: 2);
-
- /**
- * Code range of the type parameter.
- */
- codeRange:CodeRange (id: 4);
-
- /**
- * Name of the type parameter.
- */
- name:string (id: 0);
-
- /**
- * Offset of the type parameter name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-}
-
-/**
- * Unlinked summary information about a compilation unit ("part file").
- */
-table UnlinkedUnit {
- /**
- * Classes declared in the compilation unit.
- */
- classes:[UnlinkedClass] (id: 2);
-
- /**
- * Code range of the unit.
- */
- codeRange:CodeRange (id: 15);
-
- /**
- * Enums declared in the compilation unit.
- */
- enums:[UnlinkedEnum] (id: 12);
-
- /**
- * Top level executable objects (functions, getters, and setters) declared in
- * the compilation unit.
- */
- executables:[UnlinkedExecutable] (id: 4);
-
- /**
- * Export declarations in the compilation unit.
- */
- exports:[UnlinkedExportNonPublic] (id: 13);
-
- /**
- * If this compilation unit was summarized in fallback mode, the path where
- * the compilation unit may be found on disk. Otherwise empty.
- *
- * When this field is non-empty, all other fields in the data structure have
- * their default values.
- */
- fallbackModePath:string (id: 16);
-
- /**
- * Import declarations in the compilation unit.
- */
- imports:[UnlinkedImport] (id: 5);
-
- /**
- * Annotations for the library declaration, or the empty list if there is no
- * library declaration.
- */
- libraryAnnotations:[UnlinkedConst] (id: 14);
-
- /**
- * Documentation comment for the library, or `null` if there is no
- * documentation comment.
- */
- libraryDocumentationComment:UnlinkedDocumentationComment (id: 9);
-
- /**
- * Name of the library (from a "library" declaration, if present).
- */
- libraryName:string (id: 6);
-
- /**
- * Length of the library name as it appears in the source code (or 0 if the
- * library has no name).
- */
- libraryNameLength:uint (id: 7);
-
- /**
- * Offset of the library name relative to the beginning of the file (or 0 if
- * the library has no name).
- */
- libraryNameOffset:uint (id: 8);
-
- /**
- * Offsets of the first character of each line in the source code.
- */
- lineStarts:[uint] (id: 17);
-
- /**
- * Part declarations in the compilation unit.
- */
- parts:[UnlinkedPart] (id: 11);
-
- /**
- * Unlinked public namespace of this compilation unit.
- */
- publicNamespace:UnlinkedPublicNamespace (id: 0);
-
- /**
- * Top level and prefixed names referred to by this compilation unit. The
- * zeroth element of this array is always populated and is used to represent
- * the absence of a reference in places where a reference is optional (for
- * example [UnlinkedReference.prefixReference or
- * UnlinkedImport.prefixReference]).
- */
- references:[UnlinkedReference] (id: 1);
-
- /**
- * Typedefs declared in the compilation unit.
- */
- typedefs:[UnlinkedTypedef] (id: 10);
-
- /**
- * Top level variables declared in the compilation unit.
- */
- variables:[UnlinkedVariable] (id: 3);
-}
-
-/**
- * Unlinked summary information about a top level variable, local variable, or
- * a field.
- */
-table UnlinkedVariable {
- /**
- * Annotations for this variable.
- */
- annotations:[UnlinkedConst] (id: 8);
-
- /**
- * Code range of the variable.
- */
- codeRange:CodeRange (id: 5);
-
- /**
- * Documentation comment for the variable, or `null` if there is no
- * documentation comment.
- */
- documentationComment:UnlinkedDocumentationComment (id: 10);
-
- /**
- * If this variable is inferable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the inferred type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then no type was
- * inferred for this variable, so its static type is `dynamic`.
- */
- inferredTypeSlot:uint (id: 9);
-
- /**
- * The synthetic initializer function of the variable. Absent if the variable
- * does not have an initializer.
- */
- initializer:UnlinkedExecutable (id: 13);
-
- /**
- * Indicates whether the variable is declared using the `const` keyword.
- */
- isConst:bool (id: 6);
-
- /**
- * Indicates whether the variable is declared using the `final` keyword.
- */
- isFinal:bool (id: 7);
-
- /**
- * Indicates whether the variable is declared using the `static` keyword.
- *
- * Note that for top level variables, this flag is false, since they are not
- * declared using the `static` keyword (even though they are considered
- * static for semantic purposes).
- */
- isStatic:bool (id: 4);
-
- /**
- * Name of the variable.
- */
- name:string (id: 0);
-
- /**
- * Offset of the variable name relative to the beginning of the file.
- */
- nameOffset:uint (id: 1);
-
- /**
- * If this variable is propagable, nonzero slot id identifying which entry in
- * [LinkedLibrary.types] contains the propagated type for this variable. If
- * there is no matching entry in [LinkedLibrary.types], then this variable's
- * propagated type is the same as its declared type.
- *
- * Non-propagable variables have a [propagatedTypeSlot] of zero.
- */
- propagatedTypeSlot:uint (id: 2);
-
- /**
- * Declared type of the variable. Absent if the type is implicit.
- */
- type:EntityRef (id: 3);
-
- /**
- * If a local variable, the length of the visible range; zero otherwise.
- */
- visibleLength:uint (id: 11);
-
- /**
- * If a local variable, the beginning of the visible range; zero otherwise.
- */
- visibleOffset:uint (id: 12);
-}
-
-root_type PackageBundle;
-
-file_identifier "PBdl";
diff --git a/build/web/packages/browser/dart.js b/build/web/packages/browser/dart.js
deleted file mode 100644
index f8d686e1..00000000
--- a/build/web/packages/browser/dart.js
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-(function() {
-// Bootstrap support for Dart scripts on the page as this script.
-if (navigator.userAgent.indexOf('(Dart)') === -1) {
- // TODO:
- // - Support in-browser compilation.
- // - Handle inline Dart scripts.
-
- // Fall back to compiled JS. Run through all the scripts and
- // replace them if they have a type that indicate that they source
- // in Dart code (type="application/dart").
- var scripts = document.getElementsByTagName("script");
- var length = scripts.length;
- for (var i = 0; i < length; ++i) {
- if (scripts[i].type == "application/dart") {
- // Remap foo.dart to foo.dart.js.
- if (scripts[i].src && scripts[i].src != '') {
- var script = document.createElement('script');
- script.src = scripts[i].src.replace(/\.dart(?=\?|$)/, '.dart.js');
- var parent = scripts[i].parentNode;
- // TODO(vsm): Find a solution for issue 8455 that works with more
- // than one script.
- document.currentScript = script;
- parent.replaceChild(script, scripts[i]);
- }
- }
- }
-}
-})();
diff --git a/build/web/packages/browser/interop.js b/build/web/packages/browser/interop.js
deleted file mode 100644
index ec02e585..00000000
--- a/build/web/packages/browser/interop.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// TODO(jmesserly): remove this script after a deprecation period.
-if (typeof console == "object" && typeof console.warn == "function") {
- console.warn('
-