// Copyright 2016 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// NOTE: This is a generated file.  Do not edit.

// clang-format off

/** @fileoverview @nocompile */
var $jscomp={};$jscomp.scope={};$jscomp.defineProperty=typeof Object.defineProperties=="function"?Object.defineProperty:function(target,property,descriptor){descriptor=(descriptor);if(descriptor.get||descriptor.set)throw new TypeError("ES3 does not support getters and setters.");if(target==Array.prototype||target==Object.prototype)return;target[property]=descriptor.value};
$jscomp.getGlobal=function(maybeGlobal){return typeof window!="undefined"&&window===maybeGlobal?maybeGlobal:typeof global!="undefined"&&global!=null?global:maybeGlobal};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(target,polyfill,fromLang,toLang){if(!polyfill)return;var obj=$jscomp.global;var split=target.split(".");for(var i=0;i<split.length-1;i++){var key=split[i];if(!(key in obj))obj[key]={};obj=obj[key]}var property=split[split.length-1];var orig=obj[property];var impl=polyfill(orig);if(impl==orig||impl==null)return;$jscomp.defineProperty(obj,property,{configurable:true,writable:true,value:impl})};
$jscomp.polyfill("Array.prototype.copyWithin",function(orig){if(orig)return orig;var polyfill=function(target,start,opt_end){var len=this.length;target=Number(target);start=Number(start);opt_end=Number(opt_end!=null?opt_end:len);if(target<start){opt_end=Math.min(opt_end,len);while(start<opt_end)if(start in this)this[target++]=this[start++];else{delete this[target++];start++}}else{opt_end=Math.min(opt_end,len+start-target);target+=opt_end-start;while(opt_end>start)if(--opt_end in this)this[--target]=
this[opt_end];else delete this[target]}return this};return polyfill},"es6-impl","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};if(!$jscomp.global.Symbol)$jscomp.global.Symbol=$jscomp.Symbol};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(opt_description){return($jscomp.SYMBOL_PREFIX+(opt_description||"")+$jscomp.symbolCounter_++)};
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var symbolIterator=$jscomp.global.Symbol.iterator;if(!symbolIterator)symbolIterator=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator");if(typeof Array.prototype[symbolIterator]!="function")$jscomp.defineProperty(Array.prototype,symbolIterator,{configurable:true,writable:true,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};
$jscomp.arrayIterator=function(array){var index=0;return $jscomp.iteratorPrototype(function(){if(index<array.length)return{done:false,value:array[index++]};else return{done:true}})};$jscomp.iteratorPrototype=function(next){$jscomp.initSymbolIterator();var iterator={next:next};iterator[$jscomp.global.Symbol.iterator]=function(){return this};return(iterator)};$jscomp.array=$jscomp.array||{};
$jscomp.iteratorFromArray=function(array,transform){$jscomp.initSymbolIterator();if(array instanceof String)array=array+"";var i=0;var iter={next:function(){if(i<array.length){var index=i++;return{value:transform(index,array[index]),done:false}}iter.next=function(){return{done:true,value:void 0}};return iter.next()}};iter[Symbol.iterator]=function(){return iter};return iter};
$jscomp.polyfill("Array.prototype.entries",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i,v){return[i,v]})};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.fill",function(orig){if(orig)return orig;var polyfill=function(value,opt_start,opt_end){var length=this.length||0;if(opt_start<0)opt_start=Math.max(0,length+(opt_start));if(opt_end==null||opt_end>length)opt_end=length;opt_end=Number(opt_end);if(opt_end<0)opt_end=Math.max(0,length+opt_end);for(var i=Number(opt_start||0);i<opt_end;i++)this[i]=value;return this};return polyfill},"es6-impl","es3");
$jscomp.findInternal=function(array,callback,thisArg){if(array instanceof String)array=(String(array));var len=array.length;for(var i=0;i<len;i++){var value=array[i];if(callback.call(thisArg,value,i,array))return{i:i,v:value}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).v};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.findIndex",function(orig){if(orig)return orig;var polyfill=function(callback,opt_thisArg){return $jscomp.findInternal(this,callback,opt_thisArg).i};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.from",function(orig){if(orig)return orig;var polyfill=function(arrayLike,opt_mapFn,opt_thisArg){$jscomp.initSymbolIterator();opt_mapFn=opt_mapFn!=null?opt_mapFn:function(x){return x};var result=[];var iteratorFunction=(arrayLike)[Symbol.iterator];if(typeof iteratorFunction=="function"){arrayLike=iteratorFunction.call(arrayLike);var next;while(!(next=arrayLike.next()).done)result.push(opt_mapFn.call((opt_thisArg),next.value))}else{var len=arrayLike.length;for(var i=0;i<len;i++)result.push(opt_mapFn.call((opt_thisArg),
arrayLike[i]))}return result};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.prototype.keys",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(i){return i})};return polyfill},"es6-impl","es3");$jscomp.polyfill("Array.of",function(orig){if(orig)return orig;var polyfill=function(var_args){return Array.from(arguments)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Array.prototype.values",function(orig){if(orig)return orig;var polyfill=function(){return $jscomp.iteratorFromArray(this,function(k,v){return v})};return polyfill},"es6","es3");
$jscomp.executeAsyncGenerator=function(generator){function passValueToGenerator(value){return generator.next(value)}function passErrorToGenerator(error){return generator["throw"](error)}return new Promise(function(resolve,reject){function handleGeneratorRecord(genRec){if(genRec.done)resolve(genRec.value);else Promise.resolve(genRec.value).then(passValueToGenerator,passErrorToGenerator).then(handleGeneratorRecord,reject)}handleGeneratorRecord(generator.next())})};
$jscomp.makeIterator=function(iterable){$jscomp.initSymbolIterator();var iteratorFunction=(iterable)[Symbol.iterator];return iteratorFunction?iteratorFunction.call(iterable):$jscomp.arrayIterator((iterable))};$jscomp.owns=function(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)};
$jscomp.polyfill("WeakMap",function(NativeWeakMap){function isConformant(){if(!NativeWeakMap||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var map=new (NativeWeakMap)([[x,2],[y,3]]);if(map.get(x)!=2||map.get(y)!=3)return false;map["delete"](x);map.set(y,4);return!map.has(x)&&map.get(y)==4}catch(err){return false}}if(isConformant())return NativeWeakMap;var prop="$jscomp_hidden_"+Math.random().toString().substring(2);function insert(target){if(!$jscomp.owns(target,prop)){var obj=
{};$jscomp.defineProperty(target,prop,{value:obj})}}function patch(name){var prev=Object[name];if(prev)Object[name]=function(target){insert(target);return prev(target)}}patch("freeze");patch("preventExtensions");patch("seal");var index=0;var PolyfillWeakMap=function(opt_iterable){this.id_=(index+=Math.random()+1).toString();if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;
this.set((item[0]),(item[1]))}}};PolyfillWeakMap.prototype.set=function(key,value){insert(key);if(!$jscomp.owns(key,prop))throw new Error("WeakMap key fail: "+key);key[prop][this.id_]=value;return this};PolyfillWeakMap.prototype.get=function(key){return $jscomp.owns(key,prop)?key[prop][this.id_]:undefined};PolyfillWeakMap.prototype.has=function(key){return $jscomp.owns(key,prop)&&$jscomp.owns(key[prop],this.id_)};PolyfillWeakMap.prototype["delete"]=function(key){if(!$jscomp.owns(key,prop)||!$jscomp.owns(key[prop],
this.id_))return false;return delete key[prop][this.id_]};return PolyfillWeakMap},"es6-impl","es3");$jscomp.ASSUME_NO_NATIVE_MAP=false;
$jscomp.polyfill("Map",function(NativeMap){var isConformant=!$jscomp.ASSUME_NO_NATIVE_MAP&&function(){if(!NativeMap||!NativeMap.prototype.entries||typeof Object.seal!="function")return false;try{NativeMap=(NativeMap);var key=Object.seal({x:4});var map=new NativeMap($jscomp.makeIterator([[key,"s"]]));if(map.get(key)!="s"||map.size!=1||map.get({x:4})||map.set({x:4},"t")!=map||map.size!=2)return false;var iter=map.entries();var item=iter.next();if(item.done||item.value[0]!=key||item.value[1]!="s")return false;
item=iter.next();if(item.done||item.value[0].x!=4||item.value[1]!="t"||!iter.next().done)return false;return true}catch(err){return false}}();if(isConformant)return NativeMap;$jscomp.initSymbol();$jscomp.initSymbolIterator();var idMap=new WeakMap;var MapEntry=function(){};MapEntry.prototype.previous;MapEntry.prototype.next;MapEntry.prototype.head;MapEntry.prototype.key;MapEntry.prototype.value;var PolyfillMap=function(opt_iterable){this.data_={};this.head_=createHead();this.size=0;if(opt_iterable){var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.set((item[0]),(item[1]))}}};PolyfillMap.prototype.set=function(key,value){var r=maybeGetEntry(this,key);if(!r.list)r.list=this.data_[r.id]=[];if(!r.entry){r.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:key,value:value};r.list.push(r.entry);this.head_.previous.next=r.entry;this.head_.previous=r.entry;this.size++}else r.entry.value=value;return this};PolyfillMap.prototype["delete"]=
function(key){var r=maybeGetEntry(this,key);if(r.entry&&r.list){r.list.splice(r.index,1);if(!r.list.length)delete this.data_[r.id];r.entry.previous.next=r.entry.next;r.entry.next.previous=r.entry.previous;r.entry.head=null;this.size--;return true}return false};PolyfillMap.prototype.clear=function(){this.data_={};this.head_=this.head_.previous=createHead();this.size=0};PolyfillMap.prototype.has=function(key){return!!maybeGetEntry(this,key).entry};PolyfillMap.prototype.get=function(key){var entry=maybeGetEntry(this,
key).entry;return(entry&&(entry.value))};PolyfillMap.prototype.entries=function(){return makeIterator(this,function(entry){return[entry.key,entry.value]})};PolyfillMap.prototype.keys=function(){return makeIterator(this,function(entry){return entry.key})};PolyfillMap.prototype.values=function(){return makeIterator(this,function(entry){return entry.value})};PolyfillMap.prototype.forEach=function(callback,opt_thisArg){var iter=this.entries();var item;while(!(item=iter.next()).done){var entry=item.value;
callback.call((opt_thisArg),(entry[1]),(entry[0]),this)}};(PolyfillMap.prototype)[Symbol.iterator]=PolyfillMap.prototype.entries;var maybeGetEntry=function(map,key){var id=getId(key);var list=map.data_[id];if(list&&$jscomp.owns(map.data_,id))for(var index=0;index<list.length;index++){var entry=list[index];if(key!==key&&entry.key!==entry.key||key===entry.key)return{id:id,list:list,index:index,entry:entry}}return{id:id,list:list,index:-1,entry:undefined}};var makeIterator=function(map,func){var entry=
map.head_;return $jscomp.iteratorPrototype(function(){if(entry){while(entry.head!=map.head_)entry=entry.previous;while(entry.next!=entry.head){entry=entry.next;return{done:false,value:func(entry)}}entry=null}return{done:true,value:void 0}})};var createHead=function(){var head={};head.previous=head.next=head.head=head;return head};var mapIndex=0;var getId=function(obj){var type=obj&&typeof obj;if(type=="object"||type=="function"){obj=(obj);if(!idMap.has(obj)){var id=""+ ++mapIndex;idMap.set(obj,id);
return id}return idMap.get(obj)}return"p_"+obj};return PolyfillMap},"es6-impl","es3");$jscomp.polyfill("Math.acosh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return Math.log(x+Math.sqrt(x*x-1))};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.asinh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.log(Math.abs(x)+Math.sqrt(x*x+1));return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log1p",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;var s=1;while(zPrev!=z){y*=x;s*=-1;z=(zPrev=z)+s*y/++d}return z}return Math.log(1+x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.atanh",function(orig){if(orig)return orig;var log1p=Math.log1p;var polyfill=function(x){x=Number(x);return(log1p(x)-log1p(-x))/2};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cbrt",function(orig){if(orig)return orig;var polyfill=function(x){if(x===0)return x;x=Number(x);var y=Math.pow(Math.abs(x),1/3);return x<0?-y:y};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.clz32",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x)>>>0;if(x===0)return 32;var result=0;if((x&4294901760)===0){x<<=16;result+=16}if((x&4278190080)===0){x<<=8;result+=8}if((x&4026531840)===0){x<<=4;result+=4}if((x&3221225472)===0){x<<=2;result+=2}if((x&2147483648)===0)result++;return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.cosh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);return(exp(x)+exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.expm1",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x<.25&&x>-.25){var y=x;var d=1;var z=x;var zPrev=0;while(zPrev!=z){y*=x/++d;z=(zPrev=z)+y}return z}return Math.exp(x)-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.hypot",function(orig){if(orig)return orig;var polyfill=function(x,y,var_args){x=Number(x);y=Number(y);var i,z,sum;var max=Math.max(Math.abs(x),Math.abs(y));for(i=2;i<arguments.length;i++)max=Math.max(max,Math.abs(arguments[i]));if(max>1E100||max<1E-100){x=x/max;y=y/max;sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i])/max;sum+=z*z}return Math.sqrt(sum)*max}else{sum=x*x+y*y;for(i=2;i<arguments.length;i++){z=Number(arguments[i]);sum+=z*z}return Math.sqrt(sum)}};
return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.imul",function(orig){if(orig)return orig;var polyfill=function(a,b){a=Number(a);b=Number(b);var ah=a>>>16&65535;var al=a&65535;var bh=b>>>16&65535;var bl=b&65535;var lh=ah*bl+al*bh<<16>>>0;return al*bl+lh|0};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.log10",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN10};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.log2",function(orig){if(orig)return orig;var polyfill=function(x){return Math.log(x)/Math.LN2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.sign",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);return x===0||isNaN(x)?x:x>0?1:-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.sinh",function(orig){if(orig)return orig;var exp=Math.exp;var polyfill=function(x){x=Number(x);if(x===0)return x;return(exp(x)-exp(-x))/2};return polyfill},"es6-impl","es3");$jscomp.polyfill("Math.tanh",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(x===0)return x;var y=Math.exp(-2*Math.abs(x));var z=(1-y)/(1+y);return x<0?-z:z};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Math.trunc",function(orig){if(orig)return orig;var polyfill=function(x){x=Number(x);if(isNaN(x)||x===Infinity||x===-Infinity||x===0)return x;var y=Math.floor(Math.abs(x));return x<0?-y:y};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.EPSILON",function(orig){return Math.pow(2,-52)},"es6-impl","es3");$jscomp.polyfill("Number.MAX_SAFE_INTEGER",function(){return 9007199254740991},"es6-impl","es3");
$jscomp.polyfill("Number.MIN_SAFE_INTEGER",function(){return-9007199254740991},"es6-impl","es3");$jscomp.polyfill("Number.isFinite",function(orig){if(orig)return orig;var polyfill=function(x){if(typeof x!=="number")return false;return!isNaN(x)&&x!==Infinity&&x!==-Infinity};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isInteger",function(orig){if(orig)return orig;var polyfill=function(x){if(!Number.isFinite(x))return false;return x===Math.floor(x)};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Number.isNaN",function(orig){if(orig)return orig;var polyfill=function(x){return typeof x==="number"&&isNaN(x)};return polyfill},"es6-impl","es3");$jscomp.polyfill("Number.isSafeInteger",function(orig){if(orig)return orig;var polyfill=function(x){return Number.isInteger(x)&&Math.abs(x)<=Number.MAX_SAFE_INTEGER};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.assign",function(orig){if(orig)return orig;var polyfill=function(target,var_args){for(var i=1;i<arguments.length;i++){var source=arguments[i];if(!source)continue;for(var key in source)if($jscomp.owns(source,key))target[key]=source[key]}return target};return polyfill},"es6-impl","es3");$jscomp.polyfill("Object.getOwnPropertySymbols",function(orig){if(orig)return orig;return function(){return[]}},"es6-impl","es5");
$jscomp.polyfill("Object.is",function(orig){if(orig)return orig;var polyfill=function(left,right){if(left===right)return left!==0||1/left===1/(right);else return left!==left&&right!==right};return polyfill},"es6-impl","es3");
$jscomp.polyfill("Object.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){target.__proto__=proto;if(target.__proto__!==proto)throw new TypeError(target+" is not extensible");return target};return polyfill},"es6","es5");$jscomp.EXPOSE_ASYNC_EXECUTOR=true;$jscomp.FORCE_POLYFILL_PROMISE=false;
$jscomp.polyfill("Promise",function(NativePromise){if(NativePromise&&!$jscomp.FORCE_POLYFILL_PROMISE)return NativePromise;function AsyncExecutor(){this.batch_=null}AsyncExecutor.prototype.asyncExecute=function(f){if(this.batch_==null){this.batch_=[];this.asyncExecuteBatch_()}this.batch_.push(f);return this};AsyncExecutor.prototype.asyncExecuteBatch_=function(){var self=this;this.asyncExecuteFunction(function(){self.executeBatch_()})};var nativeSetTimeout=$jscomp.global["setTimeout"];AsyncExecutor.prototype.asyncExecuteFunction=
function(f){nativeSetTimeout(f,0)};AsyncExecutor.prototype.executeBatch_=function(){while(this.batch_&&this.batch_.length){var executingBatch=this.batch_;this.batch_=[];for(var i=0;i<executingBatch.length;++i){var f=executingBatch[i];delete executingBatch[i];try{f()}catch(error){this.asyncThrow_(error)}}}this.batch_=null};AsyncExecutor.prototype.asyncThrow_=function(exception){this.asyncExecuteFunction(function(){throw exception;})};var PromiseState={PENDING:0,FULFILLED:1,REJECTED:2};var PolyfillPromise=
function(executor){this.state_=PromiseState.PENDING;this.result_=undefined;this.onSettledCallbacks_=[];var resolveAndReject=this.createResolveAndReject_();try{executor(resolveAndReject.resolve,resolveAndReject.reject)}catch(e){resolveAndReject.reject(e)}};PolyfillPromise.prototype.createResolveAndReject_=function(){var thisPromise=this;var alreadyCalled=false;function firstCallWins(method){return function(x){if(!alreadyCalled){alreadyCalled=true;method.call(thisPromise,x)}}}return{resolve:firstCallWins(this.resolveTo_),
reject:firstCallWins(this.reject_)}};PolyfillPromise.prototype.resolveTo_=function(value){if(value===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(value instanceof PolyfillPromise)this.settleSameAsPromise_((value));else if(isObject(value))this.resolveToNonPromiseObj_((value));else this.fulfill_(value)};PolyfillPromise.prototype.resolveToNonPromiseObj_=function(obj){var thenMethod=undefined;try{thenMethod=obj.then}catch(error){this.reject_(error);return}if(typeof thenMethod==
"function")this.settleSameAsThenable_(thenMethod,(obj));else this.fulfill_(obj)};function isObject(value){switch(typeof value){case "object":return value!=null;case "function":return true;default:return false}}PolyfillPromise.prototype.reject_=function(reason){this.settle_(PromiseState.REJECTED,reason)};PolyfillPromise.prototype.fulfill_=function(value){this.settle_(PromiseState.FULFILLED,value)};PolyfillPromise.prototype.settle_=function(settledState,valueOrReason){if(this.state_!=PromiseState.PENDING)throw new Error("Cannot settle("+
settledState+", "+valueOrReason|"): Promise already settled in state"+this.state_);this.state_=settledState;this.result_=valueOrReason;this.executeOnSettledCallbacks_()};PolyfillPromise.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){var callbacks=this.onSettledCallbacks_;for(var i=0;i<callbacks.length;++i){(callbacks[i]).call();callbacks[i]=null}this.onSettledCallbacks_=null}};var asyncExecutor=new AsyncExecutor;PolyfillPromise.prototype.settleSameAsPromise_=function(promise){var methods=
this.createResolveAndReject_();promise.callWhenSettled_(methods.resolve,methods.reject)};PolyfillPromise.prototype.settleSameAsThenable_=function(thenMethod,thenable){var methods=this.createResolveAndReject_();try{thenMethod.call(thenable,methods.resolve,methods.reject)}catch(error){methods.reject(error)}};PolyfillPromise.prototype.then=function(onFulfilled,onRejected){var resolveChild;var rejectChild;var childPromise=new PolyfillPromise(function(resolve,reject){resolveChild=resolve;rejectChild=reject});
function createCallback(paramF,defaultF){if(typeof paramF=="function")return function(x){try{resolveChild(paramF(x))}catch(error){rejectChild(error)}};else return defaultF}this.callWhenSettled_(createCallback(onFulfilled,resolveChild),createCallback(onRejected,rejectChild));return childPromise};PolyfillPromise.prototype["catch"]=function(onRejected){return this.then(undefined,onRejected)};PolyfillPromise.prototype.callWhenSettled_=function(onFulfilled,onRejected){var thisPromise=this;function callback(){switch(thisPromise.state_){case PromiseState.FULFILLED:onFulfilled(thisPromise.result_);
break;case PromiseState.REJECTED:onRejected(thisPromise.result_);break;default:throw new Error("Unexpected state: "+thisPromise.state_);}}if(this.onSettledCallbacks_==null)asyncExecutor.asyncExecute(callback);else this.onSettledCallbacks_.push(function(){asyncExecutor.asyncExecute(callback)})};PolyfillPromise.resolve=function(opt_value){if(opt_value instanceof PolyfillPromise)return opt_value;else return new PolyfillPromise(function(resolve,reject){resolve(opt_value)})};PolyfillPromise.reject=function(opt_reason){return new PolyfillPromise(function(resolve,
reject){reject(opt_reason)})};PolyfillPromise.race=function(thenablesOrValues){return new PolyfillPromise(function(resolve,reject){var iterator=$jscomp.makeIterator(thenablesOrValues);for(var iterRec=iterator.next();!iterRec.done;iterRec=iterator.next())PolyfillPromise.resolve(iterRec.value).callWhenSettled_(resolve,reject)})};PolyfillPromise.all=function(thenablesOrValues){var iterator=$jscomp.makeIterator(thenablesOrValues);var iterRec=iterator.next();if(iterRec.done)return PolyfillPromise.resolve([]);
else return new PolyfillPromise(function(resolveAll,rejectAll){var resultsArray=[];var unresolvedCount=0;function onFulfilled(i){return function(ithResult){resultsArray[i]=ithResult;unresolvedCount--;if(unresolvedCount==0)resolveAll(resultsArray)}}do{resultsArray.push(undefined);unresolvedCount++;PolyfillPromise.resolve(iterRec.value).callWhenSettled_(onFulfilled(resultsArray.length-1),rejectAll);iterRec=iterator.next()}while(!iterRec.done)})};if($jscomp.EXPOSE_ASYNC_EXECUTOR)PolyfillPromise["$jscomp$new$AsyncExecutor"]=
function(){return new AsyncExecutor};return PolyfillPromise},"es6-impl","es3");$jscomp.polyfill("Reflect.apply",function(orig){if(orig)return orig;var apply=Function.prototype.apply;var polyfill=function(target,thisArg,argList){return apply.call(target,thisArg,argList)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.construct",function(orig){if(orig)return orig;var polyfill=function(target,argList,opt_newTarget){if(opt_newTarget===undefined)opt_newTarget=target;var proto=opt_newTarget.prototype||Object.prototype;var obj=Object.create(proto);var out=Reflect.apply(target,obj,argList);return out||obj};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.defineProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,attributes){try{Object.defineProperty(target,propertyKey,attributes);var desc=Object.getOwnPropertyDescriptor(target,propertyKey);if(!desc)return false;return desc.configurable===(attributes.configurable||false)&&desc.enumerable===(attributes.enumerable||false)&&("value"in desc?desc.value===attributes.value&&desc.writable===(attributes.writable||false):desc.get===attributes.get&&desc.set===
attributes.set)}catch(err){return false}};return polyfill},"es6","es5");$jscomp.polyfill("Reflect.deleteProperty",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){if(!$jscomp.owns(target,propertyKey))return true;try{return delete target[propertyKey]}catch(err){return false}};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.getOwnPropertyDescriptor",function(orig){return orig||Object.getOwnPropertyDescriptor},"es6","es5");
$jscomp.polyfill("Reflect.getPrototypeOf",function(orig){return orig||Object.getPrototypeOf},"es6","es5");$jscomp.findDescriptor=function(target,propertyKey){var obj=target;while(obj){var property=Reflect.getOwnPropertyDescriptor(obj,propertyKey);if(property)return property;obj=Reflect.getPrototypeOf(obj)}return undefined};
$jscomp.polyfill("Reflect.get",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,opt_receiver){if(arguments.length<=2)return target[propertyKey];var property=$jscomp.findDescriptor(target,propertyKey);if(property)return property.get?property.get.call(opt_receiver):property.value;return undefined};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.has",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey){return propertyKey in target};return polyfill},"es6","es3");$jscomp.polyfill("Reflect.isExtensible",function(orig){if(orig)return orig;if(typeof Object.isExtensible=="function")return Object.isExtensible;return function(){return true}},"es6","es3");
$jscomp.polyfill("Reflect.ownKeys",function(orig){if(orig)return orig;var symbolPrefix="jscomp_symbol_";function isSymbol(key){return key.substring(0,symbolPrefix.length)==symbolPrefix}var polyfill=function(target){var keys=[];var names=Object.getOwnPropertyNames(target);var symbols=Object.getOwnPropertySymbols(target);for(var i=0;i<names.length;i++)(isSymbol(names[i])?symbols:keys).push(names[i]);return keys.concat(symbols)};return polyfill},"es6","es5");
$jscomp.polyfill("Reflect.preventExtensions",function(orig){if(orig)return orig;if(typeof Object.preventExtensions!="function")return function(){return false};var polyfill=function(target){Object.preventExtensions(target);return!Object.isExtensible(target)};return polyfill},"es6","es3");
$jscomp.polyfill("Reflect.set",function(orig){if(orig)return orig;var polyfill=function(target,propertyKey,value,opt_receiver){var property=$jscomp.findDescriptor(target,propertyKey);if(!property){if(Reflect.isExtensible(target)){target[propertyKey]=value;return true}return false}if(property.set){property.set.call(arguments.length>3?opt_receiver:target,value);return true}else if(property.writable&&!Object.isFrozen(target)){target[propertyKey]=value;return true}return false};return polyfill},"es6",
"es5");$jscomp.polyfill("Reflect.setPrototypeOf",function(orig){if(orig)return orig;if(typeof"".__proto__!="object")return null;var polyfill=function(target,proto){try{target.__proto__=proto;return target.__proto__===proto}catch(err){return false}};return polyfill},"es6","es5");$jscomp.ASSUME_NO_NATIVE_SET=false;
$jscomp.polyfill("Set",function(NativeSet){var isConformant=!$jscomp.ASSUME_NO_NATIVE_SET&&function(){if(!NativeSet||!NativeSet.prototype.entries||typeof Object.seal!="function")return false;try{NativeSet=(NativeSet);var value=Object.seal({x:4});var set=new NativeSet($jscomp.makeIterator([value]));if(!set.has(value)||set.size!=1||set.add(value)!=set||set.size!=1||set.add({x:4})!=set||set.size!=2)return false;var iter=set.entries();var item=iter.next();if(item.done||item.value[0]!=value||item.value[1]!=
value)return false;item=iter.next();if(item.done||item.value[0]==value||item.value[0].x!=4||item.value[1]!=item.value[0])return false;return iter.next().done}catch(err){return false}}();if(isConformant)return NativeSet;$jscomp.initSymbol();$jscomp.initSymbolIterator();var PolyfillSet=function(opt_iterable){this.map_=new Map;if(opt_iterable){var iter=$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=(entry).value;this.add(item)}}this.size=this.map_.size};PolyfillSet.prototype.add=
function(value){this.map_.set(value,value);this.size=this.map_.size;return this};PolyfillSet.prototype["delete"]=function(value){var result=this.map_["delete"](value);this.size=this.map_.size;return result};PolyfillSet.prototype.clear=function(){this.map_.clear();this.size=0};PolyfillSet.prototype.has=function(value){return this.map_.has(value)};PolyfillSet.prototype.entries=function(){return this.map_.entries()};PolyfillSet.prototype.values=function(){return this.map_.values()};(PolyfillSet.prototype)[Symbol.iterator]=
PolyfillSet.prototype.values;PolyfillSet.prototype.forEach=function(callback,opt_thisArg){var set=this;this.map_.forEach(function(value){return callback.call((opt_thisArg),value,value,set)})};return PolyfillSet},"es6-impl","es3");
$jscomp.checkStringArgs=function(thisArg,arg,func){if(thisArg==null)throw new TypeError("The 'this' value for String.prototype."+func+" must not be null or undefined");if(arg instanceof RegExp)throw new TypeError("First argument to String.prototype."+func+" must not be a regular expression");return thisArg+""};
$jscomp.polyfill("String.prototype.codePointAt",function(orig){if(orig)return orig;var polyfill=function(position){var string=$jscomp.checkStringArgs(this,null,"codePointAt");var size=string.length;position=Number(position)||0;if(!(position>=0&&position<size))return void 0;position=position|0;var first=string.charCodeAt(position);if(first<55296||first>56319||position+1===size)return first;var second=string.charCodeAt(position+1);if(second<56320||second>57343)return first;return(first-55296)*1024+
second+9216};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.endsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"endsWith");searchString=searchString+"";if(opt_position===void 0)opt_position=string.length;var i=Math.max(0,Math.min(opt_position|0,string.length));var j=searchString.length;while(j>0&&i>0)if(string[--i]!=searchString[--j])return false;return j<=0};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.fromCodePoint",function(orig){if(orig)return orig;var polyfill=function(var_args){var result="";for(var i=0;i<arguments.length;i++){var code=Number(arguments[i]);if(code<0||code>1114111||code!==Math.floor(code))throw new RangeError("invalid_code_point "+code);if(code<=65535)result+=String.fromCharCode(code);else{code-=65536;result+=String.fromCharCode(code>>>10&1023|55296);result+=String.fromCharCode(code&1023|56320)}}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.includes",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"includes");return string.indexOf(searchString,opt_position||0)!==-1};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.repeat",function(orig){if(orig)return orig;var polyfill=function(copies){var string=$jscomp.checkStringArgs(this,null,"repeat");if(copies<0||copies>1342177279)throw new RangeError("Invalid count value");copies=copies|0;var result="";while(copies){if(copies&1)result+=string;if(copies>>>=1)string+=string}return result};return polyfill},"es6-impl","es3");
$jscomp.polyfill("String.prototype.startsWith",function(orig){if(orig)return orig;var polyfill=function(searchString,opt_position){var string=$jscomp.checkStringArgs(this,searchString,"startsWith");searchString=searchString+"";var strLen=string.length;var searchLen=searchString.length;var i=Math.max(0,Math.min((opt_position)|0,string.length));var j=0;while(j<searchLen&&i<strLen)if(string[i++]!=searchString[j++])return false;return j>=searchLen};return polyfill},"es6-impl","es3");
$jscomp.arrayFromIterator=function(iterator){var i;var arr=[];while(!(i=iterator.next()).done)arr.push(i.value);return arr};$jscomp.arrayFromIterable=function(iterable){if(iterable instanceof Array)return iterable;else return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable))};
$jscomp.inherits=function(childCtor,parentCtor){function tempCtor(){}tempCtor.prototype=parentCtor.prototype;childCtor.prototype=new tempCtor;childCtor.prototype.constructor=childCtor;for(var p in parentCtor)if(Object.defineProperties){var descriptor=Object.getOwnPropertyDescriptor(parentCtor,p);if(descriptor)Object.defineProperty(childCtor,p,descriptor)}else childCtor[p]=parentCtor[p]};
$jscomp.polyfill("WeakSet",function(NativeWeakSet){function isConformant(){if(!NativeWeakSet||!Object.seal)return false;try{var x=Object.seal({});var y=Object.seal({});var set=new (NativeWeakSet)([x]);if(!set.has(x)||set.has(y))return false;set["delete"](x);set.add(y);return!set.has(x)&&set.has(y)}catch(err){return false}}if(isConformant())return NativeWeakSet;var PolyfillWeakSet=function(opt_iterable){this.map_=new WeakMap;if(opt_iterable){$jscomp.initSymbol();$jscomp.initSymbolIterator();var iter=
$jscomp.makeIterator(opt_iterable);var entry;while(!(entry=iter.next()).done){var item=entry.value;this.add(item)}}};PolyfillWeakSet.prototype.add=function(elem){this.map_.set(elem,true);return this};PolyfillWeakSet.prototype.has=function(elem){return this.map_.has(elem)};PolyfillWeakSet.prototype["delete"]=function(elem){return this.map_["delete"](elem)};return PolyfillWeakSet},"es6-impl","es3");
(function(global,jscomp){if(global["$jscomp"])for(var key in global["$jscomp"])jscomp[key]=global["$jscomp"][key];global["$jscomp"]=jscomp})(window,$jscomp);(function(){var $wnd={"Error":{}};var $doc={},$moduleName,$moduleBase;function eV(){}function aV(){}function lb(){}function vb(){}function vA(){}function sc(){}function yc(){}function Wd(){}function eg(){}function ss(){}function As(){}function AB(){}function hB(){}function pB(){}function RB(){}function Sw(){}function sC(){}function CC(){}function JC(){}function fX(){}function Q$(){}function z_(){}function s1(){}function t3(){}function K5(){}function I6(){}function W6(){}function w9(){}function E9(){}
function T9(){}function Tkb(){}function ckb(){}function Ikb(){}function Pdb(){}function Reb(){}function Veb(){}function Hjb(){}function Kjb(){}function jlb(){}function nlb(){}function Ylb(){}function wmb(){}function wqb(){}function cnb(){}function nnb(){}function Rub(){}function Vub(){}function Zub(){}function RKb(){}function $Yb(){}function mZb(){}function a$b(){}function x0b(){}function C0b(){}function I0b(){}function N0b(){}function Q0b(){}function W0b(){}function acc(){}function kqc(){}function tqc(){}
function Bqc(){}function Xsc(){}function uwc(){}function ywc(){}function Awc(){}function yxc(){}function Gyc(){}function Jyc(){}function Myc(){}function Pyc(){}function kzc(){}function qzc(){}function Gzc(){}function snb(a){}function N9b(a){}function T0(a,b){a.i=b}function U0(a,b){a.F=b}function Hp(){this.a=0}function hw(){this.a=8}function nc(a){this.a=a}function Ge(a){this.a=a}function uf(a){this.a=a}function Lf(a){this.a=a}function $h(a){this.a=a}function zk(a){this.a=a}function Dk(a){this.a=a}
function Vk(a){this.a=a}function Vv(a){this.a=a}function sl(a){this.a=a}function uo(a){this.a=a}function kq(a){this.a=a}function Sq(a){this.a=a}function Es(a){this.a=a}function xs(a){this.b=a}function kv(a){this.b=a}function Iy(a){this.b=a}function zy(a){this.a=a}function Dy(a){this.a=a}function Qy(a){this.a=a}function Yy(a){this.a=a}function $y(a){this.a=a}function iu(a){this.a=a}function xw(a){this.a=a}function Bw(a){this.a=a}function Ww(a){this.a=a}function cB(a){this.a=a}function oB(a){this.c=
a}function vV(a){this.c=a}function CA(a){this.e=a}function C1(a){this.a=a}function E1(a){this.a=a}function H1(a){this.a=a}function YW(a){this.a=a}function Y5(a){this.a=a}function G5(a){this.a=a}function z$(a){this.a=a}function k_(a){this.a=a}function d4(a){this.a=a}function d6(a){this.a=a}function q6(a){this.a=a}function s6(a){this.a=a}function Z6(a){this.a=a}function b6(a){this.b=a}function d7(a){this.a=a}function n7(a){this.a=a}function _7(a){this.a=a}function ZEb(){this.a=1}function ZAb(a,b){a.V=
b}function TAb(a,b){a.I=b}function VAb(a,b){a.N=b}function WAb(a,b){a.P=b}function Wob(a,b){a.d=b}function TJb(a,b){a.d=b}function SJb(a,b){a.c=b}function L0b(a,b){a.c=b}function p0b(a,b){a.f=b}function t0b(a,b){a.g=b}function v0b(a,b){a.j=b}function K0b(a,b){a.b=b}function M0b(a,b){a.d=b}function ZZb(a,b){a.n=b}function $Zb(a,b){a.p=b}function B3b(a,b){a.k=b}function K3b(a,b){a.k=b}function C3b(a,b){a.c=b}function F3b(a,b){a.g=b}function G3b(a,b){a.i=b}function J3b(a,b){a.j=b}function dfc(a,b){a.a=
b}function dzc(a,b){a.b=b}function bj(a){a.c=a.d.d}function Njb(a){this.a=a}function Sjb(a){this.a=a}function Yjb(a){this.a=a}function _jb(a){this.a=a}function Wab(a){this.a=a}function Ccb(a){this.a=a}function Udb(a){this.a=a}function feb(a){this.a=a}function nhb(a){this.a=a}function umb(a){this.a=a}function kqb(a){this.a=a}function _tb(a){this.a=a}function dBb(a){this.a=a}function FBb(a){this.a=a}function yCb(a){this.a=a}function WDb(a){this.a=a}function GEb(a){this.a=a}function UIb(a){this.a=a}
function $$b(a){this.a=a}function q4b(a){this.a=a}function t4b(a){this.a=a}function KRb(a){this.d=a}function bWb(a){this.j=a}function y0b(a){this.c=a}function yic(a){this.a=a}function fic(a){this.a=a}function tjc(a){this.a=a}function Kjc(a){this.a=a}function Hlc(a){this.a=a}function emc(a){this.a=a}function Kmc(a){this.a=a}function Qmc(a){this.a=a}function Umc(a){this.a=a}function Zmc(a){this.a=a}function tmc(a){this.d=a}function Lbc(a){this.d=a}function dcc(a){this.b=a}function sfc(a){this.b=a}function Enc(a){this.b=
a}function unc(a){this.a=a}function Jnc(a){this.a=a}function Pnc(a){this.a=a}function Iqc(a){this.a=a}function Sqc(a){this.a=a}function kpc(a){this.c=a}function drc(a){this.b=a}function urc(a){this.b=a}function Zrc(a){this.d=a}function Csc(a){this.a=a}function Gsc(a){this.a=a}function Ftc(a){this.a=a}function wuc(a){this.a=a}function Kvc(a){this.a=a}function Jwc(a){this.a=a}function eyc(a){this.a=a}function Mzc(a){this.a=a}function Yd(a){return!a}function QZ(a){a.d=new luc}function P7(a){a.g=new Poc}
function Xb(a){this.a=ie(a)}function Be(a){this.a=ie(a)}function Le(a){this.a=ie(a)}function Wc(a){this.c=ie(a)}function hi(a){this.b=ie(a)}function Js(a){this.b=ie(a)}function kl(a){this.a=ie(a)}function Vu(a){this.a=ie(a)}function $u(a){this.a=ie(a)}function Yv(a){this.a=ie(a)}function ow(a){this.a=ie(a)}function Ux(a){this.a=ie(a)}function fV(){hV();zvb()}function Eqb(){Cqb(this)}function Fqb(){Cqb(this)}function Poc(){Coc(this)}function koc(){Tnc(this)}function Vlc(){Tlc(this)}function SB(){Lz.call(this)}
function cA(){cA=aV;bA=dA()}function uZ(a,b){b&&a.qg()}function SZ(a,b){pZ(a.c,b)}function Y_(a,b){Eoc(a.a,b)}function P0(a,b){Loc(a.a,b)}function P1(a,b){Eoc(a.d,b)}function Q1(a,b){Eoc(a.e,b)}function o2(a,b){T3(a.vd,b)}function Pc(a,b){return a==b}function Bjc(a){return a&-a}function _b(a){return a<=127}function pfb(a){a.d=new luc}function rob(a){a.g=new tvc}function vsb(a){a.b=new tvc}function tA(){this.a=new tvc}function iq(){this.a=new Poc}function Xq(){this.a=new Poc}function qq(){this.b=new Poc}
function x4(){this.a=new tuc}function y6(){this.a=new tuc}function Bm(a){lm();this.a=a}function zq(a){lm();this.a=a}function Eq(a){lm();this.a=a}function Zq(a){Mm();this.a=a}function sv(a){Mm();this.a=a}function f8(a){e8();this.a=a}function X8(a){F8();this.a=a}function xC(a){wC();vC.zf(a)}function l8(a,b){k8(a,a.d,b)}function Ofb(a,b){quc(a.q,b)}function jt(a,b){a.e=b;b.b=a}function CB(a,b){return a[b]}function Ivb(){Hvb();new Rkb}function Feb(){SB.call(this)}function bZb(){SB.call(this)}function btc(){SB.call(this)}
function kic(){SB.call(this)}function rjc(){SB.call(this)}function Zjc(){SB.call(this)}function jlc(){SB.call(this)}function Dwc(){SB.call(this)}function pic(){Lz.call(this)}function Azc(a,b){a.length=b}function $yc(a,b){Eoc(a.a,b)}function PA(a){return a.b<a.c}function rc(){rc=aV;qc=new sc}function kc(){kc=aV;jc=new lc}function wc(){wc=aV;vc=new yc}function Cc(){Cc=aV;Bc=new Dc}function $b(){$b=aV;Zb=new ac}function ub(){ub=aV;tb=new vb}function YB(){YB=aV;XB=new lb}function Ul(){Ul=aV;Tl=new Vl}
function Rw(){Rw=aV;Qw=new Sw}function dx(){dx=aV;cx=new ex}function pC(){pC=aV;oC=new sC}function n2(){n2=aV;m2=new t3}function okb(){this.a=new tuc}function tuc(){this.a=new luc}function pyc(){this.a=new luc}function Vyc(){this.a=new luc}function byc(){this.a=new axc}function KZb(){this.c=new dlc}function fnb(a){this.a=a;V9()}function Cqb(a){a.a=HU(Hzc())}function R0b(){Q0b.call(this)}function T0b(){Q0b.call(this)}function V0b(){T0b.call(this)}function luc(){Vlc.call(this)}function Euc(){Vlc.call(this)}
function at(a){Vs.call(this,a)}function Kw(a){Js.call(this,a)}function Mg(a){zg.call(this,a)}function Gk(a){zg.call(this,a)}function Rp(a){eo.call(this,a)}function ix(a){eo.call(this,a)}function jx(a){fo.call(this,a)}function cq(a){Go.call(this,a)}function jv(a){$u.call(this,a)}function Uz(a){Mz.call(this,a)}function Vz(a){Uz.call(this,a)}function EB(a){Uz.call(this,a)}function TB(a){Uz.call(this,a)}function Yyb(a){ie(a);this.e=a}function Cpb(a){Apb();this.b=a}function enb(a,b){Ihb(a.a,b,a)}function u3b(a,
b){t3b(a.e,a,b)}function YZ(a,b){pZ(a.c,o$(b))}function Alb(a,b){a.s=b;Blb(a)}function aBb(a,b){return b===a}function qkc(a,b){return a===b}function mc(a,b){return b==a.a}function Qe(a,b){return a.f-b.f}function Kkc(a){return Yzc(a),a}function hSb(a){while(gSb(a));}function Owc(a){a.b=null;a.c=0}function ezc(a,b){!!b&&(a.d=b)}function Qdc(a,b,c){a.i[b.f]=c}function A4(){A4=aV;z4=new luc}function Tf(){throw BU(new jlc);}function Il(){throw BU(new jlc);}function mm(){throw BU(new jlc);}function om(){throw BU(new jlc);
}function pm(){throw BU(new jlc);}function qm(){throw BU(new jlc);}function Dn(){throw BU(new jlc);}function En(){throw BU(new jlc);}function iw(a){this.a=cl(a,qBc)}function WU(){UU==null&&(UU=[])}function sB(a,b){a.a=b;return a}function NB(a,b){a.a=b;return a}function tB(a,b){a.b=b;return a}function OB(a,b){a.b=b;return a}function uB(a,b){a.c=b;return a}function PB(a,b){a.c=b;return a}function vB(a,b){a.d=b;return a}function QB(a,b){a.d=b;return a}function wB(a,b){a.e=b;return a}function xB(a,b){a.f=
b;return a}function x$(a,b){a.f=b;return a}function w$(a,b){a.j=b;return a}function yB(a,b){a.g=b;return a}function zB(a,b){a.i=b;return a}function L0(a,b){hkb(b,a.n,a.u)}function Geb(a){TB.call(this,a)}function Ieb(a){VB.call(this,a)}function ryb(a){TB.call(this,a)}function pZb(a){TB.call(this,a)}function sZb(a){TB.call(this,a)}function tZb(a){TB.call(this,a)}function b$b(a){TB.call(this,a)}function jic(a){TB.call(this,a)}function lic(a){TB.call(this,a)}function sjc(a){TB.call(this,a)}function Yjc(a){TB.call(this,
a)}function _jc(a){TB.call(this,a)}function $jc(a){WB.call(this,a)}function klc(a){TB.call(this,a)}function nic(a){Mz.call(this,a)}function Upc(a){Yzc(a);this.a=a}function cAc(a){Yzc(a);return a}function Sd(a){a.d=true;return a}function $nc(a){return a.b==a.c}function _nc(a){return a.a[a.b]}function aoc(a){return a.a[a.b]}function Uwc(a){return!!a&&a.b}function wpc(a){Apc(a,a.length)}function xpc(a){Bpc(a,a.length)}function Vuc(){Vuc=aV;Uuc=Xuc()}function fC(){fC=aV;!!(wC(),vC)}function lr(){lr=aV;
kr=(Rw(),Qw)}function ct(a){sg(a);jt(a.a,a.a)}function cy(a){lm();this.a=ie(a)}function kt(a,b){a.mf(b);b.lf(a)}function dyb(a,b){a.b=b;return a}function jyb(a,b){a.g=b;return a}function u$(a){a.d=true;return a}function v$(a){a.e=true;return a}function bB(a){return HB(),KB(a)}function z1(a){return new pob(a)}function LC(a,b){return Zic(a,b)}function kV(a){return a==1||a==2}function lw(a){this.a=a;this.b=2}function TVb(a,b){a.a=b;return a}function VVb(a,b){a.b=b;return a}function WVb(a,b){a.c=b;return a}
function XVb(a,b){a.f=b;return a}function YVb(a,b){a.d=b;return a}function ZVb(a,b){a.n=b;return a}function $Vb(a,b){a.g=b;return a}function _Vb(a,b){a.o=b;return a}function aWb(a,b){a.i=b;return a}function Gbc(a,b){a.a=b;return a}function Hbc(a,b){a.c=b;return a}function Ibc(a,b){a.e=b;return a}function Kbc(a,b){a.g=b;return a}function Wjc(a,b){return a>b?a:b}function Xjc(a,b){return a<b?a:b}function Ezc(a,b){console[a](b)}function yEb(a,b){oe(!a.f);a.c=b}function eSb(a,b){fwc(a.b);a.d=b}function a5b(a){U3b.call(this,
a)}function I9b(a){E8b.call(this,a)}function gkc(a){Geb.call(this,a)}function mic(a){lic.call(this,a)}function hlc(a){lic.call(this,a)}function dlc(){fic.call(this,"")}function elc(){fic.call(this,"")}function sqc(){throw BU(new Dwc);}function Wqc(){throw BU(new jlc);}function Xqc(){throw BU(new jlc);}function Yqc(){throw BU(new jlc);}function _qc(){throw BU(new jlc);}function arc(){throw BU(new jlc);}function brc(){throw BU(new jlc);}function trc(){throw BU(new jlc);}function Xrc(){throw BU(new jlc);
}function bBb(){throw BU(new jlc);}function cBb(){throw BU(new jlc);}function Pf(a){return Ff(a.a,a.b)}function bo(a,b){return Fv(a.d,b)}function by(a,b){return nb(a.a,b)}function Ns(a,b){return a.a.Kd(b)}function Pic(a){return a.e&&a.e()}function pD(a){return a.l|a.m<<22}function JU(a,b){return DU(a,b)<0}function Uhb(a,b){return a==b?a:0}function Ujb(a){return a.b[0]<a.a}function gV(b,a){return b.exec(a)}function qsc(a){drc.call(this,a)}function Nsc(a){zrc.call(this,a)}function wsc(a){qsc.call(this,
a)}function Nzc(a){Mzc.call(this,a)}function Nlb(a){this.a=a;this.b=1}function cpb(){this.a=(Dlc(),Clc)}function SAb(a){return DAb(a,a.s)}function EAb(a){return FAb(a,a.G)}function _1b(a,b){a.c&&p0b(a.a,b)}function a2b(a,b){a.c&&q0b(a.a,b)}function MKb(a){a.a=a.i-a.f-a.r-1}function eyb(a){a.c=true;return a}function UVb(a){a.e=true;return a}function Fbc(a){a.b=true;return a}function w4(a){a.b=false;return a}function Vkc(a,b){a.a+=b;return a}function Wkc(a,b){a.a+=b;return a}function hq(a,b){Xp(a,b);
return a}function Qic(a){Oic(a);return a.o}function Jdc(a,b){return a.i[b.f]}function Kdc(a,b){return a.i[b.f]}function Ldc(a,b){return a.i[b.f]}function qfc(a,b){a!=hfc&&(a.a=b)}function zzc(a,b,c){a.splice(b,c)}function dyc(a){this.a=new bxc(a)}function uuc(a){this.a=new muc(a)}function Qf(a,b){this.a=a;this.b=b}function Se(a,b){this.e=a;this.f=b}function Bh(a,b){this.b=a;this.a=b}function vi(a,b){this.b=a;this.c=b}function _j(a,b){this.a=a;this.c=b}function hk(a,b){this.a=a;this.b=b}function Jl(a,
b){this.a=a;this.b=b}function Dp(a,b){this.a=a;this.b=b}function ff(a,b){Se.call(this,a,b)}function Ro(a,b){return otc(a.a,b)}function Np(a,b){return a>b&&b<fBc}function Jb(a){return a>=65&&a<=90}function Ht(a,b){return Jlc(a.b,b)}function ar(a,b){this.a=a;this.b=b}function fu(a,b){this.a=a;this.b=b}function tu(a,b){this.a=a;this.f=b}function Yp(a,b){this.g=a;this.i=b}function Qs(a,b){this.c=a;this.b=b}function vy(a,b){this.a=a;this.b=b}function dz(a,b){this.a=a;this.b=b}function Mw(a,b){this.e=a;
this.c=b}function lA(a,b){this.b=a;this.a=b}function Nv(a,b){Se.call(this,a,b)}function UB(a,b){Nz.call(this,a,b)}function oz(a,b){return a.g[b%a.d]}function GU(a,b){return DU(a,b)==0}function MU(a,b){return DU(a,b)!=0}function RA(a){return lkc(a.a,a.b)}function pV(a,b){Se.call(this,a,b)}function IV(a,b){Se.call(this,a,b)}function ZX(a,b){Se.call(this,a,b)}function p_(a,b){Se.call(this,a,b)}function T$(a,b){B$.call(this,a,b)}function dX(a,b){this.a=a;this.b=b}function W0(a,b){!!a.L&&Clb(a.L,b)}function l0(a,
b){return Mlc(a.t,b)}function J1(a,b){return quc(a.d,b)}function p2(a,b){return V3(a.vd,b)}function q2(a,b){return W3(a.vd,b)}function w_(a){return W2b(a,37)!=0}function y_(a){return W2b(a,30)!=0}function y1(a,b){this.b=a;this.a=b}function D2(a,b){Se.call(this,a,b)}function J2(a,b){Se.call(this,a,b)}function O2(a,b){Se.call(this,a,b)}function U2(a,b){Se.call(this,a,b)}function a3(a,b){Se.call(this,a,b)}function r3(a,b){Se.call(this,a,b)}function y3(a,b){Se.call(this,a,b)}function G3(a,b){Se.call(this,
a,b)}function M3(a,b){Se.call(this,a,b)}function w5(a,b){Se.call(this,a,b)}function w6(a,b){this.a=a;this.b=b}function n6(a,b){this.a=a;this.b=b}function J4(a,b){this.a=a;this.b=b}function q8(a,b){this.a=a;this.c=b}function H6(a,b){this.e=a;this.a=b}function Y7(a,b){this.b=a;this.a=b}function c9(a,b){this.b=a;this.a=b}function Tdb(a,b){return co(a.a,b)}function Gwb(a){return a.c?a.c:a.e}function GAb(a){return a.K?a.K:a.a}function HAb(a){return a.L?a.L:a._}function NAb(a){return a.T?a.T:a._}function RAb(a){return a.X?
a.X:a._}function MAb(a){return a.S?a.S:a.q}function PAb(a){return a.V?a.V:a.G}function QAb(a){return a.W?a.W:a.t}function Ulc(a){return a.d.c+a.e.c}function lfc(a,b){return a.b.pe(b)}function crc(a,b){return a.b.Nd(b)}function Vrc(a,b){return nb(a.d,b)}function wZb(a,b,c){Zkc(a.c,b,0,c)}function dHb(a,b,c){C3b(a,c.c-b.c)}function axc(){bxc.call(this,null)}function muc(a){Wlc.call(this,a,0)}function huc(a){this.c=a;euc(this)}function Wl(){this.c=(ub(),ub(),tb)}function Jp(){Gk.call(this,new luc)}function Lp(){Tj.call(this,
new luc)}function Pv(){Nv.call(this,"KEY",0)}function Kt(){this.b=(Av(),new luc)}function iZb(){iZb=aV;hZb=new luc}function gvb(){gvb=aV;fvb=new ivb}function rqc(){rqc=aV;qqc=new tqc}function Vsc(){Vsc=aV;Usc=new Xsc}function Hwc(){Hwc=aV;Gwc=new luc}function nC(){cC!=0&&(cC=0);eC=-1}function Ib(a){return a>=97&&a<=122}function Zz(a,b){return aA(CU(a,b))}function Ff(a,b){return Kf(a.c,a,b)}function jB(a,b){return b.b+a.c.i.b}function fgb(a,b){return ovc(a.j,b)}function kbb(a,b){Se.call(this,a,b)}
function wbb(a,b){Se.call(this,a,b)}function Heb(a,b){UB.call(this,a,b)}function mbb(a,b){this.a=a;this.b=b}function Gfb(a,b){this.a=a;this.b=b}function Gkb(a,b){this.b=a;this.a=b}function xkb(a,b){this.b=a;this.a=b}function Dkb(a,b){this.b=a;this.a=b}function Wcb(a,b){this.b=a;this.a=b}function Wlb(a,b){this.b=a;this.a=b}function Dmb(a,b){this.b=a;this.a=b}function ymb(a,b){this.a=a;this.b=b}function Amb(a,b){this.a=a;this.b=b}function Cnb(a,b){this.a=a;this.b=b}function Fnb(a,b){this.a=a;this.b=
b}function mlb(a,b){this.j=a;this.i=b}function gpb(a,b){this.b=a;this.a=b}function Vjb(a){this.b=a;this.a=wAc}function Plb(a){this.b=a;this.a=a.t}function Q7(){P7(this);this.a=false}function dvb(a,b){this.b=a;this.a=b}function anb(a,b){Se.call(this,a,b)}function Nob(a,b){Se.call(this,a,b)}function mpb(a,b){Se.call(this,a,b)}function vpb(a,b){Se.call(this,a,b)}function nub(a,b){Se.call(this,a,b)}function wxb(a,b){Se.call(this,a,b)}function AAb(a,b){Se.call(this,a,b)}function UDb(a,b){Se.call(this,
a,b)}function REb(a,b){Se.call(this,a,b)}function hGb(a,b){Se.call(this,a,b)}function qGb(a,b){Se.call(this,a,b)}function eKb(a,b){Se.call(this,a,b)}function CKb(a,b){Se.call(this,a,b)}function xpb(){vpb.call(this,DGc,0)}function mC(a){$wnd.clearTimeout(a)}function nw(a,b){a.a.ce().remove(b)}function knb(a,b){jnb();return a[b]}function YBb(a,b){return sEb(a.a,b)}function rVb(a,b){Se.call(this,a,b)}function hWb(a,b){Se.call(this,a,b)}function wYb(a,b){Se.call(this,a,b)}function c1b(a,b){Se.call(this,
a,b)}function i1b(a,b){return Q_b(a.a,b)}function WZb(a){return a>=48&&a<=57}function fZb(a,b){this.b=a;this.a=b}function rAb(a,b){this.b=a;this.a=b}function CAb(a,b){this.b=a;this.a=b}function _Jb(a,b){this.a=a;this.b=b}function B2b(a,b){this.a=a;this.b=b}function bLb(a,b){this.c=a;this.b=b}function ANb(a,b){this.c=a;this.b=b}function n4b(a,b){this.c=a;this.b=b}function UUb(a,b){this.p=a;this.o=b}function lgc(a,b){this.b=a;this.a=b}function Qgc(a,b){Se.call(this,a,b)}function udc(a,b){Se.call(this,
a,b)}function g8b(a,b){Se.call(this,a,b)}function Hhc(a){Ihc.call(this,a,30)}function Sgc(){Qgc.call(this,NDc,0)}function Wgc(){Qgc.call(this,ODc,1)}function $gc(){Qgc.call(this,TGc,2)}function oic(a,b){Nz.call(this,a,b)}function ulc(a,b){Se.call(this,a,b)}function Glc(a,b){return Ilc(a.a,b)}function Gqc(a,b){return Jlc(a.a,b)}function bic(a,b){return lkc(a.a,b)}function eic(a,b){return Gkc(a.a,b)}function mtc(a,b){return Wtc(a.a,b)}function bec(a,b){return Ldc(a.e,b)}function w8b(a,b){return Ldc(a.u,
b)}function ovc(a,b){return Jlc(a.c,b)}function _uc(a,b){return a.a.get(b)}function Qvc(a){return a.b!=a.c.a.b}function izc(a){return Uyc(Wyc(),a)}function icc(a,b,c,d){up(a.a,b,c,d)}function xzc(a,b,c){a.splice(b,0,c)}function Qxc(a,b){Se.call(this,a,b)}function Ptc(a,b){this.b=a;this.a=b}function inc(a,b){this.d=a;this.e=b}function Cac(a,b){oe(!a.kj());a.n=b}function jp(a,b){return a.$e().Ae(b)}function hh(a){return!a?null:a.ze()}function JD(a){return a==null?null:a}function ED(a){return typeof a===
sAc}function FD(a){return typeof a===tAc}function ID(a){return typeof a===vAc}function IU(a){return typeof a===tAc}function eA(a){return a<128?bA[a]:-1}function QA(a){return lkc(a.a,a.b++)}function OV(a){i3b(a)||$W($Bc+a.j,a)}function V0(a,b){b>1?a.M=1:a.M=b}function $1(a){_1.call(this,a,false)}function Vkb(a){y1.call(this,a,true)}function ypb(){vpb.call(this,"V3",1)}function oMb(){oMb=aV;nMb=Ve(mMb())}function mAc(){mAc=aV;jAc={};lAc={}}function Dlc(){Dlc=aV;Lzc();Clc=Kzc}function Zuc(){Vuc();return new Uuc}
function cX(){this.d=new dyc(new fX)}function s_(){throw BU(new klc(iDc));}function t_(){throw BU(new klc(iDc));}function u_(){throw BU(new klc(iDc));}function Qjb(a){this.b=a;this.a=true}function NKb(a){OKb.call(this,a,0,0)}function b5b(a,b){W3b.call(this,a,b)}function eHb(a,b){gHb(a,b.b.b,b.b.a)}function XRb(a,b,c,d){_Kb(a.c,b,c,d)}function LKb(a,b){a.q[a.r++]=b;--a.b}function YEb(a,b){return b+"#"+a.a++}function Xkc(a,b){return a.a+=""+b,a}function tkc(a,b){return a.indexOf(b)}function Nf(a,b){return Nb(a.a,
a.e,b)}function UC(a){return VC(a.l,a.m,a.h)}function d3b(a){return!!a.b&&!a.b.d}function DSb(a){return CSb(a)&&a!=42}function p3(a){oe(a!=n3);return a!=c3}function Leb(a,b){Keb(a,b);return a.a}function g5(a,b){Qlc(e5,a,b);return b}function Ykc(a,b){a.a+=""+b;return a}function $kc(a,b){a.a+=""+b;return a}function _kc(a,b){a.a+=""+b;return a}function _vc(a,b){awc(a,b,a.a,a.a.a)}function rab(a,b){Fqc(a.a,b)&&b.Ui(a)}function kAb(a,b){return gzb(a.a.j,b)}function cCb(a,b){return xEb(a.a,b.a)}function dCb(a,
b){return!!nEb(a.a,b)}function ORb(a,b){return LOb(a.e.b,b)}function X2b(a){return a.b?a.b.f:null}function c3b(a){return!!a.b&&!!a.b.d}function P_b(a){return!!a.d&&!!a.d.k}function a4b(a){return a==-1?-1:a&QBc}function XBb(a){oe(!a.a.f);return a.a}function nuc(a){Tlc(this);Zg(this,a)}function flc(a){fic.call(this,dV(a))}function E8b(a){F8b.call(this,a,null)}function jfb(){kfb.call(this,new qfb)}function opb(){mpb.call(this,"ALL",0)}function Rv(){Nv.call(this,"VALUE",1)}function Pzc(){Mzc.call(this,
"UTF-8")}function Xvc(){wuc.call(this,new tvc)}function lvb(){lvb=aV;kvb=new Wc("/")}function LBb(){LBb=aV;KBb=rzc("\\d+")}function w3b(a,b){a.i=g4b(b4b(a.i),b)}function Kpc(a,b){Gpc(a,0,a.length,b)}function fAc(a,b){return parseInt(a,b)}function qtc(a,b,c){return ptc(a,b,c)}function So(a,b,c){return qtc(a.a,b,c)}function rj(a,b,c){qj.call(this,a,b,c)}function Zs(a){Vs.call(this,new at(a))}function aq(a){eo.call(this,new Yy(a))}function y5(){w5.call(this,"LEGACY",0)}function Qd(a){this.a=a;this.b=
ie("=")}function oy(a,b){this.c=a;this.b=ie(b)}function U5(a){this.a=a;this.b=new koc}function _5(a){this.a=a;this.b=new Poc}function D6(a){this.a=a;this.b=new koc}function k6(a){this.b=a;this.a=new gwc}function p8(a){this.a=a;this.c=new wqb}function Ouc(a){this.a=Zuc();this.b=a}function cvc(a){this.a=Zuc();this.b=a}function c7(a){this.b=new Xvc;this.a=a}function Ci(a){Ai(a);return a.d.size()}function qmc(a){return a.b<a.d.size()}function Mx(a){return fs(a.b.Md(),a.a)}function IAb(a){return!a.P?null:
a.P.q}function KAb(a){return!a.P?null:a.P.r}function OAb(a){return!a.O?null:a.O.r}function u_b(a){return!a.d?null:a.d.b}function v_b(a){return!a.d?null:a.d.c}function A_b(a){return!a.d?null:a.d.g}function B_b(a){return!a.d?null:a.d.i}function C_b(a){return!a.d?null:a.d.j}function U2b(a){return!a.e?null:a.e.e}function b4b(a){return a==-1?-1:a>>>12}function D8b(a){return DD(a,56)?a:null}function DAb(a,b){return _yb(b,JAb(a))}function DOb(a){BOb();return co(cOb,a)}function n9b(a){t8b();E8b.call(this,
a)}function J9b(a){t8b();I9b.call(this,a)}function Vec(a){t8b();I9b.call(this,a)}function _ec(a){t8b();I9b.call(this,a)}function mgc(a){t8b();I9b.call(this,a)}function Uhc(a){t8b();I9b.call(this,a)}function Gec(a){t8b();sec.call(this,a)}function Oec(a){t8b();Gec.call(this,a)}function Vlb(a){Wlb.call(this,a,false)}function Pob(){Nob.call(this,"LINE",0)}function Uxc(){Qxc.call(this,"Head",1)}function Zxc(){Qxc.call(this,"Tail",3)}function Odc(a,b){Pdc(a,b,b.Ti(false))}function _yc(a,b){bzc(a,(Cyc(),
yyc),b)}function fzc(a,b){bzc(a,(Cyc(),Ayc),b)}function gzc(a,b){bzc(a,(Cyc(),Byc),b)}function qA(a,b){var c;c=DB(b);pA(a,c)}function el(){el=aV;dl=Vc(new Wc(LAc))}function Vl(){Jl.call(this,(dx(),cx),0)}function of(){ff.call(this,"IS_NULL",2)}function gr(a,b){Mm();ar.call(this,a,b)}function Nq(a,b){Mm();this.a=a;this.b=b}function zg(a){ae(a.size()==0);this.c=a}function jj(a){this.a=a;ej.call(this,a)}function SA(a){this.a=a;this.c=a.length}function BU(a){return a.backingJsObject}function gtc(a){return a<
10?"0"+a:""+a}function Fwc(a){return a!=null?rb(a):0}function VC(a,b,c){return{l:a,m:b,h:c}}function C4(a,b){return a.b.contains(b)}function Vq(a,b){ie(b);Wp(a,b);return a}function r4(a){k4();l4(this);p4(this,a)}function P3(a,b){TB.call(this,LZb(a,b))}function VY(){UY();WY.call(this,new z_)}function mkb(a){this.b=a;this.a=new tuc}function Inb(a){this.b=a;this.a=new Xvc}function cub(a){this.b=a;this.a=new Poc}function yDb(a){this.b=a;this.a=new Poc}function XDb(a){this.a=(Mm(),new _x(a))}function kfb(a){this.a=
new koc;this.b=a}function dPb(a,b){return new fZb(b,a.g)}function wEb(a,b){return BEb(a.w,b,a.u)}function vEb(a){return BEb(a.w,AEc,a.u)}function Eic(a){return a>=BAc&&a<=56319}function Fic(a){return a>=EAc&&a<=57343}function fuc(a){return a.a<a.c.a.length}function Noc(a,b){Jpc(a.a,a.a.length,b)}function pzc(a,b){return new ozc(a.a,b)}function DD(a,b){return a!=null&&AD(a,b)}function lkc(a,b){return a.charCodeAt(b)}function ujc(a,b){return a<b?-1:a>b?1:0}function Qkc(a){return a==null?FAc:dV(a)}function vkc(a){return qkc(vAc,
typeof a)}function Rkc(a){return Skc(a,0,a.length)}function eAc(a,b){return a==b?0:a<b?-1:1}function gCb(a,b){LBb();return a.a==b.a}function ae(a){if(!a)throw BU(new Feb);}function oe(a){if(!a)throw BU(new rjc);}function eo(a){this.d=(bqc(),new Zrc(a))}function Coc(a){a.a=NC(kS,NAc,1,0,5,1)}function Tnc(a){a.a=NC(kS,NAc,1,8,5,1)}function Gz(a){a.g=NC(mS,NAc,137,0,0,1)}function Wxc(){Qxc.call(this,"Range",2)}function rf(){ff.call(this,"NOT_NULL",3)}function Mt(a){if(!a)throw BU(new Dwc);}function a1(a,
b,c,d){O1(new w1(a,b,d,c))}function Tq(a,b){return Eoc(a.a,ie(b)),a}function gq(a,b){Eoc(a.a,ie(b));return a}function Uq(a,b){Eoc(a.a,ie(b));return a}function t2(a,b){oe(b!=(o3(),n3));a.Vb=b}function cgb(a,b){return a.d.contains(b)}function Dqb(a){return OU(HU(Hzc()),a.a)}function EOb(a){BOb();return!!co(cOb,a)}function FOb(a){BOb();return!!co(bOb,a)}function jRb(a,b){return VRb(a.j,0).c==b}function URb(a){VRb(a,0);return cwc(a.b)}function NOb(a){this.b=a;this.a=OOb(a.a)}function VZb(a){this.a=a;
this.c=a.length}function rZb(a){TB.call(this,"Width:"+a)}function Qob(){Nob.call(this,"REGION",1)}function IBb(a,b,c){exb.call(this,a,b,c)}function G4(a){A4();F4.call(this,null,a)}function T_b(a){return!!a.d&&G0b(a.d,2)}function U_b(a){return!!a.d&&G0b(a.d,3)}function V_b(a){return!!a.d&&G0b(a.d,5)}function W_b(a){return!!a.d&&G0b(a.d,4)}function X_b(a){return!!a.d&&G0b(a.d,0)}function Y_b(a){return!!a.d&&G0b(a.d,6)}function __b(a){return!!a.d&&G0b(a.d,1)}function pjc(a){return qkc(tAc,typeof a)}
function Zqc(a,b){return a.b.contains(b)}function tsc(a,b){return a.b.contains(b)}function wkc(a,b){return a.lastIndexOf(b)}function ukc(a,b,c){return a.indexOf(b,c)}function Tc(a,b){return Rc(a,new dlc,b).a}function Zc(a,b){return b==null?a.b:Uc(b)}function Df(a,b){ie(b);return new Qf(a,b)}function Vc(a){ie(FAc);return new $c(a,a)}function tpc(a,b){Vzc(b);return spc(a,b)}function rvc(a,b){if(a.a){Fvc(b);Evc(b)}}function oi(a,b){this.a=a;hi.call(this,b)}function eq(a,b){return a.a.getAtIndex(b)}function Kf(a,
b,c){return new Of(b,c,a.a)}function zhb(a,b,c){a.f=b;a.n=c;a.d=null}function Os(a,b){this.a=b;Js.call(this,a)}function Iv(a,b){this.a=b;Js.call(this,a)}function Ly(a){this.a=a;Iy.call(this,a.a)}function bz(a,b){this.a=a;Js.call(this,b)}function mx(a){lx();Go.call(this,a);ie(a)}function vr(a){qq.call(this);this.a=ie(a)}function Lz(){Gz(this);Hz(this);this.rf()}function cj(a){a.b.Gd();--a.d.f.d;Bi(a.d)}function fw(a){cl(2,qBc);return new lw(a)}function i0(a,b){ie(a.H);return X3(a.X,b)}function Z1(a,
b){Y1.call(this,a,a.Fg(),b)}function A5(){w5.call(this,"MULTILINE",2)}function ivb(){Se.call(this,"RELATIVE",0)}function qpb(){mpb.call(this,"SYMBOLS",1)}function jkb(a,b){gkb();this.b=a;this.a=b}function fyb(a,b){oe(!a.d);a.d=b;return a}function lyb(a,b){oe(!a.j);a.j=b;return a}function myb(a,b){oe(!a.k);a.k=b;return a}function hyb(a,b,c){qvc(a.f,b,c);return a}function CRb(a,b,c){_Kb(a.c,NRb(a.j),b,c)}function QGb(a,b){return AMb(a.a.c.a,b.a)}function I$b(a){return X$b((f8b(),h7b),a)}function cD(a){return a.l+
a.m*OBc+a.h*PBc}function _ab(a){var b;for(b=a.j;b;b=b.j);}function SVb(a,b){a.k=b;return new RVb(a)}function OUb(a,b){PUb.call(this,a,b,null)}function K2b(a,b){J2b(a,b,a.b?a.b.f:null)}function Hqc(a,b){return Rlc(a.a,b)!=null}function Nrc(a){urc.call(this,a);this.a=a}function zrc(a){drc.call(this,a);this.a=a}function Osc(a){Zrc.call(this,a);this.a=a}function Rsc(a){qsc.call(this,a);this.a=a}function glc(a){fic.call(this,(Yzc(a),a))}function Yvc(a){wuc.call(this,new uvc(a))}function cyc(a){byc.call(this);
ad(this,a)}function vxc(a){this.a=a;Enc.call(this,a)}function ooc(a){if(!a)throw BU(new btc);}function Wzc(a){if(!a)throw BU(new Dwc);}function Rzc(a){if(!a)throw BU(new Feb);}function aAc(a){if(!a)throw BU(new rjc);}function Av(){Av=aV;zv=new Qd((el(),dl))}function Mv(){Mv=aV;Kv=new Pv;Lv=new Rv}function Zr(){Zr=aV;Xr=new ss;Yr=new As}function Mc(){Mc=aV;Lc=Cjc(31);Kc=new Nc}function _sc(a,b){var c;c=a[gJc];b[gJc]=c}function Xtc(a,b){return!!b&&a.b[b.f]==b}function Fkc(a,b,c){return a.substr(b,c-
b)}function Hkc(a,b,c){return a.substr(b,c-b)}function iAc(a){return a.$H||(a.$H=++hAc)}function Re(a){return a.e!=null?a.e:""+a.f}function Nx(a){return os(fs(a.b.Md(),a.a))}function Avb(){return(new Date).getTime()}function BBb(){BBb=aV;ABb=new FBb(new luc)}function BA(a,b){this.i=a;this.a=new SA(b)}function Hc(a,b){this.a=ie(a);this.b=ie(b)}function aj(a,b,c,d){Ri.call(this,a,b,c,d)}function z5(){w5.call(this,"SINGLELINE",1)}function C5(){w5.call(this,"SOURCELESS",3)}function Zqb(){Vkb.call(this,
"convertEs6")}function V9b(a){E8b.call(this,a);N9b(this)}function opc(a,b){return qpc(a,a.length,b)}function ppc(a,b){return rpc(a,a.length,b)}function l3b(a,b){return m3b(a,b,b.length)}function LGb(a,b){return MGb(a,JGb(a,b.b))}function iRb(a,b,c){return VRb(a.j,b).c==c}function O_b(a){return!!(!a.d?null:a.d.a)}function okc(a){return Rkc(Ozc(a,a.length))}function mvc(a){a.b=new Gvc(a);a.c=new luc}function Wsc(a){Vsc();return a==Usc?null:a}function AC(a){wC();return parseInt(a)||-1}function wx(a){var b;
return lm(),b=a,yo(b)}function Un(a,b){return bl(a,b),new Vx(a,b)}function Gp(a){return Av(),new uvc(Cv(a.a))}function gw(a){return Av(),new uvc(Cv(a.a))}function Tj(a){this.a=ie(a);this.b=Jw(this)}function cc(a,b){ae(b>=a);this.b=a;this.a=b}function fj(a,b){this.d=a;bj(this);this.b=b}function qj(a,b,c){Di.call(this,a,b,c,null)}function Gvc(a){Hvc.call(this,a,null,null)}function _1(a,b){Z1.call(this,new Neb(a),b)}function hf(){ff.call(this,"ALWAYS_TRUE",0)}function hZ(a){if(a)return a.d;return null}
function Q_(a){if(a)return a.d;return null}function Oic(a){if(a.o!=null)return;bjc(a)}function CBb(a){BBb();return DBb(ABb,"_",a)}function zCb(a,b){xCb();return wCb[a.a|b.a]}function ACb(a,b){xCb();return wCb[a.a&b.a]}function VCb(a,b){return bCb(a,b)||bCb(b,a)}function ynb(a,b){return Qe(r2(a.a.H),b)>=0}function HKb(a){return a.g==a.d?a.c+a.a:a.a}function joc(a){return a.c-a.b&a.a.length-1}function $qc(a,b){return a.b.containsAll(b)}function X1(a,b){ae(!b||!a.g||a.g==b);a.g=b}function tZ(a,b){a.ig();
b&&a.qg();a.r=false}function rl(a,b){var c;c=a.a;a.a=b;return c}function u4(a,b){this.a=a;this.c=b;this.b=0}function vBb(a,b){Yyb.call(this,a);this.a=b}function c5b(a,b){U3b.call(this,a);this.a=b}function Cwc(){TB.call(this,"no key found")}function M1(){this.c=new dlc;this.d=new tuc}function ctc(a){this.a=new $wnd.Date(QU(a))}function gAc(b,c,d){try{b[c]=d}catch(a){}}function Wtc(a,b){return DD(b,14)&&Xtc(a,b)}function Ytc(a,b){return DD(b,14)&&Ztc(a,b)}function ruc(a,b){return a.a.containsKey(b)}
function Gc(a,b){return a.a.Id(b)||a.b.Id(b)}function Nm(a,b){return new fq(a,a.size(),b)}function HD(a,b){return a&&b&&a instanceof b}function kn(a,b){return a.Te().getAtIndex(b)}function Okc(a){return ID(a)?a.length:a.pj()}function Hg(a){return DD(a,48)?a.Od():a.Md()}function BD(a){return String.fromCharCode(a)}function gC(a,b,c){return a.apply(b,c);var d}function icb(a,b,c){return Wzb(a.q,b,null,c)}function Ckb(a,b,c){Fhb(new Ghb(a.b,a),b,c)}function SGb(a,b){return N2b(new U3b(b),a.t)}function l_(a,
b){this.a=Z2b(a);this.b=Z2b(b)}function Neb(a){this.b=new $$b(a.c);this.d=a}function kk(a){this.e=a;this.c=a.a.oe().Md()}function tVb(a){UUb.call(this,(vYb(),ZWb),a)}function uVb(a){UUb.call(this,(vYb(),$Wb),a)}function vVb(a){UUb.call(this,(vYb(),YWb),a)}function DVb(a){UUb.call(this,(vYb(),gXb),a)}function HVb(a){UUb.call(this,(vYb(),kXb),a)}function xWb(a){UUb.call(this,(vYb(),JXb),a)}function BWb(a){UUb.call(this,(vYb(),OXb),a)}function CWb(a){UUb.call(this,(vYb(),PXb),a)}function FYb(a){UUb.call(this,
(vYb(),aYb),a)}function KYb(a){UUb.call(this,(vYb(),fYb),a)}function nZb(a){TB.call(this,"codePoint:"+a)}function lf(){ff.call(this,"ALWAYS_FALSE",1)}function _k(){Mg.call(this,new luc);this.a=3}function gcc(a){dcc.call(this,a);this.a=null}function jcc(a){dcc.call(this,a);this.a=null}function atc(a){var b;b=a[gJc]|0;a[gJc]=b+1}function bnc(a,b){var c;c=a.e;a.e=b;return c}function nnc(a,b){var c;c=b;return!!a.Dj(c)}function q1b(a,b){a.d=true;return n_b(a.a,b)}function q0b(a,b){if(!a0b(a))return;a.b.i=
b}function rW(a,b){yW((f8b(),Z6b),b);OW(a,b.b)}function VZ(a,b){a.c.lg();a.Bg(b,4);a.c.ng()}function nvc(a){Tlc(a.c);a.b.b=a.b;a.b.a=a.b}function Fgc(a){return a.d.size()-a.e.size()}function suc(a,b){return a.a.remove(b)!=null}function ayc(a,b){return a.a.remove(b)!=null}function xkc(a,b,c){return a.lastIndexOf(b,c)}function Xc(a,b,c){ie(c);return new Ld(c,a,b)}function Bv(a,b){Av();return new Iv(a.Md(),b)}function Jf(a){ie(a);return new Hf(new Lf(a))}function Uc(a){ie(a);return DD(a,385)?a:dV(a)}
function is(a){Zr();return a.Ed()?a.Fd():null}function vic(a,b){tic();return a==b?0:a?1:-1}function Ld(a,b,c){this.b=a;this.a=b;this.c=c}function Ox(a,b,c){this.b=a;this.a=b;this.c=c}function Xy(a,b,c){this.b=a;this.a=b;this.c=c}function Gx(a,b,c){this.a=a;this.c=b;this.b=c}function Z7(a,b,c){this.a=a;this.b=b;this.c=c}function fB(a,b,c){this.j=a;this.b=b;this.a=c}function CV(a,b,c){Se.call(this,a,b);this.a=c}function Ew(a,b){Mg.call(this,a);this.a=ie(b)}function j5(a,b){return DD(b,5)&&qkc(b.c,a.c)}
function MB(a){return new LB(a.d,a.c,a.a,a.b)}function zi(a){a.b?zi(a.b):a.f.c.put(a.e,a.d)}function j0(a){!a.H&&C0(a,new v2);return a.f}function eJb(a){var b;b=a.o;a.o=null;return b}function IRb(a){this.b=a;this.a=(Mm(),new iq)}function qZb(a){TB.call(this,"Precision: "+a)}function Apb(){Apb=aV;zpb=izc((Oic(lM),lM.o))}function lpb(){lpb=aV;jpb=new opb;kpb=new qpb}function upb(){upb=aV;spb=new xpb;tpb=new ypb}function Mob(){Mob=aV;Kob=new Pob;Lob=new Qob}function ifc(){ifc=aV;hfc=new sfc((dx(),cx))}
function lm(){lm=aV;new Bm((bqc(),bqc(),_pc))}function R$b(a){return new U4b((f8b(),J7b),a)}function S$b(a){return new U4b((f8b(),K7b),a)}function K$b(a,b){return g$b((f8b(),p7b),a,b)}function P$b(a,b){return g$b((f8b(),F7b),a,b)}function Q$b(a,b){return g$b((f8b(),G7b),a,b)}function U$b(a,b){return g$b((f8b(),M7b),a,b)}function c$b(a,b){return g$b((f8b(),g5b),a,b)}function d$b(a,b){return g$b((f8b(),h5b),a,b)}function m$b(a,b){return g$b((f8b(),R5b),a,b)}function z$b(a,b){return g$b((f8b(),H6b),
a,b)}function B$b(a,b){return g$b((f8b(),V6b),a,b)}function l8b(a){return new b5b((f8b(),m5b),a)}function PRb(a,b){return b>=0&&b<a.e.a.length}function Trc(a,b){return a.d.containsValue(b)}function c0b(a,b){!a.d&&(a.d=new I0b);a.d.a=b}function e0b(a,b){!a.d&&(a.d=new I0b);a.d.c=b}function k0b(a,b){!a.d&&(a.d=new I0b);a.d.g=b}function l0b(a,b){!a.d&&(a.d=new I0b);a.d.i=b}function m0b(a,b){!a.d&&(a.d=new I0b);a.d.j=b}function Xyc(a,b){this.a=a;this.b=b;HU(Hzc())}function reb(a,b){ae(true);b.g=null;
Loc(a.c,b)}function co(a,b){return b==null?null:Gv(a.d,b)}function Cf(a){return new If(a.c,true,a.d,a.a)}function Fx(a){return rs(cs(a.a.Md(),Mx(a.c)))}function Q2b(a){oe(!!a.e);p3b(a.e,a);return a}function xhb(a,b){W0(a.c,b);qjb(b)&&Unc(a.b,b)}function qs(a,b){Zr();ie(b);return new Os(a,b)}function OW(a,b){while(b){NW(a,b,false);b=b.d}}function HW(a){var b;for(b=a.b;b;b=b.d)sW(b)}function Klb(a,b){this.c=a;this.b=b.b;this.a=b}function $Jb(a,b,c){this.c=a;this.b=b;this.a=c}function Enb(a,b,c){this.b=
a;this.c=b;this.a=c}function eLb(a,b,c){this.a=a;this.b=b;this.c=c}function kVb(a,b,c){this.c=a;this.a=b;this.b=c}function Xmb(a,b,c){Se.call(this,a,b);this.a=c}function yub(a,b,c){Se.call(this,a,b);this.a=c}function zGb(a,b,c){Se.call(this,a,b);this.a=c}function PUb(a,b,c){Se.call(this,a,b);this.a=c}function lEb(a){return!a.d?(lm(),lx(),kx):a.d}function _Eb(a){return Hkc(a,0,tkc(a,Nkc(35)))}function L_b(a){return(fFc&a.a)==kFc?a.i:null}function H_b(a){return(fFc&a.a)==fBc?a.i:null}function lMb(a){jMb();
return _e((oMb(),nMb),a)}function g0b(a){!a.d&&(a.d=new I0b);H0b(a.d,2)}function h0b(a){!a.d&&(a.d=new I0b);H0b(a.d,3)}function i0b(a){!a.d&&(a.d=new I0b);H0b(a.d,5)}function j0b(a){!a.d&&(a.d=new I0b);H0b(a.d,4)}function o0b(a){!a.d&&(a.d=new I0b);H0b(a.d,0)}function r0b(a){!a.d&&(a.d=new I0b);H0b(a.d,6)}function w0b(a){!a.d&&(a.d=new I0b);H0b(a.d,1)}function W9b(a,b){F8b.call(this,a,b);N9b(this)}function occ(a,b,c){Se.call(this,a,b);this.a=c}function $tc(a,b,c){this.a=a;this.b=b;this.c=c}function ivc(a,
b,c){this.a=a;this.b=b;this.c=c}function w2b(a,b,c){this.a=a;this.c=b;this.d=c}function mwc(a,b,c){this.d=a;this.b=c;this.a=b}function U3b(a){this.j=a;this.e=null;this.i=-1}function O4b(a){this.b=a;this.a=a;this.c=false}function $c(a,b){this.a=a;this.b=FAc;this.c=b.c}function ej(a){this.d=a;bj(this);this.b=Hg(a.d)}function Yj(a,b){if(!a)return 0;return rl(a,b)}function Szc(a,b){if(!a)throw BU(new Geb(b));}function Or(a,b){ie(a);ie(b);return new Pr(a,b)}function Qq(a,b,c){bl(b,c);ug(a.a,b,c);return a}
function Jbc(a,b){a.f=Gdc(a.d,b,null);return a}function Wic(){var a;a=Tic(null);a.g=2;return a}function Mu(a){var b;b=new Poc;$r(b,a);return b}function g0(a){var b;b=a.H.G;b=b?b:a.e;return b}function SV(a){var b;b=T2b(a);0!=b&&$W(XBc+b,a)}function TV(a){var b;b=T2b(a);0!=b&&$W(XBc+b,a)}function njc(a){return FD(a)?(Yzc(a),a):a.wj()}function NU(a,b){return EU(mD(IU(a)?PU(a):a,b))}function Gkc(a,b){return a.substr(b,a.length-b)}function boc(a){return a.a[a.c-1&a.a.length-1]}function uic(a){tic();return qkc(sAc,
typeof a)}function pob(a){kob();this.b=a;this.a=new YW(a)}function nCb(a,b){Yyb.call(this,a);this.a=ie(b)}function zDb(a,b){Yyb.call(this,a);this.a=ie(b)}function ROb(a,b,c){ANb.call(this,a,c);this.a=b}function x4b(a,b,c){n4b.call(this,a,c);this.a=b}function H4b(a,b,c){n4b.call(this,a,c);this.a=b}function Hvc(a,b,c){this.c=a;inc.call(this,b,c)}function yzc(a,b,c){vzc(c,0,a,b,c.length,false)}function A1(){y1.call(this,"sanityCheck",false)}function Dc(){Xb.call(this,"CharMatcher.none()")}function Xqb(){Vkb.call(this,
"es6ConvertSuper")}function Kq(a){this.b=a;this.a=Bn(this.b.a).Qe()}function Pr(a,b){this.a=a;this.b=b;Wl.call(this)}function Sr(a,b){this.a=a;this.b=b;Wl.call(this)}function Vr(a,b){this.a=a;this.b=b;Wl.call(this)}function Hs(a,b){this.b=a;this.a=b;eg.call(this)}function Eoc(a,b){a.a[a.a.length]=b;return true}function Uic(a){var b;b=Tic(a);fjc(a,b);return b}function Axc(a,b){return!!b&&Bxc(a,b.d)?b:null}function $ab(a){return!a.j?a.b:$ab(a.j)+"."+a.b}function cwc(a){return Wzc(a.b!=0),ewc(a,a.a.a)}
function dwc(a){Wzc(a.b!=0);return ewc(a,a.a.a)}function Ln(a,b){bl(a,b);return Av(),new Yp(a,b)}function RU(a){if(IU(a))return a|0;return pD(a)}function Bt(a){if(a.c.e!=a.a)throw BU(new btc);}function nu(a){if(a.e.c!=a.b)throw BU(new btc);}function xwc(){xwc=aV;vwc=new ywc;wwc=new Awc}function bqc(){bqc=aV;_pc=new kqc;aqc=new Bqc}function jnb(){jnb=aV;inb=$wnd.JSON.parse(mnb())}function Nfb(a,b){Mfb(a,b,new IBb(a.a,Z2b(b),b))}function uZb(a){throw BU(new oZb(a.b.b,pb(a.a)));}function r1(a){return Sob(),
new dpb((new cpb).a)}function TGb(a,b,c){return N2b(new W3b(b,c),a.t)}function XGb(a,b,c){return N2b(new U4b(b,c),a.t)}function PGb(a,b){return!!a.b&&a.b.a.a.c<=b.b.c}function sqb(a,b){this.a=a;this.c=false;this.d=b}function cfb(a,b){vV.call(this,a);ie(a);this.a=b}function nrb(){Vkb.call(this,"RewritePolyfills")}function gqb(a,b){var c;c=Z2b(b);return hqb(a,c)}function X$b(a,b){oe(C$b(b));return new W3b(a,b)}function Zac(a,b){!a.i&&(a.i=new Poc);Eoc(a.i,b)}function Jpc(a,b,c){Uzc(b,a.length);Gpc(a,
0,b,c)}function $vc(a,b){awc(a,b,a.c.b,a.c);return true}function Fvc(a){a.a.b=a.b;a.b.a=a.a;a.a=a.b=null}function di(a){this.c=a;this.b=this.c.a.oe().Md()}function tic(){tic=aV;ric=(tic(),false);sic=true}function Mic(){Mic=aV;Lic=NC(WR,NAc,153,128,0,1)}function Vjc(){Vjc=aV;Ujc=NC(fS,NAc,154,256,0,1)}function Jjc(){Jjc=aV;Ijc=NC(dS,NAc,126,256,0,1)}function aLb(a,b,c,d){var e;e=LZb(c,d);a.ei(b,e)}function d$(a,b){var c;c=Y2b(b,81);!!c&&a.Bg(c,4)}function u2(a,b){a.Wb=b;b==(o3(),c3)&&(a.Ac=true)}function t$(a,
b){a.c=b;a.e=b.tc;a.b=b.Xb;return a}function t0(a){!a.R&&(a.R=F0(a,sDc,0));return a.R}function SU(a){if(IU(a))return""+a;return qD(a)}function S$(a){if(a.n>0){Ukc(a.i,10);++a.k;a.n=0}}function kw(a){return new Ew(gw(a.a),new iw(a.b))}function Ur(a){return ls(new urc(a.a.b.Md()),a.b)}function PC(a){return Array.isArray(a)&&a.Jj===eV}function S_b(a){return(a.a&512)!=0||(a.a&iEc)!=0}function bfb(a){rV();cfb.call(this,a,(Mob(),Kob))}function x2b(a){w2b.call(this,new y0b(a),a,false)}function brb(){Vkb.call(this,
"rewriteGenerators")}function frb(){Vkb.call(this,"Es6ExtractClasses")}function drb(){y1.call(this,"es6SuperCheck",true)}function ac(){Xb.call(this,"CharMatcher.ascii()")}function efb(a,b){cX.call(this);this.a=a;this.b=b}function Jhc(a,b){t8b();V9b.call(this,a);this.a=b}function Hoc(a,b){Xzc(b,a.a.length);return a.a[b]}function alc(a,b){a.a+=Skc(b,0,b.length);return a}function S1b(a,b){l0b(a.a,b);a.d=true;return true}function JAb(a){if(!a.N)return null;return a.N.r}function Ipc(c){c.sort(function(a,
b){return a-b})}function ydc(a,b,c){return xdc(a,b,Fdc(a,true,c))}function Adc(a,b,c){return zdc(a,b,Fdc(a,true,c))}function aec(a,b){return b?b:Ldc(a.e,(tdc(),pdc))}function otc(a,b){return Wtc(a.a,b)?a.b[b.f]:null}function e3b(a){return a.j==(f8b(),n7b)||a.j==l5b}function CD(a){return!Array.isArray(a)&&a.Jj===eV}function ypc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function Apc(a,b){var c;for(c=0;c<b;++c)a[c]=-1}function TZ(a,b){var c;for(c=b;c;c=c.d)a.Bg(c,4)}function Pj(a,b){var c;c=Gv(a.a,b);return!c?
0:c.a}function kJb(a){var b;b=JKb(a.j);a.o=null;return b}function deb(a){a.j==(f8b(),B5b)&&(a=a.b);return a}function tC(a,b){!a&&(a=[]);a[a.length]=b;return a}function r3b(a){var b;b=a.b;!!b&&p3b(a,b);return b}function fHb(a,b){b4b(a.i)==-1&&gHb(a,b.o.b,b.o.a)}function bzb(a,b){vyb();return izb(a,1,tyb,b,syb)}function Nec(a,b,c,d){return b9b(a,b,c,d)||!b.Ci()}function ojc(a){return FD(a)?KD((Yzc(a),a)):a.xj()}function Rlc(a,b){return ID(b)?Slc(a,b):Nuc(a.d,b)}function MRb(a){return a.b.b==0?a.d:VRb(a,
0).b.b.c}function A2b(a){return new B2b(O2b(a.a,false),a.b)}function Ihc(a,b){this.a=new Poc;this.i=a;this.g=b}function Mdb(a,b){this.c=a;this.b=new Xvc;this.a=b}function Ltc(a){this.c=a;this.a=new huc(this.c.a)}function Zvc(a){wuc.call(this,new tvc);ad(this,a)}function moc(a){loc.call(this,a.size());ad(this,a)}function Hf(a){If.call(this,a,false,(Cc(),Bc),wAc)}function rfc(){ifc();sfc.call(this,(Av(),new axc))}function _x(a){Mm();this.a=(bqc(),new Sqc(ie(a)))}function mkc(a,b){return eAc((Yzc(a),
a),(Yzc(b),b))}function $uc(a,b){return!(a.a.get(b)===undefined)}function Doc(a,b,c){$zc(b,a.a.length);xzc(a.a,b,c)}function ptc(a,b,c){Utc(a.a,b);return stc(a,b.f,c)}function Gf(a,b){ie(b);return new If(a.c,a.b,b,a.a)}function Bn(a){if(a.e)return a.e;return a.e=a.Ue()}function Cn(a){if(a.f)return a.f;return a.f=a.Ve()}function uh(a){var b;b=a.c;return!b?a.c=a.qe():b}function nm(a){var b;b=a.c;return!b?a.c=a.Pe():b}function ig(a){var b;b=a.g;return!b?a.g=a._d():b}function Xic(a){var b;b=Tic(a);b.n=
a;b.g=1;return b}function zpc(a,b,c){var d;for(d=0;d<b;++d)a[d]=c}function pz(a,b){return _b(($b(),Zb,b))&&a.e[b]!=-1}function vz(a,b){return RU(FU(CU(KU(a.b.a,b),7),8))}function fD(a,b){return VC(a.l&b.l,a.m&b.m,a.h&b.h)}function rD(a,b){return VC(a.l^b.l,a.m^b.m,a.h^b.h)}function jn(a,b){return b!=null&&a.Te().contains(b)}function ms(a,b){Zr();return ns(a,(ze(),new Be(b)))}function Go(a){lm();ie(a);this.b=(bqc(),new qsc(a))}function sab(a){this.b=a;this.a=gqc((Av(),new Euc))}function Mz(a){Gz(this);
this.f=a;Hz(this);this.rf()}function kj(a,b){this.a=a;fj.call(this,a,a.d.Pd(b))}function Ri(a,b,c,d){this.a=a;Di.call(this,a,b,c,d)}function xz(a,b,c){wz.call(this,new qz(a,Ikc(b)),c)}function Fz(a,b,c){Ez.call(this,new qz(a,Ikc(b)),c)}function C4b(a){U3b.call(this,(f8b(),k7b));this.a=a}function Okb(a){this.c=new luc;this.b=a;this.a=true}function UZb(a){throw BU(new b$b(Hkc(a.a,a.d,a.b)));}function x_(a){return qkc("Array.isArray",Z2b(a.b))}function Hyb(a){return(a.$h()&504)!=0||oxb(a.Zh())}function k8b(a){return/^[a-zA-Z_$][\w$]*$/.test(a)}
function Ljc(a,b){return DU(a,b)<0?-1:DU(a,b)>0?1:0}function Klc(a,b){return Llc(a,b,a.e)||Llc(a,b,a.d)}function ufc(a,b){a.c=b;DD(b,56)?a.b=b:a.b=null}function Eac(a,b,c){Hac.call(this,a,b,c,false,null)}function Bpc(a,b){var c;for(c=0;c<b;++c)a[c]=null}function c0(a,b,c){var d;d=WKb(b,a.H.mc,c);return d}function jPb(a){var b;b=URb(a.j);a.g=b.b.a;return b}function xsb(a){var b;b=a;while(b.a)b=b.a;return b}function hzc(a){this.c=a;this.e=true;this.a=new Poc}function bxc(a){this.b=null;this.a=(Vsc(),
!a?Usc:a)}function vuc(a){this.a=new muc(a.size());ad(this,a)}function Ub(){this.a=Ikc("0123456789_.");Ipc(this.a)}function sj(a,b,c){this.a=a;Di.call(this,a,b,c,null)}function br(a,b){Mm();ar.call(this,a,hn(new Upc(b)))}function Zzc(a,b){if(a==null)throw BU(new _jc(b));}function fs(a,b){Zr();ie(a);ie(b);return new Hs(a,b)}function Tm(a){Mm();ie(a);return Sm(Mu(Ff(a.a,a.b)))}function Zhb(a,b,c){Shb();return yib(a,new _jb(b),c)}function _ib(a,b,c){Shb();return yib(a,new Yjb(b),c)}function beb(a,b,
c){return c?"{"+eeb(a,c.a)+"} "+b:b}function Ekc(a,b){return qkc(a.substr(0,b.length),b)}function Exb(a,b){oe(!a.n.isEmpty());return Lxb(a,b)}function yW(a,b){b.j!=a&&$W(YBc+a+" but was "+b.j,b)}function oeb(a,b){Eoc(a.c,b);ae(!b.g||b.g==a);b.g=a}function bHb(a,b){a.i&&a.d.ih(uGc,a.r,b.b.b+1,b.b.a)}function H0b(a,b){var c;c=(be(b>=0,OIc),1<<b);a.o|=c}function B5(a){var b;b=(rV(),new afb);b.b=a;return b}function kA(a){var b;b=(a&1)==1;a=a>>1;return b?-a:a}function nzb(a){if((a&24)!=0)return a|8|16;
return a}function Roc(a){Coc(this);yzc(this.a,0,a.toArray())}function Evb(){cX.call(this);this.a=B5((v5(),false))}function y9b(a,b,c){t8b();z9b.call(this,a,b,c,false)}function Gtb(a){$sb();_sb.call(this,kEc,null,a,null)}function goc(a){var b;b=coc(a);Wzc(b!=null);return b}function stc(a,b,c){var d;d=a.b[b];a.b[b]=c;return d}function yrc(a,b,c){return new zrc(a.a.subList(b,c))}function Jlc(a,b){return ID(b)?Olc(a,b):!!Luc(a.d,b)}function UGb(a,b,c,d){return N2b(new Y3b(b,c,d),a.t)}function Agc(a){return a.d.Se(a.e.size(),
a.d.size())}function ze(){ze=aV;new Wc(String.fromCharCode(44))}function Mm(){Mm=aV;lm();Lm=new gx((bqc(),bqc(),_pc))}function lx(){lx=aV;lm();kx=new mx((bqc(),bqc(),aqc))}function Qfb(a,b){var c;oe(!a.r);a.u=(lm(),c=b,yo(c))}function Yob(a,b){Sob();return new fpb((new cpb,a),b)}function Ez(a,b){wz.call(this,a,b);ae(a.c.length==64)}function NA(a,b,c,d,e){IA.call(this,a,b,c,d);this.a=e}function O9(a,b,c){this.d=a;this.c=ie(b);this.e=ie(c)}function tqb(a){this.a=a;this.c=false;this.d=new wqb}function fq(a,
b,c){this.a=a;me(c,b);this.c=b;this.b=c}function Qbc(a){this.b=new U3b((f8b(),r7b));this.a=a}function WGb(a,b){return N2b(new C4b((Yzc(b),b)),a.t)}function Oyb(a,b){return JEb(a._h(),b)||JEb(a.Zh(),b)}function Gyb(a){return!a._h().isEmpty()||nxb(a.Zh())}function Fqc(a,b){return Plc(a.a,b,(tic(),sic))==null}function _xc(a,b){return a.a.put(b,(tic(),ric))==null}function quc(a,b){var c;c=a.a.put(b,a);return c==null}function uzc(a,b){var c;c=a.slice(0,b);return RC(c,a)}function wzc(a,b){var c;c=new Array(b);
return RC(c,a)}function Nr(a,b){ie(a);be(b>=0,oBc);return new Vr(a,b)}function yq(a,b){return nm(Bn(a.a)).getAtIndex(b).ye()}function Zu(a,b){var c;c=a.a.size();me(b,c);return c-b}function ie(a){if(a==null)throw BU(new Zjc);return a}function vx(a){if(DD(a,307))return a;return new Ux(a)}function Vs(a){this.b=(Zr(),Zr(),Zr(),Xr);this.a=ie(a)}function abb(a,b){this.b=a;this.j=b;this.p=(jbb(),hbb)}function Jeb(a,b,c){Geb.call(this,a);this.b=b;this.a=c}function Blc(a){Geb.call(this,a==null?FAc:(Yzc(a),
a))}function Elc(a){Geb.call(this,a==null?FAc:(Yzc(a),a))}function Bsb(a){uob.call(this,a);vsb(this);this.a=null}function Nc(){Xb.call(this,"CharMatcher.whitespace()")}function loc(a){Tnc(this);Azc(this.a,zjc(8>a?8:a)<<1)}function jpc(a){aAc(a.b!=-1);Koc(a.c,a.a=a.b);a.b=-1}function bs(a){Zr();ie(a);while(a.Ed()){a.Fd();a.Gd()}}function skc(a,b,c,d,e){while(b<c)d[e++]=lkc(a,b++)}function Gac(a,b,c,d,e){t8b();Hac.call(this,a,b,c,d,e)}function FRb(a,b,c){UOb();GRb.call(this,a,b,c,0,false)}function LRb(a,
b,c){return new ANb(b,MOb(a.e.b,c,a.d))}function Mlc(a,b){return ID(b)?Nlc(a,b):hh(Luc(a.d,b))}function Tkc(a,b){return a.a+=String.fromCharCode(b),a}function Ukc(a,b){a.a+=String.fromCharCode(b);return a}function dic(a,b){cic(a,b,b+1,String.fromCharCode(32))}function Clb(a,b){a.e&&(a.d=b.j==(f8b(),r6b)?b:wlb(b))}function U1(a){!a.i&&(a.i=Kub(a.b.C,a.f.a));return a.i}function Q9b(a){var b;b=new byc;jfc(a.aj(),b);return b}function Znc(a){var b;b=a.a[a.b];Wzc(b!=null);return b}function Qj(a){var b;
b=a.a.oe().Md();return new _j(a,b)}function Xd(a,b){return JD(a)===JD(b)||a!=null&&nb(a,b)}function mr(a,b){lr();eo.call(this,a);this.a=b;this.c=a}function Ct(a){this.c=a;this.b=this.c.a;this.a=this.c.e}function Hlb(a){this.d=a;this.b=new Poc;this.a=new tuc}function Seb(a){this.b=new Poc;this.c=new Poc;this.a=a}function gwc(){this.a=new uwc;this.c=new uwc;fwc(this)}function Ud(a){this.b=new Wd;this.c=this.b;this.a=ie(a)}function R7(a,b){P7(this);this.e=a;this.f=b;this.a=true}function D4(a){A4();this.a=
null;this.b=(lm(),new cy(a))}function Yzc(a){if(a==null)throw BU(new Zjc);return a}function t7(a,b){var c;c=new Q7;Ihb(a.a,b,c);return c.d}function eeb(a,b){var c;c=new dlc;_db(a,c,b);return c.a}function Bcb(a,b){quc(a.a.a,b);quc(a.a.i,b);return null}function cEb(a,b){oe(!a.f);BEb(a.w,AEc,a.u)||quc(a.n,b)}function sAb(a){if(a.b)return null;return S2b(a.c,a.a)}function b1(a,b){!a.H&&C0(a,new v2);return c1(a,b,true)}function Asb(a,b){tob.call(this,a,b);vsb(this);this.a=a}function CNb(a,b){ANb.call(this,
(MUb(),uTb),a);this.a=b}function WUb(a,b){UUb.call(this,(vYb(),IWb),a);this.a=b}function XUb(a,b){UUb.call(this,(vYb(),JWb),a);this.a=b}function YUb(a,b){UUb.call(this,(vYb(),KWb),a);this.a=b}function ZUb(a,b){UUb.call(this,(vYb(),LWb),a);this.a=b}function $Ub(a,b){UUb.call(this,(vYb(),MWb),a);this.a=b}function _Ub(a,b){UUb.call(this,(vYb(),NWb),a);this.a=b}function aVb(a,b){UUb.call(this,(vYb(),OWb),a);this.a=b}function cVb(a,b){UUb.call(this,(vYb(),QWb),a);this.a=b}function dVb(a,b){UUb.call(this,
(vYb(),RWb),a);this.a=b}function jVb(a,b){UUb.call(this,(vYb(),XWb),a);this.a=b}function CVb(a,b){UUb.call(this,(vYb(),fXb),a);this.a=b}function EVb(a,b){UUb.call(this,(vYb(),hXb),a);this.a=b}function LVb(a,b){UUb.call(this,(vYb(),oXb),a);this.a=b}function MVb(a,b){UUb.call(this,(vYb(),pXb),a);this.a=b}function QVb(a,b){UUb.call(this,(vYb(),qXb),a);this.a=b}function kWb(a,b){UUb.call(this,(vYb(),wXb),a);this.a=b}function mWb(a,b){UUb.call(this,(vYb(),yXb),a);this.a=b}function tWb(a,b){UUb.call(this,
(vYb(),FXb),a);this.a=b}function zWb(a,b){UUb.call(this,(vYb(),MXb),a);this.a=b}function DWb(a,b){UUb.call(this,(vYb(),QXb),a);this.a=b}function EWb(a,b){UUb.call(this,(vYb(),RXb),a);this.a=b}function FWb(a,b){UUb.call(this,(vYb(),SXb),a);this.a=b}function HWb(a,b){UUb.call(this,(vYb(),UXb),a);this.a=b}function AYb(a,b){UUb.call(this,(vYb(),XXb),a);this.a=b}function BYb(a,b){UUb.call(this,(vYb(),YXb),a);this.a=b}function CYb(a,b){UUb.call(this,(vYb(),ZXb),a);this.a=b}function EYb(a,b){UUb.call(this,
(vYb(),_Xb),a);this.a=b}function IYb(a,b){UUb.call(this,(vYb(),dYb),a);this.a=b}function JYb(a,b){UUb.call(this,(vYb(),eYb),a);this.a=b}function LYb(a,b){UUb.call(this,(vYb(),gYb),a);this.a=b}function OYb(a,b){UUb.call(this,(vYb(),kYb),a);this.a=b}function PYb(a,b){UUb.call(this,(vYb(),lYb),a);this.a=b}function SYb(a,b){UUb.call(this,(vYb(),nYb),a);this.a=b}function WYb(a,b){UUb.call(this,(vYb(),rYb),a);this.a=b}function vfc(a,b){W9b.call(this,a,null);ufc(this,ie(b))}function ex(){Rp.call(this,new ix(new luc));
this.a=this}function Cz(){Bz.call(this,new qz("base16()",Ikc(JAc)))}function lrb(){Vkb.call(this,"Es6RewriteArrowFunction")}function hrb(){Vkb.call(this,"Es6RewriteDestructuring")}function Tvc(a){this.c=a;this.b=a.a.b.a;_sc(a.a.c,this)}function F8b(a,b){this.u=a;this.v=!b?Gdc(a,null,null):b}function If(a,b,c,d){this.c=a;this.b=b;this.d=c;this.a=d}function lt(a,b,c,d){Yp.call(this,a,b);this.d=c;this.a=d}function ltc(a){cd(a.a);a.b=NC(kS,NAc,1,a.b.length,5,1)}function Bxc(a,b){return Swc(a.c,a.f,b,
a.b,a.a,a.e,a.d)}function oyc(a,b,c){return lyc(a,b)?myc(a,b):nyc(a,b,c)}function Ov(){Mv();return QC(LC(DG,1),SAc,188,0,[Kv,Lv])}function Sib(a){Shb();return a.j==(f8b(),x6b)||a.j==w6b}function q_(){o_();return QC(LC(LI,1),SAc,265,0,[m_,n_])}function Mkc(a){return String.fromCharCode.apply(null,a)}function $sc(a,b){if(b[gJc]!=a[gJc])throw BU(new btc);}function dj(a){Ai(a.d);if(a.d.d!=a.c)throw BU(new btc);}function Z3(a){Y3.call(this,(Mm(),ie(a),Um(new Upc(a))))}function J$(a,b,c,d){B$.call(this,
c,d);this.a=a;this.c=b}function LB(a,b,c,d){this.d=a;this.c=b;this.a=c;this.b=d}function FB(a,b,c,d){this.c=a;this.d=b;this.b=c;this.a=d}function w1(a,b,c,d){this.a=a;this.b=b;this.d=c;this.c=d}function cob(a,b,c,d,e){Q0(a.a,_nb(a,b,c,d,e,(YX(),VX)))}function dob(a,b,c,d,e){Q0(a.a,_nb(a,b,c,d,e,(YX(),XX)))}function kGb(a,b,c,d){jGb.call(this,a,(pGb(),oGb),b,c,d)}function VGb(a,b,c,d,e){return N2b(new Z3b(b,c,d,e),a.t)}function YGb(a,b){return N2b(new U4b((f8b(),J7b),b),a.t)}function Pib(a){Shb();
return a.j==(f8b(),p6b)&&T2b(a)==3}function hvb(){gvb();return QC(LC(YM,1),SAc,277,0,[fvb])}function P2(){N2();return QC(LC($I,1),SAc,255,0,[L2,M2])}function q$b(a){oe(C$b(a));return new W3b((f8b(),n6b),a)}function O$b(a){oe(C$b(a));return new W3b((f8b(),B7b),a)}function V$b(a){oe(C$b(a));return new W3b((f8b(),T7b),a)}function Z$b(a){oe(C$b(a));return new W3b((f8b(),e8b),a)}function Cic(a){var b;b=a-10;return(b<0?48+a:97+b)&DAc}function Yu(a,b){var c;c=a.a.size();he(b,c);return c-1-b}function j9(a,
b){var c;c=s9(b);oe(!!c);k9(a,c,b);R0(a.a)}function Ddc(a,b){var c;c=new Qbc(a);Mbc(c,b);return c.b}function mJb(a,b){a.o=!a.o?IKb(a.j):eJb(a);return a.o==b}function nyb(a,b){ie(b);oe(a.n.isEmpty());a.n=b;return a}function NUb(a){return a.a==null?(BOb(),co(cOb,a)).b:a.a}function xdc(a,b,c){return Ebc(Ibc(Hbc(new Lbc(a),c),b))}function Plc(a,b,c){return ID(b)?Qlc(a,b,c):Muc(a.d,b,c)}function lac(a,b,c,d){return b9b(a,b,c,d)||a.d.Ii(b,c,d)}function cic(a,b,c,d){a.a=Hkc(a.a,0,b)+(""+d)+Gkc(a.a,c)}function jfc(a,
b){var c;c=gqc((Av(),new Euc));kfc(a,b,c)}function Kuc(a,b){var c;c=a.a.get(b);return c==null?[]:c}function rtc(a,b){return Ytc(a.a,b)?stc(a,b.f,null):null}function Ewc(a,b){return JD(a)===JD(b)||a!=null&&nb(a,b)}function ebc(a){te(a.lj()||a.e==2,bJc,a);return D8b(a.j)}function Urc(a){!a.b&&(a.b=new wsc(a.d.oe()));return a.b}function uj(a){var b;b=a.c;!b&&(a.c=b=new zk(a));return b}function vj(a){var b;b=a.d;!b&&(a.d=b=new Dk(a));return b}function h5(a,b){var c;c=new E4(a,b);Qlc(e5,a,c);return c}
function i5(a,b){var c;c=new F4(a,b);Qlc(e5,a,c);return c}function Ejc(a,b){while(b-- >0)a=a<<1|(a<0?1:0);return a}function HSb(a,b){this.c=a;this.a=b;this.b=new NOb(this)}function yoc(a){this.d=a;this.a=this.d.b;this.b=this.d.c}function DMb(a,b,c,d){this.b=a;this.d=b;this.a=c;this.c=d}function xNb(a,b,c,d){Se.call(this,a,b);this.b=c;this.a=d}function COb(a,b,c,d){Se.call(this,a,b);this.b=c;this.a=d}function afb(){rV();vV.call(this,null);this.a=(Mob(),Kob)}function Vqb(){y1.call(this,"rewriteAsyncFunctions",
true)}function Rkb(){y1.call(this,"garbageCollectChecks",true)}function W1(a){if(!a.a||!a.a.Kg())return;a.a.Kg().d=true}function cd(a){var b;for(b=a.Md();b.Ed();){b.Fd();b.Gd()}}function NRb(a){return ORb(a,a.b.b==0?a.d:VRb(a,0).b.b.c)}function _Kb(a,b,c,d){var e;a.d=true;e=LZb(c,d);a.di(b,e)}function dZb(a,b,c,d){this.d=a;this.c=b;this.b=c;this.a=d}function efc(a,b,c,d){this.c=a;this.e=b;this.b=c;this.d=d}function hkc(a,b,c){this.a=KBc;this.d=a;this.b=b;this.c=c}function y$(a){this.c=new v2;this.a=
new z$(this);this.g=a}function kgc(a){this.c=(lr(),new vr((Rw(),Qw)));this.d=a}function LZb(a,b){var c;c=new KZb;vZb(c,a,b);return c.c.a}function Yyc(a,b,c,d){var e;e=new Xyc(b,c);e.c=d;Zyc(a,e)}function Slc(a,b){return b==null?Nuc(a.d,null):bvc(a.e,b)}function dt(a){var b;return b=a.g,!b?a.g=new oi(a,a.c):b}function z2b(a){if(!a)return new x2b(true);return y2b(a)}function je(a,b){if(a==null)throw BU(new _jc(b));return a}function r2(a){if(a.Wb==(o3(),n3))return a.Vb;return a.Wb}function s2(a){return a.Wb!=
(o3(),n3)&&q3(a.Vb)&&!q3(a.Wb)}function GW(a,b){yW((f8b(),r7b),b);q3(a.a.v)?IW(a,b):HW(b)}function bzc(a,b,c){b.xj()>=(azc(a),800)&&Yyc(a,b,c,null)}function meb(a,b,c,d,e,f){return new heb(a,null,b,c,e,d,f)}function Tmb(a,b,c){var d;Xmb.call(this,a,b,(d=c,f8b(),d))}function Umb(a,b,c){var d;Xmb.call(this,a,b,(d=c,f8b(),d))}function Vmb(a,b,c){var d;Xmb.call(this,a,b,(d=c,f8b(),d))}function Lub(a,b,c){Jub();Mub.call(this,a,b,c,(gvb(),fvb))}function Web(a,b,c){this.c=ie(a);this.a=ie(b);this.b=ie(c)}
function UAb(a,b){oe(!a.K);ie(b);a.K=b;a.L=js(b._h().Md())}function lZb(a,b){iZb();var c;c=kZb(a);++c.a;c.b=CU(c.b,b)}function Iz(a,b){a.backingJsObject=b;b!=null&&gAc(b,yBc,a)}function pAc(){if(kAc==256){jAc=lAc;lAc={};kAc=0}++kAc}function Pgc(){Pgc=aV;Mgc=new Sgc;Ngc=new Wgc;Ogc=new $gc}function rzc(a){var b;b=new qzc;b.a=new RegExp(a);return b}function plb(a){var b;b=new nlb;RZ(new i$(b),a,4);return b}function ef(){ef=aV;bf=new hf;af=new lf;cf=new of;df=new rf}function wC(){wC=aV;var a,b;b=!BC();
a=new JC;vC=b?new CC:a}function fwc(a){a.a.a=a.c;a.c.b=a.a;a.a.b=a.c.a=null;a.b=0}function utc(a){this.a=Vtc(a.a);this.b=uzc(a.b,a.b.length)}function vtc(a){this.a=Vtc(a.a);this.b=uzc(a.b,a.b.length)}function rq(a){this.b=(cl(a,"initialArraySize"),new Qoc(a))}function su(a){this.b=a;this.c=a;a.e=null;a.c=null;this.a=1}function lC(a){fC();$wnd.setTimeout(function(){throw a;},0)}function Mr(a){if(a)return a.isEmpty();return!a.Md().Ed()}function Bi(a){a.b?Bi(a.b):a.d.isEmpty()&&a.f.c.remove(a.e)}function M2b(a){return!a.b?
(bqc(),bqc(),aqc):new O4b(a.b)}function Ex(a){return zo(new kpc(Wq(Wq(new Xq,a.a),a.b).a))}function TU(a,b){return EU(rD(IU(a)?PU(a):a,IU(b)?PU(b):b))}function qV(){oV();return QC(LC(qI,1),SAc,208,0,[lV,nV,mV])}function JV(){HV();return QC(LC(uI,1),SAc,219,0,[FV,GV,EV])}function $X(){YX();return QC(LC(zI,1),SAc,215,0,[VX,XX,WX])}function K2(){I2();return QC(LC(ZI,1),SAc,211,0,[G2,H2,F2])}function V2(){T2();return QC(LC(_I,1),SAc,212,0,[Q2,R2,S2])}function z3(){x3();return QC(LC(dJ,1),SAc,213,0,[u3,
w3,v3])}function N3(){L3();return QC(LC(fJ,1),SAc,214,0,[J3,I3,K3])}function rjb(a){Shb();return a.j==(f8b(),r6b)&&W2b(a,60)==0}function Aib(a){Shb();ae(a.j==(f8b(),V7b));return T2b(a)==3}function ls(a,b){Zr();ie(a);be(b>=0,oBc);return new Qs(b,a)}function S2b(a,b){var c;c=a.b;while(b>0){c=c.d;--b}return c}function T2b(a){var b,c;b=0;for(c=a.b;c;c=c.d)++b;return b}function blc(a,b){a.a=Hkc(a.a,0,b)+""+Gkc(a.a,b+1);return a}function Olc(a,b){return b==null?!!Luc(a.d,null):$uc(a.e,b)}function _g(a,
b){return b===a?"(this Map)":b==null?FAc:dV(b)}function oJb(a,b){return N2b(new V3b(b,a.j.g,HKb(a.j)),a.n)}function sEb(a,b){oe(b.g==0);return a==b||!!a.o&&YBb(a.o,b)}function xmc(a){Wzc(a.b>0);return a.a.getAtIndex(a.c=--a.b)}function jqc(a){bqc();return DD(a,76)?new Nsc(a):new zrc(a)}function Br(){Br=aV;lm();Ar=(Rw(),Qw);zr=new nx(new dyc(Ar))}function v5(){v5=aV;r5=new y5;t5=new z5;s5=new A5;u5=new C5}function UOb(){UOb=aV;TOb=rzc("^//#\\s*sourceMappingURL=")}function bnb(){_mb();return QC(LC(LL,
1),SAc,261,0,[$mb,Zmb])}function Oob(){Mob();return QC(LC(_L,1),SAc,180,0,[Kob,Lob])}function npb(){lpb();return QC(LC(hM,1),SAc,186,0,[jpb,kpb])}function wpb(){upb();return QC(LC(kM,1),SAc,185,0,[spb,tpb])}function Fac(a){t8b();Hac.call(this,a,null,null,false,null)}function prb(){Vkb.call(this,"Es6SplitVariableDeclarations")}function jZb(){iZb();this.a="Parse Program";this.b=HU(Hzc())}function k5(a,b,c){this.c=a;this.a=b;this.b=c;this.d=this.a}function iB(a,b){var c,d;d=b.b;c=b.a;return d!=0?c:c+
a.c.i.a}function Kz(a,b){var c;c=Qic(a.Hj);return b==null?c:c+": "+b}function shb(a){var b;b=joc(a.k)+joc(a.j);oe(b>0);return b-1}function Olb(a){var b;b=a.b.i>a.a;a.a=a.b.t;++a.b.t;return b}function Wrc(a){!a.c&&(a.c=new qsc(a.d.keySet()));return a.c}function Yrc(a){!a.e&&(a.e=new drc(a.d.values()));return a.e}function Blb(a){if(a.e){a.g=O2b(a.f,false);a.k=sjb(a.f,a.g)}}function nEb(a,b){if(a.g!=0)return pEb(a,b);return oEb(a,b)}function dmc(a,b){if(DD(b,58))return Wg(a.a,b);return false}function Etc(a,
b){if(DD(b,58))return Wg(a.a,b);return false}function Ivc(a,b){if(DD(b,58))return Wg(a.a,b);return false}function nfc(a){if(!a.a)return Mm(),Mm(),Lm;return a.a.Yi()}function Luc(a,b){return Juc(a,b,Kuc(a,b==null?0:a.b.zj(b)))}function nkc(a,b){return mkc(a.toLowerCase(),b.toLowerCase())}function Hl(a,b){var c;return c=co(a.a,b),!c?(Mm(),Mm(),Lm):c}function vsc(a,b){var c;for(c=0;c<b;++c)a[c]=new Gsc(a[c])}function $_(a){var b;if(a.H.vc){b=h0(a);qkc(b,a.A)||(a.A=b)}}function Z_(a,b){if(a.H.rd){_kc(a.d,
b);Ukc(a.d,10);_yc(W_,b)}}function pe(a,b){if(!a)throw BU(new sjc(b==null?FAc:dV(b)));}function be(a,b){if(!a)throw BU(new Geb(b==null?FAc:dV(b)));}function T4b(a,b){if(null==b)throw BU(new Geb(WIc));a.a=b}function tV(a,b,c){if(!a.b)return b;return c.a+b+(BV(),yV).a}function Wzb(a,b,c,d){return Vzb(a,b,d,!c?(Mm(),Mm(),Lm):c.p)}function tAb(a){if(a.b)return a.b.Ed();return a.a+1<T2b(a.c)}function zib(a){ae(a.j==(f8b(),G5b));return!!a.b&&a.b.j==N5b}function MEb(a){ie(a);this.a=(QEb(),OEb);this.b=null;
this.c=a}function uob(a){rob(this);ie(a);this.e=null;this.f=a;this.d=0}function xfb(a,b,c){qfb.call(this);this.a=a;this.c=b;this.b=c}function fpb(a,b){Sob();Xob.call(this,a);this.b=b;this.e=null}function Quc(a){this.e=a;this.b=this.e.a.entries();this.a=[]}function q4(){k4();var a;l4(this);a=new uuc(Cv(0));p4(this,a)}function XKb(a){return yo(Df(Gf(Jf(new nc(44)),(Mc(),Kc)),a))}function zdc(a,b,c){return Ebc(Fbc(Ibc(Hbc(new Lbc(a),c),b)))}function Nlc(a,b){return b==null?hh(Luc(a.d,null)):_uc(a.e,
b)}function R_b(a){return(a.a&2)!=0||(a.a&512)!=0||(a.a&iEc)!=0}function KD(a){return Math.max(Math.min(a,wAc),-2147483648)|0}function jjc(a){return qkc(tAc,typeof a)||a instanceof Number}function bV(a){function b(){}b.prototype=a||{};return new b}function Pz(b){if(!(zBc in b))try{throw b;}catch(a){}return b}function D_b(a){if(!a.d||!a.d.n)return 0;return Ulc(a.d.n.c)}function $_b(a,b){if(!a.d.s)return false;return ovc(a.d.s,b)}function t8(a,b){if(a.Eh())return!!a.zh().yh(b);return false}function g9(a,
b){var c;c=s9(b);if(c)return q9(a,c,b);return 0}function Wwc(a,b){var c,d;c=b;d=new yxc;Ywc(a,c,d);return d.d}function Dhb(a,b){var c,d;for(c=b.b;c;){d=c.d;Chb(a,c,b);c=d}}function Evc(a){var b;b=a.c.b.b;a.b=b;a.a=a.c.b;b.a=a.c.b.b=a}function Keb(a,b){if(!a.c){Meb(a,b);o3b(a.c,53,a.b)}return a.c}function Uxb(a){if(a.n.isEmpty())return a;return Exb(a,a.a.i)}function Xzb(a,b,c){nAb(a,b,c);return oe(b.d==(vxb(),uxb)),b.b}function fAb(a,b,c,d){if(!b)return null;return eAb(a,b.a,c,d)}function up(a,b,c,
d){ie(b);ie(c);ie(d);return tp(a,b).put(c,d)}function gAb(a,b,c){oAb(a,b,c);return oe(b.a==(QEb(),PEb)),b.b}function nx(a){Go.call(this,a);ie(a);this.a=(bqc(),new Rsc(a))}function Nz(a,b){Gz(this);this.e=b;this.f=a;Hz(this);this.rf()}function qfb(){pfb(this);this.e=true;this.g=new Lp;this.f=this}function P9(a,b,c,d){this.b=a;O9.call(this,a,c,d);this.a=ie(b)}function F2b(a,b,c){be(!b.d,QIc);be(!b.f,RIc);b.f=b;J2b(a,b,c)}function aCb(a){return!wEb(a.a,wEc)&&!vEb(a.a)&&!wEb(a.a,HFc)}function ZCb(a){return mDb(a.a.t,
a,null,null,null,false,a.a.i)}function dJb(a,b){return!b?null:new B2b(b,!a.g?null:a.g.Hg())}function Tyc(a,b){b.c.length==0&&$yc(b,new kzc);Qlc(a.a,b.c,b)}function Zic(a,b){var c=a.a=a.a||[];return c[b]||(c[b]=a.rj(b))}function usc(a,b){var c;c=a.b.Nd(b);vsc(c,a.b.size());return c}function Xu(a,b){var c,d;d=Zu(a,b);c=a.a.Pd(d);return new kv(c)}function xu(a){Mt(a.c);a.e=a.a=a.c;a.c=a.c.c;++a.d;return a.a.f}function yu(a){Mt(a.e);a.c=a.a=a.e;a.e=a.e.e;--a.d;return a.a.f}function sZ(a){if(a.r){a.hg(";");
a.xg()}a.jg();a.qg();a.r=false}function eoc(a,b){if(Wnc(a,b)){xoc(a);return true}return false}function nq(a,b,c){Eoc(a.b,(bl(b,c),Av(),new Yp(b,c)));return a}function ur(a,b,c){Eoc(a.b,(bl(b,c),Av(),new Yp(b,c)));return a}function $V(a,b){yW((f8b(),e6b),b);sW(b.b);_V(a,b.b?b.b.f:null)}function kab(a,b){var c;Ihb(a.a,b,a);T0(a.a,(lm(),c=a.b,yo(c)))}function yxb(a,b,c,d){exb.call(this,a,b,d);ie(b);ie(c);this.a=c}function IA(a,b,c,d){CA.call(this,a);this.c=b;this.d=c;this.b=d}function _sb(a,b,c,d){$sb();
this.d=a;this.e=b;this.f=c;this.c=d}function jrb(){Vkb.call(this,"Es6RenameVariablesInParamLists")}function rrb(){Vkb.call(this,"es6ConvertSuperConstructorCalls")}function x5(){v5();return QC(LC(vJ,1),SAc,127,0,[r5,t5,s5,u5])}function gf(){ef();return QC(LC(tE,1),SAc,132,0,[bf,af,cf,df])}function E2(){C2();return QC(LC(YI,1),SAc,181,0,[z2,A2,B2,y2])}function YCb(a,b){return mDb(a.a,b,null,a,null,a.c,(xCb(),vCb))}function Qlc(a,b,c){return b==null?Muc(a.d,null,c):avc(a.e,b,c)}function igc(a,b,c,d){a.b=
false;ur(a.c,b,new lgc(c,d));return a}function O3b(a,b,c,d){var e;e=new dlc;N3b(a,e,b,c,d);return e.a}function G0b(a,b){var c;c=(be(b>=0,OIc),1<<b);return(c&a.o)!=0}function clc(a,b,c){a.a=Hkc(a.a,0,b)+(""+c)+Gkc(a.a,b);return a}function D$b(a){if(!E$b(a))return a.j==(f8b(),B7b);return true}function y_b(a){if(!a.d||!a.d.e)return 0;return a.d.e.a.length}function Yf(a){if(a.b>=a.c)throw BU(new Dwc);return eq(a,a.b++)}function S0(a,b){je(b,"the error manager cannot be null");a.f=b}function Er(a,b){Br();
ie(a);return ie(a),Fr(a,new urc(b.b.Md()))}function Sc(a,b,c,d){return Tc(a,(ie(d),new tmc(new Ld(d,b,c))))}function a2(a,b){return zo(new kpc(Wq(Wq((lm(),new Xq),a),b).a))}function N0(a,b,c){!a.t&&(a.t=new luc);c.b=a;return Plc(a.t,b,c)}function U3(a,b){var c,d;for(d=b.Md();d.Ed();){c=d.Fd();T3(a,c)}}function cW(a){var b;yW((f8b(),m6b),a);for(b=a.b;b;b=b.d)bW(b)}function jW(a){var b;yW((f8b(),F6b),a);for(b=a.b;b;b=b.d)iW(b)}function gjb(a){return a.j==(f8b(),n6b)&&a.b.j==n5b&&fjb(a.b.b)}function Rib(a){Shb();
return a.j==(f8b(),G5b)&&!!a.e&&a.e.j==r6b}function xxb(){vxb();return QC(LC(fN,1),SAc,246,0,[txb,sxb,uxb])}function VDb(){TDb();return QC(LC(EN,1),SAc,244,0,[QDb,RDb,SDb])}function BAb(){zAb();return QC(LC(nN,1),SAc,224,0,[xAb,wAb,yAb])}function rGb(){pGb();return QC(LC(ON,1),SAc,221,0,[oGb,mGb,nGb])}function SEb(){QEb();return QC(LC(JN,1),SAc,245,0,[OEb,NEb,PEb])}function fKb(){dKb();return QC(LC(VN,1),SAc,243,0,[bKb,cKb,aKb])}function oub(){mub();return QC(LC(PM,1),SAc,218,0,[lub,kub,jub])}function N2(){N2=
aV;L2=new O2("BROWSER",0);M2=new O2("CUSTOM",1)}function o_(){o_=aV;m_=new p_("INHERITS",0);n_=new p_("MIXIN",1)}function pcc(){ncc();return QC(LC(kR,1),SAc,228,0,[kcc,lcc,mcc])}function Rgc(){Pgc();return QC(LC(KR,1),SAc,159,0,[Mgc,Ngc,Ogc])}function szc(a){return a.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}function zSb(a){return ASb(a)||/\d/.test(String.fromCharCode(a))}function iSb(a){while(ySb(PRb(a,a.d)?lkc(a.e.a,a.d):0))QRb(a)}function QRb(a){if(!PRb(a,a.d))return 0;return lkc(a.e.a,a.d++)}function N_b(a){if(!a.d||
!a.d.s)return dx(),cx;return In(a.d.s)}function W2b(a,b){var c;c=j3b(a,b);if(!c)return 0;return c.oi()}function QU(a){var b;if(IU(a)){b=a;return b==-0?0:b}return oD(a)}function uV(a,b){if(!a.b)return b;return(BV(),wV).a+(""+b)+zV.a}function ZIb(a,b,c,d){a.b.jh(f5b(b,null),!a.g?null:a.g.Hg(),c,d)}function qic(a){oic.call(this,a==null?FAc:dV(a),DD(a,39)?a:null)}function _qb(){Vkb.call(this,"Es6RewriteBlockScopedDeclaration")}function Rq(){Sq.call(this,kw(fw((cl(8,"expectedKeys"),new hw))))}function Vx(a,
b){Rp.call(this,iqc(ie(a),ie(b)));this.b=a;this.c=b}function $B(a){YB();WB.call(this,a);this.a="";this.b=a;this.a=""}function vZ(a){if(a.r){a.hg(";");a.xg();a.qg();a.r=false}a.s=true}function V1(a){if(!a.a||!a.a.Kg())return false;return a.a.Kg().d}function onb(a){ie(a);this.a=a;this.b=new koc;Unc(this.b,new tnb)}function gx(a){Mm();this.a=(bqc(),DD(a,76)?new Nsc(a):new zrc(a))}function azb(a){vyb();return izb(a.a,2,(lm(),new cy(a)),null,syb)}function Ihb(a,b,c){ohb();var d;d=new Hhb(a,c,new p8(a));
Bhb(d,b)}function WKb(a,b,c){var d;YKb();d=UKb;return new jGb(d,b,VKb,a,c)}function ARb(a,b,c,d){!b?_Kb(a.c,NRb(a.j),c,d):_Kb(a.c,b.b.b,c,d)}function YRb(a,b,c){XRb(a,ORb(a,a.b.b==0?a.d:VRb(a,0).b.b.c),b,c)}function usb(a,b,c){_kc(_kc(_kc(_kc((a.a+="@",a),b)," {"),c),"}")}function Wdc(a,b,c){t8b();nbc.call(this,a,wEc,b,c,null,true,true)}function Zkc(a,b,c,d){a.a+=""+Hkc(b==null?FAc:dV(b),c,d);return a}function aPb(a,b){if(VRb(a.j,0).c==b)return YOb(a,b);return null}function Vnc(a,b){Yzc(b);a.a[a.c]=
b;a.c=a.c+1&a.a.length-1;Ync(a)}function Unc(a,b){Yzc(b);a.b=a.b-1&a.a.length-1;a.a[a.b]=b;Ync(a)}function ipc(a){Wzc(a.a<a.c.a.length);a.b=a.a++;return a.c.a[a.b]}function lyc(a,b){if(b==null)throw BU(new Zjc);return Jlc(a.a,b)}function myc(a,b){if(b==null)throw BU(new Zjc);return Mlc(a.a,b)}function he(a,b){if(a<0||a>=b)throw BU(new lic(Zd(a,b)));return a}function ne(a,b,c){if(a<0||b<a||b>c)throw BU(new lic(_d(a,b,c)));}function czc(a,b,c){azc(a);Yyc(a,b,"Failed to parse sourcemap",c)}function Bkc(a,
b,c){c=Pkc(c);return a.replace(new RegExp(b,"g"),c)}function lAb(a,b,c,d,e){if(!b)return null;return mAb(a,b.a,c,d,e)}function IDb(a,b,c,d){ae(!!b);this.c=a;this.d=b;this.b=c;this.a=d}function ijb(a){Shb();return a.j==(f8b(),D7b)||a.j==G5b||a.j==Z6b}function Mib(a){Shb();return a.j==(f8b(),q6b)||a.j==p6b&&T2b(a)==3}function jib(a){Shb();be(a.j==(f8b(),r6b),a);return a.b?a.b.f:null}function HDb(a){return a.a==(TDb(),SDb)?a:new IDb(a.c,a.d,a.b,SDb)}function DV(){BV();return QC(LC(sI,1),SAc,168,0,[xV,
AV,yV,wV,zV])}function b3(){_2();return QC(LC(aJ,1),SAc,165,0,[X2,$2,Y2,Z2,W2])}function H3(){F3();return QC(LC(eJ,1),SAc,164,0,[A3,D3,B3,E3,C3])}function aic(){throw BU(new klc("File.getPath not implemented"));}function Wz(){throw BU(new klc("Files.toString not implemented"));}function NGb(a,b){if(!hHb(b))return null;return MGb(a,JGb(a,b.o))}function VRb(a,b){while(a.b.b<=b)$vc(a.b,dSb(a));return Zt(a.b,b)}function nJb(a,b,c){a.o=!a.o?IKb(a.j):eJb(a);return a.o==b||a.o==c}function eVb(a,b,c){UUb.call(this,
(vYb(),SWb),a);this.b=b;this.a=c}function hVb(a,b,c){UUb.call(this,(vYb(),VWb),a);this.b=b;this.a=c}function FVb(a,b,c){UUb.call(this,(vYb(),iXb),a);this.b=b;this.a=c}function IVb(a,b,c){UUb.call(this,(vYb(),lXb),a);this.b=b;this.a=c}function KVb(a,b,c){UUb.call(this,(vYb(),nXb),a);this.b=b;this.a=c}function pWb(a,b,c){UUb.call(this,(vYb(),BXb),a);this.b=b;this.a=c}function qWb(a,b,c){UUb.call(this,(vYb(),CXb),a);this.b=b;this.a=c}function uWb(a,b,c){UUb.call(this,(vYb(),GXb),a);this.b=b;this.a=c}
function vWb(a,b,c){UUb.call(this,(vYb(),HXb),a);this.b=b;this.a=c}function yWb(a,b,c){UUb.call(this,(vYb(),LXb),a);this.b=b;this.a=c}function AWb(a,b,c){UUb.call(this,(vYb(),NXb),a);this.b=b;this.a=c}function GWb(a,b,c){UUb.call(this,(vYb(),TXb),a);this.b=b;this.a=c}function yYb(a,b,c){UUb.call(this,(vYb(),VXb),a);this.b=b;this.a=c}function GYb(a,b,c){UUb.call(this,(vYb(),bYb),a);this.b=b;this.a=c}function HYb(a,b,c){UUb.call(this,(vYb(),cYb),a);this.b=b;this.a=c}function NYb(a,b,c){UUb.call(this,
(vYb(),jYb),a);this.a=b;this.b=c}function QYb(a,b,c){UUb.call(this,(vYb(),iYb),a);this.a=b;this.b=c}function zYb(a,b,c){UUb.call(this,(vYb(),WXb),a);this.a=b;this.b=c}function GVb(a,b,c){UUb.call(this,(vYb(),jXb),a);this.a=b;this.b=c}function gVb(a,b,c){UUb.call(this,(vYb(),UWb),a);this.a=b;this.b=c}function wVb(a,b,c){UUb.call(this,(vYb(),_Wb),a);this.a=b;this.b=c}function jWb(a,b,c){UUb.call(this,(vYb(),vXb),a);this.a=b;this.b=c}function sWb(a,b,c){UUb.call(this,(vYb(),EXb),a);this.a=b;this.b=c}
function UYb(a,b,c){UUb.call(this,(vYb(),qYb),a);this.a=b;this.b=c}function RYb(a,b,c){UUb.call(this,(vYb(),mYb),a);this.b=b;this.a=c}function XYb(a,b,c){UUb.call(this,(vYb(),sYb),a);this.b=b;this.a=c}function YYb(a,b,c){UUb.call(this,(vYb(),tYb),a);this.b=b;this.a=c}function ZYb(a,b,c){UUb.call(this,(vYb(),uYb),a);this.b=b;this.a=c}function pfc(a,b,c){var d;d=a.b.pe(b);!!d&&dfc(c,d.a);a.b.put(b,c)}function Emc(a,b,c){_zc(b,c,a.size());this.c=a;this.a=b;this.b=c-b}function smc(a){aAc(a.c!=-1);a.d.removeAtIndex(a.c);
a.b=a.c;a.c=-1}function w_b(a,b){if(!a.b||!a.b.e)return null;return pvc(a.b.e,b)}function K_b(a,b){if(!a.b||!a.b.j)return null;return pvc(a.b.j,b)}function G_b(a,b){if(!a.d||!a.d.n)return null;return pvc(a.d.n,b)}function $fc(a,b,c,d,e){if(a.a)return false;return Bac(a,b,c,d,e)}function $wc(a,b){var c;c=1-b;a.a[c]=_wc(a.a[c],c);return _wc(a,b)}function KOb(a,b){var c;c=ppc(a.a,b);if(c>=0)return c;return-c-2}function h$b(a){var b;oe(D$b(a));b=new W3b((f8b(),G5b),a);return b}function Nkb(a,b,c){var d;
d=c.e;oe(!!d);oe(b3b(d,b));Jhb(a.b,a,b,c)}function jC(a,b,c){var d;d=hC();try{return gC(a,b,c)}finally{kC(d)}}function o9(a,b,c){return c?Whb(b,a.b,a.d):(Shb(),Xhb(b,false,a.a))}function Kwb(a,b){return new Mwb(a.a,a.f,a.d,a.g,a.i,a.c,b,a.j,a.b)}function NIb(a,b){return!b?XGb(a.a,(f8b(),_6b),BHc):oIb(a,b,false)}function vJb(a,b){return b==(BKb(),uKb)?oJb(a,(f8b(),w7b)):uJb(a,b)}function fSb(a){while(FSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)>=0)QRb(a)}function mSb(a){while(GSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)>=
0)QRb(a)}function pl(a){eg.call(this);this.a=new loc(a.length);cqc(this.a,a)}function H4(a){A4();Jlc(z4,a)||Plc(z4,a,new D4(a));return Mlc(z4,a)}function NZb(a){if(a.b>=a.c)throw BU(UZb(a));return lkc(a.a,a.b++)}function Q_b(a,b){if(!a.d||!a.d.n)return false;return ovc(a.d.n,b)}function Z_b(a,b){if(!a.d.q)return false;return Ioc(a.d.q,b,0)!=-1}function g$b(a,b,c){pe(C$b(b),b);pe(C$b(c),c);return new Y3b(a,b,c)}function LOb(a,b){var c;c=KOb(a,b);return new dZb(a.b,b,c,b-a.a[c])}function Y2b(a,b){var c;
c=j3b(a,b);if(!c)return null;return c.qi()}function Om(a){var b;b=(ie(a),new Roc((el(),a)));hqc(b);return hn(b)}function ps(a){Zr();return Ukc(Rc((el(),dl),Ukc(new dlc,91),a),93).a}function Q8b(a,b){t8b();return!a||!b?a==b:u8b(a,b,0,new gcc(true))}function yg(a,b,c,d){return DD(c,76)?new aj(a,b,c,d):new Ri(a,b,c,d)}function BRb(a,b,c){!b?_Kb(a.c,NRb(a.j),EIc,c):_Kb(a.c,b.o.b,EIc,c)}function glb(a,b,c){Unc(a.f,new mlb(b,c));qkc(b,vDc)||(a.d.a=false)}function dB(a){Tkc(a.b,34);mB(new oB(a.j),a);Tkc(a.b,
59);Tkc(a.b,34)}function _V(a,b){var c;yW((f8b(),f6b),b);for(c=b.b;c;c=c.d)CW(a,c)}function mW(a,b){var c;yW((f8b(),N6b),b);for(c=b.b;c;c=c.d)lW(a,c)}function AW(a,b){var c;yW((f8b(),m7b),b);for(c=b.b;c;c=c.d)BW(a,c)}function wW(a,b){switch(b.j.f){case 29:sW(b);break;case 26:gW(a,b)}}function KHb(a,b,c){if(c){RHb(a,c,(wNb(),ZMb));o3b(b,81,iHb(a.a,c))}}function h9(a,b,c,d){if(!b||b==c)return;h9(a,b.d,c,d);i9(a,b.b,c,d)}function Rbc(a,b,c){Gac.call(this,a,null,null,c,b.v);ie(b);this.a=b}function lxc(a){mxc.call(this,
a,(Pxc(),Lxc),null,false,null,false)}function qxc(a){rxc.call(this,a,(Pxc(),Lxc),null,false,null,false)}function Bnb(a){wnb();Cnb.call(this,a,Gnb(lnb("js/polyfills.txt")))}function qgc(a,b){t8b();vfc.call(this,a,Ldc(a,(tdc(),pdc)));this.a=b}function MLb(a,b,c,d,e){this.f=a;this.b=b;this.a=c;this.d=d;this.c=e}function ymc(a,b){this.a=a;tmc.call(this,a);$zc(b,a.size());this.b=b}function l2(a){this.b=new axc;this.c=new Poc;this.d=new Poc;this.a=a}function y8b(a){throw BU(new TB(a.Hj+" must implement hashCode()."));
}function L$b(a){oe(a.j==(f8b(),_6b)||a.j==z7b);return new W3b(r7b,a)}function rmc(a){Wzc(a.b<a.d.size());return a.d.getAtIndex(a.c=a.b++)}function lwc(a){Wzc(a.b!=a.d.c);a.c=a.b;a.b=a.b.a;++a.a;return a.c.c}function OZb(a){while(WZb(a.b<a.c?lkc(a.a,a.b):-1))NZb(a);return-1}function $dc(a,b){var c,d;c=b.c;d=c.Ui(a);if(d!=c)return d;return b}function me(a,b){if(a<0||a>b)throw BU(new lic($d(a,b,QAc)));return a}function _ic(a){if(a.vj())return null;var b=a.n;var c=ZU[b];return c}function hs(a){Zr();
var b;while(true){b=a.Fd();if(!a.Ed())return b}}function Um(a){Mm();var b;if(DD(a,70)){b=a;return b.Oe()}return Sm(a)}function t4(a,b){var c;c=b.b-a.b;if(c!=0)return c;c=a.c-b.c;return c}function gib(a,b){Shb();var c;c=a;while(!!c&&!b.Hd(c))c=c.e;return c}function Jhb(a,b,c,d){ohb();var e;e=new Hhb(a,b,new p8(a));Fhb(e,c,d)}function F4(a,b){A4();var c;this.a=a;this.b=(lm(),c=new Upc(b),yo(c))}function Of(a,b,c){this.a=c;this.f=a.d;this.d=a.b;this.b=a.a;this.e=b}function dzb(a,b){vyb();return 0==a.$h()||
0==b.$h()||0!=jzb(a,b).$h()}function iWb(){gWb();return QC(LC(gP,1),SAc,196,0,[dWb,eWb,fWb,cWb])}function Txc(){Pxc();return QC(LC(dU,1),SAc,141,0,[Lxc,Mxc,Nxc,Oxc])}function rr(a){lr();return Av(),new bxc((DD(a,190)?a:new kl(a)).Je())}function kSb(a){while(Aic(PRb(a,a.d)?lkc(a.e.a,a.d):0,16)>=0)QRb(a)}function R3b(a,b){var c;Q3b(a,b);for(c=a.b;c;c=c.d)R3b(c,b);return a}function T3b(a,b){var c;S3b(a,b);for(c=a.b;c;c=c.d)T3b(c,b);return a}function j3b(a,b){var c;c=a.g;while(!!c&&b!=c.ri())c=c.pi();
return c}function P9b(a,b,c,d){var e;e=a.ij(b,c,false,d);Rdc(a.u,b,a);return e}function a0b(a){if(!a.c)return false;!a.b&&(a.b=new C0b);return true}function I_b(a){if(!a.d||!a.d.q)return Mm(),Mm(),Lm;return Um(a.d.q)}function Mdc(a,b){var c;c=Nlc(a.j,b);if(c)return c;return Nlc(a.g,b)}function Vtc(a){var b;b=uzc(a.b,a.b.length);return new $tc(a.a,b,a.c)}function Ah(a,b){var c;c=b.ye();return Av(),new Yp(c,xg(a.b,c,b.ze()))}function Kr(a,b){var c;ie(a);return gs((c=a.a.oe().Md(),new Qmc(c)),b)}function It(a,
b){var c;c=jqc(Mu(new zu(a,b)));bs(new zu(a,b));return c}function a6(a,b){var c;a.a=false;c=new d6(a);Ihb(a.b.a,b,c);return a.a}function ozc(a,b){this.d=a;this.c=b;this.e=null;this.b=false;this.a=0}function tzc(a,b,c,d){Array.prototype.splice.apply(a,[b,c].concat(d))}function Czc(){var a=console.groupEnd||function(){};a.call(console)}function Cyc(){Cyc=aV;yyc=new Gyc;zyc=new Jyc;Ayc=new Myc;Byc=new Pyc}function YX(){YX=aV;VX=new ZX(UBc,0);XX=new ZX(VBc,1);WX=new ZX(WBc,2)}function _mb(){_mb=aV;$mb=
new anb(WBc,0);Zmb=new anb("ALL_UNQUOTED",1)}function vyb(){vyb=aV;tyb=(lm(),lx(),kx);syb=(null,kx);uyb=new Wc("|")}function Swb(a){var b;b=new qyb(a);lyb(b,a.G);myb(b,a.G);return oyb(b)}function yPb(a){if(iRb(a,0,(MUb(),mUb)))return UQb(a);return xPb(a,1)}function Qwb(a,b){if(!a)return b;else if(!b)return a;return gzb(a,b)}function Rwb(a,b){if(!a)return b;else if(!b)return a;return jzb(a,b)}function uAb(a){if(a.b)return a.b.Fd();++a.a;return S2b(a.c,a.a).hi()}function cZb(a){if(!a.d)return"";return Lr(Df(Jf(new nc(47)),
a.d.c))}function x_b(a){if(!a.d||!a.d.e)return Mm(),Mm(),Lm;return jqc(a.d.e)}function z_b(a){if(!a.d||!a.d.f)return Mm(),Mm(),Lm;return jqc(a.d.f)}function J_b(a){if(!a.d||!a.d.r)return Mm(),Mm(),Lm;return jqc(a.d.r)}function UBb(a){oe(a.a.f);if(!a.a.o)return null;return $Bb(a.a.o,a.b)}function guc(a){Wzc(a.a<a.c.a.length);a.b=a.a;euc(a);return a.c.b[a.b]}function Wq(a,b){var c;if(b){c=b;a.a.a.length+c.size()}Xp(a,b);return a}function wg(a,b){var c,d;c=Hv(a.c,b);if(c){d=c.size();c.clear();a.d-=d}}
function pkc(a,b){var c;c=b.length;return qkc(a.substr(a.length-c,c),b)}function Ghb(a,b){ohb();Hhb.call(this,a,b,q3(a.v)?new p8(a):new tqb(a))}function wjb(a){Shb();return Q3b((oe(C$b(a)),new W3b((f8b(),n6b),a)),a)}function Idc(a,b){return ovc(a.b,b)?pvc(a.b,b).values():(Mm(),Mm(),Lm)}function z8b(a){return a.Ci()||a.Ai()||a.Bi()||Ldc(a.u,(tdc(),Icc))==a}function Eyb(a){return a.$h()==2&&a._h().size()==1?js(a._h().Md()):null}function n9(a,b,c){return b.j==(f8b(),_6b)&&(Gib(b,a.d)||ruc(c,b.hi()))}
function g4b(a,b){return a<0||b<0?-1:(b&-4096)!=0?a<<12|QBc:a<<12|b&QBc}function u$b(a,b){oe(C$b(a));oe(C$b(b));return new Y3b((f8b(),w6b),a,b)}function e$(a,b){if(Y2b(b,78)){pZ(a.c,":");a.c.wg();a.Bg(Y2b(b,78),4)}}function xA(a,b){b.a.length==0?Eoc(a.i.c,null):Eoc(a.i.c,b);++a.b;a.c=0}function awc(a,b,c,d){var e;e=new uwc;e.c=b;e.b=c;e.a=d;d.b=c.a=e;++a.b}function qtb(a,b,c,d){$sb();_sb.call(this,a,b,c,d);this.b=null;this.a=c}function tvc(){luc.call(this);mvc(this);this.b.b=this.b;this.b.a=this.b}
function evc(a){this.d=a;this.b=this.d.a.entries();this.a=this.b.next()}function zu(a,b){var c;this.f=a;this.b=b;c=Mlc(a.b,b);this.c=!c?null:c.b}function pq(a,b){var c,d;for(d=b.Md();d.Ed();){c=d.Fd();a.gf(c)}return a}function NPb(a){var b;YOb(a,(MUb(),TTb));b=xPb(a,1);YOb(a,YSb);return b}function os(a){Zr();var b;b=0;while(bg(a)){cg(a);b=CU(b,1)}return aA(b)}function Eb(a){a.i=3;a.g=Mf(a);if(a.i!=2){a.i=0;return true}return false}function Hz(a){if(a.j){a.backingJsObject!==xBc&&a.rf();a.g=null}return a}
function Vzc(a){if(a<0)throw BU(new Yjc("Negative array size: "+a));}function Gjc(a,b){if(b==10||b<2||b>36)return""+a;return a.toString(b)}function bC(){if(Date.now)return Date.now();return(new Date).getTime()}function iC(b){fC();return function(){return jC(b,this,arguments);var a}}function $ib(a){Shb();return!!a&&(a.j==(f8b(),_7b)||a.j==T6b||a.j==T5b)}function sVb(){qVb();return QC(LC(HO,1),SAc,175,0,[lVb,oVb,nVb,pVb,mVb])}function d1b(){b1b();return QC(LC(JQ,1),SAc,170,0,[$0b,Z0b,_0b,a1b,Y0b])}
function bob(a){a=szc(a);return rzc(Bkc(a,"\\{\\d+\\}","\\\\E.*\\\\Q"))}function kC(a){a&&rC((pC(),oC));--cC;if(a)if(eC!=-1){mC(eC);eC=-1}}function WV(a,b,c){var d;yW((f8b(),P5b),b);for(d=b.b;d;d=d.d)VV(a,d,c)}function Slb(a,b){var c;Rlb(a,b);for(c=b.b;c;c=c.d){oe(c.e==b);Slb(a,c)}}function W8(a,b){var c;if(!b.b){c=G$b(b.hi());S3b(c,b);H2b(b,c);R0(a.a)}}function pcb(a,b,c){var d;quc(a.a,b);d=Y2b(c,51);!!d&&d.Kh()&&quc(a.i,b)}function AMb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)}
function aJb(a,b,c,d){a.b.jh(EHc+f5b(b,null)+FHc,!a.g?null:a.g.Hg(),c,d)}function e1b(a,b){if(m_b(a.a,b)){a.d=true;return true}else return false}function g1b(a,b){if(q_b(a.a,b)){a.d=true;return true}else return false}function D1b(a,b){if(c_b(a.a,b)){a.d=true;return true}else return false}function F1b(a,b){if(o_b(a.a,b)){a.d=true;return true}else return false}function J1b(a,b){if(d_b(a.a,b)){a.d=true;return true}else return false}function w1b(a,b){if(d0b(a.a,b)){a.d=true;return true}else return false}
function j2b(a,b){if(s0b(a.a,b)){a.d=true;return true}else return false}function f2b(a,b){if(r_b(a.a,b)){a.d=true;return true}else return false}function k2b(a,b){if(i_b(a.a,b)){a.d=true;return true}else return false}function s2b(a,b){if(t_b(a.a,b)){a.d=true;return true}else return false}function N1b(a){if(!T_b(a.a)){g0b(a.a);a.d=true;return true}return false}function O1b(a){if(!U_b(a.a)){h0b(a.a);a.d=true;return true}return false}function P1b(a){if(!V_b(a.a)){i0b(a.a);a.d=true;return true}return false}
function Q1b(a){if(!W_b(a.a)){j0b(a.a);a.d=true;return true}return false}function dg(a){a.d=3;a.c=a.Wd();if(a.d!=2){a.d=0;return true}return false}function AA(a,b){if(PA(a.a)&&RA(a.a)==b){QA(a.a);return true}return false}function svc(a,b){var c;c=Rlc(a.c,b);if(c){Fvc(c);return c.e}return null}function Joc(a,b,c){for(;c>=0;--c)if(Ewc(b,a.a[c]))return c;return-1}function Moc(a,b,c){var d;d=(Xzc(b,a.a.length),a.a[b]);a.a[b]=c;return d}function spc(a,b){var c,d;c=(d=a.slice(0,b),RC(d,a));c.length=b;return c}
function WBb(a,b){var c;c=kEb(a.a,b);if(!c)return null;return Syb(c,a.b)}function nz(a,b){var c;if(DD(b,251)){c=b;return vpc(a.c,c.c)}return false}function TC(a){var b,c,d;b=a&LBc;c=a>>22&LBc;d=a<0?MBc:0;return VC(b,c,d)}function G0(a){a.H.nd!=(F3(),C3)&&!!a.U&&glb(a.U,vDc,true);return new Fqb}function M4b(a){if(a.c)return M4b(new O4b(a.b));else{a.c=true;return a}}function as(a){if(a<0)throw BU(new lic(pBc+a+") must not be negative"));}function Hzc(){if(Date.now)return Date.now();return(new Date).getTime()}
function Y$b(a,b){oe(b.j==(f8b(),G5b));oe(C$b(a));return new Y3b(c8b,a,b)}function y$b(a,b){oe(C$b(a));oe(b.j==(f8b(),G5b));return new Y3b(B6b,a,b)}function v$b(a,b){oe(C$b(a));oe(b.j==(f8b(),J7b));return new Y3b(x6b,a,b)}function ds(a,b){Zr();return ks(a,(ze(),b==null?(ef(),cf):new Ge(b)))!=-1}function BEb(a,b,c){var d;return!!c&&(d=Y2b(c,51),!!d&&d.Kh())&&qkc(a,b)}function aX(a,b,c){_xc(a.d,new dX(c,b))&&(b==(YX(),VX)?++a.c:b==XX&&++a.e)}function Tlc(a){var b;a.d=new Ouc(a);a.e=new cvc(a);b=a[gJc]|
0;a[gJc]=b+1}function Vic(a,b,c){var d;d=Tic(a);fjc(a,d);d.g=c?8:0;d.f=b;d.e=c;return d}function tp(a,b){var c;c=pvc(a.a,b);if(!c){c=Gp(a.b);qvc(a.a,b,c)}return c}function Ceb(a,b){var c;c=Mlc(a.a,b);if(!c){c=peb(b);Plc(a.a,b,c)}return c}function tx(a,b){var c;c=false;while(b.Ed())c=c|a.remove(b.Fd());return c}function QV(a,b){var c;yW((f8b(),J5b),b);qW(b);for(c=b.b;c;c=c.d)dW(a,c)}function xW(a,b){var c;yW((f8b(),f7b),b);qW(b);for(c=b.b;c;c=c.d)dW(a,c)}function PV(a,b){var c;yW((f8b(),G5b),b);for(c=
b.b;c;c=c.d)NW(a,c,false)}function ssb(a,b,c){j$.call(this,a,b);ie(c);this.b=c;this.a=new feb(false)}function r9(a,b,c,d){ie(a);ie(b);ie(c);this.a=a;this.c=b;this.b=c;this.d=d}function Mwc(a,b){this.b=LAc;this.d=a;this.e=b;this.c=this.d+(""+this.e)}function Koc(a,b){var c;c=(Xzc(b,a.a.length),a.a[b]);zzc(a.a,b,1);return c}function pvc(a,b){var c;c=Mlc(a.c,b);if(c){rvc(a,c);return c.e}return null}function gbc(a,b){if(qkc(CCc,b)){fbc(a);return a.f}else return ofc(a.r,b)}function E_b(a,b){if(!a.d||!a.d.n)return null;
return Kr(new Kmc(a.d.n),b)}function G$b(a){te(tkc(a,Nkc(46))==-1,tCc,a);return new U4b((f8b(),_6b),a)}function Dyb(a){return a.$h()==2&&a._h().size()==1?js(a._h().Md()).d:null}function WJb(a,b,c){return!c?null:N2b(new X3b(b,c,b4b(c.i),a4b(c.i)),a.n)}function QIb(a,b,c){return!c||c.isEmpty()?SGb(a.a,(f8b(),d6b)):PIb(a,b,c)}function A0b(a,b){if(a)return b?new B2b(O2b(a.a,false),a.b):a;return null}function P$(a,b,c){if(b)return 2;if(c||r2(a)==(o3(),h3))return 1;return 0}function rs(a){Zr();var b;ie(a);
if(DD(a,108)){b=a;return b}return new Es(a)}function zA(a){var b;if(!PA(a.a))return true;b=RA(a.a);return b==59||b==44}function Lwc(a,b){!a.a?a.a=new glc(a.d):_kc(a.a,a.b);Ykc(a.a,b);return a}function $z(a){if(a<=0)throw BU(new Geb("x ("+a+") must be > 0"));return a}function Flc(){throw BU(new klc("FileSystems.getDefault not implemented"));}function teb(){this.c=new Poc;this.a=new Poc;this.d="$singleton$";this.b=-1}function Di(a,b,c,d){this.f=a;this.e=b;this.d=c;this.b=d;this.c=!d?null:d.d}function tnb(){snb(this);
this.d=(ub(),ub(),tb);this.e=this;this.c=(null,tb)}function f$b(a,b){pe(i3b(a),a);pe(C$b(b),b);return new Y3b((f8b(),n5b),a,b)}function n$b(a,b){pe(C$b(a),a);pe(C$b(b),b);return new Y3b((f8b(),S5b),a,b)}function Rab(a,b,c,d){var e,f;f=Oab(a,c);Zab(f,new mbb(b,(e=d,++a.a.b,e)))}function w7(a,b,c,d){var e;b.j==c&&d.add(b);for(e=b.b;e;e=e.d)w7(a,e,c,d)}function R9(a,b,c){var d;O9.call(this,a,b,c);d=Z2b(c);d!=null&&Qlc(a.i,d,b)}function eIb(a,b){var c;c=SGb(a.a,(f8b(),n6b));H2b(c,iHb(a.a,b.a));return c}
function Pbc(a,b){var c;c=new U4b((f8b(),_6b),"");c.k=b;H2b(a.b,c);return c}function q3b(a){var b,c;c=a.b;for(b=a.b;b;b=b.d)b.e=null;a.b=null;return c}function y3b(a){var b;b=s3b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new x4b(67,1,a.g)}function E3b(a){var b;b=s3b(a,a.g,37);b!=a.g&&(a.g=b);a.g=new x4b(37,1,a.g)}function z3b(a){var b;b=s3b(a,a.g,38);b!=a.g&&(a.g=b);a.g=new x4b(38,1,a.g)}function L3b(a){var b;b=s3b(a,a.g,30);b!=a.g&&(a.g=b);a.g=new x4b(30,1,a.g)}function Iwc(a,b){var c;c=Tdb(a.a,b);if(c==null)throw BU(new Cwc);
return c}function mnc(a,b){var c,d;c=b.ye();d=a.Dj(c);return!!d&&Ewc(d.ze(),b.ze())}function mfc(a){var b;if(!a.a)return null;b=a.a.Zi();return!b?null:b.aj()}function Qoc(a){Coc(this);Szc(a>=0,"Initial capacity must not be negative")}function N2b(a,b){pe(!a.g,"Node has existing properties.");a.g=b.g;return a}function NC(a,b,c,d,e,f){var g;g=OC(e,d);e!=10&&QC(LC(a,f),b,c,e,g);return g}function fe(a,b,c){if(!a)throw BU(new Geb(ye(b,QC(LC(kS,1),NAc,1,5,[c]))));}function te(a,b,c){if(!a)throw BU(new sjc(ye(b,
QC(LC(kS,1),NAc,1,5,[c]))));}function $zc(a,b){if(a<0||a>b)throw BU(new lic("Index: "+a+", Size: "+b));}function bAc(a,b,c){if(a<0||b>c||b<a)throw BU(new hlc(pJc+a+qJc+b+oJc+c));}function Kab(a,b,c){this.f=new Poc;this.g=new luc;this.a=a;this.c=b;this.i=c}function Wx(a,b,c){Rp.call(this,iqc(ie(a),ie(b)));this.b=a;this.c=b;this.a=c}function aB(a,b,c){a.a+=",\n";a.a+='"';a.a+=""+b;a.a+='"';a.a+=":";a.a+=""+c}function Q6(a,b){N6();var c;c=b;while(c.e.j==(f8b(),O6b))c=c.e;G2b(c.e,a,c)}function vib(a){Shb();
var b;b=null;while(!b&&!!a){b=Y2b(a,51);a=a.e}return b}function rsb(a,b){if(b.Si())return ghc(b.Si(),a.b.gh((tdc(),sdc)));return b}function mzb(a,b){vyb();if(!a)return b;else if(!b)return a;return gzb(a,b)}function l_b(a,b){if(I_b(a).isEmpty()){u0b(a,b,DBc);return true}return false}function d2b(a,b,c){if(p_b(a.a,b,c)){a.d=true;return true}else return false}function m2b(a,b,c){if(s_b(a.a,b,c)){a.d=true;return true}else return false}function p2b(a,b,c){if(k_b(a.a,b,c)){a.d=true;return true}else return false}
function s9b(a,b,c,d){if(!u8b(a.b,b.b,c,d))return false;return t9b(a,b,c,d)}function Xwc(a,b){var c;c=new yxc;c.c=true;c.d=b.ze();return Ywc(a,b.ye(),c)}function FW(a,b){var c;b.j==(f8b(),d6b)?(c=T2b(b),0!=c&&$W(XBc+c,b)):dW(a,b)}function N$b(a,b){oe(a.j==(f8b(),K7b));oe(!a.b);oe(C$b(b));I2b(a,b);return a}function xxc(a,b){inc.call(this,a,b);this.a=NC($T,iBc,189,2,0,1);this.b=true}function uvc(a){Wlc.call(this,a,0);mvc(this);this.b.b=this.b;this.b.a=this.b}function N4b(a){if(!a.a)throw BU(new Dwc);
try{return a.a}finally{a.a=a.a.d}}function Xzc(a,b){if(a<0||a>=b)throw BU(new lic("Index: "+a+", Size: "+b));}function Bdc(a,b){return Hdc(a,QC(LC(oR,1),NAc,21,0,[b,Ldc(a,(tdc(),Mcc))]))}function lbb(){jbb();return QC(LC(oK,1),SAc,158,0,[dbb,gbb,ebb,fbb,ibb,hbb])}function BGb(){yGb();return QC(LC(PN,1),SAc,140,0,[sGb,tGb,uGb,vGb,wGb,xGb])}function pvb(){pvb=aV;ovb=new qvb("","",(Mm(),Mm(),Lm),(null,Lm),(dx(),cx))}function oV(){oV=aV;lV=new pV("NONE",0);nV=new pV("OTI",1);mV=new pV("NTI",2)}function R0(a){var b,
c;for(c=new kpc(a.a);c.a<c.c.a.length;){b=ipc(c);b.fg()}}function aqb(a,b,c){var d,e,f;d=c.hi();e=rhb(b);f=e.Bh(d);return ruc(a.a.f,f)}function Gjb(a,b,c){var d;b.rh(a);if(c.Hd(a))for(d=a.b;d;d=d.d)Gjb(d,b,c)}function LU(a){var b;if(IU(a)){b=0-a;if(!isNaN(b))return b}return EU(jD(a))}function gJb(a,b){if(b==(BKb(),gKb)){a.i=(dKb(),bKb);return b}return fJb(a,b)}function zVb(a,b,c,d){UUb.call(this,(vYb(),cXb),a);this.a=b;this.c=c;this.b=d}function nWb(a,b,c,d){UUb.call(this,(vYb(),zXb),a);this.a=b;
this.c=c;this.b=d}function BVb(a,b,c,d){UUb.call(this,(vYb(),eXb),a);this.a=b;this.b=c;this.c=d}function bVb(a,b,c,d){UUb.call(this,(vYb(),PWb),a);this.a=b;this.b=c;this.c=d}function MYb(a,b,c,d){UUb.call(this,(vYb(),hYb),a);this.a=b;this.b=c;this.c=d}function TYb(a,b,c,d){UUb.call(this,(vYb(),oYb),a);this.b=b;this.c=c;this.a=d}function VYb(a,b,c,d){UUb.call(this,(vYb(),pYb),a);this.c=b;this.a=c;this.b=d}function xVb(a,b,c,d){UUb.call(this,(vYb(),aXb),a);this.c=b;this.b=c;this.a=d}function NVb(a,
b,c,d){UUb.call(this,(vYb(),rXb),a);this.c=b;this.b=c;this.a=d}function OVb(a,b,c,d){UUb.call(this,(vYb(),sXb),a);this.c=b;this.b=c;this.a=d}function ieb(a,b,c,d){heb.call(this,a,b,b?b4b(b.i):-1,b?a4b(b.i):-1,c,null,d)}function T$b(a,b){var c;oe(C$b(b));c=new U4b((f8b(),K7b),a);I2b(c,b);return c}function b3b(a,b){var c;for(c=a.b;c;c=c.d)if(b==c)return true;return false}function yh(a,b){var c,d;c=Gv(a.a,b);if(!c)return null;d=b;return xg(a.b,d,c)}function Rd(a,b,c){var d,e;d=(e=new Wd,a.c=a.c.b=e,
e);d.c=c;d.a=ie(b);return a}function Rvc(a){$sc(a.c.a.c,a);Wzc(a.b!=a.c.a.b);a.a=a.b;a.b=a.b.a;return a.a}function W1b(a){if(X_b(a.a))return false;else{o0b(a.a);a.d=true;return true}}function e2b(a){if(Y_b(a.a))return false;else{r0b(a.a);a.d=true;return true}}function u2b(a){if(__b(a.a))return false;else{w0b(a.a);a.d=true;return true}}function Yab(a,b){var c;!a.k&&(a.k=new Poc);c=new abb(b,a);Eoc(a.k,c);return c}function OIb(a,b){var c;c=XGb(a.a,(f8b(),P6b),b.a);gHb(c,b.b.b,b.b.a);return c}function Zwb(a){var b;
b=new Xvc;ad(b,a.B.keySet());ad(b,new Kmc(a.C));return b}function RC(a,b){MC(b)!=10&&QC(pb(b),b.Ij,b.__elementTypeId$,MC(b),a);return a}function D0(a,b){a.X=new Z3(QC(LC(RM,1),NAc,178,0,[new mqb((f5(),In(e5))),b]))}function YIb(a,b,c){a.b.jh("Missing type declaration.",!a.g?null:a.g.Hg(),b,c)}function b0b(a,b){if(b.d){!a.d&&(a.d=new I0b);a.d.o|=(!b.d?null:Hjc(b.d.o)).a}}function j1b(a){return a.d&&((a.a.a&4096)!=0||(a.a.a&tDc)!=0||(a.a.a&uDc)!=0)}function IZ(a){return a==95||a==36||/[A-Z\d]/i.test(String.fromCharCode(a))}
function GD(a){return a!=null&&(typeof a===rAc||typeof a===uAc)&&!(a.Jj===eV)}function nyc(a,b,c){if(b==null||c==null)throw BU(new Zjc);return Plc(a.a,b,c)}function A8b(a,b,c){var d;d=c?new gcc(true):new gcc(false);return u8b(a,b,0,d)}function RJb(a,b,c,d,e){var f,g;if(d){g=a.j.g;f=HKb(a.j);n1b(a.e,d,b,c,g,f,e)}}function U4b(a,b){U3b.call(this,a);if(null==b)throw BU(new Geb(WIc));this.a=b}function lab(a){this.c=new sab(this);this.a=a;this.b=!a.i?new Xvc:new Zvc(a.i)}function iy(a){this.d=a;this.c=
new Tvc(new Kvc(this.d.a));this.a=(Zr(),Zr(),Yr)}function VB(a){Gz(this);this.f=!a?null:Kz(a,a.qf());this.e=a;Hz(this);this.rf()}function gqc(a){bqc();Szc(a.d.c+a.e.c==0,"map is not empty");return new Iqc(a)}function ux(a,b){var c;je(a,"set1");je(b,"set2");c=px(b,a);return new Gx(a,c,b)}function fl(a){el();cl(a,"size");return RU(JU(KU(a,8),fBc)?KU(a,8):fBc),new elc}function Qpb(a){if(a.length<=100)return a;return Hkc(a,Rpb(a,0),Rpb(a,97))+LCc}function B6(a,b){while(JD(ie(a.e))!==JD(b))a=ie((Shb(),
gib(a.e,Rhb)));return a}function Db(a){var b;if(!Cb(a))throw BU(new Dwc);a.i=1;b=a.g;a.g=null;return b}function cg(a){var b;if(!bg(a))throw BU(new Dwc);a.d=1;b=a.c;a.c=null;return b}function F$b(a){var b;oe(a.j==(f8b(),r6b));b=new U4b(W6b,nEc);H2b(b,a);return b}function Mp(a){var b;a=a>2?a:2;b=zjc(a);if(a>b){b<<=1;return b>0?b:fBc}return b}function t2b(a,b){if(!a.a.j){a.d=true;v0b(a.a,b);return true}else return false}function FSb(a){switch(a){case 48:return 0;case 49:return 1;default:return-1}}function Ckc(a,
b){var c;b=Pkc(b);c=new RegExp("^(-?)0\\.");return a.replace(c,b)}function Gpc(a,b,c,d){var e;d=(Vsc(),!d?Usc:d);e=a.slice(b,c);Hpc(e,a,b,c,-b,d)}function ge(a,b,c,d){if(!a)throw BU(new Geb(ye(b,QC(LC(kS,1),NAc,1,5,[c,d]))));}function ve(a,b,c,d){if(!a)throw BU(new sjc(ye(b,QC(LC(kS,1),NAc,1,5,[c,d]))));}function kMb(a,b,c,d,e,f){Se.call(this,a,b);this.d=c;this.c=d;this.b=e;this.a=f}function Q3b(a,b){o3b(a,40,Y2b(b,40));I3b(a,Y2b(b,51));a.i=b.i;a.c=b.c;return a}function HBb(a,b){!!b&&(a.a=b.$h()==
2&&b._h().size()==1?js(b._h().Md()).d:null)}function ohb(){ohb=aV;new k5("JSC_NODE_TRAVERSAL_ERROR",(YX(),VX),new Hlc(WDc))}function L3(){L3=aV;J3=new M3(WBc,0);I3=new M3("CHECK",1);K3=new M3("STRIP",2)}function I2(){I2=aV;G2=new J2(WBc,0);H2=new J2("ON",1);F2=new J2("AGGRESSIVE",2)}function Pxc(){Pxc=aV;Lxc=new Qxc("All",0);Mxc=new Uxc;Nxc=new Wxc;Oxc=new Zxc}function a7(a){this.e=a;this.c=new tvc;this.b=new et;this.a=new Jp;this.d=new et}function rfb(a,b,c){pfb(this);this.e=false;this.g=a;b?this.f=
this:this.f=c.f}function Wmb(){Xmb.call(this,"REGISTER_BOOLEAN",0,"goog.tweak.registerBoolean")}function xbb(){vbb();return QC(LC(qK,1),SAc,142,0,[tbb,ubb,sbb,obb,rbb,pbb,qbb])}function zub(){xub();return QC(LC(QM,1),SAc,139,0,[rub,tub,uub,pub,vub,wub,qub])}function k0(a){if(!a.f)return QC(LC(CK,1),lCc,67,0,[]);return bX(a.f,(YX(),VX))}function v0(a){if(!a.f)return QC(LC(CK,1),lCc,67,0,[]);return bX(a.f,(YX(),XX))}function ce(a,b,c){if(!a)throw BU(new Geb(ye(b,QC(LC(kS,1),NAc,1,5,[Kic(c)]))));}function de(a,
b,c){if(!a)throw BU(new Geb(ye(b,QC(LC(kS,1),NAc,1,5,[Hjc(c)]))));}function qe(a,b,c){if(!a)throw BU(new sjc(ye(b,QC(LC(kS,1),NAc,1,5,[Hjc(c)]))));}function Ioc(a,b,c){for(;c<a.a.length;++c)if(Ewc(b,a.a[c]))return c;return-1}function Ikc(a){var b,c;c=a.length;b=NC(MD,zAc,46,c,15,1);skc(a,0,c,b,0);return b}function lmc(a){var b;$sc(a.e,a);Wzc(a.b);a.c=a.a;b=a.a.Fd();a.b=kmc(a);return b}function WOb(a,b){var c,d;for(d=b.b.Md();d.Ed();){c=d.Fd();!c.b&&hPb(a,b.a,c.c)}}function dpb(a){Sob();Xob.call(this,
aic());this.a=(Dlc(),Clc).a;!!a&&(this.a=a.a)}function Odb(a,b,c){ie(a);ae(a.j==(f8b(),x6b)||bjb(a));this.a=a;this.c=b;this.b=c}function KEb(a){oe(a.a!=(QEb(),PEb));if(a.a==NEb)return null;a.a=NEb;return a.c}function gxb(a){oe(a.d!=(vxb(),uxb));if(a.d==sxb)return null;a.d=sxb;return a.e}function DEb(a,b,c,d,e){e==(xCb(),tCb)&&(e=vCb);return new zEb(a,b,c,d,1,e,false)}function EEb(a,b,c,d,e){e==(xCb(),tCb)&&(e=vCb);return new zEb(a,b,c,d,2,e,false)}function xSb(a,b,c,d){this.b=new gwc;this.c=a;this.a=
b;this.e=c;this.d=d;this.f=0}function s4b(a){var b;if(!a.a.a)throw BU(new Dwc);b=a.a.a;a.a.a=a.a.a.e;return b}function H1b(a){if((a.a.a&8)!=0)return false;else{a.a.a|=8;a.d=true;return true}}function aA(a){if(DU(a,wAc)>0)return wAc;if(DU(a,DBc)<0)return DBc;return RU(a)}function oD(a){if(gD(a,(wD(),vD))<0)return-cD(jD(a));return a.l+a.m*OBc+a.h*PBc}function yo(a){lm();var b;if(DD(a,129)&&!DD(a,250)){b=a;return b}return zo(a.Md())}function Jvc(a,b){var c;if(Ivc(a,b)){c=b.ye();svc(a.a,c);return true}return false}
function Xp(a,b){var c,d;ie(b);for(d=b.Md();d.Ed();){c=d.Fd();a.df(ie(c))}return a}function fPb(a){var b;b=null;jRb(a,(MUb(),ZSb))&&(b=(YOb(a,ZSb),YQb(a)));return b}function wlb(a){while(a.e){a=a.e;if(a.j==(f8b(),r6b)||a.j==D7b)return a}return a}function Xfb(a,b){var c;ae(b.indexOf(".")==-1);c=Tfb(a,b,false);return!c?null:c.c}function $fb(a,b){var c;oe(b.indexOf(".")==-1);c=Tfb(a,b,false);return!c?null:c.e}function jgb(a,b){ae(b.indexOf(".")==-1);return!bgb(a,b,false)&&!!a.r&&kgb(a.r,b)}function Vzb(a,
b,c,d){if(!b)return null;return fAb(a,(fFc&b.a)==kFc?b.i:null,c,d)}function Tzc(a,b){if(!a)throw BU(new Geb(dAc("Enum constant undefined: %s",b)));}function m1b(a,b,c,d,e,f){var g;if(a.b){g=new T0b;g.d=b;P0b(g,c,d,e,f);K0b(a.b,g)}}function yIb(a,b){var c;c=SGb(a.a,(f8b(),B7b));!!b.a&&H2b(c,iHb(a.a,b.a));return c}function RZb(a,b){var c,d;c=NZb(a);b.b=c;if(c==116||c==84){d=NZb(a);b.c=d}return b}function V2b(a,b){var c,d;d=a.b;c=0;while(d){if(b==d)return c;d=d.d;++c}return-1}function hQb(a){var b,c;
c=VRb(a.j,0).b.b;b=ZOb(a);return new mWb(new fZb(c,a.g),b)}function rQb(a){var b,c;c=VRb(a.j,0).b.b;b=jPb(a);return new tWb(new fZb(c,a.g),b)}function fcc(a,b,c,d){var e;e=Mlc(a.a,b);!e&&(e=new Euc);Muc(e.d,c,d);Plc(a.a,b,e)}function Chc(a){if(!a.j){a.j=Ghc(a);!a.j&&(a.j=new ohc(a.i,Um(Dhc(a))))}return a.j}function s1b(a){if((a.a.a&37)!=0)return false;else{a.a.a|=1;a.d=true;return true}}function kB(a,b){var c,d,e,f;e=a.a.b;f=b.e.b;c=a.a.a;d=b.e.a;return e==f&&c>=d||e>f}function Z0(a,b,c){var d;d=
OU(HU(Hzc()),b.a);a.H.nd!=(F3(),C3)&&!!a.U&&hlb(a.U,c,d)}function Jkc(a,b){return b==(xwc(),xwc(),wwc)?a.toLocaleLowerCase():a.toLowerCase()}function Nu(a){return DD(a,113)?Om(a):DD(a,167)?a.a:DD(a,76)?new jv(a):new $u(a)}function Sxb(a){return!a?null:a.$h()==2&&a._h().size()==1?js(a._h().Md()).d:null}function MC(a){return a.__elementTypeCategory$==null?10:a.__elementTypeCategory$}function Eub(){throw BU(new klc("JsFileParser.setIncludeGoogBase not implemented"));}function HV(){HV=aV;FV=new IV(WBc,
0);GV=new IV("UNMAPPED",1);EV=new IV("MAPPED",2)}function wD(){wD=aV;sD=VC(LBc,LBc,524287);tD=VC(0,0,NBc);uD=TC(1);TC(2);vD=TC(0)}function _e(a,b){var c;Yzc(b);c=a[":"+b];Tzc(!!c,QC(LC(kS,1),NAc,1,5,[b]));return c}function KPb(a,b){var c;c=(Mm(),new iq);while(mRb(a))gq(c,JPb(a,b));return Um(c.a)}function sJb(a,b,c,d,e,f){var g;f?g=OJb(a,b):g=LJb(a,b);RJb(a,c,d,g,e);return g}function iyb(a){if(a.j);else a.e.a.length==0?Eoc(a.i,a.a.G):Eoc(a.e,a.a.G);return a}function euc(a){var b;++a.a;for(b=a.c.a.length;a.a<
b;++a.a)if(a.c.b[a.a])return}function qC(a){var b,c;if(a.a){c=null;do{b=a.a;a.a=null;c=uC(b,c)}while(a.a);a.a=c}}function rC(a){var b,c;if(a.b){c=null;do{b=a.b;a.b=null;c=uC(b,c)}while(a.b);a.b=c}}function R2b(a){var b,c;for(b=a.b;b;){c=b.d;b.e=null;b.d=null;b.f=null;b=c}a.b=null}function Ztc(a,b){if(!!b&&a.b[b.f]==b){a.b[b.f]=null;--a.c;return true}return false}function G1b(a){if((a.a.a&32)!=0)return false;else{a.a.a|=32;a.d=true;return true}}function b2b(a){if((a.a.a&64)!=0)return false;else{a.a.a|=
64;a.d=true;return true}}function QKb(a){if((a&57296)!=0)return false;return a==10||a==13||a==8232||a==8233}function jgc(a){if(a.b)return Ldc(a.d,(tdc(),Ycc));return new bgc(a.d,tr(a.c),a.a)}function Ebc(a){return new nbc(a.d,null,new z9b(a.d,a.c,a.e,false),a.g,a.f,a.a,a.b)}function leb(a,b,c){var d;return new ieb(!a?null:(d=Y2b(a,51),!d?null:d.Hg()),a,b,c)}function uhb(a,b,c){var d;return new ieb(!a?null:(d=Y2b(a,51),!d?null:d.Hg()),a,b,c)}function Yfb(a,b){var c,d;d=(c=Sfb(a,new XDb(b),false),!c?
null:c.a);oe(!!d);return d}function ysb(a,b){var c,d;c=a;while(c){d=pvc(c.b,b);if(d)return d;c=c.a}return null}function S1(a,b){var c;c=a.a.Eg(b);if(c){oe(c.j==(f8b(),D7b));ie(Y2b(c,53))}return c}function x3b(a,b){var c;c=s3b(a,a.g,78);c!=a.g&&(a.g=c);!!b&&(a.g=new H4b(78,b,a.g))}function I3b(a,b){var c;c=s3b(a,a.g,51);c!=a.g&&(a.g=c);!!b&&(a.g=new H4b(51,b,a.g))}function mub(){mub=aV;lub=new nub(WBc,0);kub=new nub("LOCAL",1);jub=new nub("ALL",2)}function aY(){aY=aV;_X=new k5("JSC_MISSING_RETURN_STATEMENT",
(YX(),XX),new Hlc(pCc))}function V9(){throw BU(new klc("FunctionInformationMap.newBuilder not implemented"));}function Ulb(a){if(a.a)throw BU(new sjc("normalizeNodeType constraints violated"));}function pjb(a){Shb();switch(a.f){case 63:case 64:return true;default:return false}}function _s(a){var b;if(DD(a,317)){b=a;return new at(b.a)}else return Zr(),new xs(a)}function cs(a,b){Zr();ie(a);ie(b);return new Zs(new pl(QC(LC(GT,1),NAc,29,0,[a,b])))}function vlc(){tlc();return QC(LC(sS,1),SAc,135,0,[slc,
mlc,llc,nlc,qlc,olc,plc,rlc])}function Ymb(){Smb();return QC(LC(KL,1),SAc,101,0,[Pmb,Qmb,Rmb,Omb,Lmb,Kmb,Mmb,Nmb])}function Djb(a){Shb();var b;b=a.j==(f8b(),r6b)?a.b?a.b.f:null:a;return Zhb(b,S7b,Nhb)}function _Rb(a,b){if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==46){QRb(a);iSb(a)}return $Rb(a,b)}function v1b(a){if((a.a.a&256)!=0)return false;else{a.a.a|=256;a.d=true;return true}}function B1b(a){if((a.a.a&lFc)!=0)return false;else{a.a.a|=lFc;a.d=true;return true}}function C1b(a){if((a.a.a&gGc)!=0)return false;
else{a.a.a|=gGc;a.d=true;return true}}function E1b(a){if((a.a.a&tDc)!=0)return false;else{a.a.a|=tDc;a.d=true;return true}}function I1b(a){if((a.a.a&NBc)!=0)return false;else{a.a.a|=NBc;a.d=true;return true}}function Y1b(a){if((a.a.a&wFc)!=0)return false;else{a.a.a|=wFc;a.d=true;return true}}function Z1b(a){if((a.a.a&uDc)!=0)return false;else{a.a.a|=uDc;a.d=true;return true}}function v2b(a){if((a.a.a&AAc)!=0)return false;else{a.a.a|=AAc;a.d=true;return true}}function X1b(a){if((a.a.a&128)!=0)return false;
else{a.a.a|=128;a.d=true;return true}}function x8b(a){var b;if(a.t)return false;else{a.t=true;b=a.vi();a.t=false;return b}}function vvc(a){luc.call(this);mvc(this);this.b.b=this.b;this.b.a=this.b;Zg(this,a)}function Y3(a){this.e=new luc;this.b=new d4(this.e);this.c=new dyc(this.b);U3(this,a)}function vxb(){vxb=aV;txb=new wxb(JGc,0);sxb=new wxb(KGc,1);uxb=new wxb("RESOLVED",2)}function QEb(){QEb=aV;OEb=new REb(JGc,0);NEb=new REb(KGc,1);PEb=new REb("RESOLVED",2)}function x3(){x3=aV;u3=new y3("NONE",
0);w3=new y3("SENTINEL",1);v3=new y3("NORMAL",2)}function jV(){jV=aV;iV=new k5("JSC_READ_ERROR",(YX(),VX),new Hlc("Cannot read: {0}"))}function Tic(a){var b;b=new Ric;b.o="Class$"+(a?"S"+a:""+b.j);b.b=b.o;b.k=b.o;return b}function DBb(a,b,c){var d;d=new nuc(a);ID(b)?Qlc(d,b,c):Muc(d.d,b,c);return new FBb(d)}function vW(a,b,c){var d;yW((f8b(),c7b),b);for(d=b.b;d;d=d.d)c?KV(a,d):NW(a,d,false)}function v3b(a,b){var c;c=s3b(a,a.g,56);c!=a.g&&(a.g=c);b!=0&&(a.g=new x4b(56,b,a.g))}function s4(a,b){var c;
for(c=0;c<a.length;c++)if(a[c].a==b)return true;return false}function rSb(a){if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==92)return nSb(a);QRb(a);return true}function tSb(a){if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==92)return uSb(a);QRb(a);return true}function kZb(a){var b;if(Olc(hZb,a))b=Nlc(hZb,a);else{b=new mZb;Qlc(hZb,a,b)}return b}function j_b(a,b){!a.d&&(a.d=new I0b);!a.d.r&&(a.d.r=new Poc);Eoc(a.d.r,b);return true}function d0b(a,b){!a.d&&(a.d=new I0b);if(a.d.b!=null)return false;a.d.b=b;return true}function x$b(a,
b,c){oe(C$b(a));oe(C$b(b));oe(C$b(c));return new Z3b((f8b(),A6b),a,b,c)}function jbc(a,b,c){(b.ej()||a.o||!!b._i())&&(b=new Eac(a.u,a.cj()+eFc,b));ibc(a,b,c)}function Bgc(a,b){var c;c=zgc(a,b);return c==-1?Ldc(a.b,(tdc(),pdc)):a.e.getAtIndex(c)}function ewc(a,b){var c;c=b.c;b.a.b=b.b;b.b.a=b.a;b.a=b.b=null;b.c=null;--a.b;return c}function fjc(a,b){var c;if(!a)return;b.n=a;var d=_ic(b);if(!d){ZU[a]=[b];return}d.Hj=b}function Utb(a){if(a.c)return new p8(a.a);else{a.b=new cub(a);return new q8(a.a,a.b)}}
function Bf(a){de(true,"must be greater than zero: %s",2);return new If(a.c,a.b,a.d,2)}function $Ib(a,b){_Ib(a,"msg.bad.fileoverview.visibility.annotation",b,a.j.g,HKb(a.j))}function ogb(a,b){var c;ie(b);a.c=b;c=Y2b(a.t,51);!!c&&c.Kh()&&K3b(a.t,DAb(a.a,Jwb(b)))}function Y0(a,b){oe(!a.c);a.b=b;a.c=(a.H.nd!=(F3(),C3)&&!!a.U&&glb(a.U,b,true),new Fqb)}function EBb(a,b){var c;c=new nuc(a);b==null?Nuc(c.d,null):bvc(c.e,b);return new FBb(c)}function yHb(a){var b;while(a.Ed()){b=a.Fd();if(b.b==(qVb(),nVb))return b}return null}
function K1b(a){if((a.a.a&8192)!=0)return false;else{a.a.a|=8192;a.d=true;return true}}function v9(a){switch(a.j.f){case 60:case 62:case 61:return true;default:return false}}function J5(a){switch(a.j.f){case 96:case 84:case 85:return true;default:return false}}function hbc(a){var b;ae(a.lj()||a.e==2);b=fbc(a).Zi();if(!b)return null;return b.Xi()}function Xyb(a,b){return a._h().isEmpty()?a:izb(a.e,a.$h(),wDb(a._h(),b),a.ai(),a.Zh())}function Cdc(a,b){return Hdc(a,QC(LC(oR,1),NAc,21,0,[b,Ldc(a,(tdc(),
sdc)),Ldc(a,Mcc)]))}function s3(){o3();return QC(LC(bJ,1),SAc,103,0,[c3,d3,e3,f3,g3,k3,h3,i3,l3,j3,m3,n3])}function VU(){WU();var a=UU;for(var b=0;b<arguments.length;b++)a.push(arguments[b])}function Mb(a,b){var c,d;c=0;for(d=0;d<b.length;d++)mc(a,b.charCodeAt(d))&&++c;return c}function $r(a,b){Zr();var c;ie(a);ie(b);c=false;while(b.Ed())c=c|a.add(b.Fd());return c}function cl(a,b){if(a<0)throw BU(new Geb(b+" cannot be negative but was: "+a));return a}function xe(a,b,c,d,e,f){if(!a)throw BU(new sjc(ye(b,
QC(LC(kS,1),NAc,1,5,[c,d,e,f]))));}function lB(a,b,c){var d,e;e=jB(a,c.a);d=iB(a,c.a);(a.b<e||a.b==e&&a.a<d)&&nB(a,b,c,e,d)}function ygc(a,b){var c;c=Egc(a,b.e,b.d.size());return Gdc(a.b,xgc(b.d,a.d),xgc(c,a.e))}function Oj(a){var b,c;for(c=a.a.values().Md();c.Ed();){b=c.Fd();b.a=0}a.a.clear();a.b=0}function zC(a){var b=/function(?:\s+([\w$]+))?\s*\(/;var c=b.exec(a);return c&&c[1]||IBc}function AU(a){var b;if(DD(a,39))return a;b=a&&a[yBc];if(!b){b=new $B(a);xC(b)}return b}function r0(a,b,c){var d;
if(c<1)return null;d=q0(a,b);if(d)return Uob(d,c);return null}function egb(a){var b;b=a;while(b.r){if(bgb(a,FFc,false))return false;b=b.r}return true}function thb(a){var b,c;b=aoc(a.j);if(!b){c=_nc(a.k);return c?c.Ah():null}else return b}function mmb(a,b,c){var d;d=new wmb;Ihb(a.c,b,d);if(d.a)return;a.e=c;a.i=c;Ihb(a.c,b,a)}function JRb(a,b){ae(!(a==0&&b));this.c=a==3;this.a=!(a==0||a==1);this.b=b;this.d=a==0}function I7(a){var b;ie(a);this.a=a;this.c=new Poc;this.b=new Poc;this.f=(b=a,new E1(b))}
function P6(a){N6();this.c=new Dp(new tvc,new Hp);this.b=new tuc;this.d=new tuc;this.a=a}function fVb(a,b,c,d,e){UUb.call(this,(vYb(),TWb),a);this.c=b;this.b=c;this.a=d;this.d=e}function yVb(a,b,c,d,e){UUb.call(this,(vYb(),bXb),a);this.d=b;this.c=c;this.a=d;this.b=e}function AVb(a,b,c,d,e){UUb.call(this,(vYb(),dXb),a);this.d=b;this.b=c;this.c=d;this.a=e}function PVb(a,b,c,d,e){UUb.call(this,(vYb(),tXb),a);this.d=b;this.b=c;this.c=d;this.a=e}function lWb(a,b,c,d,e){UUb.call(this,(vYb(),xXb),a);this.c=
b;this.b=c;this.d=d;this.a=e}function rWb(a,b,c,d,e){UUb.call(this,(vYb(),DXb),a);this.c=b;this.b=c;this.d=d;this.a=e}function oWb(a,b,c,d,e){UUb.call(this,(vYb(),AXb),a);this.a=b;this.b=c;this.d=d;this.c=e}function V4b(a,b,c,d){V3b.call(this,a,c,d);if(null==b)throw BU(new Geb(WIc));this.a=b}function oZb(a,b){TB.call(this,"ConvertionType = "+String.fromCharCode(a)+" class = "+b)}function nac(a,b,c,d){V9b.call(this,a);this.d=b;this.c=DD(b,56)?b:null;this.b=c;this.a=d}function Kfb(a,b,c,d,e){ae(b.indexOf(".")==
-1);d&&quc(a.b,b);e?a.e.put(b,c):qvc(a.o,b,c)}function Nwb(a,b,c,d,e,f,g,h,i){!h&&(h=(Mm(),Mm(),Lm));return new Mwb(a,b,c,d,e,f,g,h,i)}function QPb(a){var b;b=VRb(a.j,0).b.b;YOb(a,(MUb(),jUb));return new HVb(new fZb(b,a.g))}function o3b(a,b,c){var d;d=s3b(a,a.g,b);d!=a.g&&(a.g=d);c!=null&&(a.g=new H4b(b,c,a.g))}function TZb(a,b,c){var d;b.p=c;d=a.b<a.c?lkc(a.a,a.b):-1;return d==46?SZb(a,b):RZb(a,b)}function Utc(a,b){var c;Yzc(b);c=b.f;if(!a.b[c]){a.b[c]=b;++a.c;return true}return false}function Zg(a,
b){var c,d;Yzc(b);for(d=b.oe().Md();d.Ed();){c=d.Fd();a.put(c.ye(),c.ze())}}function Xnc(a,b,c){var d,e,f;f=a.a.length-1;for(e=a.b,d=0;d<c;e=e+1&f,++d)b[d]=a.a[e]}function xoc(a){aAc(a.c>=0);if(foc(a.d,a.c)<0){a.a=a.a-1&a.d.a.length-1;a.b=a.d.c}a.c=-1}function L1(a){return a.c.a.length>BBc.length&&qkc(BBc,eic(a.c,a.c.a.length-BBc.length))}function Bvb(a){zvb();typeof console!==EEc&&typeof console.log!==EEc&&console.log(a)}function YU(a,b){typeof window===rAc&&typeof window["$gwt"]===rAc&&(window["$gwt"][a]=
b)}function QJb(a,b){var c;if(a.e.c){c=iJb(a,b,a.f?0:2,false);b=c.b}else b=fJb(a,b);return b}function JGb(a,b){var c;c=null;while(!!a.b&&a.b.a.a.c<=b.b.c){c=a.b;a.b=yHb(a.k)}return c}function RGb(a,b,c,d){b.p==(vYb(),UXb)&&(c.a&fFc)==kFc&&(d=TGb(a,(f8b(),M5b),d));return d}function ke(a,b,c){if(a==null)throw BU(new _jc(ye(b,QC(LC(kS,1),NAc,1,5,[c]))));return a}function Djc(a){var b,c;if(a==0)return 32;else{c=0;for(b=1;(b&a)==0;b<<=1)++c;return c}}function f1b(a,b){var c;c=B_b(a.a);c==null&&(c="");
l0b(a.a,c+(""+b));a.d=true;return true}function kRb(a){switch(VRb(a.j,0).c.f){case 63:case 64:return true;default:return false}}function yRb(a){switch(VRb(a.j,0).c.f){case 68:case 69:return true;default:return false}}function Jib(a){Shb();switch(a.j.f){case 153:case 106:return true;default:return jjb(a)}}function X0(a){switch(r2(a.H).f){case 0:case 1:case 3:return false;default:return a.H.db}}function Cb(a){oe(a.i!=3);switch(a.i){case 0:return true;case 2:return false}return Eb(a)}function bg(a){oe(a.d!=
3);switch(a.d){case 2:return false;case 0:return true}return dg(a)}function u9(a,b){var c,d,e;e=a;for(c=a,d=c.e;d!=b;c=d,d=c.e)v9(d)&&c!=d.b&&(e=d);return e}function Beb(a){var b,c,d;d=new luc;for(c=a.b.Md();c.Ed();){b=c.Fd();Qlc(d,b.d,b)}return d}function _Qb(a){var b,c;b=VRb(a.j,0).b.b;c=$Ob(a);return new OYb(new fZb(b,a.g),VOb(a,c))}function ZV(a,b,c){var d;NV(a,c);d=c.b;d.j==(f8b(),_6b)?sW(d):d.j==l5b?MV(a,b,d):EW(a,b,d)}function xlb(a,b,c){var d;if(a.o){d="AST hashCode after "+b+": "+oAc(b1(a.a,
c));Z_(a.a,d)}}function Tlb(a,b,c){if(a.a)Slb(a,c);else{!!b&&Ihb(a.b,b,new Ylb);!!c&&Ihb(a.b,c,new Ylb)}}function oyb(a){oe(!a.c);oe(Ulc(a.f.c)==0);return Nwb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.n,a.b)}function vkb(a,b){if(a.a)throw BU(new sjc("Normalize constraints violated:\n"+b));R0(a.b)}function W9(){throw BU(new klc("FunctionInformationMap.Entry.newBuilder not implemented"));}function Cwb(){Cwb=aV;Bwb=new k5("JSC_USELESS_BLOCK",(YX(),WX),new Hlc("Useless block."))}function zvb(){zvb=aV;yvb=new G4(QC(LC(qJ,
1),NAc,5,0,[new k5(dFc,(YX(),VX),new Hlc(""))]))}function N6(){N6=aV;L6=Ttc((f8b(),c8b),QC(LC(YQ,1),SAc,10,0,[p6b,q6b,b6b,r6b]));M6=new W6}function pJb(a,b,c,d){var e;e=N2b(new V4b((f8b(),J7b),b,c,d),a.n);C3b(e,b.length);return e}function m_b(a,b){if(!a0b(a))return true;!a.b.a&&(a.b.a=new Poc);Eoc(a.b.a,b);return true}function q_b(a,b){if(!a0b(a))return true;!a.b.g&&(a.b.g=new Poc);Eoc(a.b.g,b);return true}function n_b(a,b){if(!a0b(a))return true;if(a.b.b!=null)return false;a.b.b=b;return true}function r_b(a,
b){if(!a0b(a))return true;if(a.b.f!=null)return false;a.b.f=b;return true}function t_b(a,b){if(!a0b(a))return true;if(a.b.k!=null)return false;a.b.k=b;return true}function _xb(a,b){var c;if(!a)return b;if(!b)return a;c=jzb(a,b);return 0==c.$h()?null:c}function v8b(a,b){var c;if(DD(b,144)){c=b.b;if(!!c&&c.Di())return v8b(a,c)}return b.cj()}function OGb(a,b){if(b.d!=a.g){a.g=b.d;(a.g.a&tDc)!=0&&(a.c=true);return true}return false}function ns(a,b){var c;ie(b);c=false;while(a.Ed())if(Ae(b,a.Fd())){a.Gd();
c=true}return c}function iqc(a,b){bqc();var c;c=new muc(1);ID(a)?Qlc(c,a,b):Muc(c.d,a,b);return new Zrc(c)}function Lzc(){Lzc=aV;Kzc=new Pzc;Jzc=new Nzc("ISO-LATIN-1");Izc=new Nzc("ISO-8859-1")}function uY(){uY=aV;tY=new k5("JSC_UNREACHABLE_CODE",(YX(),XX),new Hlc("unreachable code"))}function mY(){mY=aV;lY=new k5("JSC_USELESS_CODE",(YX(),XX),new Hlc("Suspicious code. {0}"))}function T2(){T2=aV;Q2=new U2(WBc,0);R2=new U2("USE_GLOBAL_TEMP",1);S2=new U2("USE_IIFE",2)}function Y1(a,b,c){this.e=new Poc;
this.d=new Poc;this.a=a;this.f=b;!!a.Kg()&&Wob(a.Kg(),c)}function B$(a,b){this.i=new elc;oe(!!b);this.o=a<=0?wAc:a;this.j=false;this.p=b;this.g=null}function I$(a){if(a.n>0){a.e=a.i.a.length;a.f=a.b;Ukc(a.i,10);a.n=0;++a.k;a.b=a.i.a.length}}function sHb(a){if(a>=48&&a<=49)return a-48;throw BU(new sjc(yHc+String.fromCharCode(a)));}function xHb(a){if(a>=48&&a<=55)return a-48;throw BU(new sjc(yHc+String.fromCharCode(a)));}function Rr(a){var b;b=Xjc(a.a.b.size(),a.b);return new urc(yrc(a.a,b,a.a.b.size()).b.Md())}
function gRb(a){var b,c;c=VRb(a.j,0).b.b;b=fRb(a,1);bPb(a);return new WYb(new fZb(c,a.g),b)}function C7(a){var b,c;c=r3b(a.d);b=r3b(a.d);if(Zib(b)){a.d=b;D7(a,c.hi())}else I2b(a.j,b)}function n1b(a,b,c,d,e,f,g){var h;if(a.b){h=new W0b;h.d=b;h.a=g;P0b(h,c,d,e,f);M0b(a.b,h)}}function Lfb(a,b,c){ae(b.length!=0);ae(b.indexOf(".")==-1);ae(!bgb(a,b,false));qvc(a.j,b,c)}function $pb(a,b){return!!b&&(b.j==(f8b(),J5b)||b.j==f7b)&&!!b.b&&(gqb(a,b.b)||fqb(a,b.b))}function B8b(a){return!a.Ji()&&!a.Qi()&&!a.Pi()&&
!a.Oi()&&a.Fi()?"!"+a.Ti(true):a.Ti(true)}function Ayb(a){var b;b=a.$h()==2&&a._h().size()==1?js(a._h().Md()):null;return!b?null:b.b}function KKb(a){var b;b=GKb(a);if(b==47)return true;else{a.q[a.r++]=b;--a.b;return false}}function fc(a,b){var c;c=opc(a.c,b);if(c>=0)return true;else{c=~c-1;return c>=0&&b<=a.b[c]}}function c4(a,b,c){var d;d=b.Ng()-c.Ng();if(d!=0)return d;return Mlc(a.a,c).a-Mlc(a.a,b).a}function Uab(a,b){var c,d,e;e=g0(a.a.a);d=e.Xf(b);if(d)return true;c=e.$f(b);return c!=null}function _wc(a,
b){var c,d;c=1-b;d=a.a[c];a.a[c]=d.a[b];d.a[b]=a;a.b=true;d.b=false;return d}function aeb(a,b,c){var d;d=new dlc;d.a+="@";d.a+=b;d.a+=" {";_db(a,d,c);d.a+="}";return d.a}function Jw(a){var b,c,d;d=0;for(c=a.oe().Md();c.Ed();){b=c.Fd();d=CU(d,b.we())}return aA(d)}function a$(a,b){var c;pZ(a.c,"{");for(c=b.b;c;c=c.d){c!=b.b&&a.c.ug();a.Bg(c,4)}pZ(a.c,"}")}function XV(a,b){var c;yW((f8b(),G5b),b);W2b(b,38)!=0||$W(_Bc,b);for(c=b.b;c;c=c.d)LW(a,c)}function ILb(a,b){var c;a.a.jh((c=QC(LC(kS,1),NAc,1,5,
[b]),EHc+f5b(aIc,c)),a.b.Hg(),a.d,a.c)}function JLb(a,b){var c;a.a.jh((c=QC(LC(kS,1),NAc,1,5,[b]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c)}function KLb(a,b){var c;a.a.jh((c=QC(LC(kS,1),NAc,1,5,[b]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c)}function LLb(a,b){var c;a.a.jh((c=QC(LC(kS,1),NAc,1,5,[b]),EHc+f5b(_Hc,c)),a.b.Hg(),a.d,a.c)}function whb(a,b){oe(!!a.e);oe(!!b);Unc(a.j,b);W0(a.c,b);qjb(b)&&Unc(a.b,b);!!a.g&&a.g.kh(a)}function t$b(a,b,c){oe(a.j==(f8b(),_6b));oe(b.j==r7b);oe(c.j==G5b);return new Z3b(r6b,a,b,
c)}function y2b(a){var b;b=g_b(a,false);b.j==(b1b(),Y0b)&&(b.j=null);return new w2b(b,a.c,true)}function gQb(a){var b;b=(Mm(),new iq);while(!jRb(a,(MUb(),hTb)))gq(b,PQb(a));return Um(b.a)}function Bjb(a){Shb();var b;b=Ajb(a);if(b==null)throw BU(new nic("Unknown op "+a));return b}function le(a,b,c,d){if(a==null)throw BU(new _jc(ye(b,QC(LC(kS,1),NAc,1,5,[c,d]))));return a}function _z(a){if(!a)throw BU(new jic("mode was UNNECESSARY, but rounding was necessary"));}function Awb(){Awb=aV;zwb=new k5("JSC_UNUSED_LABEL",
(YX(),WX),new Hlc("Unused label {0}."))}function Sdb(){Sdb=aV;Qdb=rzc("^(\\w+(\\.\\w+)*)\\s*[:= ]");Rdb=rzc("^\\s*(.*?)(\\\\?)$")}function t8b(){t8b=aV;s8b=(lm(),Ao(QC(LC(kS,1),NAc,1,5,[AEc,"IArrayLike",uEc])));r8b=new acc}function rhb(a){var b,c;c=_nc(a.k);b=null;while(b=doc(a.j)){c=a.i.Pg(b,c);Unc(a.k,c)}return c}function rx(a){var b,c,d;b=0;for(d=a.Md();d.Ed();){c=d.Fd();b+=c!=null?rb(c):0;b=~~b}return b}function nxb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(Gyb(b.a))return true}return false}
function oxb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(Hyb(b.a))return true}return false}function fzb(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(b==b.a.M)return false}return true}function bjb(a){Shb();switch(a.j.f){case 89:case 84:case 85:case 96:return true}return false}function q3(a){oe(a!=n3);switch(a.f){case 0:case 1:case 2:return false;default:return true}}function r1b(a){if((a.a.a&262144)!=0)return false;else{a.a.a|=262144;a.d=true;return true}}function kgb(a,b){ae(b.indexOf(".")==-1);
return bgb(a,b,false)||qkc(b,a.p)||!!a.r&&kgb(a.r,b)}function F_b(a){var b;if(!a.d||!a.d.n)return lm(),lx(),kx;return lm(),b=new Kmc(a.d.n),yo(b)}function dAb(a,b,c,d){var e;e=eAb(a,b,c,d);return e.$h()==34&&e._h().size()==1?Pyb(e,a.a.j):e}function yhb(a,b,c,d){var e,f;e=new ieb(!b?null:(f=Y2b(b,51),!f?null:f.Hg()),b,c,d);Q0(a.c,e)}function hg(a,b,c){var d,e;d=(e=a.f,!e?a.f=new Bh(a,a.c):e).pe(b);return!!d&&d.contains(c)}function Dgc(a,b){var c,d;for(d=a.d.Md();d.Ed();){c=d.Fd();if(c==b)return true}return false}
function ad(a,b){var c,d,e;Yzc(b);c=false;for(e=b.Md();e.Ed();){d=e.Fd();c=c|a.add(d)}return c}function Wp(a,b){var c,d,e,f;ie(b);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Tq(a,ie(c))}return a}function WA(a,b){var c,d;c=pvc(a.g,b);if(c)d=c.a;else{d=Ulc(a.g.c);qvc(a.g,b,Hjc(d))}return d}function A3b(a,b){var c;c=s3b(a,a.g,29);c!=a.g&&(a.g=c);!!b&&(a.g=new H4b(29,b,a.g));return a}function Pwb(a){var b,c,d;d=null;for(c=a.Md();c.Ed();){b=c.Fd();!d?d=b:d=Owb(d,b)}return d}function qab(a,b){var c,d;for(d=
dhc(b).Md();d.Ed();){c=d.Fd();Fqc(a.a,c)&&c.Ui(a)}return a.b.b}function c1(a,b,c){var d;d=new y$(b);x$(d,a.V);t$(d,a.H);d.i=false;w$(d,c&&X0(a));return s$(d)}function fqc(a){bqc();var b,c;c=new Poc;for(b=0;b<a;++b)c.a[c.a.length]="";return new Nsc(c)}function rxc(a,b,c,d,e,f){var g;this.c=a;g=new Poc;Rwc(a,g,b,a.b,c,d,e,f);this.a=new ymc(g,0)}function vAb(a,b){ae(!!a||!!b);if(a){this.c=a;this.b=null}else{this.c=null;this.b=F_b(b).Md()}}function ou(a){this.e=a;this.d=new uuc(Cv(ig(this.e).size()));
this.c=this.e.a;this.b=this.e.c}function V3b(a,b,c){this.j=a;this.e=null;this.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|QBc:b<<12|c&QBc}function X3b(a,b,c,d){W3b.call(this,a,b);this.i=c<0||d<0?-1:(d&-4096)!=0?c<<12|QBc:c<<12|d&QBc}function KGb(a,b){var c;c=JGb(a,b);return!!c&&c.c.indexOf("@")==-1?aHb(a,b,_Gb(a,c)):MGb(a,c)}function rxb(a,b){if(a.isEmpty())return b;if(b.isEmpty()||qx(a,b))return a;return Ex(ux(a,b))}function m0(a){if(a.s.isEmpty())throw BU(new sjc("No inputs"));return S1(a.s.getAtIndex(0),
a)}function Thb(a){var b;for(b=a.b.d;b;b=b.d)if(!aib(b,(ze(),ef(),af)))return false;return true}function zyb(a){var b,c,d;for(d=a._h().Md();d.Ed();){c=d.Fd();b=c.b;if(b)return b}return null}function Svc(a){aAc(!!a.a);$sc(a.c.a.c,a);Fvc(a.a);Rlc(a.c.a.c,a.a.d);_sc(a.c.a.c,a);a.a=null}function p4(a,b){a.f=b;a.d="";a.b=0;a.a=o4(a,i4);a.c=o4(a,j4);Kpc(a.a,null);Kpc(a.c,null);m4(a)}function XAb(a,b){oe(!a.S);ie(b);a.S=b;a.U=gzb(a.q,a.S);a.T=js(b._h().Md());!!a.W&&gzb(a.U,a.Y)}function $Ab(a,b){oe(!a.W);
ie(b);a.W=b;a.Y=gzb(a.t,a.W);a.X=js(b._h().Md());!!a.S&&gzb(a.U,a.Y)}function eEb(a,b,c,d){oe(!a.f);if(nEb(a,b))return;a.b=DBb(a.b,b,new IDb(d,c,null,(TDb(),SDb)))}function n3b(a,b,c){var d;d=s3b(a,a.g,b);d!=a.g&&(a.g=d);(c?1:0)!=0&&(a.g=new x4b(b,c?1:0,a.g))}function H3b(a,b){var c;c=s3b(a,a.g,58);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new x4b(58,b?1:0,a.g))}function M3b(a,b){var c;c=s3b(a,a.g,62);c!=a.g&&(a.g=c);(b?1:0)!=0&&(a.g=new x4b(62,b?1:0,a.g))}function px(a,b){var c;je(a,"set1");je(b,"set2");
c=(ze(),new Le(new Be(b)));return new Ox(a,c,b)}function qW(a){var b;b=false;b=!!a.b;b||$W("Expected at least 1 children, but was "+T2b(a),a)}function lz(a,b){var c;if(b==a.length)return a;else{c=NC(LD,wBc,46,b,15,1);ilc(a,c,b);return c}}function OBb(a,b){var c;if(b==null)return false;oe(DD(b,237));c=b;return a.a==c.a&&Ewc(a.b,c.b)}function rgb(a,b){if(bgb(a,b,false))return;while(a){if(bgb(a,b,false)){a.d.add(b);return}a=a.r}}function T1b(a){if((a.a.a&33554432)!=0)return false;else{a.a.a|=33554432;
a.d=true;return true}}function h2b(a){if((a.a.a&16777216)!=0)return false;else{a.a.a|=16777216;a.d=true;return true}}function MDb(a,b){if(a==(TDb(),RDb)||b==RDb)return RDb;if(a==SDb||b==SDb)return SDb;return QDb}function NDb(a,b){if(a==(TDb(),QDb)||b==QDb)return QDb;if(a==SDb||b==SDb)return SDb;return RDb}function aHb(a,b,c){if(!!c&&(c.a&fFc)!=0){a.i=true;a.e.c&&a.d.ih(uGc,a.r,b.b.b+1,b.b.a)}return c}function ax(a,b){var c,d,e;e=0;for(d=rs(new urc(a.b.b.Md()));d.Ed();){c=d.Fd();b[e++]=c}return b}
function x1b(a,b){if(b!=null&&v_b(a.a)==null){e0b(a.a,b);a.d=true;return true}else return false}function U1b(a,b){if(b!=null&&C_b(a.a)==null){m0b(a.a,b);a.d=true;return true}else return false}function wHb(a){switch(a.j.f){case 72:case 99:case 70:case 71:return true;default:return false}}function POb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function BSb(a){switch(a){case 10:case 13:case 8232:case 8233:return true;default:return false}}function HU(a){if(RBc<
a&&a<PBc)return a<0?$wnd.Math.ceil(a):$wnd.Math.floor(a);return EU(hD(a))}function EU(a){var b;b=a.h;if(b==0)return a.l+a.m*OBc;if(b==MBc)return a.l+a.m*OBc-PBc;return a}function Wyc(){var a;if(!Syc){Syc=new Vyc;a=new hzc("");dzc(a,(Cyc(),zyc));Tyc(Syc,a)}return Syc}function L8(a,b){var c;if(!m3b(b,zEc,zEc.length))return false;c=rhb(a).Bh(zEc);return!c||c.Fh()}function $hb(a){Shb();var b;b=QC(LC(ND,1),FBc,46,15,[0]);Gjb(a,new Sjb(b),new Vjb(b));return b[0]}function $sb(){$sb=aV;Zsb=dq(Ttc((f8b(),
_7b),QC(LC(YQ,1),SAc,10,0,[T6b,T5b,r6b,O5b,N5b,r7b])))}function Edc(a,b){return DD(b,200)||b.wi()?b:Hdc(a,QC(LC(oR,1),NAc,21,0,[b,Ldc(a,(tdc(),sdc))]))}function iLb(a){return hLb(a)&&lMb(Lb(a)).a==2||hLb(a)&&lMb(Lb(a)).a==3||hLb(a)&&lMb(Lb(a)).a==4}function ngb(a,b){var c,d;for(d=a.n.values().Md();d.Ed();){c=d.Fd();c.a==(QEb(),PEb)||oAb(b,c,a)}}function ylb(a,b,c){if(a.s){lob(z1(a.a),b,c);a.e&&!qkc(a.c.b,FDc)&&!qkc(a.c.b,GDc)&&Fjb(a.k,a.f)}}function Dzc(a,b){var c=!b&&console.groupCollapsed||console.group||
console.log;c.call(console,a)}function Jz(a,b){var c,d,e;e=b.length;c=NC(mS,NAc,137,e,0,1);for(d=0;d<e;++d)c[d]=cAc(b[d]);a.g=c}function SW(a,b){var c;yW((f8b(),G5b),b);W2b(b,38)!=0||$W(_Bc,b);for(c=b.b;c;c=c.d)NW(a,c,false)}function v7(a,b,c){var d;d=new Poc;w7(a,b,c,d);pe(d.a.length==1,d);return Xzc(0,d.a.length),d.a[0]}function qyb(a){this.i=new Poc;this.e=new Poc;this.f=new tvc;this.n=(Mm(),Mm(),Lm);this.a=ie(a)}function zAb(){zAb=aV;xAb=new AAb("REQUIRED",0);wAb=new AAb("OPTIONAL",1);yAb=new AAb("REST",
2)}function lwb(){lwb=aV;kwb=new k5("JSC_MISSING_SEMICOLON",(YX(),WX),new Hlc("Missing semicolon"))}function UJb(a){while(mJb(a,(BKb(),nKb))){!a.o?IKb(a.j):eJb(a);mJb(a,zKb)&&(!a.o?IKb(a.j):eJb(a))}}function GDb(a,b){if(b.isEmpty())return a;return new IDb(a.c,Syb(a.d,b),!a.b?null:Syb(a.b,b),a.a)}function _Ib(a,b,c,d,e){var f;a.b.jh((f=QC(LC(kS,1),NAc,1,5,[c]),f5b(b,f)),!a.g?null:a.g.Hg(),d,e)}function r$b(a,b,c){oe(a.j==(f8b(),_7b)||C$b(a));oe(C$b(b));oe(c.j==G5b);return new Z3b(p6b,a,b,c)}function bW(a){var b,
c;yW((f8b(),l6b),a);c=T2b(a);(c<1||c>2)&&$W(cCc+c,a);for(b=a.b;b;b=b.d)sW(b)}function iW(a){var b,c;yW((f8b(),E6b),a);c=T2b(a);(c<1||c>2)&&$W(cCc+c,a);for(b=a.b;b;b=b.d)sW(b)}function JW(a){var b,c;yW((f8b(),y7b),a);c=T2b(a);(c<1||c>2)&&$W(cCc+c,a);for(b=a.b;b;b=b.d)PW(b)}function Ju(a){var b,c,d;b=1;for(d=a.Md();d.Ed();){c=d.Fd();b=31*b+(c==null?0:rb(c));b=~~b}return b}function vd(a,b){var c,d;for(c=0,d=a.size();c<d;++c)if(Ewc(b,a.getAtIndex(c)))return c;return-1}function bxb(a,b){var c;c=hh(Yg(a.C,
b,false));if(!c)return false;oe(c.a!=(TDb(),RDb));return true}function PU(a){var b,c,d,e;e=a;d=0;if(e<0){e+=PBc;d=MBc}c=KD(e/OBc);b=KD(e-c*OBc);return VC(b,c,d)}function rRb(a){switch(VRb(a.j,0).c.f){case 65:case 94:case 67:return true;default:return false}}function zRb(a){switch(VRb(a.j,0).c.f){case 25:case 30:case 38:return true;default:return false}}function vRb(a){switch(VRb(a.j,0).c.f){case 70:case 71:case 72:return true;default:return false}}function CSb(a){switch(a){case 47:return false;case 92:case 91:return true;
default:return!BSb(a)}}function Jgc(a,b){var c,d;for(d=new yoc(a.d);d.a!=d.b;){c=woc(d);if(c==b)return true}return false}function kp(a,b){var c;if(DD(b,58)){c=b;return Xd(a.a.ye(),c.ye())&&Xd(a.a.ze(),c.ze())}return false}function mw(a,b){var c;if(b===a)return true;if(DD(b,122)){c=b;return nb(a.Xd(),c.Xd())}return false}function Cv(a){Av();if(a<3){cl(a,"expectedSize");return a+1}if(a<fBc)return KD(a/.75+1);return wAc}function LEb(a,b){ie(b);if(a.a==(QEb(),PEb))return;te(a.a==NEb,IGc,Re(a.a));a.a=
PEb;a.c=null;a.b=b}function kib(a){Shb();while(!!a&&a.j!=(f8b(),D7b))a=a.e;return!!a&&a.j==(f8b(),D7b)?Y2b(a,53):null}function ojb(a){Shb();switch(a.j.f){case 78:return true;case 29:return qkc(a.hi(),EEc)}return false}function dfb(a,b){var c;c=new dlc;if(a!=null){c.a+=""+a;if(b>0){c.a+=":";c.a+=b}c.a+=": "}return c.a}function D3b(a,b){var c;c=a4b(a.i);c==-1&&(c=0);a.i=b<0||c<0?-1:(c&-4096)!=0?b<<12|QBc:b<<12|c&QBc}function Zpb(a,b){var c,d;c=b.b;while(c)if(bqb(a,c.hi())){d=c.d;p3b(b,c);c=d;R0(a.a.a)}else c=
c.d}function JVb(a,b,c,d,e,f){UUb.call(this,(vYb(),mXb),a);this.d=b;this.e=c;this.a=d;this.b=e;this.c=f}function iVb(a,b,c,d,e,f){UUb.call(this,(vYb(),WWb),a);this.d=b;this.b=c;this.e=d;this.c=e;this.a=f}function DYb(a,b,c,d,e,f){UUb.call(this,(vYb(),$Xb),a);this.d=b;this.b=c;this.c=d;this.e=e;this.a=f}function wWb(a,b,c,d,e,f){UUb.call(this,(vYb(),IXb),a);this.e=b;this.d=c;this.c=d;this.a=e;this.b=f}function rB(a,b,c,d,e,f,g,h){this.i=a;this.c=b;this.b=c;this.d=d;this.g=e;this.e=f;this.f=g;this.a=
h}function PIb(a,b,c){var d,e,f;d=SGb(a.a,b);for(f=c.Md();f.Ed();){e=f.Fd();H2b(d,iHb(a.a,e))}return d}function n8b(a,b){var c;!!b&&(c=s3b(a,a.g,78),c!=a.g&&(a.g=c),!!b&&(a.g=new H4b(78,b,a.g)));return a}function EQb(a){var b;if(iRb(a,0,(MUb(),STb))){YOb(a,STb);b=YQb(a);YOb(a,XSb)}else b=MQb(a);return b}function pPb(a){if(jRb(a,(MUb(),ATb)))return nQb(a);if(jRb(a,nTb))return VPb(a,true);return nPb(a)}function o_b(a,b){a.a|=4096;if(!a0b(a))return true;if(a.b.c!=null)return false;a.b.c=b;return true}
function jCb(a,b){LBb();if(!a)return b;if(!b)return a;if(bCb(a,b))return a;return bCb(b,a)?b:null}function bRb(a){var b,c;b=VRb(a.j,0).b.b;c=_Qb(a);if(!jRb(a,(MUb(),QTb)))return c;return $Qb(a,b,c)}function bq(a){var b,c;for(c=ie(a).oe().Md();c.Ed();){b=c.Fd();ie(b.ye());ie(b.ze())}return new aq(a)}function ujb(a,b,c){var d,e;b.j==(f8b(),r6b)&&a.put(b,c);e=b.b;d=c.b;while(e){ujb(a,e,d);e=e.d;d=d.d}}function lob(a,b,c){XV(a.a,b);XV(a.a,c);oob(a,b,c);mob(a,c);kV(a.b.Y)&&Vtb(new Wtb(a.b),b,c);nob(a,
b)}function mPb(a){var b,c;c=VRb(a.j,0).b.b;YOb(a,(MUb(),cTb));b=nPb(a);return new WUb(new fZb(c,a.g),b)}function Uub(a,b){var c;c=ujc(b.length,a.length);if(c!=0)return c;return eAc((Yzc(a),a),(Yzc(b),b))}function Yub(a,b){var c;c=ujc(b.length,a.length);if(c!=0)return c;return eAc((Yzc(a),a),(Yzc(b),b))}function n0b(a,b){var c;!a.d&&(a.d=new I0b);if(a.d.k)return false;a.d.k=(lm(),c=b,yo(c));return true}function s0b(a,b){var c;!a.d&&(a.d=new I0b);if(a.d.p)return false;a.d.p=(lm(),c=b,yo(c));return true}
function e_b(a){var b;if(!a0b(a))return null;!a.b.d&&(a.b.d=new Poc);b=new N0b;Eoc(a.b.d,b);return b}function kmc(a){if(a.a.Ed())return true;if(a.a!=a.d)return false;a.a=new Quc(a.e.d);return a.a.Ed()}function Wnc(a,b){if(b==null)return false;while(a.a!=a.b)if(nb(b,woc(a)))return true;return false}function V1b(a,b){if(!((a.a.a&EFc)!=0||P_b(a.a))&&n0b(a.a,b)){a.d=true;return true}else return false}function bDb(a,b,c){if(Yg(a,c,false))return hh(Yg(a,c,false));else if(b)return VBb(b,c);return null}function azc(a){var b,
c;if(a.b)return a.b;c=a.d;while(c){b=c.b;if(b)return b;c=c.d}return Cyc(),zyc}function Kic(a){var b;if(a<128){b=(Mic(),Lic)[a];!b&&(b=Lic[a]=new yic(a));return b}return new yic(a)}function Ob(a,b){var c;for(c=b.length-1;c>=0;c--)if(!Gc(a,b.charCodeAt(c)))return false;return true}function bvc(a,b){var c;c=a.a.get(b);if(c===undefined)++a.d;else{a.a[qIc](b);--a.c;atc(a.b)}return c}function wib(a){Shb();var b,c;c=null;while(c==null&&!!a){c=(b=Y2b(a,51),!b?null:b.Hg());a=a.e}return c}function sjb(a,b){Shb();
var c;oe(f3b(a,b,false,true,false));c=new luc;Muc(c.d,a,b);ujb(c,a,b);return c}function Zib(a){Shb();switch(a.j.f){case 72:case 99:case 71:case 70:return true;default:return false}}function lzc(a){a.e=gV(a.d,Gkc(a.c,a.a));a.b=true;if(a.e){a.a+=a.e[0].length;return true}return false}function alb(a){var b;oe(a.j==(f8b(),D7b));b=Y2b(a,51);if(DD(b,155))return Tob(b),b.e.length;return 0}function iJb(a,b,c,d){if(b==(BKb(),lKb)||b==nKb||b==mKb)return new _Jb("",b);return hJb(a,b,c,true,d)}function iPb(a,
b){if(b){a.d=BMb(a.d,(wNb(),tNb).a);a.b.d&&aLb(a.c,b.b.b,vGc,QC(LC(kS,1),NAc,1,5,[]))}}function YOb(a,b){var c;c=jPb(a);if(c.c!=b){ARb(a,c,yIc,QC(LC(kS,1),NAc,1,5,[b]));return null}return c}function eD(a,b){var c,d,e;c=a.l+b.l;d=a.m+b.m+(c>>22);e=a.h+b.h+(d>>22);return VC(c&LBc,d&LBc,e&MBc)}function nD(a,b){var c,d,e;c=a.l-b.l;d=a.m-b.m+(c>>22);e=a.h-b.h+(d>>22);return VC(c&LBc,d&LBc,e&MBc)}function qjc(a,b){if(a<b)return-1;if(a>b)return 1;if(a==b)return 0;return isNaN(a)?isNaN(b)?0:1:-1}function Loc(a,
b){var c;c=Ioc(a,b,0);if(c==-1)return false;Xzc(c,a.a.length);zzc(a.a,c,1);return true}function coc(a){var b;b=a.a[a.b];if(b==null)return null;a.a[a.b]=null;a.b=a.b+1&a.a.length-1;return b}function xic(a){if(qkc(typeof a,vAc))return true;return a!=null&&a.$implements__java_lang_CharSequence}function QC(a,b,c,d,e){e.Hj=a;e.Ij=b;e.Jj=eV;e.__elementTypeId$=c;e.__elementTypeCategory$=d;return e}function YA(a,b,c,d){var e,f;oe(b>=0);oe(c>=0);a.f=new lA(b,c);e=new tA;f=DB(d);pA(e,f);sA(e,new cB(a))}function Bp(a,
b,c){var d,e;return b!=null&&c!=null&&(e=Gv((d=a.c,!d?a.c=new Dy(a):d),b),!!e&&Fv(e,c))}function mxc(a,b,c,d,e,f){var g;this.c=a;g=new Poc;Rwc(a,g,b,a.b,c,d,e,f);this.a=new ymc(g,g.a.length)}function exb(a,b,c){this.B=(dx(),cx);this.D=cx;this.C=(BBb(),BBb(),ABb);this.w=b;this.t=a;this.u=ie(c)}function Kgc(a,b){this.f=gqc((Av(),new Euc));this.e=a;this.g=false;this.c=b;this.d=new koc;this.b=true}function Kcb(a,b){if(b.j==(f8b(),_6b)&&qkc(b.hi(),FFc)&&egb(a.a)){Nfb(a.b.k,b);return true}return false}
function kEb(a,b){var c;c=nEb(a,b);if(!c)return null;else if(!c.b&&!!a.o)return WBb(a.o,b);return c.b}function M7(a){var b,c;b=q$b(new C4b(a));c=s3b(b,b.g,66);c!=b.g&&(b.g=c);b.g=new x4b(66,1,b.g);return b}function K0(a,b){var c,d;d=Yob(qDc+ ++a.T+"] ",b);Mm();new _x(d);c=new $1(d);N0(a,c.f,c);return S1(c,a)}function Llc(a,b,c){var d,e;for(e=c.Md();e.Ed();){d=e.Fd();if(a.yj(b,d.ze()))return true}return false}function dqc(a){bqc();var b,c,d;d=0;for(c=a.Md();c.Ed();){b=c.Fd();d=d+(b!=null?rb(b):0);
d=d|0}return d}function gHb(a,b,c){var d,e;if(b4b(a.i)==-1){e=b.b+1;D3b(a,e);d=b.a;a.i=g4b(b4b(a.i),d);C3b(a,c.c-b.c)}}function UQb(a){var b,c;c=VRb(a.j,0).b.b;YOb(a,(MUb(),mUb));b=xPb(a,1);return new EYb(new fZb(c,a.g),b)}function Ef(a,b){var c,d;ie(b);c=Kf(a.c,a,b);d=new Poc;while(Cb(c))Eoc(d,Db(c));return bqc(),new Nsc(d)}function jD(a){var b,c,d;b=~a.l+1&LBc;c=~a.m+(b==0?1:0)&LBc;d=~a.h+(b==0&&c==0?1:0)&MBc;return VC(b,c,d)}function B4(a,b){var c,d;for(d=b.b.Md();d.Ed();){c=d.Fd();if(!a.b.contains(c))return false}return true}
function Ae(b,c){try{return b.a.contains(c)}catch(a){a=AU(a);if(DD(a,66))return false;else throw BU(a);}}function HOb(a){BOb();switch(a){case fDc:case eDc:case BDc:case dDc:return true;default:return false}}function Wlc(a,b){Szc(a>=0,"Negative initial capacity");Szc(b>=0,"Non-positive load factor");Tlc(this)}function Fwb(a,b){var c;c=a.f.size();return b<c?a.f.getAtIndex(b):b<c+a.d.size()?a.d.getAtIndex(b-c):a.g}function t9(a){var b,c,d;b=s9(a);ie(b);c=b;d=c.e;while(d.j==(f8b(),O6b)){c=d;d=c.e}oe(ijb(c.e));
return c}function gEb(a,b){_kc(b,a.w);a.p.isEmpty()||_kc(_kc((b.a+="<",b),Tc(new Wc(","),a.p.Md())),">");return b}function _yb(a,b){vyb();return izb(a.a,2,(lm(),new cy(mDb(a.a,b,null,a,null,a.c,(xCb(),vCb)))),null,syb)}function lnb(a){jnb();var b;b=knb(inb,a);if(b!=null)return b;throw BU(new TB("Resource not found: "+a));}function zjc(a){var b;if(a<0)return DBc;else if(a==0)return 0;else{for(b=fBc;(b&a)==0;b>>=1);return b}}function gk(a){var b,c;b=a.b.ze();if(!b||b.a==0){c=a.a.a.a.pe(a.b.ye());if(c)return c.a}return!b?
0:b.a}function vHb(a){switch(a.j.f){case 72:case 99:case 70:case 71:case 67:return true;default:return false}}function ee(a,b){if(!a)throw BU(new Geb(ye("too many occurrences: %s",QC(LC(kS,1),NAc,1,5,[Tjc(b)]))));}function sx(a,b){ie(b);DD(b,383)&&(b=b.ve());return DD(b,31)&&b.size()>a.size()?ms(a.Md(),b):tx(a,b.Md())}function sp(a,b,c){var d,e;return!b||c==null?null:(e=Gv((d=a.c,!d?a.c=new Dy(a):d),b),!e?null:Gv(e,c))}function _C(a){var b,c,d;b=~a.l+1&LBc;c=~a.m+(b==0?1:0)&LBc;d=~a.h+(b==0&&c==0?
1:0)&MBc;a.l=b;a.m=c;a.h=d}function aD(a){var b,c;c=Cjc(a.h);if(c==32){b=Cjc(a.m);return b==32?Cjc(a.l)+32:b+20-10}else return c-12}function hA(){hA=aV;var a;gA=NC(ND,FBc,46,256,15,1);wpc(gA);for(a=0;a<64;a++)gA[vBc.charCodeAt(a)]=a}function HB(){HB=aV;GB=QC(LC(MD,1),zAc,46,15,[48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102])}function rV(){rV=aV;lm();Ao(QC(LC(kS,1),NAc,1,5,["xterm","xterm-color","xterm-256color","screen-bce"]))}function I8(a,b){Q0(a.a,leb(b,A8,QC(LC(pS,1),yAc,2,6,["Computed property with non-qualified-name key"])))}
function cY(){cY=aV;bY=new k5("JSC_MISSING_PROVIDE",(YX(),XX),new Hlc("missing goog.provide(''{0}'')"))}function TDb(){TDb=aV;QDb=new UDb("CONSTANT",0);RDb=new UDb("OPTIONAL",1);SDb=new UDb("REQUIRED",2)}function rmb(a){lmb();this.d=new tvc;this.g=new luc;this.b=new tuc;this.k=new tuc;this.a=new tuc;this.c=a}function WB(a){Gz(this);Hz(this);this.backingJsObject=a;a!=null&&gAc(a,yBc,this);this.f=a==null?FAc:dV(a)}function qAb(a,b){Pzb();var c,d;if(!a)return false;d=G_b(a,b);c=!d?null:d.a;return!!c&&
c.j==(f8b(),c6b)}function dEb(a,b){oe(!a.f);oe(!a.o);if(sEb(b.a,a))return false;a.o=b;cEb((oe(!b.a.f),b.a),a);return true}function W$b(a,b){var c;oe(a.j==(f8b(),G5b));oe(b.j==N5b);c=S3b(new W3b(G5b,b),b);return new Y3b(V7b,a,c)}function S9b(a,b){var c;for(c=a;c;c=c.Zi()){c.Ri();if(u8b(c,b,0,new gcc(true)))return true}return false}function dhc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.Si()){mhc(a);break}}return a.a}function ehc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);
if(c.Si()){mhc(a);break}}return a.b}function Vwc(a,b,c){var d,e;d=new xxc(b,c);e=new yxc;a.b=Twc(a,a.b,d,e);e.b||++a.c;a.b.b=false;return e.d}function YC(a,b,c,d,e){var f;f=lD(a,b);c&&_C(f);if(e){a=$C(a,b);d?SC=jD(a):SC=VC(a.l,a.m,a.h)}return f}function yQb(a){var b;b=(Mm(),new iq);while(!jRb(a,(MUb(),WSb))&&!jRb(a,hTb))gq(b,PQb(a));return Um(b.a)}function oA(a,b){var c;do{if(b==0)return null;--b}while(Hoc(a.c,b)==null);c=Hoc(a.c,b);return nA(a,Lr(c))}function Gv(b,c){Av();ie(b);try{return b.pe(c)}catch(a){a=
AU(a);if(DD(a,66))return null;else throw BU(a);}}function hgb(a,b){if(b.j==(f8b(),_6b))return igb(a,b.hi());if(b.j!=x6b)return false;return ggb(a,YDb(b))}function Tfb(a,b,c){var d;ae(b.indexOf(".")==-1);d=Vfb(a,b,c);if(d)return d;return!a.r?null:Tfb(a.r,b,c)}function Pdc(a,b,c){be(c.indexOf("<")==-1,"Type names cannot contain template annotations.");Qlc(a.g,c,b)}function wz(a,b){this.b=ie(a);fe(!b||!pz(a,b.a),"Padding character %s was already in alphabet",b);this.c=b}function Vob(a,b,c){c&&b!=null&&
qkc(b.substr(0,1),"\ufeff")?a.b=b.substr(1,b.length-1):a.b=b;a.e=null}function wsb(a,b,c,d){var e;oe(b!=null&&b.length!=0);e=new qtb(b,c,a,(Ulc(a.b.c),d));qvc(a.b,b,e);return e}function Goc(a,b){var c,d;c=b.toArray();d=c.length;if(d==0)return false;yzc(a.a,a.a.length,c);return true}function ioc(a,b){var c,d;c=a.a.length-1;while(b!=a.b){d=b-1&c;a.a[b]=a.a[d];b=d}a.a[a.b]=null;a.b=a.b+1&c}function hoc(a,b){var c,d;c=a.a.length-1;a.c=a.c-1&c;while(b!=a.c){d=b+1&c;a.a[b]=a.a[d];b=d}a.a[a.c]=null}function NV(a,
b){var c,d;d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));OV(b.b);dW(a,b.b?b.b.f:null)}function UZ(a,b){var c,d;c=false;for(d=b;d;d=d.d){d!=b&&a.c.ug();WZ(a,d,1,4);c=d.j==(f8b(),d6b)}c&&a.c.ug()}function dd(a,b){var c,d;Yzc(b);for(d=b.Md();d.Ed();){c=d.Fd();if(!a.contains(c))return false}return true}function eqc(a){bqc();var b,c,d;d=1;for(c=a.Md();c.Ed();){b=c.Fd();d=31*d+(b!=null?rb(b):0);d=d|0}return d}function cqc(a,b){bqc();var c,d,e,f,g;g=false;for(d=b,e=0,f=d.length;e<f;++e){c=d[e];g=
g|a.add(c)}return g}function khc(a){var b,c;for(b=0;b<a.b.size();b++){c=a.b.getAtIndex(b);if(c.Ji())return true}return false}function nRb(a){switch(VRb(a.j,0).c.f){case 59:case 60:case 61:case 62:return true;default:return false}}function Rpb(a,b){if(b>0&&b<a.length)if(Eic(a.charCodeAt(b-1))&&Fic(a.charCodeAt(b)))return b-1;return b}function ZHb(a,b){var c,d;d=SGb(a.a,(f8b(),I5b));if((!b.a?null:b.a.a)!=null){c=OIb(a,b.a);H2b(d,c)}return d}function aIb(a,b){var c,d;d=SGb(a.a,(f8b(),U5b));if((!b.a?
null:b.a.a)!=null){c=OIb(a,b.a);H2b(d,c)}return d}function L7(){var a,b;a=new U3b((f8b(),I5b));b=s3b(a,a.g,67);b!=a.g&&(a.g=b);a.g=new x4b(67,1,a.g);return a}function Icb(a){var b;a.j==(f8b(),n5b)?(b=s3b(a,a.g,76),b!=a.g&&(a.g=b),a.g=new x4b(76,1,a.g)):oe(a.j==n6b)}function HHb(a){var b;if(!a)return false;b=a.j;return b==(f8b(),n6b)&&a.b.j==J7b&&by((GGb(),CGb),a.b.hi())}function Sz(a){var b;if(a!=null){b=a[yBc];if(b)return b}return HD(a,$wnd.TypeError)?new $jc(a):new WB(a)}function a3b(a){var b,c;
b=Y2b(a,51);if(!b)return-1;c=b4b(a.i);if(c==-1)return-1;return b.Jh(c)+a4b(a.i)}function ihc(a){var b,c;for(c=0;c<a.b.size();c++){b=a.b.getAtIndex(c);if(!b.Fi())return false}return true}function Pwc(a,b){var c,d,e;e=a.b;while(e){c=a.a.Ie(b,e.d);if(c==0)return e;d=c<0?0:1;e=e.a[d]}return null}function Nb(a,b,c){var d,e;e=b.length;me(c,e);for(d=c;d<e;d++)if(mc(a,b.charCodeAt(d)))return d;return-1}function rt(a,b,c){var d,e;this.g=a;this.c=b;this.a=this;this.d=this;e=Mp(c);d=NC(iG,iBc,231,e,0,1);this.b=
d}function heb(a,b,c,d,e,f,g){this.g=e;this.e=b;this.c=Glc(e.b,g);this.d=c;this.a=d;this.f=a;this.b=!f?e.d:f}function mmc(a){var b;this.e=a;this.d=new evc(this.e.e);this.a=this.d;this.b=kmc(this);b=a[gJc];this[gJc]=b}function g6(a){var b,c;this.b=a;b=new tuc;this.c=new r9(a,(c=a,new E1(c)),b,new uob(new U3b((f8b(),D7b))))}function _2(){_2=aV;X2=new a3(NDc,0);$2=new a3(ODc,1);Y2=new a3(WBc,2);Z2=new a3("ON",3);W2=new a3("AUTO",4)}function et(){Gk.call(this,new uvc(16));cl(2,qBc);this.b=2;this.a=new lt(null,
null,0,null);jt(this.a,this.a)}function u7(a,b){var c,d;for(d=new kpc(a.c);d.a<d.c.a.length;){c=ipc(d);if(qkc(b,c.c))return c}return null}function q0(a,b){var c;if(b!=null){c=Mlc(a.t,new $$b(b));if(c)return c.a.Kg();return myc(a.P,b)}return null}function Dv(a,b){Av();var c;if(a===b)return true;else if(DD(b,49)){c=b;return qx(Bn(a),c.oe())}return false}function h3b(a){switch(a.j.f){case 29:return a.hi().length!=0;case 26:return h3b(a.b);default:return false}}function DRb(a,b){switch(b.p.f){case 28:case 29:a.g=
b.o.b,eSb(a.j,a.g.c);return FQb(a,1);default:return b}}function ASb(a){switch(a){case 36:case 95:return true;default:return/[A-Z]/i.test(String.fromCharCode(a))}}function ixb(a,b,c,d,e){var f;exb.call(this,a,b,c);ie(d);this.d=(vxb(),txb);this.e=d;this.c=(lm(),f=e,yo(f))}function i9(a,b,c,d){if(!b||b==c)return;oe(!bjb(b));i9(a,b.d,c,d);if(o9(a,b,d.b)){d.b=true;d.a=m9(a,b,d.a)}}function y7(a){var b,c;if(!a.d.b)return;c=r3b(a.d);I2b(a.j,c);for(b=r3b(a.d);b;b=r3b(a.d)){F2b(a.j,b,c);c=b}}function E0(a){var b,
c,d;d=new Qoc(1);for(c=rs(new tmc(a.a));c.Ed();){b=c.Fd();Eoc(d,new _1(b,true))}return d}function uDb(a){var b,c,d;b=(lm(),new Xq);for(d=a.Md();d.Ed();){c=d.Fd();Uq(b,RCb(c))}return zo(new kpc(b.a))}function LV(a,b){var c,d;yW((f8b(),k5b),b);for(c=b.b;c;c=c.d)c.j==d6b?(d=T2b(c),0!=d&&$W(XBc+d,c)):dW(a,c)}function KW(a,b,c){var d,e;yW((f8b(),z7b),c);e=h8b(c.j);e!=-1&&(d=T2b(c),e!=d&&$W(YBc+e+ZBc+d,c));nW(a,b,c.b)}function fjb(a){var b;if(a.j!=(f8b(),x6b))return false;b=a.b;return b.j==x6b&&qkc((b.b?
b.b.f:null).hi(),CCc)}function ejb(a){Shb();var b;if(a.j!=(f8b(),r6b))return false;b=a.e;if(b.j!=n5b)return false;return gjb(b.e)}function oEb(a,b){var c;oe(a.g==0);c=mEb(a,b);if(c)return c;if(a.o){c=VBb(a.o,b);if(c)return c}return null}function DU(a,b){var c;if(IU(a)&&IU(b)){c=a-b;if(!isNaN(c))return c}return gD(IU(a)?PU(a):a,IU(b)?PU(b):b)}function pW(a){var b;b=false;b=!(!!a.b&&!!a.b.d);b||$W("Expected no more than 1 children, but was "+T2b(a),a)}function C8b(a,b){return b?!a.Ji()&&!a.Qi()&&!a.Pi()&&
!a.Oi()&&a.Fi()?"!"+a.Ti(true):a.Ti(true):a.Ti(false)}function pb(a){return ID(a)?pS:FD(a)?YR:ED(a)?VR:CD(a)?a.Hj:PC(a)?a.Hj:a.Hj||Array.isArray(a)&&LC(iI,1)||iI}function O1(b){var c;try{return b.Cg()}catch(a){a=AU(a);if(DD(a,41)){c=a;throw BU(new VB(c));}else throw BU(a);}}function Hv(b,c){Av();ie(b);try{return b.remove(c)}catch(a){a=AU(a);if(DD(a,66))return null;else throw BU(a);}}function ifb(a,b){var c,d,e;for(d=new yoc(a.a);d.a!=d.b;){c=woc(d);e=c.ph(b);if(e!=null)return e}return null}function m$(a,
b){var c,d;d=0;c=a.b;for(;!!c&&d<b;c=c.d)c.j==(f8b(),G5b)?d+=m$(c,b-d):c.j==d6b||++d;return d}function YHb(a,b){var c,d,e;e=SGb(a.a,(f8b(),G5b));for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(e,iHb(a.a,c))}return e}function Qc(a,b,c){ie(b);if(c.Ed()){Xkc(b,a.Ld(c.Fd()));while(c.Ed()){Xkc(b,a.c);Xkc(b,a.Ld(c.Fd()))}}return b}function zsb(a,b,c){var d;d=a;while(true){if(ovc(d.b,b))return true;if(!!d.a&&c){d=d.a;continue}return false}}function geb(a,b,c){switch(b.f){case 0:return _eb(c,a,false);case 1:return _eb(c,
a,true);default:return null}}function phb(a,b,c){if(!c)return"  "+b+": NULL";return"  "+b+"("+O3b(c,false,false,false)+"): "+qhb(a,c)}function re(a,b,c){if(!a)throw BU(new sjc(ye("line=%s, lineCount=%s",QC(LC(kS,1),NAc,1,5,[Hjc(b),Hjc(c)]))));}function Cp(a,b,c){var d,e;return b==null||c==null?null:(e=Gv((d=a.c,!d?a.c=new Dy(a):d),b),!e?null:Gv(e,c))}function o7(a,b){return x$b(P$b(a,(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b((f8b(),_6b),EEc))),b,O2b(a,false))}function Ty(a,b){var c;if(b===a)return true;
else if(DD(b,564)){c=b;return Mh(a.Fe(),c.Fe())}else return false}function JB(b,c){HB();var d;try{IB(c,b)}catch(a){a=AU(a);if(DD(a,90)){d=a;throw BU(new VB(d));}else throw BU(a);}}function hl(b,c){el();ie(b);try{return b.remove(c)}catch(a){a=AU(a);if(DD(a,66))return false;else throw BU(a);}}function ydb(a,b,c){var d,e,f;f=YDb(b);d=Sfb(a.a,f,false);if(d){e=d.c;if(DD(e,80))return qEb(e,c)}return null}function Q0(a,b){var c,d;c=b.b;if(a.X){d=X3(a.X,b);!!d&&(c=d)}if(c!=(YX(),WX)){!a.H&&C0(a,new v2);aX(a.f,
c,b)}}function G$(a,b){var c;_kc(a.i,b);a.n+=b.length;c=Mb(new nc(10),b);if(c>0){a.k+=c;a.n=b.length-wkc(b,Nkc(10))}}function o4(a,b){var c,d;d=NC(lJ,NAc,305,b.length,0,1);for(c=0;c<b.length;c++)d[c]=Mlc(a.e,Kic(b[c]));return d}function MGb(a,b){var c;if(b){c=IGb(a,b);quc(a.n,b);if(!OGb(a,c))return aHb(a,b.a,h1b(c.e,false))}return null}function _Ob(a){var b;b=VRb(a.j,0);switch(b.c.f){case 101:case 100:return jPb(a);case 2:default:return $Ob(a)}}function cPb(a,b){var c;c=ZOb(a);if(!c||!qkc(c.a,b)){ARb(a,
c,yIc,QC(LC(kS,1),NAc,1,5,[b]));return null}return c}function hLb(a){var b,c,d,e;for(c=mMb(),d=0,e=c.length;d<e;++d){b=c[d];if(qkc(b.d,a))return true}return false}function bub(a){var b,c;for(c=new kpc(a.a);c.a<c.c.a.length;){b=ipc(c);if(b.e){oe(!!b.e);p3b(b.e,b);R0(a.b.a)}}}function o8b(a){var b,c;c=a.Md();b=G$b(c.Fd());while(c.Ed())b=v$b(b,R$b(c.Fd()));return new b5b((f8b(),a7b),b)}function uib(a){Shb();var b;for(b=a;true;b=b.b){if(b.j==(f8b(),_6b)||b.j==S7b||b.j==N7b)return b;oe(b.j==x6b)}}function H2b(a,
b){var c;ae(!b.e);ae(!b.d);ae(!b.f);if(!a.b){b.f=b;a.b=b}else{c=a.b.f;c.d=b;b.f=c;a.b.f=b}b.e=a}function OHb(a,b,c){a.a.e=BMb(a.a.e,c.a);QGb(a.a,c)||a.a.d.jh(zHc+AGb(c)+AHc+c,a.a.r,(GGb(),b.o.b.b+1),b.o.b.a)}function fCb(a,b){LBb();oe(a.d.d.isEmpty()||a.Xe().containsAll(b.p)&&b.p.containsAll(a.Xe()));this.b=a;this.a=b}function sec(a){t8b();nbc.call(this,a,null,new y9b(a,null,null),null,null,true,true);this.a.b=this;this.j=this}function Ric(){this.j=Nic++;this.o=null;this.k=null;this.i=null;this.d=
null;this.b=null;this.n=null;this.a=null}function ikb(a){if(a.a)throw BU(new sjc("Normalize constraints violated:\nDuplicate VAR declaration"));R0(a.b)}function Ahb(a,b){var c;c=b.qf();!!a.f&&(c=b.qf()+BBc+phb(a,"Node",a.e)+(!a.e?"":phb(a,"Parent",a.e.e)));_0(c,b)}function Scb(a,b){var c,d;oe(b.j==(f8b(),_6b)||b.j==x6b);c=(Shb(),d=dib(b),!d?null:Y2b(d,29));Mcb(a,b,b,c,false)}function zIb(a,b){var c;ae(b.c==(MUb(),sUb));c=XGb(a.a,(f8b(),J7b),$Gb(a.a,b,false));gHb(c,b.b.b,b.b.a);return c}function fqb(a,
b){var c;if(!!b&&b.j==(f8b(),x6b)){c=b.b?b.b.f:null;return bqb(a,c.hi())||fqb(a,b.b)}return false}function aob(a,b){var c,d;for(d=Bn(a.b).Md();d.Ed();){c=d.Fd();if(nzc(pzc(c.ye(),b)))return c.ze()}return null}function ks(a,b){var c,d;je(b,"predicate");for(d=0;a.a.Ed();d++){c=a.a.Fd().ze();if(b.Hd(c))return d}return-1}function Hdc(a,b){var c,d,e,f,g;c=new Hhc(a);for(e=b,f=0,g=e.length;f<g;++f){d=e[f];Bhc(c,d,false)}return Chc(c)}function Dpc(a){var b,c,d,e,f;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];
f=31*f+(b!=null?rb(b):0);f=f|0}return f}function wSb(a){var b;b=false;while(PRb(a,a.d)&&ESb(PRb(a,a.d)?lkc(a.e.a,a.d):0))BSb(QRb(a))&&(b=true);return b}function nvb(a){lvb();var b;b=pDc.length;if(qkc(a.substr(a.length-b,b),pDc))return Hkc(a,0,a.length-3);return a}function ykb(a){pe(a.j==(f8b(),r6b),a);Shb();if(!(a.j==r6b&&!jjb(a.e))&&!Tib(a)){zkb(a);return true}return false}function FPb(a){var b,c;c=VRb(a.j,0).b.b;YOb(a,(MUb(),RTb));b=TQb(a);YOb(a,WSb);return new cVb(new fZb(c,a.g),b)}function bQb(a){var b,
c;c=VRb(a.j,0).b.b;YOb(a,(MUb(),RTb));b=TQb(a);YOb(a,WSb);return new cVb(new fZb(c,a.g),b)}function hy(a){var b;if(!a.a.Ed()){a.b=Rvc(a.c);a.a=a.b.e.oe().Md()}b=a.a.Fd();return new Xy(a.b.d,b.ye(),b.ze())}function oq(a,b){var c;if(DD(b,74)){ie(b.ye());ie(b.ze());c=b;Eoc(a.b,c)}else Eoc(a.b,Ln(b.ye(),b.ze()));return a}function i8(a,b,c){var d;a.b=null;!c?a.d=new uob(b):a.d=new tob(c,b);n8(a,b);a.b=null;d=a.d;a.d=null;return d}function S3b(a,b){Y2b(a,40)==null&&o3b(a,40,Y2b(b,40));if(!Y2b(a,51)){I3b(a,
Y2b(b,51));a.i=b.i;a.c=b.c}return a}function Ve(a){var b,c,d,e,f;b={};for(d=a,e=0,f=d.length;e<f;++e){c=d[e];b[":"+(c.e!=null?c.e:""+c.f)]=c}return b}function seb(a){var b,c;for(c=new kpc(a.c);c.a<c.c.a.length;){b=ipc(c);ae(true);b.g=null}a.c.a=NC(kS,NAc,1,0,5,1)}function qeb(a){var b,c,d;b=(Mm(),new iq);for(d=new kpc(a.a);d.a<d.c.a.length;){c=ipc(d);gq(b,c.d)}return Um(b.a)}function Wib(a){Shb();var b,c,d;d=a.length;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b>127)return false}return true}function gl(b,
c){el();ie(b);try{return b.contains(c)}catch(a){a=AU(a);if(DD(a,66))return false;else throw BU(a);}}function u1b(a,b){if(!!b&&(a.a.a&37)==0&&(a.a.a&4)==0&&o2b(a,b)){a.a.a|=4;a.d=true;return true}else return false}function dV(a){if(Array.isArray(a)&&a.Jj===eV)return Qic(pb(a))+"@"+(rb(a)>>>0).toString(16);return a.toString()}function ttc(a){var b;this.a=(b=a.e&&a.e(),new $tc(b,wzc(b,b.length),0));this.b=NC(kS,NAc,1,this.a.a.length,5,1)}function Rdc(a,b,c){var d;d=Nlc(a.k,b);if(!d){d=new Ihc(a,3E3);
Qlc(a.k,b,d)}Bhc(d,c,false);wdc(a,b,c);Slc(a.d,b)}function Fhc(a,b,c){var d,e;e=(a.Ri(),false);d=(b.Ri(),false);return c&&!e&&!d?a.Hi(b):a.Ii(b,new jcc(false),0)}function M0(a,b,c){var d,e,f;for(e=b.Md();e.Ed();){d=e.Fd();d.b=a;f=S1(d,a);if(!f)continue;mmb(new rmb(a),f,c)}}function ed(a,b){var c,d,e;Yzc(b);c=false;for(d=a.Md();d.Ed();){e=d.Fd();if(b.contains(e)){d.Gd();c=true}}return c}function JEb(a,b){var c,d;if(!a)return false;for(d=a.Md();d.Ed();){c=d.Fd();if(c.Yh(b))return true}return false}
function Juc(a,b,c){var d,e,f,g;for(e=c,f=0,g=e.length;f<g;++f){d=e[f];if(a.b.yj(b,d.ye()))return d}return null}function fd(a,b){var c,d,e;Yzc(b);c=false;for(d=a.Md();d.Ed();){e=d.Fd();if(!b.contains(e)){d.Gd();c=true}}return c}function J8(a,b){var c,d,e;e=nib(b);d=(Shb(),gib(b,new Njb((f8b(),r6b))));if(!d)return;c=new c9(a,e);Ihb(a.a,d,c)}function YPb(a,b,c){var d,e;YOb(a,(MUb(),yTb));e=kPb(a,1);YOb(a,XSb);d=SQb(a);return new NVb(new fZb(b,a.g),c,e,d)}function fIb(a,b){var c;c=VGb(a.a,(f8b(),p6b),
SIb(a,b.d,b),SIb(a,b.b,b),SIb(a,b.c,b));H2b(c,jHb(a.a,b.a));return c}function Qzb(a,b){if(b.b){pe(b.b.j==(f8b(),G5b),b);quc(a.i,leb(b,Izb,QC(LC(pS,1),yAc,2,6,["","0",""+T2b(b.b)])))}}function h7(a,b,c,d){!!d&&d.j==(f8b(),_5b)&&(d=d.e);switch(c.j.f){case 91:i7(a,b,c,d);break;case 92:l7(a,b,c,d)}}function ycb(a){ecb();var b;if(a.j!=(f8b(),x6b))return false;b=a.b;return b.j==x6b&&qkc((b.b?b.b.f:null).hi(),CCc)}function Tib(a){Shb();var b;if(a.j==(f8b(),r6b)&&Jib(a.e)){b=a.e;return b.j==D7b||b.j==Z6b||
b.e.j==r6b}return false}function djb(a){Shb();var b;if(a.j!=(f8b(),x6b))return false;b=a.e;return b.j==n5b&&b.b==a&&qkc(X2b(b.b).hi(),CCc)}function Myb(a){if(-1==a.$h())return a;if(wAc==a.$h())return a.e.f;return izb(a.e,a.$h()&-9&-3,tyb,a.ai(),a.Zh())}function CU(a,b){var c;if(IU(a)&&IU(b)){c=a+b;if(RBc<c&&c<PBc)return c}return EU(eD(IU(a)?PU(a):a,IU(b)?PU(b):b))}function KU(a,b){var c;if(IU(a)&&IU(b)){c=a*b;if(RBc<c&&c<PBc)return c}return EU(iD(IU(a)?PU(a):a,IU(b)?PU(b):b))}function OU(a,b){var c;
if(IU(a)&&IU(b)){c=a-b;if(RBc<c&&c<PBc)return c}return EU(nD(IU(a)?PU(a):a,IU(b)?PU(b):b))}function SIb(a,b,c){var d;if(!b){d=SGb(a.a,(f8b(),d6b));b4b(d.i)==-1&&gHb(d,c.o.b,c.o.a);return d}return iHb(a.a,b)}function ZPb(a,b,c){var d,e;cPb(a,"of");e=kPb(a,1);YOb(a,(MUb(),XSb));d=SQb(a);return new OVb(new fZb(b,a.g),c,e,d)}function jz(b,c){var d;try{return kz(b,c)}catch(a){a=AU(a);if(DD(a,294)){d=a;throw BU(new Ieb(d));}else throw BU(a);}}function Fv(b,c){Av();ie(b);try{return b.containsKey(c)}catch(a){a=
AU(a);if(DD(a,66))return false;else throw BU(a);}}function $1b(a){if(!((a.a.a&EFc)!=0||P_b(a.a))&&(a.a.a&EFc)==0){a.a.a|=EFc;a.d=true;return true}else return false}function woc(a){var b;Wzc(a.a!=a.b);b=a.d.a[a.a];ooc(a.b==a.d.c&&b!=null);a.c=a.a;a.a=a.a+1&a.d.a.length-1;return b}function fJb(a,b){do{if(b==(BKb(),nKb)||b==lKb||b==mKb){a.i=(dKb(),bKb);return b}b=!a.o?IKb(a.j):eJb(a)}while(true)}function jA(a,b){var c;b=b<0?(-b<<1)+1:b<<1;do{c=b&31;b>>>=5;b>0&&(c|=32);Tkc(a,(hA(),vBc.charCodeAt(c)))}while(b>
0)}function k2(a,b){var c,d;j2(a,b,null);ae(b.j==(f8b(),D7b));c=Y2b(b,89);if(c){d=CMb(c);qkc(d,CDc)||Vwc(a.b,"lang",d)}}function K7(a){return J$b(QC(LC(WQ,1),uCc,7,0,[N$b(new U4b((f8b(),K7b),PEc),a),N$b(new U4b(K7b,UEc),new U3b(U7b))]))}function Iab(a,b){return a.e||(!!a.c&&Ihb(a.a,a.c,new Wab(a)),Ihb(a.a,a.i,new Wab(a)),a.e=true,undefined),Nlc(a.g,b)}function Aeb(a,b,c){if(c==b||Ceb(a,c).contains(b))return b;else if(Ceb(a,b).contains(c))return c;return zeb(a,b,c)}function Vyb(a){if(a._h().isEmpty()){oe(!a.Zh().isEmpty());
return a}return izb(a.e,a.$h(),uDb(a._h()),a.ai(),a.Zh())}function zZb(a){if(FD(a.a))throw BU(new TB("Double.toHexString is outside the GWT subset"));else throw BU(uZb(a));}function $W(a,b){throw BU(new sjc(a+". Reference node:\n"+P3b(b)+"\n Parent node:\n"+(b.e?P3b(b.e):" no parent ")));}function UHb(a,b){var c,d,e,f;f=SGb(a.a,(f8b(),k5b));for(e=b.a.Md();e.Ed();){d=e.Fd();c=iHb(a.a,d);H2b(f,c)}return f}function l$b(a,b){var c,d;c=X$b((f8b(),M5b),a);d=s3b(c,c.g,29);d!=c.g&&(c.g=d);!!b&&(c.g=new H4b(29,
b,c.g));return c}function Ilc(a,b){var c,d;for(c=0;c<b.length;c++){d="{"+c+"}";while(a.indexOf(d)!=-1)a=Akc(a,d,Qkc(b[c]))}return a}function zh(a,b){var c,d;c=a.a.remove(b);if(!c)return null;d=a.b.he();d.addAll(c);a.b.d-=c.size();c.clear();return d}function $7(a,b,c){var d,e;while(b.b!=(b.b?b.b.f:null)){d=Q2b(b.b?b.b.f:null);e=Q3b(p$b(d,b.j),b);F2b(c,e,b);R0(a.a)}}function Bub(a,b){var c,d;if(ruc(a.a,b))return;quc(a.a,b);for(d=tg(a.d,b).Md();d.Ed();){c=d.Fd();Bub(a,c)}Eoc(a.c,b)}function FDb(a,b){var c;
if(b==null)return false;if(a===b)return true;ae(DD(b,45));c=b;return xyb(a.d,c.d)&&a.a==c.a}function dq(a){lm();switch(a.c){case 0:return lx(),kx;case 1:return new cy(js(new huc(a)));default:return new cq(a)}}function W7(a,b){var c,d;this.c=a;this.a=b;c=new tuc;this.b=new r9(b,(d=b,new E1(d)),c,new uob(new U3b((f8b(),D7b))))}function f_b(a){!a.d&&(a.d=new I0b);!a.d.p?a.d.p=(lm(),new cy(dEc)):a.d.p=zo(new kpc(Uq(Wq(new Xq,a.d.p),dEc).a))}function Mvb(){Mvb=aV;Lvb=new k5("JSC_DUPLICATE_CASE",(YX(),
XX),new Hlc("Duplicate case in a switch statement."))}function wY(){wY=aV;vY=new k5("JSC_UNUSED_PRIVATE_PROPERTY",(YX(),WX),new Hlc("Private property {0} is never read"))}function LX(){LX=aV;KX=new k5("JSC_USED_GLOBAL_THIS",(YX(),XX),new Hlc("dangerous use of the global 'this' object"))}function C2(){C2=aV;z2=new D2(WBc,0);A2=new D2("START",1);B2=new D2("START_AND_END",2);y2=new D2("EVERY_PASS",3)}function ncc(){ncc=aV;kcc=new occ("MATCH",0,true);lcc=new occ("NOT_MATCH",1,false);mcc=new occ("PROCESSING",
2,true)}function Foc(a,b,c){var d,e;$zc(b,a.a.length);d=c.toArray();e=d.length;if(e==0)return false;yzc(a.a,b,d);return true}function doc(a){var b;b=a.a[a.c-1&a.a.length-1];if(b==null)return null;a.c=a.c-1&a.a.length-1;a.a[a.c]=null;return b}function Cpc(a){var b,c,d,e,f;if(a==null)return 0;f=1;for(c=a,d=0,e=c.length;d<e;++d){b=c[d];f=31*f+b;f=f|0}return f}function u9b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=DD(b.k,21)?b.k:null;if(!!c&&x8b(c))return true}return false}function sob(a){var b;b=a;while(b){if(b.Ah().j==
(f8b(),r6b)||b.Eh()||b.Fh()||b.Ah().j==Z6b)return b;b=b.e}return null}function tW(a,b,c){var d;qW(c);for(d=c.b;d;d=d.d)d.j==(f8b(),_6b)?nW(a,b,d):d.j==_5b?nW(a,b,d.b):$W(hCc+b+" node",d)}function Edb(a,b){var c,d;ae(b.j==(f8b(),x6b));jdb(a,b);if(ddb(a,b))return;d=b.b;c=(b.b?b.b.f:null).hi();Fdb(a,b,d,c)}function Gdc(a,b,c){!b&&(b=(Mm(),Mm(),Lm));!c&&(c=(Mm(),Mm(),Lm));return b.isEmpty()&&c.isEmpty()?a.c:new Ggc(a,b,c)}function mac(a,b){var c;c=a.d.si(b);return c.Ci()||c.Ai()||c.Bi()||Ldc(c.u,(tdc(),
Icc))==c?null:new nac(a.u,c,a.b,a.a)}function XA(a,b){var c;if(b!=a.c){a.c=b;c=pvc(a.k,b);if(c)a.d=c.a;else{a.d=Ulc(a.k.c);qvc(a.k,b,Hjc(a.d))}}return a.d}function nzc(a){var b;a.e=gV(a.d,a.c);a.b=true;a.a=0;if(a.e){b=a.e[0];if(qkc(b,a.c))return true;a.e=null}return false}function ntc(a,b){var c,d;for(d=new huc(a.a);d.a<d.c.a.length;){c=guc(d);if(Ewc(b,a.b[c.f]))return true}return false}function lgb(a,b){var c;c=a;while(c.r)c=c.r;if(c.u.contains(b))return new Dwb(a.a.G,null,null,null,false);return null}
function Rc(b,c,d){var e;try{Qc(b,c,d)}catch(a){a=AU(a);if(DD(a,90)){e=a;throw BU(new qic(e));}else throw BU(a);}return c}function Pd(b,c,d){var e;try{Od(b,c,d)}catch(a){a=AU(a);if(DD(a,90)){e=a;throw BU(new qic(e));}else throw BU(a);}return c}function nB(a,b,c,d,e){oe(a.b<=d);oe(a.b<d||a.a<e);if(a.b==d&&a.a==e)throw BU(new rjc);b.xf(c,a.b,a.a,d,e);a.b=d;a.a=e}function _Zb(a){if(a.b==116||a.b==84)throw BU(new b$b(BD(a.b)+""+BD(a.c)));throw BU(new b$b(String.fromCharCode(a.b)));}function wIb(a,b){var c,
d,e;e=new a5b((f8b(),x7b));for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(e,iHb(a.a,c))}return HGb(a.a,e)}function RIb(a,b,c){var d;if(!b){d=SGb(a.a,(f8b(),d6b));b4b(d.i)==-1&&gHb(d,c.o.b,c.o.a);return d}return oIb(a,b,false)}function Hjc(a){var b,c;if(a>-129&&a<128){b=a+128;c=(Jjc(),Ijc)[b];!c&&(c=Ijc[b]=new tjc(a));return c}return new tjc(a)}function zgc(a,b){var c,d;d=Xjc(a.d.size(),a.e.size());for(c=d-1;c>=0;c--)if(a.d.getAtIndex(c)==b)return c;return-1}function Lib(a){Shb();var b;if(a.j!=(f8b(),G5b))return false;
for(b=a.b;b;b=b.d)if(b.j!=d6b)return false;return true}function jjb(a){Shb();oe(!!a);switch(a.j.f){case 83:case 109:case 80:case 81:case 158:return true;default:return false}}function Fo(a){lm();switch(a.size()){case 0:return lx(),kx;case 1:return new cy(a.Md().Fd());default:return new mx(a)}}function i$(a){QZ(this);this.c=a;this.f=false;this.j=true;this.g=false;this.i=false;this.k=false;this.e=new feb(false)}function j$(a,b){QZ(this);this.c=a;this.f=b.pc;this.j=b.od;this.g=b.sc;this.i=b.Ac;this.k=
false;this.e=new feb(this.k)}function Dlb(a,b,c){ulb();this.a=a;this.f=a.u;this.u=b;this.n=new Poc;this.q=c;this.e=false;this.b=false;this.t=this.i=0}function qvb(a,b,c,d,e){pvb();this.e=a;this.b=b;this.c=c?Um(c):(Mm(),Mm(),Lm);this.d=d?Um(d):(Mm(),Mm(),Lm);this.a=In(e)}function unb(a,b){snb(this);this.d=new uf(ie(b));this.e=W2b(b,60)!=0?a.e:this;this.c=W2b(b,61)!=0?new uf(ie(this)):a.c}function yqb(a){this.a=new $$b(a);this.c=new Xob(a);this.b=new U3b((f8b(),D7b));o3b(this.b,53,this.a);I3b(this.b,
this.c)}function YJb(a){XIb();var b,c;b=new kGb(new tuc,new tuc,(yGb(),sGb),1);c=new XJb(new NKb(a),a,0,null,b,new RKb);return c}function Flb(a){var b,c;for(c=new kpc(a.b);c.a<c.c.a.length;){b=ipc(c);if(jn((ulb(),rlb),b.b))return true}return false}function SUb(a){var b;b=a;while(b.p==(vYb(),UXb))b=b.a;switch(b.p.f){case 59:case 61:return true;default:return false}}function P2b(a,b,c){var d;G3b(b,a.i);C3b(b,a.c);K3b(b,a.k);F3b(b,a.g);if(c){d=Y2b(a,29);!!d&&A3b(a,g_b(d,true))}return b}function p8b(a,
b){var c,d,e;if(Mr(b))return a;c=new b5b((f8b(),q7b),a);for(e=b.Md();e.Ed();){d=e.Fd();H2b(c,d)}return c}function xgc(a,b){var c;if(a.isEmpty())return b;if(b.isEmpty())return a;c=(Mm(),new iq);Xp(c,a);Xp(c,b);return Um(c.a)}function nhc(a){var b,c,d;c=new Hhc(a.u);for(b=0;b<a.b.size();b++){d=a.b.getAtIndex(b);Bhc(c,d.Li(),false)}return Chc(c)}function Cgc(a){var b,c,d,e;if(a.c!=null)for(c=a.c,d=0,e=c.length;d<e;++d){b=c[d];if(x8b(b))return true}return false}function Vwb(a,b,c,d,e){oe(!a.A);!d&&e&&
(d=a.t.G);a.C=DBb(a.C,b,e?new IDb(c,d,d,(TDb(),QDb)):new IDb(c,d,d,(TDb(),SDb)))}function hpb(a,b){var c;b.length!=0&&Y2b(a,40)==null&&(c=s3b(a,a.g,40),c!=a.g&&(a.g=c),b!=null&&(a.g=new H4b(40,b,a.g)))}function vhb(a,b){var c,d;!b&&!!a.g&&a.g.lh(a);d=coc(a.j);!d&&(d=goc(a.k).Ah());qjb(d)&&goc(a.b);c=thb(a);!!c&&W0(a.c,c)}function I2b(a,b){var c;ae(!b.e);ae(!b.d);ae(!b.f);b.e=a;b.d=a.b;if(!a.b)b.f=b;else{c=a.b.f;b.f=c;b.d=a.b;a.b.f=b}a.b=b}function jcb(a,b){var c;ae(b.j==(f8b(),r6b));if(ovc(a.b,b))return pvc(a.b,
b);c=nib(b);oe(!!c);oe(c.j==_6b);return c.hi()}function edb(a){var b,c;c=a.e;if(c.j==(f8b(),h6b)||c.j==F7b){b=c.b==a?c.b.d:c.b;return ojb(b)}return c.j==h7b&&c.e.j==B6b}function _fb(a){var b,c;if(a.t.j!=(f8b(),r6b))return false;b=(Shb(),c=dib(a.t),!c?null:Y2b(c,29));return!!b&&(b.a&2)!=0}function z9(a,b){var c,d,e;if(T2b(b)!=3)return;d=b.b;c=d.d;e=c.d;if(c.j!=(f8b(),J7b))return;Eoc(a.f,new R9(a,c.hi(),e))}function w8(a){var b,c;b=e$b(QC(LC(WQ,1),uCc,7,0,[]));for(c=a.b;c;c=c.d)c.j==(f8b(),J7b)&&H2b(b,
R$b(Y2b(c,71)));return b}function h1b(a,b){var c;if(a.d||b){oe(!!a.a);c=a.a;a.a=null;!c.j&&v0b(c,(b1b(),Y0b));a.d=false;return c}else return null}function i3b(a){switch(a.j.f){case 90:case 116:case 29:case 26:case 27:case 91:case 92:return true;default:return false}}function GSb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return a-48;default:return-1}}function ibc(a,b,c){if(!b)return false;if(a.lj()&&b==(te(a.lj()||a.e==2,bJc,a),D8b(a.j)))return false;return kbc(a,
b,c)}function wic(a,b){tic();return ID(a)?mkc(a,b):FD(a)?qjc((Yzc(a),a),(Yzc(b),b)):ED(a)?vic((Yzc(a),a),(Yzc(b),b)):a.Rd(b)}function MOb(a,b,c){var d,e;return new fZb((e=KOb(a,b),new dZb(a.b,b,e,b-a.a[e])),(d=KOb(a,c),new dZb(a.b,c,d,c-a.a[d])))}function LCb(a,b){var c;c=GCb(a,b);return!!c&&(b.a.size()==1||Oyb(c.d,(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size())))))}function lIb(a,b){var c;c=SGb(a.a,(f8b(),B6b));H2b(c,iHb(a.a,b.a));H2b(c,jHb(a.a,b.c));!!b.b&&H2b(c,jHb(a.a,b.b));return c}function KIb(a,
b){var c,d,e;e=(Mm(),new iq);for(d=b.a.Md();d.Ed();){c=d.Fd();gq(e,iHb(a.a,c))}return HGb(a.a,q8b(Um(e.a)))}function gLb(a,b){var c,d;D3b(b,b4b(b.i)+a.d);for(d=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();d.Ed();){c=d.Fd();gLb(a,c)}}function $Z(a,b,c,d,e){var f,g;for(g=b;g;g=g.d){f=g==b;if(f)WZ(a,g,c?1:0,d);else{rZ(a.c,e,true);WZ(a,g,c?1:0,d==3?3:4)}}}function Epc(a,b,c,d){var e,f,g;for(e=b+1;e<c;++e)for(f=e;f>b&&d.Ie(a[f-1],a[f])>0;--f){g=a[f];a[f]=a[f-1];a[f-1]=g}}function Fpc(a,b,c,d,e,f,g,h){var i;
i=c;while(f<g)i>=d||b<c&&h.Ie(a[b],a[i])<=0?e[f++]=a[b++]:e[f++]=a[i++]}function Ai(a){var b;if(a.b){Ai(a.b);if(a.b.d!=a.c)throw BU(new btc);}else if(a.d.isEmpty()){b=a.f.c.pe(a.e);!!b&&(a.d=b)}}function Lr(a){var b;if(DD(a,48)){b=a;if(b.isEmpty())throw BU(new Dwc);return b.getAtIndex(b.size()-1)}return hs(a.Md())}function Bzc(b,c){function d(a){if(!a||a.length==0)return"";return"\t"+a.join("\n\t")}return c&&(c.stack||d(b[JBc]))}function f0(a){switch(a.H.Vb.f){case 0:case 1:case 3:return false;case 2:case 4:case 6:return true;
default:return a.H.Rb}}function f0b(a,b){!a.d&&(a.d=new I0b);!a.d.d&&(a.d.d=new tuc);if(ruc(a.d.d,b))return false;else{quc(a.d.d,b);return true}}function ny(a){if(!!(!a.a||a.a.isEmpty()&&ovc(a.c.a,a.b)?a.a=pvc(a.c.a,a.b):a.a)&&a.a.isEmpty()){svc(a.c.a,a.b);a.a=null}}function BMb(a,b){return a.b>=b.b&&(a.d||!b.d)&&(a.a||!b.a)&&(a.c||!b.c)?a:new DMb(Wjc(a.b,b.b),a.d||b.d,a.a||b.a,a.c||b.c)}function EKb(a,b){var c,d;c=a.p;if(c==a.o.length){d=NC(MD,zAc,46,a.o.length*2,15,1);ilc(a.o,d,c);a.o=d}a.o[c]=
b&DAc;a.p=c+1}function QOb(a){var b,c;c=NC(ND,FBc,46,a.a.length,15,1);for(b=0;b<c.length;b++)c[b]=(Xzc(b,a.a.length),a.a[b]).a;return c}function DIb(a,b){var c,d,e;e=TGb(a.a,(f8b(),O7b),iHb(a.a,b.b));for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(e,iHb(a.a,c))}return e}function Rcb(a,b){var c,d,e;oe(b.j==(f8b(),_6b)||b.j==x6b);c=(Shb(),d=dib(b),!d?null:Y2b(d,29));e=tib(b);Mcb(a,e,b,c,false)}function RV(a,b){var c,d;yW((f8b(),N5b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));sW(b.b);PV(a,b.b?b.b.f:
null)}function L2b(a,b){var c,d,e;if(!b)return;for(c=b;c;c=c.d){ae(!c.e);c.e=a}e=b.f;if(a.b){d=a.b.f;b.f=d;e.d=a.b;a.b.f=e}a.b=b}function avc(a,b,c){var d;d=a.a.get(b);a.a.set(b,c===undefined?null:c);if(d===undefined){++a.c;atc(a.b)}else++a.d;return d}function kcb(a,b,c){while(WBb(b,c)){ae(b.a.f);ae(b.a.g==0);if(sp(a.o,b.a,c)!=null)return sp(a.o,b.a,c);b=UBb(b)}return null}function zdb(a,b,c){var d;if(!a||!(d=!a.d?null:a.d.p,!d?(bqc(),bqc(),aqc):d).contains(dEc))return false;return!b||xyb(b,c)}function Mub(a,
b,c,d){ie(b);ie(c);ie(d);this.d=d;this.a=a;this.c=Oub(b);this.b=Qub(Or(Or(c,Iub),d),this.c);dx();Nub(this.b)}function Afb(a,b,c,d,e,f){this.b=new luc;this.a=a;this.f=b;ae(c.length!=0);this.d=c;this.e=d;e?this.c=this:this.c=f.oh()}function Xob(a){Sob();if(!a)throw BU(new Geb("a source must have a name"));qkc("/",_hc)?this.c=a:this.c=Akc(a,_hc,"/")}function xc(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==a&&/[A-Z]/i.test(String.fromCharCode(a))}function Gic(a){return String.fromCharCode(a).toLocaleUpperCase().charCodeAt(0)==
a&&/[A-Z]/i.test(String.fromCharCode(a))}function g1(a){var b,c;for(c=new kpc(a);c.a<c.c.a.length;){b=ipc(c);b.c.a.length==0&&oeb(b,new $1(Yob(b.d+"$fillFile","")))}}function H$b(a,b){var c,d,e,f,g;g=new W3b((f8b(),f7b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];oe(C$b(c));H2b(g,c)}return g}function iHb(a,b){var c,d;c=NGb(a,b);d=THb(a.u,b);if(c){d=RGb(a,b,c,d);o3b(d,29,c)}b4b(d.i)==-1&&gHb(d,b.o.b,b.o.a);return d}function R6(a,b,c){N6();var d,e,f;e=Y2b(a,29);if(!e){e=Y2b(b,29);f=s3b(b,b.g,29);f!=b.g&&
(b.g=f)}d=z2b(e);A3b(c,h1b(d,false))}function mEb(a,b){var c;c=hh(Yg(a.b,b,false));if(c)return c;c=hh(Yg(a.k,b,false));if(c)return c;return hh(Yg(a.j,b,false))}function njb(a){Shb();switch(a.f){case 24:case 78:case 25:case 21:case 22:case 20:case 19:return true;default:return false}}function pSb(a){switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 92:return nSb(a);case 91:return qSb(a);default:QRb(a);return true}}function hn(a){Mm();var b;switch(a.size()){case 0:return Lm;case 1:return new _x(a.Md().Fd());
default:b=a;return new gx(b)}}function FQb(a,b){a.d=BMb(a.d,(wNb(),SMb).a);switch(VRb(a.j,0).c.f){case 49:return uPb(a,b);case 45:default:return BQb(a,b)}}function iIb(a,b){var c,d,e;e=TGb(a.a,(f8b(),J5b),iHb(a.a,b.b));for(d=b.a.a.Md();d.Ed();){c=d.Fd();H2b(e,iHb(a.a,c))}return e}function Us(a){ie(a.b);if(a.b.Ed())return true;while(a.a.Ed()){ie(a.b=a.jf(a.a.Fd()));if(a.b.Ed())return true}return false}function YDb(a){if(!a||!g3b(a))return null;return a.j==(f8b(),_6b)?new XDb(a.hi()):new WDb(Tm(Df(Jf(new nc(46)),
Z2b(a))))}function Nyb(a){if(-1==a.$h())return a;if(wAc==a.$h())return a.e.A;return izb(a.e,a.$h()&-33&-17&-257,a._h(),a.ai(),a.Zh())}function PHb(a,b){if(j8b(b.hi())){a.a.e=BMb(a.a.e,(wNb(),cNb).a);a.a.a.c==(yGb(),sGb)&&a.a.d.jh(tGc,a.a.r,b4b(b.i),a4b(b.i))}}function XC(a,b){if(a.h==NBc&&a.m==0&&a.l==0){b&&(SC=VC(0,0,0));return UC((wD(),uD))}b&&(SC=VC(a.l,a.m,a.h));return VC(0,0,0)}function c_b(a,b){!a.d&&(a.d=new I0b);!a.d.e&&(a.d.e=new Qoc(2));if(Ioc(a.d.e,b,0)!=-1)return false;Eoc(a.d.e,b);return true}
function d_b(a,b){!a.d&&(a.d=new I0b);!a.d.f&&(a.d.f=new Qoc(2));if(Ioc(a.d.f,b,0)!=-1)return false;Eoc(a.d.f,b);return true}function s_b(a,b,c){if(!a0b(a))return true;!a.b.j&&(a.b.j=new tvc);if(!ovc(a.b.j,b)){qvc(a.b.j,b,c);return true}return false}function hhc(a,b,c,d){var e,f,g;f=ehc(a);for(g=0;g<f.size();g++){e=f.getAtIndex(g);if(u8b(e,b,c,d))return true}return false}function v9b(a){var b,c;if(a.a)for(b=a.a.b;b;b=b.d){c=DD(b.k,21)?b.k:null;if(!c||c.Ji())return true}return!a.b||a.b.Ji()}function l$(a){var b,
c;for(b=a.b;b;b=b.d)if(b.j==(f8b(),G5b)){c=l$(b);if(c)return c}else if(b.j!=d6b)return b;return null}function lPb(a){var b,c,d,e;e=VRb(a.j,0).b.b;b=wQb(a);while(kRb(a)){c=jPb(a);d=wQb(a);b=new bVb(new fZb(e,a.g),b,c,d)}return b}function wQb(a){var b,c,d,e;e=VRb(a.j,0).b.b;b=UPb(a);while(rRb(a)){c=jPb(a);d=cRb(a);b=new bVb(new fZb(e,a.g),b,c,d)}return b}function RQb(a){var b,c,d,e;e=VRb(a.j,0).b.b;b=lPb(a);while(vRb(a)){c=jPb(a);d=lPb(a);b=new bVb(new fZb(e,a.g),b,c,d)}return b}function j$b(a,b){var c,
d,e,f,g;g=new W3b((f8b(),J5b),a);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];pe(C$b(c),c);H2b(g,c)}return g}function kz(a,b){var c,d;b=(!a.c?(Cc(),Bc):new nc(a.c.a)).Jd(b);d=NC(LD,wBc,46,vz(a,b.length),15,1);c=Dz(a,d,b);return lz(d,c)}function SZb(a,b){var c;NZb(a);c=a.b<a.c?lkc(a.a,a.b):-1;if(c>=48&&c<=57){ZZb(b,PZb(a));return RZb(a,b)}else throw BU(UZb(a));}function h_b(a,b,c){!a.d&&(a.d=new I0b);!a.d.n&&(a.d.n=new tvc);if(ovc(a.d.n,c))return false;else{qvc(a.d.n,c,b);return true}}function Jab(a,b,c){var d,
e,f;e=(d=tkc(b,Nkc(46)),d==-1?b:b.substr(0,d));return f=c.Bh(e),!f&&!!a.d&&(f=a.d.Bh(e)),!!f&&!f.Gh()}function $U(){ZU={};!Array.isArray&&(Array.isArray=function(a){return Object.prototype.toString.call(a)==="[object Array]"})}function b1b(){b1b=aV;$0b=new c1b(lHc,0);Z0b=new c1b(kHc,1);_0b=new c1b(mHc,2);a1b=new c1b(nHc,3);Y0b=new c1b("INHERITED",4)}function gWb(){gWb=aV;dWb=new hWb("DECLARATION",0);eWb=new hWb("EXPRESSION",1);fWb=new hWb("MEMBER",2);cWb=new hWb("ARROW",3)}function xCb(){xCb=aV;vCb=
new yCb(0);uCb=new yCb(1);tCb=new yCb(2);sCb=new yCb(3);wCb=QC(LC(zN,1),NAc,199,0,[vCb,uCb,tCb,sCb])}function $A(){this.e=new Poc;this.k=new tvc;this.j=new tvc;this.g=new tvc;this.f=new lA(0,0);this.i=new lA(0,0);this.a=new tvc}function Wpb(a,b,c,d,e){Upb();this.a=a;this.e=new vuc(b);this.c=new vuc(c);this.d=new vuc(d);this.b=new vuc(e);this.f=new tuc}function pAb(a,b,c,d){Pzb();this.i=new Xvc;this.g=new tvc;ie(a);this.a=a;this.e=new rAb(null,Swb(a));this.b=b;this.d=c;this.f=d}function tob(a,b){rob(this);
ie(a);ie(b);ge(b!=a.f,"Root node: %s\nParent's root node: %s",b,a.f);this.e=a;this.f=b;this.d=a.d+1}function Ovb(){Ovb=aV;Nvb=new k5("JSC_USELESS_EMPTY_STATEMENT",(YX(),WX),new Hlc("Useless empty statement. Remove semicolon."))}function yyb(a,b){if(wAc==a.$h())return a.e.G;oe(!a._h().isEmpty()||!a.Zh().isEmpty());return mzb(HEb(a._h(),b),HEb(a.Zh(),b))}function _cb(a){var b,c,d,e;for(d=(e=(new Kmc(a.b.a)).a.oe().Md(),new Qmc(e));d.a.Ed();){c=(b=d.a.Fd(),b.ye());pdb(a,c)}a.b=null}function HGb(a,b){var c,
d;!!b.g||N2b(b,a.t);for(d=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();d.Ed();){c=d.Fd();HGb(a,c)}return b}function A$b(a,b){var c,d;c=X$b((f8b(),I6b),a);d=s3b(c,c.g,32);d!=c.g&&(c.g=d);(b?1:0)!=0&&(c.g=new x4b(32,b?1:0,c.g));return c}function iA(a){var b,c,d,e,f;e=0;f=0;do{b=lkc(a.a,a.b++);d=(hA(),gA[b]);c=(d&32)!=0;d&=31;e=e+(d<<f);f=f+5}while(c);return kA(e)}function i$b(a){var b,c,d,e,f,g;c=(b=new U3b((f8b(),G5b)),b);for(e=a,f=0,g=e.length;f<g;++f){d=e[f];oe(D$b(d));H2b(c,d)}return c}function TQb(a){var b;
b=(Mm(),new iq);while(iRb(a,0,(MUb(),sTb))||wRb(a)||jRb(a,ETb)||iRb(a,0,USb))gq(b,SQb(a));return Um(b.a)}function VQb(a){var b;b=(Mm(),new iq);while(iRb(a,0,(MUb(),sTb))||wRb(a)||jRb(a,ETb)||iRb(a,0,USb))gq(b,SQb(a));return Um(b.a)}function Bac(a,b,c,d,e){var f,g;if(!!lfc(a.r,b)&&(g=a.dj(b),!!g&&!g.b))return false;f=new efc(b,c,d,e);pfc(a.r,b,f);return true}function s3b(a,b,c){var d;if(!b)return null;else if(b.ri()==c)return b.pi();else{d=s3b(a,b.pi(),c);return d!=b.pi()?b.ni(d):b}}function bd(a,
b,c){var d,e;for(e=a.Md();e.Ed();){d=e.Fd();if(JD(b)===JD(d)||b!=null&&nb(b,d)){c&&e.Gd();return true}}return false}function n2b(a,b){if(!!b&&!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)){j_b(a.a,b);a.d=true;return true}return false}function xRb(a){switch(VRb(a.j,0).c.f){case 9:case 26:case 24:case 63:case 64:case 77:case 76:return true;default:return false}}function tRb(a,b){var c;c=VRb(a.j,b).c;switch(c.f){case 2:case 101:case 100:return true;default:return BOb(),BOb(),!!co(cOb,c)}}function pib(a){Shb();
switch(a.j.f){case 89:case 84:case 85:case 96:return a.hi()}throw BU(new sjc("Unexpected node type: "+a));}function _zc(a,b,c){if(a<0||b>c)throw BU(new lic(pJc+a+qJc+b+", size: "+c));if(a>b)throw BU(new Geb(pJc+a+" > toIndex: "+b));}function cn(a){Mm();var b,c,d;for(c=0,d=a.length;c<d;c++)if(a[c]==null)throw BU(new _jc("at index "+c));b=a;return new Upc(b)}function vDb(a,b,c){var d,e,f;d=(lm(),new Xq);for(f=a.Md();f.Ed();){e=f.Fd();Uq(d,SCb(e,b,c,false,false))}return zo(new kpc(d.a))}function T8(a,
b){var c,d;for(d=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();d.Ed();){c=d.Fd();if(c.j==(f8b(),S5b)){U8(a,b);return}}}function Ttc(a,b){var c,d,e,f,g;c=(d=(e=Pic((f=a.Hj,g=f.f,g==ZR?f:g)),new $tc(e,wzc(e,e.length),0)),Utc(d,a),d);cqc(c,b);return c}function Skc(a,b,c){var d,e,f,g;f=b+c;bAc(b,f,a.length);g="";for(e=b;e<f;){d=e+1E4<f?e+1E4:f;g+=Mkc(a.slice(e,d));e=d}return g}function J9(a){var b,c,d;d=Ef(Jf(new nc(46)),a);c=new Poc;for(b=0;b<d.b.size();b++)Eoc(c,Tc(new Wc("."),Ur(Nr(d,b+1))));return c}
function Ehc(a){if(a.e)return Ldc(a.i,(tdc(),qcc));else if(a.f)return a.b?Ldc(a.i,(tdc(),wcc)):Ldc(a.i,(tdc(),pdc));return null}function Oxb(a){if(a.c)return a;if(a==a.a.v||a==a.a.g)return a.a.g;return new Pxb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,true,a.b)}function hdb(a,b,c){var d;oe(c.f||c.g==0);if((c.i.a&1)==0)return true;d=b.e;return(d.j==(f8b(),n5b)&&b==d.b||d.j==n6b)&&_fb(a.a)}function m4b(a,b,c){var d,e;for(e=0;e!=b;++e)c.a+="    ";Xkc(c,O3b(a,true,true,true));c.a+=BBc;for(d=a.b;d;d=d.d)m4b(d,
b+1,c)}function p6(a,b,c){var d,e;for(e=c.Md();e.Ed();){d=e.Fd();d.j==(f8b(),J7b)&&o6(a,b,d);p6(a,b,!d.b?(bqc(),bqc(),aqc):new O4b(d.b))}}function dqb(a,b,c){var d,e,f;d=b.b;if(fqb(a,d)||(f=Z2b(d),hqb(a,f))){if(c.j==(f8b(),n6b)){e=c.e;Ejb(e,c)}else Ejb(c,b);R0(a.a.a)}}function SBb(a){var b,c,d;d=(lm(),new Xq);for(c=lEb(a.a).Md();c.Ed();){b=c.Fd();uEb(b.a)&&Uq(d,$Bb(b,a.b))}return zo(new kpc(d.a))}function TBb(a){var b,c,d;oe(a.a.f);d=(lm(),new Xq);for(c=lEb(a.a).Md();c.Ed();){b=c.Fd();Uq(d,$Bb(b,
a.b))}return zo(new kpc(d.a))}function wDb(a,b){var c,d,e;c=(lm(),new Xq);for(e=a.Md();e.Ed();){d=e.Fd();Uq(c,SCb(d,b,null,false,false))}return zo(new kpc(c.a))}function Zfb(a,b){var c;je(a.s,"Failed to preserve namespaces post-finalization");c=a.s.pe(b);if(DD(c,80))return c.q;return null}function kjb(a){var b,c;b=a.b;if(b.j==(f8b(),x6b)||b.j==w6b){c=b.b?b.b.f:null;return c.j==J7b&&qkc("toString",c.hi())}return false}function wPb(a,b){var c,d;Vnc(a.e,(tic(),tic(),false));jRb(a,(MUb(),RTb))?c=bQb(a):
c=xPb(a,b);d=doc(a.e);Wzc(d!=null);return c}function NQb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=RQb(a);while(uRb(a,b)){d=jPb(a);e=RQb(a);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function h$(a,b,c,d,e,f,g,h){var i,j;j=b.b;while(j.j==c)j=j.b;WZ(a,j,g,e);i=j;do{i=i.e;rZ(a.c,d,true);WZ(a,i.b.d,h,f)}while(i!=b)}function A$(a,b,c,d){var e,f;if(a.j)for(f=new kpc(a.g);f.a<f.c.a.length;){e=ipc(f);e.b=C$(e.b,b,c,d);!!e.a&&(e.a=C$(e.a,b,c,d))}}function Dub(a){this.f=new Poc;this.c=new Poc;this.a=new tuc;this.e=
new tvc;this.b=new luc;this.d=new et;Goc(this.f,a);Cub(this)}function Lg(a){return DD(a,203)?vx(a):DD(a,121)?(bqc(),new Rsc(a)):DD(a,31)?(bqc(),new qsc(a)):DD(a,48)?jqc(a):(bqc(),new drc(a))}function BC(){if(Error.stackTraceLimit>0){$wnd.Error.stackTraceLimit=Error.stackTraceLimit=64;return true}return zBc in new Error}function F3(){F3=aV;A3=new G3("ALL",0);D3=new G3("RAW_SIZE",1);B3=new G3("AST_SIZE",2);E3=new G3("TIMING_ONLY",3);C3=new G3(WBc,4)}function dKb(){dKb=aV;bKb=new eKb("SEARCHING_ANNOTATION",
0);cKb=new eKb("SEARCHING_NEWLINE",1);aKb=new eKb("NEXT_IS_ANNOTATION",2)}function Hnb(a){var b;if(!g3b(a))return false;b=Z2b(a);return qkc(b.substr(0,11),"goog.string")||qkc(b.substr(0,10),"goog.array")}function p_b(a,b,c){if(!a0b(a))return true;!a.b.e&&(a.b.e=new tvc);if(ovc(a.b.e,b))return false;else{qvc(a.b.e,b,c);return true}}function hcc(a,b,c){!a.a&&(a.a=new Dp(new tvc,new Hp));if(Bp(a.a,b,c))return Cp(a.a,b,c);else{icc(a,b,c,(ncc(),mcc));return null}}function Iw(a,b,c,d){var e;cl(c,"oldCount");
cl(d,"newCount");e=Gv(a.a,b);if((!e?0:e.a)==c){Sj(a,b,d);return true}else return false}function uIb(a,b){var c,d,e;OHb(a,b,(wNb(),SMb));e=SGb(a.a,(f8b(),n7b));for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(e,kHb(a.a,c))}return e}function VHb(a,b){var c,d,e;OHb(a,b,(wNb(),SMb));e=SGb(a.a,(f8b(),l5b));for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(e,kHb(a.a,c))}return e}function _r(a,b){var c,d;ie(a);be(b>=0,"numberToAdvance must be nonnegative");for(d=0;d<b&&a.a.Ed();d++){c=a.a.Fd();c.ye()}return d}function bx(a,b){var c,
d;c=a.b.b.size();b.length<c&&(b=(d=(Vzc(0),spc(b,0)),d.length=c,d));ax(a,b);b.length>c&&(b[c]=null);return b}function dbc(a){var b,c;c=a.lj()?hbc(a):null;if(!c)return a.c;b=(Mm(),new iq);hq(b,a.c);while(c){hq(b,c.c);c=hbc(c)}return Um(b.a)}function Sm(a){var b,c;b=a.toArray();switch(b.length){case 0:return Lm;case 1:c=new _x(b[0]);return c;default:return new gx(cn(b))}}function tr(a){var b,c,d;b=rr(a.a);for(d=new kpc(a.b);d.a<d.c.a.length;){c=ipc(d);sr(b,c)}return lr(),new mr((bqc(),new Osc(b)),a.a)}
function _A(a,b){var c,d,e,f;e=0;for(d=new Tvc(new Kvc(b));d.b!=d.c.a.b;){c=Rvc(d);f=c.d;e!=0&&(a.a+=",",a);Xkc(a,(HB(),KB(f)));++e}}function _W(a){var b,c,d,e;for(e=(c=(new Jnc(a.d.a)).a.oe().b.Cj(),new Pnc(c));e.a.Ed();){d=(b=e.a.Fd(),b.ye());a.Of(d.b,d.a)}a.Nf()}function e$b(a){var b,c,d,e,f;b=new U3b((f8b(),k5b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];oe(c.j==d6b||C$b(c));H2b(b,c)}return b}function FAb(a,b){var c,d,e;if(!a.I)return a.G;e=a.I.p;c=a.I.q;if(e.size()==1){d=js(e.Md());c=Syb(c,(bl(d,
b),new Vx(d,b)))}return c}function TPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=NQb(a,b);while(nRb(a)){d=jPb(a);e=NQb(a,b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function ZQb(a){var b,c,d;d=VRb(a.j,0).b.b;YOb(a,(MUb(),DUb));b=ZOb(a);YOb(a,jTb);c=YQb(a);bPb(a);return new NYb(new fZb(d,a.g),b,c)}function IIb(a,b){var c,d;d=b.a.Qe();c=XGb(a.a,(f8b(),_6b),d.Fd());while(d.Ed())c=v$b(c,R$b(d.Fd()));return HGb(a.a,new b5b(W7b,c))}function Fjb(a,b){Shb();var c,d;d=a;c=hh(Luc(d.d,b));W2b(b,56)>W2b(c,56)?oe(!Oib(b,
c)):oe(Oib(b,c));Gjb(b,new Qjb(d),(ze(),ef(),bf))}function f7(a,b,c){var d,e,f;d=(Shb(),e=dib(b),!e?null:Y2b(e,29));!!d&&E_b(d,c)!=null?f=E_b(d,c):f=NEc+a.b++;oe(k8b(f));return f}function M$b(a){var b,c,d,e,f;f=new U3b((f8b(),r7b));for(c=a,d=0,e=c.length;d<e;++d){b=c[d];oe(b.j==_6b||b.j==z7b);H2b(f,b)}return f}function E4(a,b){A4();var c,d,e,f,g;g=(lm(),new Xq);for(d=b,e=0,f=d.length;e<f;++e){c=d[e];Wq(g,c.b)}this.a=a;this.b=zo(new kpc(g.a))}function jGb(a,b,c,d,e){var f;ae(!(d==(yGb(),sGb)&&e==0));
this.a=lGb(a);this.d=b;this.b=0;this.f=(lm(),f=c,yo(f));this.c=d;this.e=e}function wgc(a,b,c,d,e){var f;f=false;if(!a.a&&!b.a){a.a=true;b.a=true;f=Hgc(c,a,b,d,e)&&Hgc(c,b,a,d,e);a.a=false;b.a=false}return f}function E0b(a,b){var c,d,e;e=null;if(a){e=new Qoc(a.a.length);for(d=new kpc(a);d.a<d.c.a.length;){c=ipc(d);Eoc(e,A0b(c,b))}}return e}function FZb(a){var b;if(a.a==null)b=FAc;else throw BU(new TB("Integer.toHexString is outside the GWT subset"));return xZb(a,b,0)}function mRb(a){var b;b=VRb(a.j,
0);switch(b.c.f){case 2:case 65:case 43:case 49:case 52:return true;default:return BOb(),!!DOb(b.c)}}function G7(a){var b;b=r3b(a.d);while(b){!!b.b&&H2b(a.e,q$b(f$b(b,r3b(b))));F2b(a.i.e,p$b(O2b(b,false),(f8b(),_7b)),a.i);b=r3b(a.d)}}function kW(a){var b,c,d;yW((f8b(),M6b),a);for(b=a.b;b;b=b.d){yW(a7b,b);c=h8b(b.j);c!=-1&&(d=T2b(b),c!=d&&$W(YBc+c+ZBc+d,b));sW(b.b)}}function k$b(a,b){var c;oe(C$b(a));oe(b.j==(f8b(),G5b));c=s3b(b,b.g,38);c!=b.g&&(b.g=c);b.g=new x4b(38,1,b.g);return new Y3b(L5b,a,b)}
function p$b(a,b){pe(a.j==(f8b(),_6b)||a.j==n7b||a.j==l5b||a.j==_5b,a);(a.j==n7b||a.j==l5b)&&(a=new W3b(_5b,a));return new W3b(b,a)}function Ixb(a,b){if(!b||b==b.a.s||b==b.a.v||b==b.a.g||Cxb(a,b)||!a.c)return a;return a==a.a.v||a==a.a.g||a==a.a.s?Oxb(b):Xxb(a,b)}function XIb(){XIb=aV;WIb=(lm(),Ao(QC(LC(kS,1),NAc,1,5,[UCc,kEc])));VIb=Ao(QC(LC(kS,1),NAc,1,5,[CHc,DHc,"stable","mapped","xid"]))}function hC(){var a;if(cC!=0){a=bC();if(a-dC>2E3){dC=a;eC=$wnd.setTimeout(nC,10)}}if(cC++==0){qC((pC(),oC));
return true}return false}function c2b(a,b,c){if(!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&h_b(a.a,c,b)){a.d=true;return true}else return false}function qvc(a,b,c){var d,e,f;e=Mlc(a.c,b);if(!e){d=new Hvc(a,b,c);Plc(a.c,b,d);Evc(d);return null}else{f=bnc(e,c);rvc(a,e);return f}}function rIb(a,b){var c,d,e;e=TGb(a.a,(f8b(),f7b),iHb(a.a,b.b));if(b.a)for(d=b.a.a.Md();d.Ed();){c=d.Fd();H2b(e,iHb(a.a,c))}return e}function IEb(a,b){var c,d,e,f;if(!a)return null;c=null;for(e=a.Md();e.Ed();){d=
e.Fd();if(d.Yh(b)){f=d.Xh(b);c=!c?f:gzb(c,f)}}return c}function Sh(a,b){var c,d,e;if(DD(b,58)){c=b;d=c.ye();e=Gv(a.se(),d);return Xd(e,c.ze())&&(e!=null||a.se().containsKey(d))}return false}function lJb(a,b){var c,d;d=false;while(true){c=FKb(a.j);if(c==32)continue;else if(c==b){d=true;break}else break}LKb(a.j,c);return d}function Qwc(a,b,c){var d,e,f;e=null;f=a.b;while(f){d=a.a.Ie(b,f.d);if(c&&d==0)return f;if(d>=0)f=f.a[1];else{e=f;f=f.a[0]}}return e}function qpc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=
d){f=e+(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function rpc(a,b,c){var d,e,f,g;e=0;d=b-1;while(e<=d){f=e+(d-e>>1);g=a[f];if(g<c)e=f+1;else if(g>c)d=f-1;else return f}return-e-1}function Mh(a,b){var c;if(b===a)return true;if(!DD(b,31))return false;c=b;if(c.size()!=a.size())return false;return a.containsAll(c)}function dgb(a,b){var c,d;ae(b.indexOf(".")==-1);oe(a.g);c=Tfb(a,b,false);if(!c||!c.a||!c.d)return false;return d=Eyb(c.d),!!d&&!!d.e}function yib(a,b,c){var d;
if(b.Hd(a))return true;if(!c.Hd(a))return false;for(d=a.b;d;d=d.d)if(yib(d,b,c))return true;return false}function U0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return Ewc(a.d,b.d)&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function Wyb(a,b,c){ae(!!c);if(wAc==a.$h()||0==a.$h()||a._h().isEmpty())return a;return izb(a.e,a.$h(),vDb(a._h(),b,c),a.ai(),a.Zh())}function hjc(a){var b;b=typeof a;if(qkc(b,sAc)||qkc(b,tAc)||qkc(b,vAc))return true;return a!=null&&a.$implements__java_lang_Comparable}
function ejc(a,b){var c=0;while(!b[c]||b[c]=="")c++;var d=b[c++];for(;c<b.length;c++){if(!b[c]||b[c]=="")continue;d+=a+b[c]}return d}function sV(a,b){switch(b.f){case 0:return tV(a,UBc,(BV(),xV));case 1:return tV(a,VBc,(BV(),AV));default:return b.e!=null?b.e:""+b.f}}function uRb(a,b){switch(VRb(a.j,0).c.f){case 54:case 55:case 57:case 56:case 17:return true;case 16:return b==1;default:return false}}function t1b(a){if(!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&!R_b(a.a)){a.a.a|=2;a.d=
true;return true}else return false}function Wfb(a,b){var c;c=Xfb(a,b.a.getAtIndex(0));return!c||b.a.size()==1?c:axb(c,(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size()))))}function vcb(a,b){ecb();var c;c=a.e;return a.j==(f8b(),x6b)&&a.b.j==S7b&&(c.j==n5b&&nb(c.b,a)||c.j==n6b)&&(_fb(b)||(ae(!!b.t),ejb(b.t)))}function _2b(a){var b,c,d,e;b=0;for(e=a.g;e;e=e.pi())++b;c=NC(ND,FBc,46,b,15,1);for(d=a.g;d;d=d.pi()){--b;c[b]=d.ri()}Ipc(c);return c}function sg(a){var b,c,d,e;for(c=(e=(new Umc(a.c)).a.oe().Md(),
new Zmc(e));c.a.Ed();){b=(d=c.a.Fd(),d.ze());b.clear()}a.c.clear();a.d=0}function v8(a){var b,c,d;b=e$b(QC(LC(WQ,1),uCc,7,0,[]));for(c=a.b;c;c=c.d)if(c.j==(f8b(),J7b)){d=R$b(u8(Y2b(c,71)));H2b(b,d)}return b}function dIb(a,b){var c,d,e;e=oIb(a,b.b,true);J3b(e,(f8b(),_6b));d=TGb(a.a,l6b,e);if(b.a){c=oIb(a,b.a,true);J3b(c,_6b);H2b(d,c)}return d}function GPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;b&&YOb(a,(MUb(),KTb));c=gPb(a);d=aQb(a,1);e=fPb(a);return new fVb(new fZb(f,a.g),b,c,d,e)}function RPb(a){var b,
c,d;d=VRb(a.j,0).b.b;YOb(a,(MUb(),iTb));c=ZOb(a);YOb(a,RTb);b=SPb(a);YOb(a,WSb);return new IVb(new fZb(d,a.g),c,b)}function PZb(a){var b;b=0;while(a.b<a.c&&WZb(lkc(a.a,a.b))){b=CU(KU(10,b),lkc(a.a,a.b++)-48);if(DU(b,wAc)>0)return OZb(a)}return RU(b)}function Tjc(a){var b,c;if(DU(a,-129)>0&&DU(a,128)<0){b=RU(a)+128;c=(Vjc(),Ujc)[b];!c&&(c=Ujc[b]=new Kjc(a));return c}return new Kjc(a)}function Wtb(a){Ttb();this.e=new tuc;this.a=a;this.d=i0(a,new heb("",null,0,0,Otb,null,QC(LC(pS,1),yAc,2,6,[])))==(YX(),
VX);this.c=true}function DKb(){BKb();return QC(LC(YN,1),SAc,72,0,[mKb,nKb,pKb,vKb,AKb,sKb,yKb,qKb,wKb,rKb,xKb,jKb,iKb,gKb,tKb,zKb,lKb,uKb,kKb,hKb,oKb])}function Uzc(a,b){if(0>a)throw BU(new Geb("fromIndex: 0 > toIndex: "+a));if(a>b)throw BU(new mic("fromIndex: 0, toIndex: "+a+oJc+b));}function Mwb(a,b,c,d,e,f,g,h,i){ae(!e||0!=e.$h());ie(a);this.a=a;this.f=b;this.d=c;this.g=d;this.i=e;this.c=f;this.e=g;this.j=h;this.b=i}function bJb(a,b,c,d){var e;a.b.jh((e=QC(LC(kS,1),NAc,1,5,[b]),EHc+f5b("msg.jsdoc.type.record.duplicate",
e)+FHc),!a.g?null:a.g.Hg(),c,d)}function O0b(a,b){if(!a&&!b)return true;if(!a&&!!b||!!a&&!b)return false;return U0b(a.a,b.a)&&S0b(a.c,b.c)&&U0b(a.b,b.b)&&X0b(a.d,b.d)}function rkc(a,b){Yzc(a);if(b==null)return false;if(qkc(a,b))return true;return a.length==b.length&&qkc(a.toLowerCase(),b.toLowerCase())}function g3b(a){switch(a.j.f){case 29:return a.hi().length!=0;case 33:case 97:return true;case 26:return g3b(a.b);default:return false}}function oAc(a){mAc();var b,c,d;c=":"+a;d=lAc[c];if(!(d===undefined))return d;
d=jAc[c];b=d===undefined?nAc(a):d;pAc();lAc[c]=b;return b}function n$(b){var c;if(q$(b))try{c=mjc(b);if(JU(c,{l:0,m:0,h:512}))return QU(c)}catch(a){a=AU(a);if(!DD(a,92))throw BU(a);}return NaN}function uEb(a){var b,c;if(BEb(a.w,BFc,a.u))return true;if(a.d)for(c=a.d.Md();c.Ed();){b=c.Fd();if(uEb(b.a))return true}return false}function Xib(a){var b;b=a.e;if(b.j==(f8b(),n7b)||b.j==l5b||b.j==K7b&&b.e.j==n7b){if(a.j==K7b&&!!a.b)return false;return true}return false}function XW(a,b){var c;Shb();!!b&&(b.j==
(f8b(),_7b)||b.j==T6b||b.j==T5b)?tW(a,b.j,b):b.j==(f8b(),d6b)?(c=T2b(b),0!=c&&$W(XBc+c,b)):dW(a,b)}function mhb(a,b){var c,d;d=(c=Y2b(b.e,51),!c?null:c.Hg());if(d!=null&&qkc(d.substr(0,11)," [synthetic")||(vyb(),false))return;Q0(a.a,b)}function VOb(a,b){var c;c=(Mm(),new iq);gq(c,b?b.a:"");while(jRb(a,(MUb(),YTb))){YOb(a,YTb);b=ZOb(a);if(!b)break;gq(c,b.a)}return Um(c.a)}function Uzb(a,b,c){var d,e,f;f=c.size();if(f==b)return c;d=(Mm(),new iq);for(e=0;e<b;e++)gq(d,e<f?c.getAtIndex(e):a.a.G);return Um(d.a)}
function foc(a,b){var c,d,e,f;d=a.a.length-1;c=b-a.b&d;f=a.c-b&d;e=a.c-a.b&d;ooc(c<e);if(c>=f){hoc(a,b);return-1}else{ioc(a,b);return 1}}function F0b(a,b){var c,d,e,f;e=null;if(a){e=new tvc;for(d=new Tvc(new Kvc(a));d.b!=d.c.a.b;){c=Rvc(d);f=c.e;qvc(e,c.d,A0b(f,b))}}return e}function K1(a,b){var c,d;_kc(a.c,b);c=-1;d=c;while((c=ukc(b,Nkc(10),c+1))>=0){++a.b;d=c}d==-1?a.a+=b.length:a.a=b.length-(d+1);return a}function g_b(a,b){var c;c=new x0b;c.d=!a.d?null:D0b(a.d,b);c.b=a.b;c.j=a.j;c.a=a.a;c.i=A0b(a.i,
b);c.g=A0b(a.g,b);c.c=a.c;c.f=a.f;return c}function GQb(a,b){var c,d,e;e=VRb(a.j,0).b.b;c=HQb(a,b);if(jRb(a,(MUb(),jTb))){YOb(a,jTb);d=xPb(a,1);c=new FVb(new fZb(e,a.g),c,d)}return c}function JZb(a,b){b.a=b.a.substr(0,0)+"("+Gkc(b.a,1);if(a.b.k){$Zb(a.b,a.b.p-1);b=xZb(a,b,1);b.a+=")"}else{b.a+=")";b=xZb(a,b,0)}return b}function Xwb(a,b,c,d){oe(!a.A);if(!!Yg(a.C,b,false)&&wAc!=hh(Yg(a.C,b,false)).d.$h())return;a.C=DBb(a.C,b,new IDb(c,d,null,(TDb(),SDb)))}function Eo(a,b,c,d,e,f,g){lm();var h,i;i=g.length+
6;h=new Qoc(i);cqc(h,QC(LC(kS,1),NAc,1,5,[a,b,c,d,e,f]));cqc(h,g);return zo(new kpc(h))}function xg(a,b,c){return DD(c,203)?new rj(a,b,c):DD(c,121)?new qj(a,b,c):DD(c,31)?new sj(a,b,c):DD(c,48)?yg(a,b,c,null):new Di(a,b,c,null)}function G1(a){var b,c,d,e;e=G0(a.a);try{b=new M1;if(a.a.u){c=0;for(d=a.a.u.b;d;d=d.d)a1(a.a,b,c++,d)}return b.c.a}finally{Z0(a.a,e,vDc)}}function l4(a){var b,c,d,e,f;a.e=(Av(),new muc(Cv(j4.length)));f=0;for(c=j4,d=0,e=c.length;d<e;++d){b=c[d];Plc(a.e,Kic(b),new u4(b,f));
++f}}function lGb(a){var b,c,d;b=new qq;pq(b,Bn((gGb(),fGb)));for(d=a.Md();d.Ed();){c=d.Fd();c.length!=0&&!bo(fGb,c)&&nq(b,c,GFb)}return On(b.b)}function dlb(a){var b,c,d;for(d=M2b(a.n).Md();d.Ed();){b=d.Fd();a.k+=1;a.j+=alb(b)}for(c=M2b(a.u).Md();c.Ed();){b=c.Fd();a.v+=1;a.t+=alb(b)}}function dQb(a,b,c){var d;Vnc(a.e,(tic(),c?true:false));WVb(_Vb(VVb(YVb((b.f=c,b),gPb(a)),aQb(a,0)),fPb(a)),bQb(a));d=doc(a.e);Wzc(d!=null)}function Iic(a,b,c){Rzc(a>=0&&a<=GBc);if(a>=AAc){b[c++]=BAc+(a-AAc>>10&CAc)&
DAc;b[c]=EAc+(a-AAc&CAc)&DAc;return 2}else{b[c]=a&DAc;return 1}}function Zt(b,c){var d;d=b.Pd(c);try{return d.Fd()}catch(a){a=AU(a);if(DD(a,64))throw BU(new lic("Can't get element "+c));else throw BU(a);}}function Gib(a,b){Shb();var c;if(W2b(a,43)!=0)return true;if(a.j!=(f8b(),_6b)||!b)return false;c=b.Bh(a.hi());return!!c&&(c.Th()||c.Rh())}function zjb(a,b){Shb();var c,d;c=(te(tkc(a,Nkc(46))==-1,tCc,a),new U4b((f8b(),_6b),a));if(b){H2b(c,b);Q3b(c,b)}d=Q3b(p$b(c,_7b),c);return d}function HEb(a,b){var c,
d,e,f;if(!a)return null;d=null;for(f=a.Md();f.Ed();){e=f.Fd();if(e.Yh(b)){c=e.Wh(b);!!c&&(d=!d?c:gzb(d,c))}}return d}function vIb(a,b){var c,d,e,f;e=(Mm(),new iq);for(d=b.a.Md();d.Ed();){c=d.Fd();gq(e,iHb(a.a,c))}f=iHb(a.a,b.b);return HGb(a.a,p8b(f,Um(e.a)))}function LDb(a,b){var c,d,e;d=a.b;e=b.b;!d||!e?c=null:xyb(d,e)?c=d:c=null;return new IDb(a.c==b.c?a.c:null,gzb(a.d,b.d),c,MDb(a.a,b.a))}function axb(a,b){var c,d;d=b.a.getAtIndex(0);c=a.B.pe(d);return!c||b.a.size()==1?c:axb(c,(ae(b.a.size()!=
1),new WDb(b.a.Se(1,b.a.size()))))}function nmb(a,b,c,d){if(c.j==(f8b(),D6b)){a.i=true;pmb(a,b,c,d)}else if(c.j==k6b){a.i=true;omb(a,b,c,d)}else if(c.j==D7b){++a.j;qmb(a,b,c)}}function kyb(a,b){if(a.e.a.length!=0||!!a.j)throw BU(new ryb("Cannot add required formal after optional or rest args"));Eoc(a.i,b);return a}function GOb(a){BOb();switch(a.f){case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:return true;default:return false}}function ySb(a){switch(a){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return true;
default:return false}}function tjb(a){switch(a){case 5:case 1:case 3:case 2:return false;case 6:case 4:case 0:return true;default:throw BU(new sjc("unexpected"));}}function qRb(a){var b;b=VRb(a.j,0);switch(b.c.f){case 18:case 2:case 49:case 65:case 54:case 47:return true;default:return BOb(),!!DOb(b.c)}}function Fdc(a,b,c){var d,e,f;d=new Qbc(a);f=c.length-1;for(e=0;e<=f;e++)b&&e==f?Obc(d,c[e]):Nbc(d,QC(LC(oR,1),NAc,21,0,[c[e]]));return d.b}function _Gb(a,b){var c,d,e,f;d=b.c;e=b.a.b.b+1;c=b.a.b.a;
f=new XJb(new OKb(d.substr(3,d.length-3),e,c+3),d,b.a.b.c,a.q,a.a,a.d);return CJb(f)}function ue(a,b,c){if(!a)throw BU(new sjc(ye('Bad binary operator "%s": expected 2 arguments but got %s',QC(LC(kS,1),NAc,1,5,[b,Hjc(c)]))));}function s$(a){if(!a.g)throw BU(new sjc("Cannot build without root node being specified"));return r$(a.g,P$(a.c,a.d,a.e),a.c,a.i,a.j,a.b,a.a)}function MQb(a){var b,c;b=VRb(a.j,0).b.b;if(jRb(a,(MUb(),RTb))){YOb(a,RTb);c=new AYb(new fZb(b,a.g),pQb(a));YOb(a,WSb)}else c=aRb(a);
return c}function JJb(a,b){var c;c=KJb(a,b);if(c)if(mJb(a,(BKb(),tKb))){!a.o?IKb(a.j):eJb(a);UJb(a);b=!a.o?IKb(a.j):eJb(a);return PJb(a,b,c)}return c}function Kib(a){Shb();var b;if(!!a&&(a.j==(f8b(),_7b)||a.j==T6b||a.j==T5b))for(b=a.b;b;b=b.d)if(b.j==(f8b(),_5b))return true;return false}function WW(a,b){var c;Shb();if(!!b&&(b.j==(f8b(),_7b)||b.j==T6b||b.j==T5b)){c=T2b(b);1!=c&&$W(aCc+c,b);tW(a,b.j,b)}else i3b(b)||$W($Bc+b.j,b)}function FIb(a,b){var c;ae(b.c==(MUb(),NTb)||b.c==vUb||b.c==wUb||b.c==
xUb);c=YGb(a.a,$Gb(a.a,b,true));o3b(c,71,b.a);gHb(c,b.b.b,b.b.a);return c}function FLb(a,b){var c;if(b.j!=(f8b(),_6b)){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["name"]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function jSb(a){if(Aic(PRb(a,a.d)?lkc(a.e.a,a.d):0,16)<0){YRb(a,"Hex digit expected",QC(LC(kS,1),NAc,1,5,[]));return false}QRb(a);return true}function qVb(){qVb=aV;lVb=new rVb("BLOCK",0);oVb=new rVb("LINE",1);nVb=new rVb("JSDOC",2);pVb=new rVb("SHEBANG",3);mVb=new rVb("IMPORTANT",4)}
function l2b(a,b){if(!!b&&!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&!a.a.g){t0b(a.a,b);a.d=true;return true}else return false}function bwc(a,b){var c,d;$zc(b,a.b);if(b>=a.b>>1){d=a.c;for(c=a.b;c>b;--c)d=d.b}else{d=a.a.a;for(c=0;c<b;++c)d=d.a}return new mwc(a,b,d)}function w9b(a){var b,c,d;b=0;!!a.b&&(b+=a.b.zd());a.c&&(b+=1);if(a.a){c=a.a.b;while(c){d=DD(c.k,21)?c.k:null;!!d&&(b+=d.zd());c=c.d}}return b}function Egc(a,b,c){var d,e,f;f=c-b.size();if(f>0){d=(Mm(),new iq);Xp(d,b);for(e=
0;e<f;e++)gq(d,Ldc(a.b,(tdc(),pdc)));return Um(d.a)}return b}function Ooc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),RC(d,b)));for(c=0;c<e;++c)b[c]=a.a[c];b.length>e&&(b[e]=null);return b}function Tpc(a,b){var c,d,e;e=a.a.length;b.length<e&&(b=(d=new Array(e),RC(d,b)));for(c=0;c<e;++c)b[c]=a.a[c];b.length>e&&(b[e]=null);return b}function z0(a,b,c,d){var e,f,g,h;g=new teb;for(f=rs(new tmc(c.a));f.Ed();){e=f.Fd();oeb(g,new $1(e))}h=new Qoc(1);h.a[h.a.length]=g;B0(a,b,h,d)}function cvb(a){return lvb(),
WFc+Akc(zkc(zkc(zkc(zkc(zkc(Akc(Bkc(nvb(a.a),KEc+szc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),FEc,"_")}function rEb(a,b){var c,d,e;d=oEb(a,b);e=!d?null:d.d;return!!e&&(c=e.$h()==2&&e._h().size()==1?js(e._h().Md()):null,!!(!c?null:c.b))&&zyb(e).b}function MZb(a,b,c,d,e){if(b==-2&&!e)throw BU(new sZb("<"));if(b>=a.length)throw BU(new sZb(Hkc(c.a,c.d,c.b)));if(b==-2)return d;return a[b]}function s$b(a,b,c,d){oe(a.j==(f8b(),_7b)||a.j==d6b||C$b(a));oe(b.j==d6b||C$b(b));oe(c.j==d6b||C$b(c));
oe(d.j==G5b);return new $3b(p6b,a,b,c,d)}function T3(a,b){var c;if(DD(b,207)){c=b;c.a&&(a.a=c.a);U3(a,new Roc(new eyc(c.c.a.Bj())))}else{++a.d;Plc(a.e,b,Hjc(a.d));ayc(a.c,b);_xc(a.c,b)}}function $8(a,b){F8();return e0(a,"es6/util/"+Jkc("makeIterator",(xwc(),vwc)),false),j$b(yjb(a,"$jscomp.makeIterator"),QC(LC(WQ,1),uCc,7,0,[b]))}function qjb(a){Shb();switch(a.j.f){case 65:case 83:case 109:return true;case 80:if(!a.e||!(!a.e?null:a.e.e))return true;default:return false}}function p1b(a,b){if(!!b&&!((a.a.a&
fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&!O_b(a.a)){c0b(a.a,b);a.d=true;return true}else return false}function oLb(a,b){if(!fLb(a,b,(jMb(),QLb)))return false;if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){KLb(a,QLb.d);return false}return true}function vLb(a,b){if(!fLb(a,b,(jMb(),_Lb)))return false;if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){KLb(a,_Lb.d);return false}return true}function fDb(a,b,c){if(b.a==(TDb(),RDb)){if(!!a&&!Iyb(a.d,b.d,c))return false}else if(!a||a.a==RDb||!Iyb(a.d,
b.d,c))return false;return true}function fLb(a,b,c){var d;d=(fe(b.j==(f8b(),J5b),THc,b),T2b(b)-1);if(d<c.c){LLb(a,c.d);return false}if(d>c.b){ILb(a,c.d);return false}return true}function pEb(a,b){var c,d,e;oe(a.g!=0);e=mEb(a,b);if(e)return e;if(a.d)for(d=a.d.Md();d.Ed();){c=d.Fd();e=VBb(c,b);if(e)return e}return null}function ghc(a,b){var c,d,e;d=new Hhc(a.u);for(c=0;c<a.b.size();c++){e=a.b.getAtIndex(c);(e.Ji()||e.Bi()||!e.Hi(b))&&Bhc(d,e,false)}return Chc(d)}function OQb(a,b){var c;c=HQb(a,b);jRb(a,
(MUb(),jTb))&&CRb(a,"A default value cannot be specified after '...'",QC(LC(kS,1),NAc,1,5,[]));return c}function AD(a,b){if(ID(a))return!!zD[b];else if(a.Ij)return!!a.Ij[b];else if(FD(a))return!!yD[b];else if(ED(a))return!!xD[b];return false}function Rb(a){var b,c;c=QC(LC(MD,1),zAc,46,15,[92,117,0,0,0,0]);for(b=0;b<4;b++){c[5-b]=JAc.charCodeAt(a&15);a=a>>4&DAc}return Skc(c,0,c.length)}function ZJb(a){var b,c;c=0;while(c<a.length){b=lkc(a,a.length-c-1);if(/\s/.test(b))++c;else break}if(c==0)return a;
return Hkc(a,0,a.length-c)}function my(a){var b,c;c=!a.a||a.a.isEmpty()&&ovc(a.c.a,a.b)?a.a=pvc(a.c.a,a.b):a.a;if(!c)return Zr(),Zr(),Yr;b=c.oe().Md();return new vy(a,b)}function oW(a){var b,c;yW((f8b(),P6b),a);a.hi()==null&&$W(fCc,a);a.hi().length==0&&$W(gCc,a);c=h8b(a.j);c!=-1&&(b=T2b(a),c!=b&&$W(YBc+c+ZBc+b,a))}function sW(a){var b,c;yW((f8b(),_6b),a);a.hi()==null&&$W(fCc,a);a.hi().length==0&&$W(gCc,a);c=h8b(a.j);c!=-1&&(b=T2b(a),c!=b&&$W(YBc+c+ZBc+b,a))}function Ync(a){var b,c,d;if(a.b!=a.c)return;
d=a.a.length;c=zjc(8>d?8:d)<<1;if(a.b!=0){b=wzc(a.a,c);Xnc(a,b,d);a.a=b;a.b=0}else Azc(a.a,c);a.c=d}function mzc(a,b){if(a.b)if(!a.e)throw BU(new sjc("regex did not match"));else return a.e[b];else throw BU(new sjc("regex not executed yet"));}function Qzc(a){switch(typeof a){case vAc:return oAc(a);case tAc:return KD(a);case sAc:return tic(),a?1231:1237;default:return a==null?0:iAc(a)}}function rb(a){return ID(a)?oAc(a):FD(a)?KD((Yzc(a),a)):ED(a)?(Yzc(a),a)?1231:1237:CD(a)?a.zd():PC(a)?iAc(a):!!a&&
!!a.hashCode?a.hashCode():iAc(a)}function zkc(a,b,c){var d,e,f;d=(b>>>0).toString(16);e="\\u"+Gkc("0000",d.length)+d;f=String.fromCharCode(c);return a.replace(new RegExp(e,"g"),f)}function se(a,b,c){if(!a)throw BU(new sjc(ye("Bad GETELEM node: Expected 2 children but got %s. For node: %s",QC(LC(kS,1),NAc,1,5,[Hjc(b),c]))));}function $0(a,b,c,d,e){var f;_yc(W_,"Strip code");Y0(a,"stripCode");f=new Wpb(a,b,c,d,e);a.H.pd==(L3(),K3)&&quc(f.e,"goog.tweak");Vpb(f,a.u);d0(a)}function ocb(a,b){var c,d,e;
return d=(Shb(),e=dib(b),!e?null:Y2b(e,29)),!!d&&(d.a&1)!=0&&(d.a&2)==0||(c=Y2b(b,51),!(!!c&&c.Kh())&&Fib(a.f,rcb(b)))}function zkb(a){var b,c,d,e;c=a.b;b=c.fi(false);e=Q3b(p$b(b,(f8b(),_7b)),a);c.mi("");d=a.e;if(d.j==O6b)t3b(d,a,e);else{p3b(d,a);I2b(d,e)}I2b(b,a)}function sSb(a,b){var c,d,e;d=a.d;while(PRb(a,a.d)&&!BSb(PRb(a,a.d)?lkc(a.e.a,a.d):0))QRb(a);c=MOb(a.e.b,d,a.d);e=Hkc(a.e.a,d,a.d);HRb(a.a,b,c,e)}function qHb(a,b){var c;if(b.j==(f8b(),B7b)){c=b;while(c=c.e)if(c.j==r6b)return;a.d.ih("return must be inside function",
a.r,b4b(b.i),a4b(b.i))}}function q8b(a){var b,c,d;be(!Mr(a),"union must have at least one option");b=new a5b((f8b(),Z7b));for(d=a.Md();d.Ed();){c=d.Fd();H2b(b,c)}return b}function bl(a,b){if(a==null)throw BU(new _jc("null key in entry: null="+b));else if(b==null)throw BU(new _jc("null value in entry: "+a+"=null"));}function CW(a,b){var c,d;yW((f8b(),K7b),b);DW(b);q3(a.a.v)?(d=T2b(b),(d<0||d>1)&&$W(eCc+d,b)):(c=T2b(b),1!=c&&$W(aCc+c,b));!!b.b&&!b.b.d&&dW(a,b.b)}function T6(a,b,c,d){N6();var e;if(a.j==
(f8b(),T5b)&&(Shb(),!(b.j==p6b&&T2b(b)==3&&a==b.b))){R6(a,c,d);e=z2b(Y2b(d,29));s1b(e);A3b(d,h1b(e,false))}}function Bhb(b,c){var d;try{zhb(b,kib(c),"");b.e=c;whb(b,c);Chb(b,c,null);vhb(b,false)}catch(a){a=AU(a);if(DD(a,41)){d=a;Ahb(b,d)}else throw BU(a);}}function hlb(a,b,c){var d;d=goc(a.f);oe(qkc(b,d.j));Eoc(a.w,d);d.n=c;d.a=0;d.k=1;a.d.a&&(d.d=1);qkc(b,xDc)?flb(a,d):a.d.a&&a.D!=(F3(),E3)&&elb(a,d)}function ZBb(a,b){var c,d,e;e=a.a.p;oe(b.size()==e.size());d=new tvc;for(c=0;c<e.size();c++)qvc(d,
e.getAtIndex(c),b.getAtIndex(c));return $Bb(a,d)}function mMb(){jMb();return QC(LC(bO,1),SAc,63,0,[NLb,OLb,PLb,RLb,SLb,TLb,ULb,VLb,QLb,XLb,WLb,YLb,ZLb,$Lb,_Lb,cMb,bMb,aMb,dMb,eMb,fMb,gMb,hMb,iMb])}function ESb(a){switch(a){case 9:case 11:case 12:case 32:case 160:case 65279:case 10:case 13:case 8232:case 8233:return true;default:return false}}function BZb(a,b){var c,d,e;d=a.b.n;e=dV(a.a);if(e.indexOf(".")!=-1){c=tkc(e,Nkc(46));c+d<e.length&&(e=e.substr(0,c+d+1));b.a+=""+e}else b.a+=""+e}function agc(a,
b,c,d){if(b9b(a,b,c,d))return true;if(Ldc(a.u,(tdc(),Ycc)).Ii(b,c,d))return true;if(!b.Pi())return false;return T9b(a,b.Pi(),c,d)}function ljb(a,b){var c,d;if(a.j==(f8b(),J7b))return true;if(b.Gf().td){d=a.k;if(d){c=b.If().gh((tdc(),fdc));if(d.bi(c))return true}}return false}function WCb(a){var b,c,d,e;for(e=(c=(new Umc(a)).a.oe().Md(),new Zmc(c));e.a.Ed();){d=(b=e.a.Fd(),b.ze());if(0==d.d.$h())return true}return false}function wJb(a,b){var c,d;switch(b.f){case 4:d=a.j.n;c=N2b(new V4b((f8b(),K7b),
d,a.j.g,HKb(a.j)),a.n);C3b(c,d.length);return c;default:return null}}function jJb(a){var b,c,d;MKb(a.j);d=a.j.g;b=HKb(a.j)+1;c=Lkc(kJb(a));c.length>0&&m1b(a.e,c,d,b,d,b+c.length);return new _Jb(c,!a.o?IKb(a.j):eJb(a))}function v_(a){var b,c,d;b=a.b;if((m3b(b,jDc,jDc.length)||m3b(b,kDc,kDc.length))&&T2b(a)==3){c=b.d;d=c.d;return new l_((o_(),c),d)}else return null}function Hic(a){Rzc(a>=0&&a<=GBc);return a>=AAc?QC(LC(MD,1),zAc,46,15,[BAc+(a-AAc>>10&CAc)&DAc,EAc+(a-AAc&CAc)&DAc]):QC(LC(MD,1),zAc,46,
15,[a&DAc])}function nb(a,b){return ID(a)?qkc(a,b):FD(a)?(Yzc(a),a===b):ED(a)?(Yzc(a),a===b):CD(a)?a.xd(b):PC(a)?a===b:!!a&&!!a.equals?a.equals(b):JD(a)===JD(b)}function mz(a,b){if(b>127||a.e[b]==-1)throw BU(new Vz("Unrecognized character: "+(fc((kc(),jc),b)?"0x"+(b>>>0).toString(16):Kic(b))));return a.e[b]}function ZZ(a,b){var c,d,e;d=b.hi();e=W2b(b,54)!=0;if(e)SZ(a,c$(a,b.hi(),e));else{c=Nlc(a.d,d);if(c==null){c=c$(a,b.hi(),e);Qlc(a.d,d,c)}pZ(a.c,c)}}function CPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;
c=TPb(a,b);while(jRb(a,(MUb(),ISb))){d=YOb(a,ISb);e=TPb(a,b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function DPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=EPb(a,b);while(jRb(a,(MUb(),NSb))){d=YOb(a,NSb);e=EPb(a,b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function EPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=CPb(a,b);while(jRb(a,(MUb(),QSb))){d=YOb(a,QSb);e=CPb(a,b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function sQb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=DPb(a,b);while(jRb(a,(MUb(),KSb))){d=YOb(a,KSb);e=DPb(a,
b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function tQb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=sQb(a,b);while(jRb(a,(MUb(),UTb))){d=YOb(a,UTb);e=sQb(a,b);c=new bVb(new fZb(f,a.g),c,d,e)}return c}function d0(a){pe(!!a.c,"Tracer should not be null at the end of a pass.");Z0(a,a.c,a.b);a.b=null;a.c=null;a.H._==(C2(),y2)&&lob(new pob(a),a.n,a.u)}function hxb(a,b){ie(b);if(a.d==(vxb(),uxb))return;te(a.d==sxb,IGc,Re(a.d));a.d=uxb;a.e=null;a.a=b;a.b=(vyb(),izb(a.t,4,tyb,null,(lm(),new cy(a))))}function g2b(a,
b){if(!!b&&!H_b(a.a)&&!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)){u0b(a.a,b,fBc);a.d=true;return true}else return false}function Y8(a,b){return e0(a,"es6/util/"+Jkc("arrayFromIterable",(xwc(),vwc)),false),j$b(yjb(a,"$jscomp.arrayFromIterable"),QC(LC(WQ,1),uCc,7,0,[b]))}function Z8(a,b,c){var d,e;d=W2b(a,58)!=0?b:c;d=O2b(d,false);if(a.j==(f8b(),S5b))return u$b(d,r3b(a));else{e=a.b.b;return v$b(d,Q3b(R$b(a.hi()),e))}}function Vpb(a,b){var c,d,e,f;for(f=(d=(new Kmc(a.e.a)).a.oe().Md(),new Qmc(d));f.a.Ed();){e=
(c=f.a.Fd(),c.ye());quc(a.d,e+".")}Ihb(a.a,b,new kqb(a))}function mgb(a,b){var c,d,e,f;for(d=(f=(new Kmc(a.i.a)).a.oe().Md(),new Qmc(f));d.a.Ed();){c=(e=d.a.Fd(),e.ye());c.d==(vxb(),uxb)||nAb(b,c,a)}a.i=null}function ICb(a){var b,c,d,e;for(e=(c=(new Kmc(a.g)).a.oe().Md(),new Qmc(c));e.a.Ed();){d=(b=e.a.Fd(),b.ye());if(!qkc(d,CCc))return true}return!!a.e}function ZA(a){var b,c,d,e,f;mB(new oB(a),new pB);c=0;f=0;for(e=new kpc(a.e);e.a<e.c.a.length;){d=ipc(e);if(d.f){++c;b=d.a.b;f=f>b?f:b}}return f+
a.i.b}function Hvb(){Hvb=aV;new k5("JSC_CANNOT_USE_PROTOTYPE_AND_VAR",(YX(),VX),new Hlc("Rename prototypes and inline variables cannot be used together."))}function ilc(a,b,c){var d,e;Zzc(a,"src");Zzc(b,"dest");pb(a);pb(b);e=a.length;d=b.length;if(c<0||c>e||c>d)throw BU(new kic);c>0&&vzc(a,0,b,0,c,true)}function Pxb(a,b,c,d,e,f,g,h,i,j,k){ie(a);this.a=a;this.i=b;this.e=c;this.j=d;this.k=e;this.d=f;this.g=g;this.f=h;this.n=i;this.c=j;this.b=k;Bxb(this)}function OKb(a,b,c){this.o=NC(MD,zAc,46,128,15,
1);this.q=NC(ND,FBc,46,3,15,1);ie(a);this.g=b;this.k=a;this.j=a.length;this.i=this.b=0;this.d=b;this.c=c}function Hhb(a,b,c){ohb();this.k=new koc;this.j=new koc;this.b=new koc;this.a=b;DD(b,884)&&(this.g=b);this.c=a;zhb(this,null,"");this.i=c;this.o=c.Qg()}function ohc(a,b){t8b();var c,d,e;E8b.call(this,a);this.b=b;e=new Hhc(a);for(d=b.Md();d.Ed();){c=d.Fd();Bhc(e,c,true)}this.a=Dhc(e);this.c=this.b.zd()}function ECb(a,b){var c;if(b==null)return false;if(a===b)return true;ae(DD(b,134));c=b;return Ewc(a.b,
c.b)&&Ewc(a.e,c.e)&&Ewc(a.d,c.d)&&Ewc(a.g,c.g)}function aEb(a,b,c){oe(!a.f);if(!!Yg(a.b,b,false)||!!Yg(a.j,b,false))return;a.i==(xCb(),vCb)&&(a.k=DBb(a.k,b,new IDb(null,!c?a.t.G:c,c,(TDb(),SDb))))}function IHb(a){var b,c;ae(a.j==(f8b(),D7b));if(!a.b)return false;c=a.b;if(c.j!=n6b)return false;b=c.b;if(b.j!=J5b)return false;return l3b(b.b,ACc)}function w0(a,b){var c,d;d=S1(b,a);if(!d)return false;c=Y2b(d,29);if(!!c&&(c.a&tDc)!=0){H2b(a.n,d);W1(b);reb(b.g,b);Eoc(a.j,b);return true}return false}function qJb(a,
b,c,d){var e,f;if(c!=-1&&d==0){f=HKb(a.j)-c;for(e=0;e<f;e++)b.a+=" "}else b.a.length>0&&(bic(b,b.a.length-1)!=10||d==0)&&(b.a+=" ",b)}function jbb(){jbb=aV;dbb=new kbb(xFc,0);gbb=new kbb("OBJECTLIT",1);ebb=new kbb(yFc,2);fbb=new kbb("GET",3);ibb=new kbb("SET",4);hbb=new kbb("OTHER",5)}function zfb(a,b){if(b.length==0)return b;b.indexOf(qFc)!=-1&&(b=Hkc(b,0,b.lastIndexOf(qFc)));a.a.bg(b)&&(b="JSCompiler_"+b);return b+qFc+a.d+a.f.Bd()}function LHb(a,b,c){var d;if(c){aHb(a.a,c.o,Y2b(b,29));d=(RHb(a,
c,(wNb(),vNb)),iHb(a.a,c));d.j==(f8b(),J7b)&&(d=HGb(a.a,new c5b(J7b,d.hi())));x3b(b,d)}}function Mbc(a,b){var c,d,e,f,g;c=X2b(a.b);if(!!c&&W2b(c,30)!=0)return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];E3b(Pbc(a,Edc(a.a,d)))}return true}function Ghc(a){var b,c;c=Ehc(a);if(c)return a.c?null:c;b=a.a.a.length;return b>a.g?Ldc(a.i,(tdc(),pdc)):b>1?null:b==1?Hoc(a.a,0):Ldc(a.i,(tdc(),Lcc))}function Lkc(a){var b,c,d;c=a.length;d=0;while(d<c&&a.charCodeAt(d)<=32)++d;b=c;while(b>d&&a.charCodeAt(b-1)<=32)--b;
return d>0||b<c?a.substr(d,b-d):a}function Sj(a,b,c){var d,e;cl(c,"count");if(c==0){d=a.a.remove(b);e=Yj(d,c)}else{d=a.a.pe(b);e=Yj(d,c);!d&&a.a.put(b,new sl(c))}a.b=CU(a.b,c-e);return e}function $C(a,b){var c,d,e;if(b<=22){c=a.l&(1<<b)-1;d=e=0}else if(b<=44){c=a.l;d=a.m&(1<<b-22)-1;e=0}else{c=a.l;d=a.m;e=a.h&(1<<b-44)-1}return VC(c,d,e)}function M9(a){var b,c,d;ae(a.j==(f8b(),r6b));for(c=M2b((Shb(),ae(a.j==r6b),a.b.d)).Md();c.Ed();){b=c.Fd();d=s3b(b,b.g,29);d!=b.g&&(b.g=d)}A3b(a.b,null)}function rcb(a){if(a.j==
(f8b(),x6b))return a.b?a.b.f:null;if(a.j==_6b||a.j==K7b||a.j==y6b||a.j==E7b)return a;throw BU(new TB("Unknown defsite: "+a.j));}function HCb(a,b){var c;c=GCb(a,b);if(b.a.size()==1)return!c?a.a.B:c.d;else{oe(!!c);return Fyb(c.d,(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size()))))}}function ePb(a){if(a.b.c&&Xtc(Ttc((MUb(),dUb),QC(LC(pO,1),SAc,13,0,[cUb,bUb])),VRb(a.j,0).c)){a.d=BMb(a.d,(zMb(),yMb));return jPb(a).c}else return null}function TUb(a){var b;b=a;while(b.p==(vYb(),UXb))b=b.a;switch(b.p.f){case 26:case 46:case 55:case 59:case 61:case 73:return true;
default:return false}}function k_b(a,b,c){!a.d&&(a.d=new I0b);if(Z_b(a,b))return false;if(!a.d.s)a.d.s=new tvc;else if(ovc(a.d.s,b))return false;qvc(a.d.s,b,c);return true}function cib(a){Shb();var b;if(a.j!=(f8b(),r6b))return false;if(Y2b(a.b,29))return true;b=a.b.d.b;while(b){if(Y2b(b,29))return true;b=b.d}return false}function es(a,b){Zr();var c,d;while(a.Ed()){if(!b.Ed())return false;c=a.Fd();d=b.Fd();if(!(JD(c)===JD(d)||c!=null&&nb(c,d)))return false}return!b.Ed()}function z1b(a,b){var c,d;for(d=
new urc(b.b.Md());d.b.Ed();){c=d.b.Fd();if((Q_b(a.a,c)||qkc(c,"*"))&&f0b(a.a,c))a.d=true;else return false}return true}function Rwc(a,b,c,d,e,f,g,h){var i,j;if(!d)return;i=d.a[0];!!i&&Rwc(a,b,c,i,e,f,g,h);Swc(a,c,d.d,e,f,g,h)&&b.add(d);j=d.a[1];!!j&&Rwc(a,b,c,j,e,f,g,h)}function vzc(a,b,c,d,e,f){var g,h,i;if(a===c){a=a.slice(b,b+e);b=0}for(h=b,i=b+e;h<i;){g=h+1E4<i?h+1E4:i;e=g-h;tzc(c,d,f?e:0,a.slice(h,g));h=g;d+=e}}function Ypb(a,b,c){var d;d=g0(a.a.a).Xf(c);if(d){if(hqb(a,d.a))return true;hqb(a,
d.b)&&yhb(b,c,(Upb(),Tpb),QC(LC(pS,1),yAc,2,6,[d.a,d.b]))}return false}function AHb(a){GGb();switch(a.f){case 98:return f8b(),U7b;case 99:return f8b(),o6b;default:throw BU(new sjc(!a?FAc:a.a==null?(BOb(),co(cOb,a)).b:a.a));}}function DHb(a){GGb();switch(a.f){case 68:return f8b(),I6b;case 69:return f8b(),W5b;default:throw BU(new sjc(!a?FAc:a.a==null?(BOb(),co(cOb,a)).b:a.a));}}function P3b(b){var c,d;try{d=new dlc;m4b(b,0,d);return d.a}catch(a){a=AU(a);if(DD(a,90)){c=a;throw BU(new TB("Should not happen\n"+
c));}else throw BU(a);}}function Nbc(a,b){var c,d,e,f,g;c=X2b(a.b);if(!!c&&(W2b(c,37)!=0||W2b(c,30)!=0))return false;for(e=b,f=0,g=e.length;f<g;++f){d=e[f];Pbc(a,d)}return true}function OC(a,b){var c=new Array(b);var d;switch(a){case 14:case 15:d=0;break;case 16:d=false;break;default:return c}for(var e=0;e<b;++e)c[e]=d;return c}function YV(a,b){var c;yW((f8b(),S5b),b);dW(a,b.b);if(W2b(b,75)!=0){c=T2b(b);1!=c&&$W(aCc+c,b)}else{c=T2b(b);2!=c&&$W(bCc+c,b);fW(a,b.b?b.b.f:null,false)}}function q$(a){var b,
c,d;d=a.length;if(d==0)return false;for(c=0;c<d;c++){b=a.charCodeAt(c);if(b<48||b>57)return false}return d==1||a.charCodeAt(0)!=48}function dxb(a){var b,c;if(!a.A){ie(a.t);for(c=a.B.values().Md();c.Ed();){b=c.Fd();if(a.v)return null;a.v=true;dxb(b);a.v=false}a.A=ie(a.Vh())}return a.A}function eQb(a){var b,c,d,e;d=VRb(a.j,0).b.b;e=null;if(pRb(a)){b=aQb(a,0);YOb(a,(MUb(),LSb));c=YQb(a);e=new jWb(new fZb(d,a.g),b,c)}else e=vPb(a);return e}function Hac(a,b,c,d,e){W9b.call(this,a,e);this.r=new rfc;qfc(this.r,
this);this.k=b;this.o=d;d||!!c?(oe(!this.kj()),this.n=c):Cac(this,Kdc(a,(tdc(),Ycc)))}function Pkc(a){var b;b=0;while(0<=(b=a.indexOf("\\",b)))a.charCodeAt(b+1)==36?a=a.substr(0,b)+"$"+Gkc(a,++b):a=a.substr(0,b)+(""+Gkc(a,++b));return a}function Bz(a){var b;wz.call(this,a,null);this.a=NC(MD,zAc,46,512,15,1);ae(a.c.length==16);for(b=0;b<256;++b){this.a[b]=a.c[b>>>4];this.a[b|256]=a.c[b&15]}}function o6(a,b,c){var d,e,f;f=c.hi();d=rhb(b);while(d){e=Cp(a.a,d.Ah(),f);if(e!=null){c.mi(e);R0(b.c);return}else if(d.Dh(f,
false))return;else d=d.zh()}}function y9(a,b){var c,d,e,f;if(T2b(b)!=4)return;e=b.b;d=e.d;c=d.d;f=c.d;if(!g3b(d))return;if(c.j!=(f8b(),J7b))return;Eoc(a.f,new P9(a,Z2b(d),c.hi(),f))}function twb(){twb=aV;swb=new k5("JSC_ILLEGAL_PROTOTYPE_MEMBER",(YX(),WX),new Hlc("Prototype property {0} should be a primitive, not an Array or Object."))}function iEb(a){var b;oe(a.g==0);oe(a.f);if(!a.a){b=(lm(),new Xq);!!a.o&&Wq(b,iEb(a.o.a));a.a=zo(new kpc(Wq(Wq(b,new Kmc(a.b)),new Kmc(a.j)).a))}return a.a}function pGb(){pGb=
aV;oGb=new qGb("TYPES_ONLY",0);mGb=new qGb("INCLUDE_DESCRIPTIONS_NO_WHITESPACE",1);nGb=new qGb("INCLUDE_DESCRIPTIONS_WITH_WHITESPACE",2)}function mHb(a,b){var c,d,e;e=new koc;while(b){pHb(a,b);nHb(a,b);qHb(a,b);oHb(a,b);d=b.d;c=b.b;if(c){!!d&&Unc(e,d);b=c}else d?b=d:b=coc(e)}oe(e.b==e.c)}function $t(b,c){var d,e;d=b.Pd(c);try{e=d.Fd();d.Gd();return e}catch(a){a=AU(a);if(DD(a,64))throw BU(new lic("Can't remove element "+c));else throw BU(a);}}function _nb(a,b,c,d,e,f){var g;g=aob(a,b);if(g)return new heb(c,
null,d,e,g,null,QC(LC(pS,1),yAc,2,6,[b]));return meb(c,d,e,f,Vnb,QC(LC(pS,1),yAc,2,6,[b]))}function Kub(a,b){var c;return new dvb(a,Pub((lvb(),c=Akc(Akc(Akc(Akc(Akc(zkc(zkc(b,58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(c)),a.c))}function YKb(){var a;if(UKb)return;a=Kwc(SHc);UKb=XKb(Iwc(a,"jsdoc.annotations"));VKb=XKb(Iwc(a,"jsdoc.suppressions"));XKb(Iwc(a,"compiler.reserved.vars"))}function dD(a,b){var c,d,e;e=a.h-b.h;if(e<0)return false;c=a.l-b.l;d=a.m-b.m+(c>>22);e+=d>>22;if(e<
0)return false;a.l=c&LBc;a.m=d&LBc;a.h=e&MBc;return true}function S6(a,b){N6();var c,d;while(!!a.b&&!!a.b.d){c=a.b?a.b.f:null;d=Q3b(p$b(Q2b(c),(f8b(),_7b)),a);T6(a,b,c,d);F2b(b,d,a)}T6(a,b,a.b,a);J3b(a,(f8b(),_7b))}function tdb(a,b){var c,d;if(!b)return null;if(b.c)return null;if(b.d)return b.d;d=b.a;if(d){c=d.c;if(!c)return null;return DAb(a.c.d,Jwb(c))}return null}function Dib(a){Shb();if(a.j==(f8b(),_6b))switch(a.e.j.f){case 98:case 86:case 77:return true;case 94:return a.e.b==a;case 65:return Eib(a.e)}return false}
function M1b(a){if((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc||(a.a.a&2)!=0||S_b(a.a)||(a.a.a&IFc)!=0)return false;a.a.a|=512;a.d=true;return true}function z9b(a,b,c,d){t8b();E8b.call(this,a);this.a=!b?Fdc(a,true,QC(LC(oR,1),NAc,21,0,[w8b(this,(tdc(),pdc))])):b;this.b=!c?w8b(this,(tdc(),pdc)):c;this.c=d}function Swc(a,b,c,d,e,f,g){var h,i;if(b.Fj()&&(i=a.a.Ie(c,d),i<0||!e&&i==0))return false;if(b.Gj()&&(h=a.a.Ie(c,f),h>0||!g&&h==0))return false;return true}function we(a,b,c,d){if(!a)throw BU(new sjc(ye("Trying to update property %s on type %s, but sub-property %s does not exist",
QC(LC(kS,1),NAc,1,5,[b,c,d]))));}function k4(){k4=aV;i4=Ikc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$");j4=Ikc("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_0123456789$")}function k1b(a,b,c,d){var e,f;e=e_b(a.a);if(e){f=new V0b;be(b.charCodeAt(0)!=32&&lkc(b,b.length-1)!=32,PIc);f.d=b;P0b(f,c,d,c,d+b.length);e.a=f;a.d=true}a.b=e}function pt(a){var b,c,d,e,f;if(Np(a.f,a.b.length)){d=NC(iG,iBc,231,a.b.length*2,0,1);a.b=d;e=d.length-1;for(c=a.a;c!=a;c=c.kf()){f=c;b=f.d&e;f.a=d[b];
d[b]=f}}}function ZY(a,b,c){var d,e,f;e=null;Shb();if(b.j==(f8b(),n6b)&&b.b.j==J5b){d=a.b;if(!!d&&d.j==x6b&&m3b(d,c,c.length)){f=d.d;!!f&&f.j==J7b&&(e=f.hi())}}return e}function o$(a){var b,c,d;if(Wib(a))return a;d=new dlc;for(c=0;c<a.length;c++){b=a.charCodeAt(c);b>31&&b<127?(d.a+=String.fromCharCode(b),d):JB(d,b)}return d.a}function wcb(a){ecb();var b,c,d;if(a.j!=(f8b(),_6b)&&a.j!=x6b)return false;b=(Shb(),c=dib(a),!c?null:Y2b(c,29));d=tib(a);return!!b&&(b.a&2)!=0&&!!d&&d.j==J5b}function dDb(a,
b){var c,d,e,f;for(f=(d=(new Kmc(a.g)).a.oe().Md(),new Qmc(d));f.a.Ed();){e=(c=f.a.Fd(),c.ye());if(!LCb(b,new XDb(e)))return false}return true}function fEb(a,b,c){oe(!a.f);if(!Yg(a.j,b,false)||!hh(Yg(a.j,b,false)).b){a.j=DBb(a.j,b,new IDb(c,a.t.G,null,(TDb(),SDb)));!!Yg(a.k,b,false)&&(a.k=EBb(a.k,b))}}function U9b(a){var b,c,d;if(a.s){b=a.Zi();if(!b||b.fj()){a.s=false;for(d=a.Yi().Md();d.Ed();){c=d.Fd();if(c.Ji()){a.s=true;break}}}else a.s=b.Ji()}return a.s}function Gw(a,b){var c,d,e;if(b.isEmpty())return false;
if(DD(b,235)){e=b;for(d=vj(e).Md();d.Ed();){c=d.Fd();Nj(a,c.b.ye(),gk(c))}}else $r(a,b.Md());return true}function fbc(a){var b;if(!a.f){b=a.cj();b==null?kbc(a,Kdc(a.u,(tdc(),pdc)),null):ibc(a,new Gac(a.u,a.cj()+eFc,Kdc(a.u,(tdc(),Ycc)),a.o,null),null)}return a.f.e}function Obc(a,b){var c;c=X2b(a.b);if(!!c&&W2b(c,30)!=0)return false;b.Ci()||b.Ai()||b.Bi()||Ldc(b.u,(tdc(),Icc))==b||(b=Edc(a.a,b));L3b(Pbc(a,b));return true}function mdb(a,b){var c,d;c=Y2b(b,51);if(!!c&&c.Kh())return false;d=tib(b);if(!d){mhb(a.c.t,
leb(b,(ecb(),Gbb),QC(LC(pS,1),yAc,2,6,[])));return true}return false}function FU(a,b){var c;if(IU(a)&&IU(b)){c=a/b;if(RBc<c&&c<PBc)return c<0?$wnd.Math.ceil(c):$wnd.Math.floor(c)}return EU(WC(IU(a)?PU(a):a,IU(b)?PU(b):b,false))}function pqb(a,b){var c,d;pe(b.j==(f8b(),_6b),b);c=l0(a.a,a.b);d=b.hi();a.e.Dh(d,false)||a.e.Gh()&&qkc(d,kEc)?a.d.sh(a.e,d,b,c):a.c?wsb(a.e,d,b,c):a.e.uh(d,b,c)}function Qxb(a,b){ie(a);this.a=a;this.i=null;this.e=null;this.j=null;this.k=null;this.d=null;this.g=null;this.f=
null;this.n=(Mm(),Mm(),Lm);this.c=b;this.b=false}function gyb(a,b){if(a.j)throw BU(new ryb("Cannot add optional formal after rest args"));if(!b)Eoc(a.e,null);else{ae(0!=b.$h());Eoc(a.e,gzb(b,a.a.B))}return a}function mqb(a){var b,c;this.a=new luc;for(c=Bn(a).Md();c.Ed();){b=c.Fd();Qlc(this.a,b.ye(),new J4(b.ze(),(YX(),WX)))}Qlc(this.a,fEc,new J4((f5(),a5),(YX(),WX)))}function LIb(a,b){var c,d,e;e=kHb(a.a,b.c);d=e.j==(f8b(),n7b)||e.j==l5b?TGb(a.a,_5b,e):e;if(b.b){c=iHb(a.a,b.b);H2b(d,c);dHb(d,b.o.b,
b.o.a)}LHb(a,d,b.a);return d}function cQb(a){var b,c,d;d=VRb(a.j,0).b.b;YOb(a,(BOb(),WNb).a);c=!!aPb(a,(MUb(),nUb));b=ZVb(new bWb((gWb(),dWb)),ZOb(a));dQb(a,b,c);return SVb(b,new fZb(d,a.g))}function Akc(a,b,c){var d,e;d=Bkc(b,"([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])","\\\\$1");e=Bkc(Bkc((Yzc(c),c),xAc,"\\\\\\\\"),"\\$","\\\\$");return Bkc(a,d,e)}function Wg(a,b){var c,d,e;c=b.ye();e=b.ze();d=a.pe(c);if(!(JD(e)===JD(d)||e!=null&&nb(e,d)))return false;if(d==null&&!a.containsKey(c))return false;
return true}function Sob(){Sob=aV;Rob=new k5("JSC_DUPLICATE_ZIP_CONTENTS",(YX(),XX),new Hlc("Two zip entries containing the same relative path.\nEntry 1: {0}\nEntry 2: {1}"))}function h4(){h4=aV;g4=new k5("JSC_CONSTANT_REASSIGNED_VALUE_ERROR",(YX(),XX),new Hlc("constant {0} assigned a value more than once.\nOriginal definition at {1}"))}function mAb(a,b,c,d,e){var f;if(!b)return null;switch(b.j.f){case 142:c=(zAb(),wAb);b=b.b;break;case 140:c=(zAb(),yAb);b=b.b}f=eAb(a,b,d,e);return new CAb(f,c)}function FCb(a,
b){var c;c=GCb(a,b);if(!c)return null;else if(b.a.size()==1)return c.b?c.b:null;return yyb(c.d,(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size()))))}function ggb(a,b){var c;if(!b)return false;c=b.a.getAtIndex(0);return igb(a,c)&&(b.a.size()==1||!!axb(Xfb(a,c),(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size())))))}function xDb(a,b){var c,d,e;c=false;for(d=0;d<a.a.a.length;d++){e=Hoc(a.a,d);if(gCb(e.d,b.d)){c=true;a.b==0?Moc(a.a,d,hDb(e,b)):Moc(a.a,d,pDb(e,b))}}c||Eoc(a.a,b)}function CMb(a){if(a.c)return"ts";
else if(a.b>6)return"es"+a.b;else if(a.d||a.a)return"es6";else if(a.b>5)return pGc;else if(a.b>3)return"es5";return CDc}function L1b(a){if(!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&!S_b(a.a)&&(a.a.a&2)==0){a.a.a|=512;a.a.a|=iEc;a.d=true;return true}else return false}function zo(a){lm();var b,c;if(!a.Ed())return lx(),kx;c=a.Fd();if(!a.Ed())return new cy(c);b=new Xvc;quc(b,ie(c));do quc(b,ie(a.Fd()));while(a.Ed());return Fo(b)}function gD(a,b){var c,d,e,f,g,h,i,j;i=a.h>>19;j=b.h>>19;
if(i!=j)return j-i;e=a.h;h=b.h;if(e!=h)return e-h;d=a.m;g=b.m;if(d!=g)return d-g;c=a.l;f=b.l;return c-f}function H$(a){var b;if(a.n>a.o)if(a.d>a.b&&a.d<a.b+a.n){b=a.d;clc(a.i,b,String.fromCharCode(10));a.e=b;A$(a,a.k,b-a.b,true);++a.k;a.n-=b-a.b;a.b=b+1}else I$(a)}function C0(a,b){var c,d;a.H=b;a.v=b.Vb;!a.f&&S0(a,new efb((c=a.H.L,d=new bfb(a),d.b=c,d),W_));O0(a);if(!b.B){b.cb=false;b.f=false;b.Gb=false;b.td=false}D0(a,b.vd)}function V7(a,b){if(b.e.j==(f8b(),n6b))return;if(g9(a.b,b)!=0){j9(a.b,b);
R0(a.a)}else Q0(a.a,leb(b,(F8(),A8),QC(LC(pS,1),yAc,2,6,["Undecomposable expression"])))}function WPb(a){var b,c,d;d=VRb(a.j,0).b.b;c=$Ob(a);b=null;if(iRb(a,0,(MUb(),uTb))&&qkc(VRb(a.j,0).a,"as")){cPb(a,"as");b=$Ob(a)}return new KVb(new fZb(d,a.g),c,b)}function Aic(a,b){if(b<2||b>36)return-1;if(a>=48&&a<48+(b<10?b:10))return a-48;if(a>=97&&a<b+97-10)return a-97+10;if(a>=65&&a<b+65-10)return a-65+10;return-1}function b$(a,b){var c,d;d=b.hi();if(!b.ji()&&!(a.i&&j8b(d))&&k8b(d)&&Wib(d))pZ(a.c,d);else{c=
n$(d);isNaN(c)?ZZ(a,b):a.c.gg(c,b)}if(b.b){pZ(a.c,":");WZ(a,b.b,1,4)}}function R$(a,b){var c,d;if(a.n==0)for(c=0;c<a.a;c++){_kc(a.i,"  ");a.n+=2}_kc(a.i,b);a.n+=b.length;d=Mb(new nc(10),b);if(d>0){a.k+=d;a.n=b.length-wkc(b,Nkc(10))}}function p0(a,b){var c,d,e,f;for(d=M2b(a.u).Md();d.Ed();){e=d.Fd();f=Y2b(e,51);if((!f?null:f.Hg())!=null&&pkc((c=Y2b(e,51),!c?null:c.Hg()),b))return e}return null}function gDb(a,b,c){var d,e,f,g,h;for(f=a.Md();f.Ed();){e=f.Fd();d=false;for(h=b.Md();h.Ed();){g=h.Fd();if(KCb(e,
g,c)){d=true;break}}if(!d)return false}return true}function $Eb(a,b){var c,d;if(a.indexOf("#")!=-1)return b.contains(a)?a:null;for(d=b.Md();d.Ed();){c=d.Fd();if(qkc(a,Hkc(c,0,tkc(c,Nkc(35)))))return c}return null}function tEb(a,b){var c,d;oe(b.g!=0);if(a==b)return true;else if(!a.d)return false;else{for(d=a.d.Md();d.Ed();){c=d.Fd();if(tEb(c.a,b))return true}return false}}function o$b(a,b,c){if(a.j==(f8b(),_6b))oe(!a.b);else{oe(a.j==l5b||a.j==n7b);a=new W3b(_5b,a)}te(C$b(b),"%s can't be an expression",
b);H2b(a,b);return new W3b(c,a)}function w$b(a,b,c){var d,e,f,g,h;oe(C$b(a));oe(b.j==(f8b(),J7b));h=new Y3b(x6b,a,b);for(e=c,f=0,g=e.length;f<g;++f){d=e[f];oe(d.j==J7b);h=new Y3b(x6b,h,d)}return h}function hqc(a){var d;bqc();var b,c;for(c=0,b=a.a.length-1;c<b;++c,--b){d=(Xzc(c,a.a.length),a.a[c]);Moc(a,c,(Xzc(b,a.a.length),a.a[b]));Xzc(b,a.a.length);a.a[b]=d}}function Bib(a){Shb();switch(a.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return true}return false}
function Hib(a){Shb();switch(a.j.f){case 72:case 99:case 71:case 70:case 76:case 66:case 81:case 44:case 77:case 67:case 68:case 69:return true;default:return false}}function mjb(a){Shb();var b,c;if(a.j==(f8b(),_7b)||a.j==_6b&&a.e.j==_7b||a.j==x6b&&a.e.j==n6b){b=(c=dib(a),!c?null:Y2b(c,29));return!!b&&(b.a&fFc)==DBc}return false}function kHb(a,b){var c,d,e;c=KGb(a,b.o);d=THb(a.u,b);!!c&&(e=s3b(d,d.g,29),e!=d.g&&(d.g=e),!!c&&(d.g=new H4b(29,c,d.g)),d);b4b(d.i)==-1&&gHb(d,b.o.b,b.o.a);return d}function FHb(a,
b){var c,d;if(b.a.p==(vYb(),XWb)){c=b.a.a;d=Lr(c);d.p==YXb&&a.a.d.ih("A rest parameter must be in a parameter list.",a.a.r,(GGb(),d.o.b.b+1),d.o.b.a)}}function y1b(a){if((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc||(a.a.a&hFc)!=0||(a.a.a&OBc)!=0||(a.a.a&gFc)!=0)return false;a.a.a|=hFc;a.d=true;return true}function i2b(a){if((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc||(a.a.a&hFc)!=0||(a.a.a&OBc)!=0||(a.a.a&gFc)!=0)return false;a.a.a|=OBc;a.d=true;return true}function gc(a,b){var c;
this.a="CharMatcher.invisible()";this.c=a;this.b=b;ae(a.length==b.length);for(c=0;c<a.length;c++){ae(a[c]<=b[c]);c+1<a.length&&ae(b[c]<a[c+1])}}function nr(a,b){lr();var c,d,e;c=(Av(),new bxc((DD(b,190)?b:new kl(b)).Je()));for(e=(new vxc(a)).b.Cj();e.Ed();){d=e.Fd();sr(c,d)}return new mr((bqc(),new Osc(c)),b)}function Bpb(b){var c;if(!b.a)if(!b.a){b.a=new tA;try{qA(b.a,b.b.b)}catch(a){a=AU(a);if(DD(a,90)||DD(a,125)){c=a;czc(zpb,(Cyc(),Byc),c)}else throw BU(a);}}return b.a}function Cyb(a){var b,c,
d,e;if((a.$h()&2)==0)return null;d=a.e.b;for(c=a._h().Md();c.Ed();){b=c.Fd();e=RBb(b.d);if(!e)return null;d=gzb(d,e)}return 0==d.$h()?null:d}function O2b(a,b){var c,d,e,f,g;g=a.fi(b);c=null;d=null;if(a.b){for(e=a.b;e;e=e.d){f=O2b(e,b);f.e=g;if(!c){c=f;d=c}else{d.d=f;f.f=d;d=f}}c.f=d;d.d=null;g.b=c}return g}function $g(a){var b,c,d;d=new Mwc("{","}");for(c=a.oe().Md();c.Ed();){b=c.Fd();Lwc(d,_g(a,b.ye())+"="+_g(a,b.ze()))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function nA(a,b){var c;if(b.vf()==
-1)return null;else{c=NB(PB(QB(new RB,a.e[b.vf()]),b.wf()+1),b.uf()+1);b.tf()!=-1&&OB(c,a.d[b.tf()]);return new LB(c.d,c.c,c.a,c.b)}}function j7(a,b){var c,d;d=NEc+a.b++;c=b.d;u3b(b,(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b((f8b(),_6b),d)));I2b(c,o$b(b,(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b(_6b,d)),T6b))}function oob(a,b,c){var d,e;d=new T9;Y_(a.b,d);Tlb(new Wlb(a.b,true),null,c);if(kV(a.b.Y)){hkb(new jkb(a.b,true),b,c);if(a.b.Y==1){e=new Okb(a.b);Nkb(e,b,c)}}P0(a.b,d)}function $ac(a,b,c,d){!!c.Si()&&
(c=ghc(c.Si(),Ldc(a.u,(tdc(),sdc))));_kc(_kc(b,d?!c.Ji()&&!c.Qi()&&!c.Pi()&&!c.Oi()&&c.Fi()?"!"+c.Ti(true):c.Ti(true):c.Ti(false)),"=")}function _ac(a,b,c,d){!!c.Si()&&(c=ghc(c.Si(),Ldc(a.u,(tdc(),sdc))));_kc((b.a+=LCc,b),d?!c.Ji()&&!c.Qi()&&!c.Pi()&&!c.Oi()&&c.Fi()?"!"+c.Ti(true):c.Ti(true):c.Ti(false))}function Dhc(a){var b,c;b=Ghc(a);if(b)return Mm(),new _x(b);c=Ehc(a);if(!!c&&a.c)return Mm(),new gx(cn(QC(LC(kS,1),NAc,1,5,[c,Ldc(a.i,(tdc(),sdc))])));return Um(a.a)}function XU(b,c,d,e){WU();var f=
UU;$moduleName=c;$moduleBase=d;zU=e;function g(){for(var a=0;a<f.length;a++)f[a]()}if(b)try{qAc(g)()}catch(a){b(c,a)}else qAc(g)()}function zlb(a,b,c){var d,e;a.p=0;a.r=0;if(a.q){a.r=(a.q.b-a.q.a)/a.n.a.length;a.p=a.q.a}for(e=new kpc(a.n);e.a<e.c.a.length;){d=ipc(e);d.Mf(b,c);if(a.a.f.c>0)return}}function Yg(a,b,c){var d,e,f;for(e=a.oe().Md();e.Ed();){d=e.Fd();f=d.ye();if(JD(b)===JD(f)||b!=null&&nb(b,f)){if(c){d=new inc(d.ye(),d.ze());e.Gd()}return d}}return null}function MV(a,b,c){var d,e;yW((f8b(),
l5b),c);for(d=c.b;d;d=d.d)d==(c.b?c.b.f:null)&&$ib(c.e)?dW(a,d):d.j==z7b?KW(a,b,d):d.j==d6b?(e=T2b(d),0!=e&&$W(XBc+e,d)):nW(a,b,d)}function pab(a,b){var c,d,e,f;if(b.Pi())for(f=b.$i().Md();f.Ed();){e=f.Fd();c=Y2b((d=b.dj(e),!d?null:d.d),51);if(!!c&&c.Kh()){quc(a.b.b,e);rab(a,b.bj(e))}}return a.b.b}function Ddb(a,b,c){var d,e,f,g,h;ae(b.j==(f8b(),r6b));f=jcb(a.c,b);e=Yfb(a.a,f);g=(Shb(),h=dib(b),!h?null:Y2b(h,29));d=e.c;if(!d){d=Zcb(a,g,f,b,c,a.a);ogb(e,d)}return e}function PDb(a,b){var c,d;c=null;
if(!!a.b&&!!b.b){c=pzb(a.b,b.b);if(!c)return null}d=pzb(a.d,b.d);if(!d)return null;return new IDb(a.c==b.c?a.c:null,d,c,NDb(a.a,b.a))}function Ku(a,b){var c,d;d=a.size();if(b==null)for(c=0;c<d;c++){if(a.getAtIndex(c)==null)return c}else for(c=0;c<d;c++)if(nb(b,a.getAtIndex(c)))return c;return-1}function dA(){var a,b,c;c=NC(LD,wBc,46,128,15,1);ypc(c,c.length);for(b=0;b<=9;b++)c[48+b]=b<<24>>24;for(a=0;a<=26;a++){c[65+a]=10+a<<24>>24;c[97+a]=10+a<<24>>24}return c}function yC(a){var b,c,d,e;b="xC";c=
"Rz";e=Xjc(a.length,5);for(d=e-1;d>=0;d--)if(qkc(a[d].d,b)||qkc(a[d].d,c)){a.length>=d+1&&(a.splice(0,d+1),undefined);break}return a}function xyb(a,b){var c;if(b==null)return false;if(a===b)return true;ae(DD(b,133));c=b;return a.$h()==c.$h()&&Ewc(a._h(),c._h())&&Ewc(a.Zh(),c.Zh())&&Ewc(a.ai(),c.ai())}function OPb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;c=tQb(a,b);if(jRb(a,(MUb(),eUb))){YOb(a,eUb);d=xPb(a,b);YOb(a,ZSb);e=xPb(a,b);return new BVb(new fZb(f,a.g),c,d,e)}return c}function i_b(a,b){!a.d&&(a.d=
new I0b);if($_b(a,b)||(a.a&fFc)==DBc)return false;if(!a.d.q)a.d.q=new Poc;else if(Ioc(a.d.q,b,0)!=-1)return false;Eoc(a.d.q,b);return true}function tg(a,b){var c;c=a.c.pe(b);!c&&(c=a.ie(b));return DD(c,203)?new rj(a,b,c):DD(c,121)?new qj(a,b,c):DD(c,31)?new sj(a,b,c):DD(c,48)?yg(a,b,c,null):new Di(a,b,c,null)}function Vhb(a){var b,c,d,e;c=a.b;e=new dlc;for(d=c;d;d=d.d){b=d.j==(f8b(),i7b)||ojb(d)||d.j==d6b?"":xib(d);if(b==null)return null;d!=c&&(e.a+=",",e);e.a+=""+b}return e.a}function Byb(a){var b,
c,d,e,f;if(a.$h()!=2)return null;e=a.e.u;b=false;for(d=a._h().Md();d.Ed();){c=d.Fd();f=QBb(c.d);if(!f)return null;b=true;e=jzb(e,f)}return b?e:null}function RHb(a,b,c){a.a.a.c!=(yGb(),xGb)&&a.a.d.jh("type syntax is only supported in ES6 typed mode: "+c,a.a.r,(GGb(),b.o.b.b+1),b.o.b.a);a.a.e=BMb(a.a.e,c.a);bHb(a.a,b.o)}function BV(){BV=aV;xV=new CV(UBc,0,"\u001b[31m");AV=new CV(VBc,1,"\u001b[35m");yV=new CV("NO_COLOR",2,"\u001b[39m");wV=new CV("BOLD",3,"\u001b[1m");zV=new CV("UNBOLD",4,"\u001b[0m")}
function P5(a){var b,c,d,e;b=Z2b(nib(a));c=ie((Shb(),gib(a,Rhb)));for(d=c.d;d;d=d.d){e=O5(d,b);if(e!=null)return e}throw BU(new sjc("$jscomp.inherits() call not found."));}function nob(a,b){var c;c=a.b.i;if(!c)return;kab(new lab(a.b),b);if(!qx(a.b.i,c)){Q0(a.b,new heb(null,null,-1,-1,iob,null,QC(LC(pS,1),yAc,2,6,[])));throw BU(new sjc(yGc));}}function Jxb(a,b){var c,d,e;if(a.n.isEmpty()||aBb(a.a.i,b))return Kxb(a,b);c=new qq;for(e=b.oe().Md();e.Ed();){d=e.Fd();a.n.contains(d.ye())||oq(c,d)}return Kxb(a,
On(c.b))}function lHb(a,b){var c,d,e,f;f=ZGb(a,b);c=YGb(a,""+f);d=MGb(a,JGb(a,b.b));!!d&&(e=s3b(c,c.g,29),e!=c.g&&(c.g=e),!!d&&(c.g=new H4b(29,d,c.g)),c);gHb(c,b.b.b,b.b.a);return c}function rPb(a){var b,c,d;b=fRb(a,0);for(d=b.b.Md();d.Ed();){c=d.Fd();!!c.b&&CRb(a,"Ambient variable declaration may not have initializer",QC(LC(kS,1),NAc,1,5,[]))}return b}function Sqb(){Sqb=aV;Pqb=new Vqb;Oqb=new drb;Jqb=new frb;Mqb=new hrb;Kqb=new jrb;Lqb=new lrb;new nrb;Nqb=new prb;Iqb=new rrb;Hqb=new Xqb;Gqb=new Zqb;
Qqb=new _qb;Rqb=new brb}function $Ob(a){var b;b=jPb(a);if(b.c==(MUb(),uTb))return b;else{BOb();if(DOb(b.c))return new CNb(b.b,DOb(b.c).b);else ARb(a,b,yIc,QC(LC(kS,1),NAc,1,5,[uTb]))}return null}function p3b(a,b){var c,d,e;oe(b.e==a);oe(!!b.f);c=a.b.f;e=b.f;d=b.d;if(a.b==b){a.b=d;!!d&&(d.f=c)}else if(b==c){a.b.f=e;e.d=null}else{e.d=d;d.f=e}b.d=null;b.f=null;b.e=null}function chc(a,b,c,d){var e,f,g;g=ehc(b);if(c==0&&ehc(a).size()!=g.size())return false;for(e=0;e<g.size();e++){f=g.getAtIndex(e);if(!hhc(a,
f,c,d))return false}return true}function kjc(a){ijc==null&&(ijc=/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/);if(!ijc.test(a))throw BU(new gkc(eJc+a+'"'));return parseFloat(a)}function Xuc(){function b(){try{return(new Map).entries().next().done}catch(a){return false}}if(typeof Map===uAc&&Map.prototype.entries&&b())return Map;else return Yuc()}function Lb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Ib(a.charCodeAt(d))){c=Ikc(a);for(;d<e;d++){b=c[d];b>=97&&b<=122&&(c[d]=
b&95&DAc)}return Skc(c,0,c.length)}return a}function _0(a,b){var c,d,e;d="INTERNAL COMPILER ERROR.\nPlease report this problem.\n\n"+a;c=new UB(d,b);!!b&&Jz(c,(b.g==null&&(b.g=(wC(),e=vC.Af(b),yC(e))),b.g));throw BU(c);}function A9(a,b){var c,d,e,f,g;Ihb(a.b,b,a);g=new dyc(new E9);ad(g,a.f);for(f=(d=(new Jnc(g.a)).a.oe().b.Cj(),new Pnc(d));f.a.Ed();){e=(c=f.a.Fd(),c.ye());H9(e,e.Rg(),N9(e))}}function mcb(a,b){switch(b){case sAc:return a.d.a;case tAc:return a.d.q;case vAc:return a.d.t;case FAc:return a.d.j;
case EEc:case aDc:return a.d.B;default:return Zfb(a.k,b)}}function fdb(a,b,c){var d,e;ae(b.j==(f8b(),x6b));if(!g3b(b))return false;e=b.b;if(!fgb(c,Z2b(e)))return false;return d=Sfb(a.a,YDb(e),false),!!(!d?null:DD(d.c,80)?d.c:null)}function iqb(a,b,c,d){var e,f,g,h;g=null;for(f=c.b;f;f=g){g=f.d;e=f.hi();if(bqb(a,e)||$pb(a,f.b)){h=rhb(b);quc(a.a.f,h.Bh(e));p3b(c,f);R0(a.a.a)}}if(!c.b){Ejb(d,c);R0(a.a.a)}}function Dwb(a,b,c,d,e){this.d=a;this.e=b;this.c=c;this.a=d;this.b=e;!!this.d&&oe(!this.e);!!this.e&&
oe(!this.d&&!this.c&&!this.a);!!this.c&&oe(!this.e);!!this.a&&oe(!this.e)}function kIb(a,b){var c,d,e,f,g;f=SGb(a.a,(f8b(),v6b));for(e=new Tvc(new Kvc(b.a));e.b!=e.c.a.b;){d=Rvc(e);g=XGb(a.a,u6b,d.d.a);c=d.e;!!c&&H2b(g,iHb(a.a,c));H2b(f,g)}return f}function cJb(a,b){var c,d;for(d=new kpc(b);d.a<d.c.a.length;){c=ipc(d);S_b(a.e.a)?D1b(a.e,c.c)||ZIb(a,"msg.jsdoc.extends.duplicate",c.b,c.a):p1b(a.e,c.c)||aJb(a,GHc,c.b,c.a)}}function J2b(a,b,c){var d,e,f;if(!b)return;ae(!c||c.e==a);oe(!!b.f);if(!c){L2b(a,
b);return}for(d=b;d;d=d.d){ae(!d.e);d.e=a}e=b.f;f=c.d;e.d=f;!f?a.b.f=e:f.f=e;c.d=b;b.f=c}function ykc(a,b,c,d,e,f){var g,h;Yzc(d);if(c<0||e<0||f<=0)return false;if(c+f>a.length||e+f>d.length)return false;g=a.substr(c,f);h=d.substr(e,f);return b?rkc(g,h):qkc(g,h)}function Kb(a){var b,c,d,e;e=a.length;for(d=0;d<e;d++)if(Jb(a.charCodeAt(d))){c=Ikc(a);for(;d<e;d++){b=c[d];b>=65&&b<=90&&(c[d]=(b^32)&DAc)}return Skc(c,0,c.length)}return a}function DW(b){if(b.ji())try{b.hi()}catch(a){a=AU(a);if(DD(a,18))$W("getString failed for"+
b.j,b);else throw BU(a);}else{b.hi()==null&&$W(fCc,b);b.hi().length==0&&$W(gCc,b)}}function xjb(a,b){var c,d;c=(te(tkc(b,Nkc(46))==-1,tCc,b),new U4b((f8b(),_6b),b));C3b(c,b.length);g0(a)._f(b)&&(d=s3b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new x4b(43,1,c.g));return c}function cqb(a,b,c,d){var e,f,g;f=c.b;if(fqb(a,f)||(g=Z2b(f),hqb(a,g)))if(d.j==(f8b(),n6b)){e=d.e;Ejb(e,d);R0(a.a.a)}else yhb(b,c,(Upb(),Spb),QC(LC(pS,1),yAc,2,6,[Z2b(f)]))}function jxb(a,b,c){var d,e,f,g;f=a.Zh();if(!f)return true;g=b.Zh();for(e=
f.Md();e.Ed();){d=e.Fd();if(!!g&&g.contains(d))continue;if(!Iyb(d.a,b,c))return false}return true}function nSb(a){QRb(a);if(BSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)){YRb(a,"New line not allowed in regular expression literal",QC(LC(kS,1),NAc,1,5,[]));return false}QRb(a);return true}function r2b(a){if((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc||S_b(a.a)||(a.a.a&hFc)!=0||(a.a.a&OBc)!=0||(a.a.a&gFc)!=0)return false;a.a.a|=gFc;a.d=true;return true}function gd(a){var b,c,d;d=new Mwc("[","]");for(c=a.Md();c.Ed();){b=
c.Fd();Lwc(d,b===a?"(this Collection)":b==null?FAc:dV(b))}return!d.a?d.c:d.e.length==0?d.a.a:d.a.a+(""+d.e)}function gs(a,b){Zr();var c,d;as(b);d=_r(a,b);if(!a.a.Ed())throw BU(new lic(pBc+b+") must be less than the number of elements that remained ("+d+")"));return c=a.a.Fd(),c.ye()}function igb(a,b){var c,d,e;ae(b.indexOf(".")==-1);c=Tfb(a,b,false);if(!c)return false;e=c.d;return!!c.c||!!e&&(d=e.$h()==2&&e._h().size()==1?js(e._h().Md()):null,!!d&&!!d.e)}function QBb(a){var b,c,d,e;if(wEb(a.a,BFc))return co(a.b,
a.a.p.getAtIndex(0));d=a.a.t.b;for(c=SBb(a).Md();c.Ed();){b=c.Fd();e=QBb(b);!!e&&(d=gzb(d,e))}return 0==d.$h()?null:d}function yGb(){yGb=aV;sGb=new zGb(PDc,0,(zMb(),pMb));tGb=new zGb(QDc,1,qMb);uGb=new zGb(RDc,2,tMb);vGb=new zGb(SDc,3,vMb);wGb=new zGb(TDc,4,xMb);xGb=new zGb("TYPESCRIPT",5,yMb)}function XPb(a){var b,c;b=(Mm(),new iq);YOb(a,(MUb(),RTb));while(c=VRb(a.j,0).c,uTb==c||(BOb(),BOb(),!!co(cOb,c))){gq(b,WPb(a));jRb(a,WSb)||YOb(a,$Sb)}YOb(a,WSb);return Um(b.a)}function lQb(a){var b,c;b=(Mm(),
new iq);YOb(a,(MUb(),RTb));while(c=VRb(a.j,0).c,uTb==c||(BOb(),BOb(),!!co(cOb,c))){gq(b,kQb(a));jRb(a,WSb)||YOb(a,$Sb)}YOb(a,WSb);return Um(b.a)}function Fr(a,b){var c,d;ie(a);if(!b.b.Ed())return ie(a),Ar==a?zr:new nx(new dyc(a));c=new dyc(a);while(b.b.Ed()){d=b.b.Fd();ie(d);c.a.put(d,(tic(),ric))==null}return new nx(c)}function Lu(a,b){var c;if(b==null)for(c=a.size()-1;c>=0;c--){if(a.getAtIndex(c)==null)return c}else for(c=a.size()-1;c>=0;c--)if(nb(b,a.getAtIndex(c)))return c;return-1}function VW(a,
b){var c,d;a.a.v==(o3(),h3)||$W("Feature 'type alias' is only allowed in ES6 Typed mode.",b);yW((f8b(),X7b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b))}function e1(a){var b,c;c=(a.H.nd!=(F3(),C3)&&!!a.U&&glb(a.U,zDc,true),new Fqb);try{!a.K&&(a.K=new Ivb);bqc();rqc()}finally{b=OU(HU(Hzc()),c.a);a.H.nd!=C3&&!!a.U&&hlb(a.U,zDc,b)}}function O6(a){var b,c,d,e;if(a.b.a.size()!=0){for(d=(e=(new Kmc(a.b.a)).a.oe().Md(),new Qmc(e));d.a.Ed();){c=(b=d.a.Fd(),b.ye());c.j==(f8b(),T5b)&&S6(c,c.e);J3b(c,
_7b)}R0(a.a)}}function wnb(){wnb=aV;vnb=new k5("JSC_INSUFFICIENT_OUTPUT_VERSION",(YX(),WX),new Hlc("Built-in ''{0}'' not supported in output version {1}: set --language_out to at least {2}"))}function lRb(a){switch(VRb(a.j,0).c.f){case 82:case 85:case 86:case 95:case 87:case 83:case 84:case 88:case 89:case 90:case 91:case 93:case 92:return true;default:return false}}function Z2b(a){var b,c;switch(a.j.f){case 29:c=a.hi();return c.length==0?null:c;case 26:b=$2b(a,0);return b?b.a:null;case 33:return UCc;
case 97:return VCc;default:return null}}function uA(a,b,c,d){var e,f;while(true){f=((d-c)/2|0)+c;e=(Xzc(f,a.a.length),a.a[f]).sf()-b;if(e==0)return f;else if(e<0){c=f+1;if(c>d)return d}else{d=f-1;if(d<c)return d}}}function j6(a,b,c,d){var e,f,g;for(f=bwc(a.a,0);f.b!=f.d.c;){e=lwc(f);if(c!=e.a&&k3b(c,e.a)){g=rhb(b).Bh(c.hi());if(!!g&&g.Nh()==e.a){t3b(d,c,Q3b(G$b(e.b),c));R0(a.b.b);return}}}}function ilb(a,b,c){this.d=new cnb;this.f=new koc;this.w=new Poc;be(c!=(F3(),C3),"PerformanceTracker can't work without tracer data.");
this.H=HU(Hzc());this.n=a;this.u=b;this.D=c}function x0(a){var b,c,d,e,f;f=false;for(d=a.s.Md();d.Ed();){c=d.Fd();e=S1(c,a);if(!e)continue;b=Y2b(e,29);if(!!b&&(b.a&uDc)!=0){reb(c.g,c);f=true}}f&&(g1(a.D),a.s=h1(a.D),A0(a))}function R5(a,b){var c;switch(b){case qEc:case "EvalError":case rEc:case sEc:case tEc:case "TypeError":case "URIError":return c=rhb(a).Bh(b),!(!!c&&!c.Sh());default:return false}}function RVb(a){UUb.call(this,(vYb(),uXb),a.k);this.k=a.n;this.d=a.d;this.i=a.i;this.f=a.f;this.g=a.g;
this.a=a.a;this.j=ie(a.j);this.b=ie(a.b);this.n=a.o;this.c=ie(a.c);this.e=a.e}function kfc(a,b,c){var d,e,f,g;if(!c.add(a))return;b.addAll(a.b.keySet());g=mfc(a);!!g&&kfc(g,b,c);for(e=rs(new urc(nfc(a).a.b.Md()));e.Ed();){d=e.Fd();f=d.aj();!!f&&kfc(f,b,c)}}function Nkc(a){var b,c;if(a>=AAc){b=BAc+(a-AAc>>10&CAc)&DAc;c=EAc+(a-AAc&CAc)&DAc;return String.fromCharCode(b)+(""+String.fromCharCode(c))}else return String.fromCharCode(a&DAc)}function rib(a){Shb();var b;if(a.j!=(f8b(),x6b))return null;if(qkc((a.b?
a.b.f:null).hi(),CCc))return a.b;b=a.b;if(b.j==x6b&&qkc((b.b?b.b.f:null).hi(),CCc))return b.b;return null}function J$b(a){var b,c,d,e,f;b=new U3b((f8b(),m7b));for(d=a,e=0,f=d.length;e<f;++e){c=d[e];oe(c.j==K7b||c.j==W6b||c.j==y6b||c.j==E7b);c.j==K7b||oe(!!c.b&&!c.b.d);H2b(b,c)}return b}function Uyc(a,b){var c,d,e,f;c=Nlc(a.a,b);if(!c){d=new hzc(b);e=d.c;f=Hkc(e,0,Wjc(0,wkc(e,Nkc(46))));ezc(d,Uyc(a,f));d.c.length==0&&$yc(d,new kzc);Qlc(a.a,d.c,d);return d}return c}function Rj(a,b,c){var d,e,f,g;if(c==
0)return e=Gv(a.a,b),!e?0:e.a;de(c>0,dBc,c);d=a.a.pe(b);if(!d)return 0;g=d.a;if(g>c)f=c;else{f=g;a.a.remove(b)}d.a+=-f;a.b=OU(a.b,f);return g}function zW(b){var c,d;yW((f8b(),k7b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));try{b.gi()}catch(a){a=AU(a);if(DD(a,18))$W("Invalid NUMBER node.",b);else throw BU(a);}}function PW(b){var c,d;yW((f8b(),J7b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));try{b.hi()}catch(a){a=AU(a);if(DD(a,18))$W("Invalid STRING node.",b);else throw BU(a);
}}function QW(a,b){var c,d;yW((f8b(),O7b),b);qW(b);dW(a,b.b);d=0;for(c=b.b.d;c;c=c.d){RW(a,b.b?b.b.f:null);c.j==Y5b&&++d}d>1&&$W("Expected at most 1 'default' in switch but was "+d,b)}function W3(a,b){var c,d,e,f;for(f=(d=(new Jnc(a.c.a)).a.oe().b.Cj(),new Pnc(d));f.a.Ed();){e=(c=f.a.Fd(),c.ye());if(e.Mg(b))return true;else if(e.Lg(b))return false}return false}function p9(a,b,c){var d;if(b.j==(f8b(),n5b)){d=b.b;switch(d.j.f){case 29:return true;case 26:return!o9(a,d.b,c);case 27:return!o9(a,d.b,c)&&
!o9(a,d.b?d.b.f:null,c)}}return false}function EDb(a,b){switch(a.a.f){case 0:return Ukc(Tyb(a.d,b),94);case 2:return Tyb(a.d,b);case 1:return Ukc(Tyb(a.d,b),61);default:throw BU(new TB("Unknown Attribute value "+a.a));}}function vSb(a){while(PRb(a,a.d))switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 96:return;case 92:uSb(a);break;case 36:if((PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)==123)return;default:QRb(a)}}function jdb(a,b){var c;if(wcb(b)){Zcb(a,(Shb(),c=dib(b),!c?null:Y2b(c,29)),Z2b(b),b.d,null,a.a);return}if(xcb(b)){Zcb(a,
(Shb(),c=dib(b),!c?null:Y2b(c,29)),Z2b(b),b,null,a.a);return}}function Fhb(b,c,d){var e,f;try{e=c.e;ie(e);zhb(b,kib(e),"");b.e=e;whb(b,e);Chb(b,c,e);oe(d.e==e);Chb(b,d,e);vhb(b,false)}catch(a){a=AU(a);if(DD(a,41)){f=a;Ahb(b,f)}else throw BU(a);}}function Pub(a,b){Jub();var c,d,e;for(d=b.Md();d.Ed();){c=d.Fd();if(qkc(a.substr(0,c.length),c)){e=Gkc(a,c.length);if(qkc(e.substr(0,1),"/"))return e.substr(1,e.length-1)}}return a}function u0b(a,b,c){if((a.a&fFc)!=0)throw BU(new sjc("API tried to add two incompatible type tags. This should have been blocked and emitted a warning."));
a.a=a.a&1073741823|c;a.i=b}function o1b(a){if(!((a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&!S_b(a.a)&&(a.a.a&IFc)==0&&(a.a.a&32)==0&&a.a.j!=(b1b(),$0b)){a.a.a|=IFc;a.d=true;return true}return false}function bbc(a){var b,c;a.s=true;if(a.i)for(c=new kpc(a.i);c.a<c.c.a.length;){b=ipc(c);bbc(b)}if(!a.o){(a.lj()||a.e==2)&&(te(a.lj()||a.e==2,bJc,a),D8b(a.j)).Wi();!!a.f&&a.f.e.Wi()}}function On(a){var b,c,d;d=a.a.length;switch(d){case 0:return dx(),cx;case 1:b=js(new kpc(a));return Un(b.ye(),
b.ze());default:c=Ooc(a,NC(ST,iBc,58,a.a.length,0,1));return new jx(c)}}function Ev(a){Av();var b,c;if(a.a.c==0)return dx(),cx;else{for(c=new Ltc((new Ftc(a)).a);fuc(c.a);){b=(c.b=guc(c.a),new Ptc(c.c,c.b));ie(b.a);ie(b.b.b[b.a.f])}return bq(new vtc(a))}}function qx(b,c){var d;if(b===c)return true;if(DD(c,31)){d=c;try{return b.size()==d.size()&&b.containsAll(d)}catch(a){a=AU(a);if(DD(a,66))return false;else throw BU(a);}}return false}function e9(a,b,c,d,e){this.g=a;this.d=J$b(QC(LC(WQ,1),uCc,7,0,
[]));this.e=J$b(QC(LC(WQ,1),uCc,7,0,[]));this.j=new tvc;this.i=new tvc;this.b=new tvc;this.f=b;this.a=c;this.c=d;this.k=e}function Fib(a,b){Shb();var c;c=b.e;if(c.j==(f8b(),x6b)&&b==(c.b?c.b.f:null))return a.ag(b.hi());else if(bjb(b))return a.ag(b.hi());else if(b.j==_6b)return a._f(b.hi());return false}function flb(a,b){var c,d;dlb(a);if(a.D==(F3(),E3))return;b.c=a.q=a.b=(Shb(),$hb(a.u));if(!(a.D==D3||a.D==A3))return;c=plb((d=a.u,a.D==A3,d));b.o=a.r=a.e=c.b;a.D==A3&&(b.g=a.s=a.o=0)}function Anb(a,
b,c){var d,e,f,g,h;h=b.b;while(!!h&&h!=c){g=h.d;Shb();if(h.j==(f8b(),n6b)&&h.b.j==J5b){d=h.b;e=d.b;if(m3b(e,qGc,qGc.length)){f=HMb(e.d.d.d.hi());znb(a,f)&&Ejb(b,h)}}h=g}}function iQb(a){var b,c,d,e;e=VRb(a.j,0).b.b;YOb(a,(MUb(),vTb));YOb(a,STb);b=kPb(a,1);YOb(a,XSb);d=SQb(a);c=null;if(jRb(a,gTb)){YOb(a,gTb);c=SQb(a)}return new nWb(new fZb(e,a.g),b,d,c)}function y0(a){var b,c,d;d=false;for(c=a.s.Md();c.Ed();){b=c.Fd();if(a.H.$.b)if(!T1(b).Ig().isEmpty()||!T1(b).Jg().isEmpty())continue;w0(a,b)&&(d=
true)}d&&(g1(a.D),a.s=h1(a.D),A0(a))}function Fyb(a,b){if(0==a.$h()||wAc==a.$h()||512==a.$h())return a.e.G;ve(!a._h().isEmpty()||!a.Zh().isEmpty(),"Can't getProp %s of type %s",b,a);return mzb(IEb(a._h(),b),IEb(a.Zh(),b))}function RBb(a){var b,c,d,e,f;if(wEb(a.a,BFc))return co(a.b,a.a.p.getAtIndex(1));e=a.a.t.u;b=false;for(d=SBb(a).Md();d.Ed();){c=d.Fd();f=RBb(c);if(f){b=true;e=jzb(e,f)}}return b?e:null}function gIb(a,b){var c,d,e,f;f=SGb(a.a,(f8b(),r7b));if(EHb(a,b.a))for(d=b.a.Md();d.Ed();){c=d.Fd();
e=kHb(a.a,c);oe(e.j==_6b||e.j==z7b||e.j==l5b||e.j==n7b||e.j==Z5b);H2b(f,e)}return f}function wdc(a,b,c){var d,e,f,g;if(DD(c,56)&&c.ej()){g=pvc(a.b,b);if(!g){g=new tvc;qvc(a.b,b,g)}f=c;g.put(f.cj(),f)}else if(c.Si())for(e=dhc(c.Si()).Md();e.Ed();){d=e.Fd();wdc(a,b,d)}}function gW(a,b){var c,d,e;yW((f8b(),x6b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));dW(a,b.b);e=b.b?b.b.f:null;yW(J7b,e);e.hi()==null&&$W(fCc,e);e.hi().length==0&&$W(gCc,e)}function BX(){BX=aV;AX=new k5("JSC_DEBUGGER_STATEMENT_PRESENT",
(YX(),WX),new Hlc("Using the debugger statement can halt your application if the user has a JavaScript debugger running."))}function o0(a){var b,c,d,e;!a.K&&(a.K=new Ivb);e=new tuc;if(a.u)for(d=M2b(a.u).Md();d.Ed();){c=d.Fd();W2b(c,93)!=0&&quc(e,q0(a,(b=Y2b(c,51),!b?null:b.Hg())))}return k0(a),v0(a),new nnb}function mhc(a){var b,c,d,e;e=new Hhc(a.u);for(d=a.b.Md();d.Ed();){b=d.Fd();Bhc(e,b,false)}a.b=Dhc(e);e=new Hhc(a.u);for(c=a.b.Md();c.Ed();){b=c.Fd();Bhc(e,b,true)}a.a=Dhc(e);a.c=a.b.zd()}function Zwc(a,
b,c,d){var e,f;f=b;e=f.d==null||a.a.Ie(c.d,f.d)>0?1:0;while(f.a[e]!=c){f=f.a[e];e=a.a.Ie(c.d,f.d)>0?1:0}f.a[e]=d;d.b=c.b;d.a[0]=c.a[0];d.a[1]=c.a[1];c.a[0]=null;c.a[1]=null}function OJb(a,b){var c;if(b==(BKb(),qKb)){UJb(a);c=NJb(a,!a.o?IKb(a.j):eJb(a));if(c){UJb(a);mJb(a,wKb)?!a.o?IKb(a.j):eJb(a):(aJb(a,IHc,a.j.g,HKb(a.j)),null)}return c}else return NJb(a,b)}function ZKb(a){var b,c,d;c=a.c;b=a.e==0;switch(c.f){case 5:d=3;break;case 0:d=0;break;case 1:d=1;break;case 2:case 3:case 4:d=2;break;default:throw BU(new sjc(rDc+
c));}return new JRb(d,b)}function _hb(a){Shb();switch(a.j.f){case 80:if(W2b(a,38)!=0||!a.e||!(!a.e?null:a.e.e)||a.e.j==(f8b(),N5b))return false;return true;case 72:case 99:case 67:case 94:return true}return false}function Qib(a){Shb();if(a.j!=(f8b(),x6b))return false;if(a.j==x6b&&m3b(a,wCc,wCc.length)||a.j==x6b&&m3b(a,xCc,xCc.length))return true;return a.b.j==r6b&&qkc((a.b?a.b.f:null).hi(),"bind")}function gkb(){gkb=aV;fkb=new k5("JSC_CATCH_BLOCK_VAR_ERROR",(YX(),VX),new Hlc("The use of scope variable {0} is not allowed within a catch block with a catch exception of the same name."))}
function mLb(a,b){var c,d;b.j==(f8b(),h7b)?d=lLb(a,b.b):d=lLb(a,b.b)&&lLb(a,b.b.d);if(!d){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[sAc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function vQb(a,b,c,d,e,f){var g;g=WVb(_Vb(VVb(YVb(TVb($Vb(XVb(aWb(ZVb(new bWb((gWb(),fWb)),c),d),e),false),f),gPb(a)),aQb(a,1)),fPb(a)),new HVb(new fZb(b,a.g)));return SVb(g,new fZb(b,a.g))}function GRb(a,b,c,d,e){this.a=new IRb(this);this.e=new koc;this.d=(zMb(),pMb);this.b=a;this.c=b;this.i=true;this.j=new xSb(b,
this.a,c,d);Vnc(this.e,(tic(),e?true:false));this.g=NRb(this.j)}function vpc(a,b){var c;if(JD(a)===JD(b))return true;if(a==null||b==null)return false;if(a.length!=b.length)return false;for(c=0;c<a.length;++c)if(a[c]!==b[c])return false;return true}function Xg(a,b){var c,d,e;if(b===a)return true;if(!DD(b,49))return false;e=b;if(a.size()!=e.size())return false;for(d=e.oe().Md();d.Ed();){c=d.Fd();if(!a.ne(c))return false}return true}function ktc(){ktc=aV;itc=QC(LC(pS,1),yAc,2,6,["Sun","Mon","Tue","Wed",
"Thu","Fri","Sat"]);jtc=QC(LC(pS,1),yAc,2,6,["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])}function X3(a,b){var c,d,e,f,g;for(f=(d=(new Jnc(a.c.a)).a.oe().b.Cj(),new Pnc(d));f.a.Ed();){e=(c=f.a.Fd(),c.ye());g=e.Og(b);if(g){if(a.a&&g==(YX(),VX))return YX(),XX;return g}}return null}function bX(a,b){var c,d,e,f,g;e=new Qoc(a.d.a.size());for(g=(d=(new Jnc(a.d.a)).a.oe().b.Cj(),new Pnc(d));g.a.Ed();){f=(c=g.a.Fd(),c.ye());f.b==b&&Eoc(e,f.a)}return Ooc(e,NC(CK,lCc,67,0,0,1))}
function $Db(a,b,c,d,e){oe(!a.f);!d&&e&&(d=a.t.G);a.b=DBb(a.b,b,e?new IDb(c,d,d,(TDb(),QDb)):new IDb(c,d,d,(TDb(),SDb)));!!Yg(a.j,b,false)&&bEb(a,b,c,d,e);!!Yg(a.k,b,false)&&(a.k=EBb(a.k,b))}function HMb(a){zMb();switch(a){case CDc:return pMb;case "es5":return qMb;case pGc:return sMb;case "es6":return rMb;case "ts":return yMb;default:throw BU(new Geb("No such FeatureSet: "+a));}}function pQb(a){var b,c;c=(Mm(),new iq);while(qRb(a)){gq(c,oQb(a));jRb(a,(MUb(),WSb))||(b=VRb(a.j,0).b.b.b>a.g.b,b||iRb(a,
0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)?bPb(a):YOb(a,$Sb))}return Um(c.a)}function Iyb(a,b,c){var d,e,f;if(a==b)return true;f=b;return e=a._h(),e.size()==1&&js(e.Md()).c||(d=f._h(),d.size()==1&&js(d.Md()).c)?a.e.Q?dzb(wyb(a),wyb(f)):Jyb(wyb(a),wyb(f),c):Jyb(a,f,c)}function Mpc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];Lwc(f,String.fromCharCode(b))}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function nib(a){Shb();var b,c,d;oe(a.j==(f8b(),r6b)||
a.j==O5b);d=a.e;switch(d.j.f){case 29:return d;case 47:{b=d.b;return g3b(b)?b:null}default:c=a.b;return c.j==d6b||c.hi().length==0?null:c}}function elb(a,b){var c,d,e;e=(Shb(),$hb(a.u));b.b=a.b-e;a.b=b.c=e;if(!(a.D==(F3(),D3)||a.D==A3))return;c=plb((d=a.u,a.D==A3,d));e=c.b;b.e=a.e-e;a.e=b.o=e;if(a.D==A3){e=0;b.f=a.o-e;a.o=b.g=e}}function Hwb(a,b){var c,d,e;e=$Eb(b,a.j);if(e!=null)return e;if(a.e){d=Dyb(a.e);if(!!d&&!d.a.p.isEmpty()&&d.b.d.d.isEmpty()){c=(oe(!d.a.f),d.a);e=$Eb(b,c.p);if(e!=null)return e}}return null}
function iib(a,b){Shb();var c,d;oe(a.j==(f8b(),m7b)||a.j==P5b);for(d=(!a.b?(bqc(),bqc(),aqc):new O4b(a.b)).Md();d.Ed();){c=d.Fd();if((c.j==K7b||c.j==W6b)&&qkc(c.hi(),b))return c.b}return null}function Cxb(a,b){var c;if(b==null)return false;if(a===b)return true;fe(DD(b,194),"obj is: %s",b);c=b;return Ewc(a.i,c.i)&&Ewc(a.e,c.e)&&Ewc(a.j,c.j)&&Ewc(a.k,c.k)&&Ewc(a.d,c.d)&&Ewc(a.g,c.g)}function GCb(a,b){var c,d;d=b.a.getAtIndex(0);c=hh(Yg(a.g,d,false));if(c)return c;if(a.e){c=_wb(a.e,d);if(c)return c}if(a.d)return VBb(a.d,
d);if(OAb(a.a))return VBb(OAb(a.a),d);return null}function yLb(a,b,c){var d,e;for(e=0;e<c;e++)if(!jLb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,e+1)))){a.a.jh((d=QC(LC(kS,1),NAc,1,5,[sAc]),EHc+f5b(XHc,d)),a.b.Hg(),a.d,a.c);return false}return true}function DLb(a,b,c){var d,e;for(e=0;e<c;e++)if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,e+1)))){a.a.jh((d=QC(LC(kS,1),NAc,1,5,[sAc]),EHc+f5b(XHc,d)),a.b.Hg(),a.d,a.c);return false}return true}function GLb(a,b,c){var d,e;for(e=0;e<c;e++)if(!FLb(a,(fe(b.j==(f8b(),
J5b),THc,b),S2b(b,e+1)))){a.a.jh((d=QC(LC(kS,1),NAc,1,5,[sAc]),EHc+f5b(XHc,d)),a.b.Hg(),a.d,a.c);return false}return true}function uC(b,c){var d,e,f,g;for(e=0,f=b.length;e<f;e++){g=b[e];try{g[1]?g[0].Kj()&&(c=tC(c,g)):g[0].Kj()}catch(a){a=AU(a);if(DD(a,39)){d=a;fC();lC(DD(d,260)?d.yf():d)}else throw BU(a);}}return c}function kD(a,b){var c,d,e;b&=63;if(b<22){c=a.l<<b;d=a.m<<b|a.l>>22-b;e=a.h<<b|a.m>>22-b}else if(b<44){c=0;d=a.l<<b-22;e=a.m<<b-22|a.l>>44-b}else{c=0;d=0;e=a.l<<b-44}return VC(c&LBc,d&
LBc,e&MBc)}function xEb(a,b){var c,d;if(a==b||BEb(b.w,AEc,b.u))return true;if(b.g!=0)for(d=(!a.d?(lm(),lx(),kx):a.d).Md();d.Ed();){c=d.Fd();if(cCb(c,b.r))return true}return a.g==0&&!!a.o&&cCb(a.o,b.r)}function pIb(a,b){var c,d,e,f;RHb(a,b,(wNb(),hNb));f=qIb(a,b.b);c=SGb(a.a,(f8b(),c7b));b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();H2b(c,iHb(a.a,d))}return UGb(a.a,b7b,f,c)}function cV(a,b){var c=$wnd;if(a==="")return c;var d=a.split(".");!(d[0]in c)&&c.execScript&&c.execScript("var "+
d[0]);for(var e;d.length&&(e=d.shift());)c=c[e]=c[e]||!d.length&&b||{};return c}function Nj(a,b,c){var d,e,f,g;if(c==0)return e=Gv(a.a,b),!e?0:e.a;de(c>0,dBc,c);d=a.a.pe(b);if(!d){g=0;a.a.put(b,new sl(c))}else{g=d.a;f=CU(g,c);ee(DU(f,wAc)<=0,f);d.a+=c}a.b=CU(a.b,c);return g}function hib(a,b){Shb();var c,d;oe(a.j==(f8b(),m7b));for(d=(!a.b?(bqc(),bqc(),aqc):new O4b(a.b)).Md();d.Ed();){c=d.Fd();if(c.j==S5b&&c.b.ii(b,false,true,false))return c.b?c.b.f:null}return null}function abc(a,b,c,d){if(a.lj()){if(b.lj())return a==
b;return false}if(a.e==2){if(b.e==2)return qkc(a.cj(),b.cj());return false}if(b.e==2)return false;return u8b(a.j,b.j,c,d)&&s9b(a.a,b.a,c,d)}function eB(a,b,c){var d,e,f,g;jA(a.b,c-a.c);a.c=c;if(b){e=XA(a.j,b.d);jA(a.b,e-a.g);a.g=e;g=b.c.b;f=b.c.a;jA(a.b,g-a.i);a.i=g;jA(a.b,f-a.f);a.f=f;if(b.b!=null){d=WA(a.j,b.b);jA(a.b,d-a.e);a.e=d}}}function ZB(a){var b;if(a.c==null){b=JD(a.b)===JD(XB)?null:a.b;a.d=b==null?FAc:GD(b)?b==null?null:b.name:ID(b)?HBc:Qic(pb(b));a.a=a.a+": "+(GD(b)?b==null?null:b.message:
b+"");a.c="("+a.d+") "+a.a}}function CEb(a){var b;if(!a)return false;if(a.j==(f8b(),r6b))return true;b=a.e;if(a.j==J5b)return b.j==_6b||b.j==n5b;if(a.j==_6b)return b.j==_7b&&!a.b;if(a.j==x6b)return b.j==n6b;return false}function hHb(a){var b;switch(a.p.f){case 6:case 20:case 67:return false;case 49:case 43:case 42:case 46:case 55:case 45:b=tHb(a);if(b.p==(vYb(),UXb))return false;return true;default:return true}}function DZb(a){var b,c;if(a.a==null)return a.b.k=false,xZb(a,FAc,0);b=null;if(DD(a.a,
154))b=new ctc(a.a.a);else if(DD(a.a,276))b=a.a;else throw BU(uZb(a));c=new dlc;c.a+=""+b;return xZb(a,c,0)}function p$(a){var b;if(a.j==(f8b(),O6b)){b=a.b?a.b.f:null;return b.j==G5b?m$(a,2)==1&&p$(l$(a)):p$(b)}else switch(a.j.f){case 98:case 86:case 65:case 94:case 71:return true;default:return false}}function j8(a,b,c){var d,e,f;for(e=new kpc((Shb(),be(!!c&&(c.j==(f8b(),_7b)||c.j==T6b||c.j==T5b)||c.j==(f8b(),r7b)||c.j==(f8b(),N5b),c),f=new Poc,mib(c,f),f));e.a<e.c.a.length;){d=ipc(e);k8(a,b,d)}}
function OOb(a){var b,c,d;d=new Poc;Eoc(d,Hjc(0));for(c=0;c<a.length;c++){b=a.charCodeAt(c);if(POb(b)){c+1<a.length&&b==13&&a.charCodeAt(c+1)==10&&++c;Eoc(d,Hjc(c+1))}}Eoc(d,Hjc(wAc));return QOb(d)}function T1(a){!a.c&&(a.c=R1(a));if(a.e.a.length!=0||a.d.a.length!=0){a.c=new qvb(a.f.a,a.f.a,a2(a.c.Ig(),a.d),a2(a.c.Jg(),a.e),a.c.Gg());a.e.a=NC(kS,NAc,1,0,5,1);a.d.a=NC(kS,NAc,1,0,5,1)}return a.c}function xLb(a,b){var c;if(!fLb(a,b,(jMb(),aMb)))return false;for(c=0;c<(fe(b.j==(f8b(),J5b),THc,b),T2b(b)-
1);c++)if(!wLb(a,(fe(b.j==J5b,THc,b),S2b(b,c+1)))){KLb(a,aMb.d);return false}return true}function sRb(a,b){var c;c=VRb(a.j,0).c;if(Xtc(Ttc((MUb(),uTb),QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),c)||!a.b.b&&GOb(c)||jRb(a,mUb))return true;if(b!=2)return jRb(a,TTb)||jRb(a,RTb);return false}function _Bb(a){var b,c,d;if(a.b.d.d.isEmpty())return true;for(d=a.a.p.Md();d.Ed();){c=d.Fd();ve(bo(a.b,c),eHc,c,a.b.Xe());b=co(a.b,c);if(wAc!=b.$h()&&!xyb(b,bzb(a.a.t,c)))return false}return true}function Wwb(a,b,c){var d,
e;oe(!cxb(a,b));oe(!a.A);e=b.a.size()==1?a:axb(a,(ae(b.a.size()!=1),new WDb(b.a.Se(0,b.a.size()-1))));e.D.isEmpty()&&(e.D=new tvc);d=b.a.getAtIndex(b.a.size()-1);e.D.put(d,c)}function bIb(a,b){var c,d,e,f;RHb(a,b,(wNb(),TMb));f=oIb(a,b.b,false);c=SGb(a.a,(f8b(),f6b));b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();H2b(c,iHb(a.a,d))}return UGb(a.a,e6b,f,c)}function SRb(a){var b;b=(VRb(a,0),cwc(a.b));(!PRb(a,a.d)||b.c!=(MUb(),WSb))&&XRb(a,ORb(a,a.d),"Expected '}' after expression in template literal",
QC(LC(kS,1),NAc,1,5,[]));return TRb(a,(MUb(),xUb),wUb)}function fo(a){var b,c,d,e,f,g,h;b=(Av(),new tvc);for(d=a,e=0,f=d.length;e<f;++e){c=d[e];g=ie(c.ye());h=qvc(b,g,ie(c.ze()));if(h!=null)throw BU(new Geb("duplicate key: "+g));}this.d=(bqc(),new Zrc(b))}function Au(a,b,c){var d,e;this.f=a;d=Mlc(a.b,b);e=!d?0:d.a;me(c,e);if(c>=(e/2|0)){this.e=!d?null:d.c;this.d=e;while(c++<e)yu(this)}else{this.c=!d?null:d.b;while(c-- >0)xu(this)}this.b=b;this.a=null}function mD(a,b){var c,d,e,f;b&=63;c=a.h&MBc;if(b<
22){f=c>>>b;e=a.m>>b|c<<22-b;d=a.l>>b|a.m<<22-b}else if(b<44){f=0;e=c>>>b-22;d=a.m>>b-22|a.h<<44-b}else{f=0;e=0;d=c>>>b-44}return VC(d&LBc,e&LBc,f&MBc)}function L9(a){var b,c,d;d=J$b(QC(LC(WQ,1),uCc,7,0,[]));B3b(d,DD(a.k,21)?a.k:null);A3b(d,h1b(new x2b(false),true));c=1;for(b=a.b;b;b=b.d)b.j==(f8b(),K7b)&&H2b(d,N$b(S$b(b.hi()),new C4b(c++)));return d}function znb(a,b){switch(CMb(b)){case "ts":return ynb(a,(o3(),h3));case "es6":case pGc:return ynb(a,(o3(),f3));case "es5":return ynb(a,(o3(),d3));case CDc:return ynb(a,
(o3(),c3));default:return false}}function WHb(a,b){var c,d,e,f;f=SGb(a.a,(f8b(),D7b));for(d=b.b.Md();d.Ed();){c=d.Fd();H2b(f,iHb(a.a,c))}SHb(f);if(IHb(f)){e=SGb(a.a,Z6b);b4b(e.i)==-1&&gHb(e,b.o.b,b.o.a);K2b(e,q3b(f));H2b(f,e)}return f}function ZOb(a){var b;b=VRb(a.j,0).c;if(Xtc(Ttc((MUb(),uTb),QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),b)||!a.b.b&&GOb(b))return $Ob(a);else{ARb(a,VRb(a.j,0),yIc,QC(LC(kS,1),NAc,1,5,[uTb]));return null}}function IZb(a,b){var c,d;d=a.b.n;d=0==d?1:d;ZZb(a.b,d);c=njc(a.a);
if(c==0){--d;ZZb(a.b,d);BZb(a,b);return}c=$wnd.Math.abs(c);if(!isNaN(c)&&!isFinite(c)){d=a.b.n;--d;ZZb(a.b,d);AZb(a,b);return}BZb(a,b)}function Jt(a,b){var c;b.d?b.d.b=b.b:a.a=b.b;b.b?b.b.d=b.d:a.e=b.d;if(!b.e&&!b.c){c=Rlc(a.b,b.a);c.a=0;++a.c}else{c=Mlc(a.b,b.a);--c.a;!b.e?c.b=b.c:b.e.c=b.c;!b.c?c.c=b.e:b.c.e=b.e}--a.d}function Oab(a,b){var c,d,e,f;d=Nlc(a.a.g,b);if(!d){c=wkc(b,Nkc(46));if(c>=0){f=b.substr(0,c);e=Oab(a,f);d=Yab(e,b.substr(c+1,b.length-(c+1)))}else{d=new abb(b,null);Eoc(a.a.f,d)}Qlc(a.a.g,
b,d)}return d}function Yhb(a){var b;fe(a.j==(f8b(),f7b),"Expected NEW node, got %s",a.j);if((W2b(a,42)&15)==15)return false;if((W2b(a,42)&15&11)==11&&Thb(a))return false;b=a.b;return b.j!=_6b||!Lhb.contains(b.hi())}function kCb(a,b){LBb();var c;if(!a||!b)return null;if(bCb(a,b))return b;if(xEb(a.a,b.a))return c=b.a.r,$Bb(c,b.a.t.i);if(bCb(b,a))return a;if(xEb(b.a,a.a))return c=a.a.r,$Bb(c,a.a.t.i);return null}function zeb(a,b,c){var d,e,f,g,h,i;g=b.b;h=c.b;for(d=(g<h?g:h)-1;d>=0;d--){i=Hoc(a.c,d);
for(e=i.size()-1;e>=0;e--){f=i.getAtIndex(e);if(Ceb(a,b).contains(f)&&Ceb(a,c).contains(f))return f}}return null}function EIb(a,b){var c,d,e,f;OHb(a,b,(wNb(),sNb));f=SGb(a.a,(f8b(),Q7b));b4b(f.i)==-1&&gHb(f,b.o.b,b.o.a);e=!b.b?f:UGb(a.a,P7b,iHb(a.a,b.b),f);for(d=b.a.Md();d.Ed();){c=d.Fd();H2b(f,iHb(a.a,c))}return e}function ecc(a,b,c){!a.a&&(a.a=new Euc);if(Jlc(a.a,b)&&Jlc(Mlc(a.a,b),c))return Mlc(Mlc(a.a,b),c);else if(Jlc(a.a,c)&&Jlc(Mlc(a.a,c),b))return Mlc(Mlc(a.a,c),b);else{fcc(a,b,c,(ncc(),mcc));
return null}}function _d(a,b,c){if(a<0||a>c)return $d(a,c,"start index");if(b<0||b>c)return $d(b,c,"end index");return ye("end index (%s) must not be less than start index (%s)",QC(LC(kS,1),NAc,1,5,[Hjc(b),Hjc(a)]))}function kdb(a,b,c,d,e){var f,g,h;f=(Shb(),g=dib(d),!g?null:Y2b(g,29));h=kEb(b,c);if(!!mEb(b,c)&&!!h&&!zdb(f,e,h)){mhb(a.c.t,leb(d,(ecb(),Zbb),QC(LC(pS,1),yAc,2,6,[c,"type "+b])));return true}return false}function Muc(a,b,c){var d,e,f,g;g=b==null?0:a.b.zj(b);e=(d=a.a.get(g),d==null?[]:
d);if(e.length==0)a.a.set(g,e);else{f=Juc(a,b,e);if(f)return f.Ae(c)}e[e.length]=new inc(b,c);++a.c;atc(a.b);return null}function R9b(a,b){var c;c=a.dj(b);if(!c){if(a.Bi()||a.xi())return w8b(a,(tdc(),wcc));else if(a.Ci()||a.Ai()||a.Bi()||Ldc(a.u,(tdc(),Icc))==a)return w8b(a,(tdc(),Lcc));return w8b(a,(tdc(),pdc))}return c.e}function WZ(a,b,c,d){var e;if(d==3&&b.j==(f8b(),H6b)||(Shb(),njb(b.j)&&(e=b.e,!!e&&e.j==(f8b(),j6b)&&e.b==b)||b.j==(f8b(),m7b)&&W2b(b.e,60)!=0||Cjb(b.j)<c)){pZ(a.c,"(");a.Bg(b,
4);pZ(a.c,")")}else a.Bg(b,d)}function g7(a,b,c,d){var e,f;f=(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b((f8b(),_6b),d));A3b(f,Y2b(c,29));t3b(c.e,c,f);e=o$b(c,(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b(_6b,d)),_7b);F2b(a.b?a.b.f:null,e,b);return e}function Glb(a){var b,c,d,e,f;d=new Poc;for(f=rs(new urc((ulb(),slb).a.b.Md()));f.Ed();){e=f.Fd();for(c=new kpc(a.b);c.a<c.c.a.length;){b=ipc(c);if(qkc(b.b,e)){d.a[d.a.length]=b;break}}}ed(a.b,d);Goc(a.b,d)}function fhc(a,b){var c,d,e;if(!b.Ji()&&!b.Si())for(e=0;e<
a.b.size();e++){c=a.b.getAtIndex(e);if(!c.Ji()&&b.Hi(c))return a}return d=u8b(a,b,0,new gcc(true)),d?a:H8b(Hdc(a.u,QC(LC(oR,1),NAc,21,0,[a,b])))}function Rjc(a,b){var c,d,e,f,g;g=1<<b;if(DU(DBc,a)<=0&&DU(a,wAc)<=0)return Gjc(RU(a),g);e=g-1;d=(64/b|0)+1;c=NC(MD,zAc,46,d,15,1);f=d;do{c[--f]=Cic(RU(a)&e);a=NU(a,b)}while(DU(a,0)!=0);return Skc(c,f,d-f)}function Zd(a,b){if(a<0)return ye(PAc,QC(LC(kS,1),NAc,1,5,[QAc,Hjc(a)]));else if(b<0)throw BU(new Geb(RAc+b));else return ye("%s (%s) must be less than size (%s)",
QC(LC(kS,1),NAc,1,5,[QAc,Hjc(a),Hjc(b)]))}function Vcb(a,b){var c,d;d=ncb(a.b,b,a.a);if(!bgb(a.a,FFc,false)){Kfb(a.a,FFc,d,false,true);return}c=!d?null:d.$h()==2&&d._h().size()==1?js(d._h().Md()).d:null;!!c&&qkc(c.a.w,DFc)&&Kfb(a.a,FFc,d,false,true)}function mQb(a){var b,c,d,e,f;f=VRb(a.j,0).b.b;YOb(a,(MUb(),TTb));d=$Ob(a);YOb(a,ZSb);c=_Qb(a);YOb(a,YSb);YOb(a,ZSb);b=YQb(a);e=new wWb(new fZb(f,a.g),d,false,false,null,c);return new qWb(new fZb(f,a.g),e,b)}function Dbc(a,b){t8b();nbc.call(this,a,b,new y9b(a,
Ddc(a,QC(LC(oR,1),NAc,21,0,[Ldc(a,(tdc(),qcc)),Ldc(a,qcc),Ldc(a,qcc)])),null),null,null,true,true);this.a.b=(te(this.e==1||this.e==2,bJc,this),D8b(this.j))}function Od(a,b,c){var d,e;ie(b);if(c.Ed()){e=c.Fd();Xkc(b,Zc(a.a,e.ye()));Xkc(b,a.b);Xkc(b,Zc(a.a,e.ze()));while(c.Ed()){Xkc(b,a.a.c);d=c.Fd();Xkc(b,Zc(a.a,d.ye()));Xkc(b,a.b);Xkc(b,Zc(a.a,d.ze()))}}return b}function F0(a,b,c){var d,e;d=new yqb(b);if(Jlc(a.t,d.a))throw BU(new Geb("Conflicting externs name: "+b));e=new Z1(d,true);N0(a,e.f,e);if(c==
0){I2b(a.n,d.b);Doc(a.j,0,e)}else{H2b(a.n,d.b);Eoc(a.j,e)}return e}function qhb(a,b){var c,d,e,f,g;f=!b?a.n:(d=Y2b(b,51),!d?null:d.Hg());if(f==null)return"[source unknown]\n";e=b4b(b.i);c=a4b(b.i);g=r0(a.c,f,e);g==null&&(g="[source unknown]");return f+":"+e+":"+c+BBc+g+BBc}function Xtb(a,b){var c,d;c=(te(tkc(b,Nkc(46))==-1,tCc,b),new U4b((f8b(),_6b),b));g0(a)._f(b)&&(d=s3b(c,c.g,43),d!=c.g&&(c.g=d),c.g=new x4b(43,1,c.g));H2b(S1((!a.R&&(a.R=F0(a,sDc,0)),a.R),a),p$b(c,_7b));R0(a)}function Z3b(a,b,c,
d){ae(!b.e);ae(!b.d);ae(!b.f);ae(!c.e);ae(!c.d);ae(!c.f);ae(!d.e);ae(!d.d);ae(!d.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=d;b.e=this;c.d=d;c.f=b;c.e=this;d.d=null;d.f=c;d.e=this;this.i=-1}function ofc(a,b){var c,d,e,f,g;g=a.b.pe(b);if(g)return g;f=mfc(a);if(f){g=ofc(f,b);if(g)return g}for(d=rs(new urc(nfc(a).a.b.Md()));d.Ed();){c=d.Fd();e=c.aj();if(e){g=ofc(e,b);if(g)return g}}return null}function jhc(a,b,c,d){var e,f;if(b.Ji()||khc(a))return true;if(b.wi())return true;for(f=0;f<a.b.size();f++){e=
a.b.getAtIndex(f);if(d==1&&(e.Ei()||e.Ki()))continue;if(!e.Ii(b,c,d))return false}return true}function EW(a,b,c){var d,e;yW((f8b(),n7b),c);for(d=c.b;d;d=d.d)d==(c.b?c.b.f:null)&&$ib(c.e)?dW(a,d):d.j==K7b?(yW(K7b,d),DW(d),e=T2b(d),(e<0||e>1)&&$W(eCc+e,d),!!d.b&&!d.b.d&&nW(a,b,d.b),undefined):nW(a,b,d)}function oZ(a,b){nZ();var c,d;pe(b.j==(f8b(),D7b),b);d=Y2b(b,48);if(!!d&&d.contains(GCc))yhb(a,b,lZ,QC(LC(pS,1),yAc,2,6,[]));else if(!d)o3b(b,48,mZ);else{c=Uq(new Xq,GCc);Wq(c,d);o3b(b,48,zo(new kpc(c.a)))}}
function rJb(a){var b,c;a.i=(dKb(),bKb);UJb(a);c=!a.o?IKb(a.j):eJb(a);if(a.e.c){b=hJb(a,c,a.f?0:1,false,false);c=b.b;b.a.length==0||q1b(a.e,b.a)}else c!=(BKb(),gKb)&&c!=lKb&&q1b(a.e,"");return AJb(a,c,new Poc)}function C$(a,b,c,d){var e,f;f=a.b;e=a.a;if(d)return f==b&&e>=c?new lA(f+1,e-c):a;else if(f==b)return new lA(f-1,e+c);else if(f>b)throw BU(new sjc("Cannot undo line cut on a previous line."));else return a}function Pfb(a,b,c){var d,e;if(b.j==(f8b(),_6b)){oe(!a.n.containsKey(b.hi()));a.n.put(b.hi(),
c)}else{oe(!agb(a,b));e=YDb(b);d=Xfb(a,e.a.getAtIndex(0));Wwb(d,(ae(e.a.size()!=1),new WDb(e.a.Se(1,e.a.size()))),c)}}function tkb(a,b){var c,d,e,f,g;if(b.b.j==(f8b(),_6b)){e=b.b;J3b(b,qib(b));f=b.e;d=new U3b(d6b);t3b(f,b,d);c=Q3b(f$b(Q3b(e.fi(false),e),b),b);A3b(c,Y2b(b,29));g=s3b(b,b.g,29);g!=b.g&&(b.g=g);t3b(f,d,c);R0(a.b)}}function Oub(a){var b,c,d,e;b=(Mm(),new iq);for(e=rs(a.Te().Md());e.Ed();){d=e.Fd();gq(b,(lvb(),c=Akc(Akc(Akc(Akc(Akc(zkc(zkc(d,58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",
IEc),">",JEc),mvb(c)))}return Um(b.a)}function GJb(a,b){var c,d;d=oJb(a,(f8b(),R6b));c=yJb(a,b);if(!c)return aJb(a,LHc,a.j.g,HKb(a.j)),null;UJb(a);if(!mJb(a,(BKb(),wKb)))return aJb(a,IHc,a.j.g,HKb(a.j)),null;!a.o?IKb(a.j):eJb(a);H2b(d,c);return d}function Hpc(a,b,c,d,e,f){var g,h,i,j;g=d-c;if(g<7){Epc(b,c,d,f);return}i=c+e;h=d+e;j=i+(h-i>>1);Hpc(b,a,i,j,-e,f);Hpc(b,a,j,h,-e,f);if(f.Ie(a[j-1],a[j])<=0){while(c<d)b[c++]=a[i++];return}Fpc(a,i,j,h,b,c,d,f)}function nAc(a){var b,c,d,e;b=0;d=a.length;e=
d-4;c=0;while(c<e){b=a.charCodeAt(c+3)+31*(a.charCodeAt(c+2)+31*(a.charCodeAt(c+1)+31*(a.charCodeAt(c)+31*b)));b=b|0;c+=4}while(c<d)b=b*31+lkc(a,c++);b=b|0;return b}function uW(a,b,c){var d,e;a.a.v==(o3(),h3)||$W("Feature 'namespace' is only allowed in ES6 Typed mode.",b);yW((f8b(),b7b),b);e=h8b(b.j);e!=-1&&(d=T2b(b),e!=d&&$W(YBc+e+ZBc+d,b));wW(a,b.b);vW(a,b.b?b.b.f:null,c)}function $Cb(a,b){var c,d,e,f;e=(BBb(),BBb(),ABb);for(d=new Tvc(new Kvc(b));d.b!=d.c.a.b;){c=Rvc(d);f=c.e;if(0==f.b.$h())return a.M;
e=DBb(e,c.d,f)}return new TCb(a,!a.O?null:a.O.r,e,null,null,false,(xCb(),vCb))}function AGb(a){yGb();var b,c,d,e;for(c=QC(LC(PN,1),SAc,140,0,[sGb,tGb,uGb,vGb,wGb,xGb]),d=0,e=c.length;d<e;++d){b=c[d];if(AMb(b.a,a.a))return b}throw BU(new sjc("No input language mode supports feature: "+a));}function ZRb(a,b){aLb(a.c,ORb(a,a.b.b==0?a.d:VRb(a,0).b.b.c),"In some cases, '\x3c!--' and '--\x3e' are treated as a '//' for legacy reasons. Removing this from your code is safe for all browsers currently in use.",
b)}function $d(a,b,c){if(a<0)return ye(PAc,QC(LC(kS,1),NAc,1,5,[c,Hjc(a)]));else if(b<0)throw BU(new Geb(RAc+b));else return ye("%s (%s) must not be greater than size (%s)",QC(LC(kS,1),NAc,1,5,[c,Hjc(a),Hjc(b)]))}function _wb(a,b){var c,d;if(a.B.containsKey(b)){d=a.B.pe(b);oe(!!d.A);return new IDb(d.u,d.A,d.A,(TDb(),SDb))}if(Yg(a.C,b,false))return hh(Yg(a.C,b,false));if(DD(a,290)){c=a.a;if(c)return VBb(c,b)}return null}function G2b(a,b,c){var d;be(!!c&&c.e==a,"The existing child node of the parent should not be null.");
be(!b.d,QIc);be(!b.f,RIc);be(!b.e,SIc);if(a.b==c){d=a.b.f;b.e=a;b.d=a.b;b.f=d;a.b.f=b;a.b=b}else F2b(a,b,c.f)}function $2b(a,b){var c,d,e,f;f=(a.b?a.b.f:null).hi();b+=1+f.length;d=a.b;if(d.j==(f8b(),x6b)){c=$2b(d,b);if(!c)return null}else{e=Z2b(d);if(e==null)return null;c=new elc;c.a+=""+e}_kc((c.a+=".",c),f);return c}function Lpc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+b)}return!f.a?f.c:f.e.length==
0?f.a.a:f.a.a+(""+f.e)}function Npc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Opc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Ppc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[",
"]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Rpc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function Spc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,
""+b)}return!f.a?f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function ndb(a,b,c){var d,e,f;ae(b.j==(f8b(),r6b));if(c.j==n5b&&c.b.j==w6b){f=c.b.b;if(f.j==x6b&&qkc((f.b?f.b.f:null).hi(),CCc)){e=YDb(f.b);if(e)return d=Sfb(a.a,e,false),!d?null:DD(d.c,80)?d.c:null}}return null}function peb(a){var b,c,d,e,f,g;b=gqc((Av(),new Euc));ad(b,a.a);g=new moc(a.a);while(g.b!=g.c){e=goc(g);f=e.a;for(d=0;d<f.a.length;d++){c=(Xzc(d,f.a.length),f.a[d]);Plc(b.a,c,(tic(),sic))==null&&Unc(g,c)}}return b}function Nib(a){Shb();
var b,c;if(a.j==(f8b(),_7b)||a.j==_6b&&a.e.j==_7b||a.j==x6b&&a.e.j==n5b&&(!a.e?null:a.e.e).j==n6b||a.j==n5b&&a.e.j==n6b){b=(c=dib(a),!c?null:Y2b(c,29));return!!b&&(b.a&fFc)==sFc}return false}function jHb(a,b){var c,d,e;c=iHb(a,b);if(c.j!=(f8b(),G5b)){if(c.j==d6b)J3b(c,G5b);else{d=TGb(a,G5b,c);D3b(d,b4b(c.i));w3b(d,a4b(c.i));C3b(d,c.c);c=d}e=s3b(c,c.g,39);e!=c.g&&(c.g=e);c.g=new x4b(39,1,c.g)}return c}function bbb(a){var b;if(a.a){b=a.a.e;if(!b)return null;switch(b.j.f){case 65:case 47:case 94:return Y2b(b,
29);case 75:case 98:case 86:return a.a==b.b?Y2b(b,29):Y2b(a.a,29);case 43:return Y2b(a.a,29)}}return null}function oib(a){Shb();var b,c,d;if(a.j!=(f8b(),r6b))return null;b=(c=nib(a),!c?null:Z2b(c));if(b!=null)return b;d=a.e;switch(d.j.f){case 96:case 85:case 84:case 89:return d.hi();case 30:return xib(d)}return null}function _pb(a,b,c,d){var e,f,g,h;f=c.b;if(!f||f.j!=(f8b(),x6b))return false;if(!!d&&d.j==(f8b(),_6b)){g=d.e;if(!!g&&g.j==(f8b(),_7b))return false}e=f.b;return fqb(a,e)||fqb(a,f)||(h=
Z2b(f),hqb(a,h))||Ypb(a,b,c)}function oIb(a,b,c){var d,e,f;if(c)e=XGb(a.a,(f8b(),J7b),b.a);else{d=LGb(a.a,b);QHb(a,b);e=XGb(a.a,(f8b(),_6b),b.a);!!d&&(f=s3b(e,e.g,29),f!=e.g&&(e.g=f),!!d&&(e.g=new H4b(29,d,e.g)),e)}gHb(e,b.b.b,b.b.a);return e}function jzc(a){var b,c,d;b=window.console?new Gzc:null;if(!b)return;Cyc();if(DBc>a.a.xj())return;c=(d=a.a.xj(),d>=1E3?"error":d>=900?"warn":d>=800?"info":"log");Ezc(c,a.b);!!a.c&&Fzc(b,c,a.c,"Exception: ",true)}function k8(a,b,c){var d,e,f;te(c.j==(f8b(),_6b)||
c.j==K7b,"Invalid node for declareVar: %s",c);e=c.hi();f=b.yh(e);if(!!f&&f.Oh()==c)return;d=l0(a.a,a.b);!!f||t8(b,e)||b.Gh()&&qkc(e,kEc)?a.c.sh(b,e,c,d):b.uh(e,c,d)}function rdb(a,b){var c,d;oe(b.j==(f8b(),p7b)||b.j==h5b);c=udb(a,b.b);if(!c)return null;d=udb(a,b.b.d);if(!d)return null;if(xyb(c,d))return c;if(b.j==h5b)return gzb(Qyb(c,a.c.d.f),d);return gzb(Qyb(c,a.c.d.A),d)}function oHb(a,b){var c,d;if(b.j==(f8b(),O6b)){c=b.b;for(d=b.e;!!d&&d.j!=r6b;d=d.e)if(d.j==O6b&&qkc(d.b.hi(),c.hi())){a.d.ih(LZb('Duplicate label "%s"',
QC(LC(kS,1),NAc,1,5,[c.hi()])),a.r,b4b(b.i),a4b(b.i));break}}}function S8(a,b,c){var d,e;if(!m3b(c,nFc,nFc.length))return;if(L8(b,c.b)){e0(a.a,VEc,false);e=(Shb(),gib(c,Rhb));d=q$b(j$b(yjb(a.a,"$jscomp.initSymbolIterator"),QC(LC(WQ,1),uCc,7,0,[])));G2b(e.e,R3b(d,e),e);R0(a.a)}}function Ehb(a,b,c,d){var e,f;ie(c);!a.f&&zhb(a,kib(b),(f=(e=Y2b(b,51),!e?null:e.Hg()),f==null?"":f));if(!!d&&rhb(a)!=d){a.e=b;oe(!!a.e);Unc(a.k,d);xhb(a,d.f);!!a.g&&a.g.kh(a);Chb(a,b,c);vhb(a,false)}else Chb(a,b,c)}function Uib(a){Shb();
var b;switch(a.j.f){case 31:case 30:case 32:case 35:case 34:return true;case 90:case 19:case 78:case 22:return Uib(a.b);case 29:b=a.hi();return qkc(EEc,b)||qkc(dGc,b)||qkc("NaN",b)}return false}function xnb(a,b){var c,d,e,f,g,h;h=new Inb(a);Ihb(a.a,b,h);if(h.a.a.size()!=0){d=null;for(f=(g=(new Kmc(h.a.a)).a.oe().Md(),new Qmc(g));f.a.Ed();){e=(c=f.a.Fd(),c.ye());d=e0(a.a,e,false)}!!d&&Anb(a,d.e,d.d);R0(a.a)}}function MJb(a,b){var c,d,e;d=JJb(a,b);if(!d)return null;e=(c=new U3b((f8b(),G5b)),c);H2b(e,
d);while(mJb(a,(BKb(),jKb))){!a.o?IKb(a.j):eJb(a);UJb(a);d=JJb(a,!a.o?IKb(a.j):eJb(a));if(!d)return null;H2b(e,d)}return e}function $Qb(a,b,c){var d,e;YOb(a,(MUb(),QTb));++a.j.f;e=(Mm(),new iq);d=YQb(a);Eoc(e.a,ie(d));while(jRb(a,$Sb)){YOb(a,$Sb);d=YQb(a);!!d&&(Eoc(e.a,ie(d)),e)}YOb(a,VSb);--a.j.f;return new GWb(new fZb(b,a.g),c,Um(e.a))}function Qpc(a){var b,c,d,e,f;if(a==null)return FAc;f=new Mwc("[","]");for(c=a,d=0,e=c.length;d<e;++d){b=c[d];!f.a?f.a=new glc(f.d):_kc(f.a,f.b);Ykc(f.a,""+SU(b))}return!f.a?
f.c:f.e.length==0?f.a.a:f.a.a+(""+f.e)}function h1(a){var b,c,d,e,f,g,h;f=new Poc;d=new luc;for(h=new kpc(a);h.a<h.c.a.length;){g=ipc(h);for(c=new kpc(g.c);c.a<c.c.a.length;){b=ipc(c);e=b.f.a;f.a[f.a.length]=b;e==null?Muc(d.d,null,g):avc(d.e,e,g)}}return f}function xQb(a,b){var c,d,e,f,g;e=VRb(a.j,0).b.b;!aPb(a,(MUb(),ITb))&&YOb(a,JTb);d=(f=VRb(a.j,0).b.b,g=ZOb(a),new zWb(new fZb(f,a.g),VOb(a,g)));YOb(a,RTb);c=b?qPb(a):yQb(a);YOb(a,WSb);return new yWb(new fZb(e,a.g),d,c)}function E5(a,b,c,d){var e,
f,g;ie(b);ie(c);e=Sc(new Wc(String.fromCharCode(46)),b,CCc,QC(LC(kS,1),NAc,1,5,[c,mEc]));g=yjb(a.a,e);f=j$b(g,QC(LC(WQ,1),uCc,7,0,[new U3b((f8b(),S7b))]));!!d&&J2b(f,d,f.b?f.b.f:null);return f}function PBb(a,b){var c,d,e,f;f=a.a;if(f==b.a)return a;if(b.a.g!=0)for(d=(!f.d?(lm(),lx(),kx):f.d).Md();d.Ed();){c=d.Fd();e=PBb($Bb(c,a.b),b);if(e)return e}if(a.a.g==0&&!!f.o)return PBb($Bb(f.o,a.b),b);return null}function jEb(a){var b,c,d;if(!a.f)return null;if(a.g==0){oe(qkc(a.w,AEc));return iEb(a)}if(!a.a){b=
(lm(),new Xq);if(a.d)for(d=a.d.Md();d.Ed();){c=d.Fd();Wq(b,jEb(c.a))}a.a=zo(new kpc(Wq(b,new Kmc(a.j)).a))}return a.a}function HJb(a){UJb(a);if(!mJb(a,(BKb(),iKb)))return oJb(a,(f8b(),d6b));!a.o?IKb(a.j):eJb(a);UJb(a);if(mJb(a,AKb)&&qkc(aDc,a.j.n)){!a.o?IKb(a.j):eJb(a);return oJb(a,(f8b(),a8b))}else return KJb(a,!a.o?IKb(a.j):eJb(a))}function JKb(a){var b,c,d;for(;;){b=FKb(a);switch(b){case 42:if((d=FKb(a),a.q[a.r++]=d,--a.b,d)!=47){EKb(a,b);break}case -1:case 10:a.q[a.r++]=b;--a.b;a.n=(c=Skc(a.o,
0,a.p),Yzc(c),c);a.p=0;return a.n;default:EKb(a,b)}}}function zNb(){wNb();return QC(LC(dO,1),SAc,43,0,[UMb,$Mb,cNb,oNb,qNb,tNb,JMb,LMb,jNb,NMb,OMb,WMb,XMb,YMb,dNb,eNb,mNb,nNb,pNb,rNb,sNb,QMb,SMb,iNb,lNb,RMb,gNb,VMb,KMb,IMb,MMb,PMb,TMb,ZMb,_Mb,aNb,bNb,fNb,hNb,kNb,uNb,vNb])}function qPb(a){var b;b=(Mm(),new iq);while(iRb(a,0,(MUb(),HUb))||iRb(a,0,ETb)||iRb(a,0,_Sb)||iRb(a,0,sTb)||iRb(a,0,USb)||iRb(a,0,ATb)||iRb(a,0,iTb)||iRb(a,0,ITb)||iRb(a,0,JTb)||iRb(a,0,nTb))gq(b,pPb(a));return Um(b.a)}function tlc(){tlc=
aV;slc=new ulc("UP",0);mlc=new ulc("DOWN",1);llc=new ulc("CEILING",2);nlc=new ulc("FLOOR",3);qlc=new ulc("HALF_UP",4);olc=new ulc("HALF_DOWN",5);plc=new ulc("HALF_EVEN",6);rlc=new ulc("UNNECESSARY",7)}function sr(a,b){lr();var c,d,e,f;d=ie(b.ye());f=ie(b.ze());c=d;if(Pwc(a,c)){e=(new Enc(new Cxc(a,(Pxc(),Oxc),d))).b.Cj().Fd();throw BU(new Geb("Duplicate keys in mappings "+e.ye()+"="+e.ze()+" and "+d+"="+f));}Vwc(a,d,f)}function O5(a,b){var c,d,e,f;if(a.j!=(f8b(),n6b))return null;c=a.b;if(c.j!=J5b)return null;
e=c.b;if(!m3b(e,jDc,jDc.length))return null;d=ie(e.d);if(b!=null&&m3b(d,b,b.length)){f=ie(d.d);return Z2b(f)}else return null}function fib(a){switch(a.j.f){case 66:case 70:return a.b;case 71:return a.b?a.b.f:null;case 72:return a.j==(f8b(),p6b)&&T2b(a)==3?null:a.b.d;case 99:case 68:return null}throw BU(new Geb(a+" does not have a condition."));}function E$b(a){switch(a.j.f){case 79:case 65:return true;case 80:case 73:case 86:case 74:case 87:case 71:case 82:case 72:case 66:case 81:case 67:case 39:case 44:case 75:case 70:case 76:return true;
default:return false}}function vg(a,b){var c,d;c=a.c.remove(b);if(!c)return a.je();d=a.he();d.addAll(c);a.d-=c.size();c.clear();return DD(d,203)?vx(d):DD(d,121)?(bqc(),new Rsc(d)):DD(d,31)?(bqc(),new qsc(d)):DD(d,48)?jqc(d):(bqc(),new drc(d))}function J7(a,b){var c,d,e,f,g;c=s7++;f=q$b(f$b(O2b(a,false),new C4b(c)));g=q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b((f8b(),_6b),TEc)),new C4b(b)));e=M7(c);d=i$b(QC(LC(WQ,1),uCc,7,0,[f,g,L7()]));H2b(d,e);return d}function Eib(a){var b;if(!(a.j==(f8b(),
r6b)&&Jib(a.e)))return false;b=a.e;while(b)switch(b.j.f){case 80:return b.e.j!=r6b;case 65:case 83:case 153:case 106:case 109:return false;default:oe(b.j==O6b);b=b.e}return false}function Dxb(a,b){var c;ae(!(a==a.a.v||a==a.a.g));c=a.i.size();if(b<c){oe(null!=a.i.getAtIndex(b));return a.i.getAtIndex(b)}else if(b<c+a.e.size()){oe(null!=a.e.getAtIndex(b-c));return a.e.getAtIndex(b-c)}else return a.j}function iAb(a){var b,c;if(!a||a.j!=(f8b(),s7b))return false;for(c=(!a.b?(bqc(),bqc(),aqc):new O4b(a.b)).Md();c.Ed();){b=
c.Fd();if(b.j==(f8b(),a8b)||b.j==J7b&&(qkc(b.hi(),aDc)||qkc(b.hi(),EEc)))return true}return false}function tHb(a){while(true)switch(a.p.f){case 6:a=a.a;continue;case 49:a=a.b;continue;case 42:a=a.a;continue;case 43:a=a.a;continue;case 46:a=a.b;continue;case 55:a=a.b;continue;case 45:a=a.a;continue;default:return a}}function CJb(a){var b,c,d,e,f;UJb(a);e=!a.o?IKb(a.j):eJb(a);c=a.j.g;d=HKb(a.j);f=EJb(a,e);RJb(a,c,d,f,e==(BKb(),qKb));b=!f?null:new B2b(f,!a.g?null:a.g.Hg());if(b){o2b(a.e,b);a.e.a.e=true;
return h1b(a.e,false)}return null}function js(a){Zr();var b,c,d;b=a.Fd();if(!a.Ed())return b;d=$kc(_kc(new dlc,"expected one element but was: <"),b);for(c=0;c<4&&a.Ed();c++)$kc((d.a+=LAc,d),a.Fd());a.Ed()&&(d.a+=", ...",d);d.a+=">";throw BU(new Geb(d.a));}function ukb(a,b){var c,d,e;ae(b.j==(f8b(),O6b));e=b.b?b.b.f:null;switch(e.j.f){case 81:case 80:case 72:case 70:case 71:return;default:d=(c=new U3b(G5b),c);S3b(d,e);t3b(b,e,d);I2b(d,e);vkb(a,"LABEL normalization");return}}function cHb(a,b){var c,
d,e;e=h1b(a.f,false);!!e&&(d=s3b(b,b.g,29),d!=b.g&&(b.g=d),!!e&&(b.g=new H4b(29,e,b.g)),b);if(a.g){if(!!Y2b(b,29)&&B_b(Y2b(b,29))!=null){c=y2b(a.g);S1b(c,B_b(Y2b(b,29)));a.g=h1b(c,false)}A3b(b,a.g)}}function XHb(a,b){var c,d,e,f;f=null;c=null;e=null;while(b){e=c;c=TGb(a.a,zHb(b.b.c),iHb(a.a,b.c));b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);!!e&&I2b(e,c);if(DD(b.a,105))b=b.a;else{d=iHb(a.a,b.a);I2b(c,d);b=null}!f&&(f=c)}return f}function xJb(a,b){var c,d,e;c=wJb(a,b);if(!c)return null;UJb(a);if(!mJb(a,(BKb(),
iKb)))return c;!a.o?IKb(a.j):eJb(a);UJb(a);e=KJb(a,!a.o?IKb(a.j):eJb(a));if(!e)return null;d=oJb(a,(f8b(),Q5b));H2b(d,c);H2b(d,e);return d}function bPb(a){var b;if(iRb(a,0,(MUb(),jUb))&&VRb(a.j,0).b.b.b==a.g.b){YOb(a,jUb);return}b=VRb(a.j,0).b.b.b>a.g.b;if(b||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb))return;CRb(a,"Semi-colon expected",QC(LC(kS,1),NAc,1,5,[]))}function kQb(a){var b,c,d;d=VRb(a.j,0).b.b;c=$Ob(a);b=null;if(iRb(a,0,(MUb(),uTb))&&qkc(VRb(a.j,0).a,"as")){cPb(a,"as");b=ZOb(a)}else FOb(c.a)&&
ARb(a,null,yIc,QC(LC(kS,1),NAc,1,5,["as"]));return new pWb(new fZb(d,a.g),c,b)}function ug(a,b,c){var d;d=a.c.pe(b);if(!d){d=a.ie(b);if(d.add(c)){++a.d;a.c.put(b,d);return true}else throw BU(new qic("New Collection violated the Collection spec"));}else if(d.add(c)){++a.d;return true}else return false}function CLb(a,b){var c;if(!fLb(a,b,(jMb(),gMb)))return false;if((fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)).j!=J7b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["name"]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);KLb(a,gMb.d);return false}return true}
function qt(a,b){var c,d,e,f;f=rBc*Ejc((b==null?0:rb(b))*sBc,15);c=f&a.b.length-1;e=null;for(d=a.b[c];d;e=d,d=d.a)if(d.d==f&&Xd(d.i,b)){!e?a.b[c]=d.a:e.a=d.a;kt(d.c,d.f);jt(d.b,d.e);--a.f;++a.e;return true}return false}function I0(a){var b,c,d,e,f;y0(a);f=false;if(a.H.$.b){for(c=a.s.Md();c.Ed();){b=c.Fd();for(e=T1(b).Ig().Md();e.Ed();){d=e.Fd();quc(a.o,d)}}a.s=Deb(!a.B?new Eeb(a.D):a.B,a.H.$,a.s);f=true}x0(a);f&&(g1(a.D),a.s=h1(a.D),A0(a))}function Uwb(a,b,c){var d,e;oe(!cxb(a,b));oe(!a.A);e=b.a.size()==
1?a:axb(a,(ae(b.a.size()!=1),new WDb(b.a.Se(0,b.a.size()-1))));e.B.isEmpty()&&(e.B=new tvc);d=b.a.getAtIndex(b.a.size()-1);oe(!e.B.containsKey(d));e.B.put(d,c)}function pyb(a){var b;if(a.i.a.length==0&&a.e.a.length==0&&!!a.j&&wAc==a.j.$h()&&!!a.k&&wAc==a.k.$h()&&!a.d&&!a.g&&a.n.isEmpty()&&Ulc(a.f.c)==0)return a.a.s;b=$xb(a.a,a.i,a.e,a.j,a.k,a.d,a.g,a.f,a.n,a.c,a.b);Bxb(b);return b}function pZ(a,b){var c;vZ(a);if(b.length==0)return;c=b.charCodeAt(0);(c==95||c==36||/[A-Z\d]/i.test(String.fromCharCode(c))||
c==92)&&IZ(a.tg())?a.hg(" "):c==47&&a.tg()==47?a.hg(" "):(c==34||c==39)&&IZ(a.tg())&&a.wg();a.hg(b)}function W3b(a,b){be(!b.e,"new child has existing parent");be(!b.d,"new child has existing next sibling");be(!b.f,"new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=null;b.f=this.b;b.e=this;this.i=-1}function a0(a,b,c,d){var e,f;oe(!a.u);try{z0(a,b,c,d);if(a.f.c>0)return o0(a);return O1(new C1(a))}finally{f=(a.H.nd!=(F3(),C3)&&!!a.U&&glb(a.U,nDc,true),new Fqb);_W(a.f);e=OU(HU(Hzc()),
f.a);a.H.nd!=C3&&!!a.U&&hlb(a.U,nDc,e)}}function bvb(a,b){var c,d;d=pDc.length;qkc(b.substr(b.length-d,d),pDc)||(b+=pDc);c=avb(a,b);!a.b.b.contains(c)&&!!a.b.a&&Q0(a.b.a,(YX(),new heb(null,null,-1,-1,(Jub(),Gub),null,QC(LC(pS,1),yAc,2,6,[b]))));return new dvb(a.b,c)}function Gcb(a,b,c){var d,e;e=null;if(!c||c.j!=(f8b(),_6b)||c.e.j==(f8b(),n5b)){e=GFc+n4(a.b.j);qvc(a.b.b,b,e)}else if(bgb(a.a,c.hi(),false)){d=c.hi();oe(d.indexOf(".")==-1);e=GFc+n4(a.b.j);qvc(a.b.b,b,e)}else e=c.hi();return e}function Jcb(a,
b){var c,d,e;if(!g3b(b))return false;d=YDb(b);oe(!ggb(a.a,d));c=Sfb(a.a,d,false);if(!(!c?null:c.a))return false;b.j==(f8b(),x6b)&&Icb(!b.e?null:b.e.e);b.j==_6b?e=Yfb(a.a,b.hi()).r:e=a.a;Jfb(e,b);return true}function nPb(a){var b;switch(VRb(a.j,0).c.f){case 14:b=oPb(a);bPb(a);break;case 29:b=IPb(a,false,true);break;case 31:b=RPb(a);break;case 110:case 111:b=xQb(a,true);break;default:case 25:case 38:case 30:b=rPb(a);bPb(a)}return b}function hRb(a,b){var c,d,e,f;f=VRb(a.j,0).b.b;YOb(a,(MUb(),LUb));d=
false;c=null;e=VRb(a.j,0).b.b.b>a.g.b;if(!(e||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb))){d=!!aPb(a,nUb);oRb(a)&&(c=xPb(a,b))}return new ZYb(new fZb(f,a.g),d,c)}function t3b(a,b,c){var d,e,f;be(!c.d,QIc);be(!c.f,RIc);be(!c.e,SIc);oe(b.e==a);S3b(c,b);c.e=a;e=b.d;f=b.f;d=a.b.f;if(b==f){a.b=c;a.b.f=c}else{b==a.b?a.b=c:f.d=c;b==d?a.b.f=c:e.f=c;c.f=f}c.d=e;b.d=null;b.f=null;b.e=null}function Cxc(a,b,c){this.c=a;switch(b.f){case 2:if(a.a.Ie(null,c)<0)throw BU(new Geb("subMap: null less than "+c));break;
case 1:a.a.Ie(null,null);break;case 3:a.a.Ie(c,c)}this.f=b;this.b=c;this.a=true;this.e=null;this.d=false}function n4(a){var b,c,d;do{c=a.d;b=a.b;if(c.length==0){d=b%a.a.length;c=String.fromCharCode(a.a[d].a);b=b/a.a.length|0}while(b>0){--b;d=b%a.c.length;c+=BD(a.c[d].a);b=b/a.c.length|0}++a.b}while(j8b(c)||a.f.contains(c));return c}function Upb(){Upb=aV;Tpb=new k5("JSC_STRIP_TYPE_INHERIT_ERROR",(YX(),VX),new Hlc("Non-strip type {0} cannot inherit from strip type {1}"));Spb=new k5("JSC_STRIP_ASSIGNMENT_ERROR",
VX,new Hlc("Unable to strip assignment to {0}"))}function xub(){xub=aV;rub=new yub("MAX",0,1);tub=new yub("MIN",1,100);uub=new yub("STRICT",2,100);pub=new yub(DGc,3,50);vub=new yub("SUPPRESS_BY_WHITELIST",4,40);wub=new yub("SUPPRESS_DOC",5,20);qub=new yub("FILTER_BY_PATH",6,1)}function mDb(a,b,c,d,e,f,g){ie(b);if(!c)c=(BBb(),BBb(),ABb);else if(WCb(c)||!(!d||d!=d.a.c))return a.M;!!d&&!Yg(c,CCc,false)&&(!e||!_wb(e,CCc))&&(c=DBb(c,CCc,new IDb(null,d.a.G,null,(TDb(),SDb))));return new TCb(a,b,c,d,e,f,
g)}function Wac(a,b,c,d){var e,f,g,h;for(h=b.r.b.keySet().Md();h.Ed();){g=h.Fd();if(!(a.Ci()||a.Ai()||a.Bi()||Jdc(a.u,(tdc(),Icc))==a||U9b(a)||!!a.dj(g)))return false;e=a.bj(g);f=R9b(b,g);if(!e.Ii(f,c,d))return false}return true}function H7(a,b,c){var d;d=y$b(Q$b((te(tkc(_Ec,Nkc(46))==-1,tCc,_Ec),new U4b((f8b(),_6b),_Ec)),(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc))),h$b(V$b((te(tkc(_Ec,Nkc(46))==-1,tCc,_Ec),new U4b(_6b,_Ec)))));F2b(c,d,b);R0(a.a)}function lDb(a){var b,c,d,e,f;d=a;for(c=new mmc((new emc(a.a)).a);c.b;){b=
lmc(c);f=b.ze().d;e=f.$h()==2&&f._h().size()==1?js(f._h().Md()):null;!!e&&!aCb(e.d)&&!e.c&&(d=DBb(d,b.ye(),new IDb(null,Vyb(f),null,(TDb(),SDb))))}return d}function SHb(a){var b,c,d,e;c=null;while(HHb(a.b)){b=r3b(a).b.hi();!c&&(c=new Xq);Eoc(c.a,ie(b))}if(c){e=zo(new kpc(c.a));e.size()==1&&e.contains(GCc)&&(e=(GGb(),FGb));d=s3b(a,a.g,48);d!=a.g&&(a.g=d);!!e&&(a.g=new H4b(48,e,a.g))}}function Cjc(a){var b,c,d;if(a<0)return 0;else if(a==0)return 32;else{d=-(a>>16);b=d>>16&16;c=16-b;a=a>>b;d=a-256;b=
d>>16&8;c+=b;a<<=b;d=a-4096;b=d>>16&4;c+=b;a<<=b;d=a-EFc;b=d>>16&2;c+=b;a<<=b;d=a>>14;b=d&~(d>>1);return c+2-b}}function XZ(a,b,c,d,e){var f,g;f=e==2;f&&pZ(a.c,"(");SZ(a,W2b(b,61)!=0?gDc:uAc);if(W2b(b,59)!=0){pZ(a.c,"*");c.hi().length==0||a.c.wg()}a.Bg(c,4);g=Y2b(c,81);!!g&&a.Bg(g,4);a.Bg(c.d,4);e$(a,b);a.Bg(d,4);a.c.pg(e==0);f&&pZ(a.c,")")}function vbb(){vbb=aV;tbb=new wbb("SET_FROM_GLOBAL",0);ubb=new wbb("SET_FROM_LOCAL",1);sbb=new wbb("PROTOTYPE_GET",2);obb=new wbb("ALIASING_GET",3);rbb=new wbb("DIRECT_GET",
4);pbb=new wbb("CALL_GET",5);qbb=new wbb("DELETE_PROP",6)}function oPb(a){var b,c,d,e;e=VRb(a.j,0).b.b;YOb(a,(BOb(),WNb).a);c=!!aPb(a,(MUb(),nUb));d=ZOb(a);return b=WVb(_Vb(VVb(YVb(XVb(ZVb(new bWb((gWb(),dWb)),d),c),gPb(a)),aQb(a,1)),fPb(a)),new HVb(new fZb(e,a.g))),SVb(b,new fZb(e,a.g))}function kPb(a,b){var c,d,e;e=VRb(a.j,0).b.b;d=xPb(a,b);if(jRb(a,(MUb(),$Sb))&&!iRb(a,1,mUb)){c=(Mm(),new iq);Eoc(c.a,ie(d));while(jRb(a,$Sb)&&!iRb(a,1,mUb)){YOb(a,$Sb);gq(c,xPb(a,b))}return new jVb(new fZb(e,a.g),
Um(c.a))}return d}function Zyc(a,b){var c,d,e,f,g,h,i;for(d=Ooc(a.a,NC(iU,mJc,266,a.a.a.length,0,1)),f=0,h=d.length;f<h;++f)jzc(b);i=a.e?a.d:null;while(i){for(c=Ooc(i.a,NC(iU,mJc,266,i.a.a.length,0,1)),e=0,g=c.length;e<g;++e)jzc(b);i=i.e?i.d:null}}function Hw(a,b){var c,d,e;if(b===a)return true;if(DD(b,383)){e=b;if(a.size()!=e.size()||a.oe().size()!=e.oe().size())return false;for(d=e.oe().Md();d.Ed();){c=d.Fd();if(a.ue(c.xe())!=c.we())return false}return true}return false}function KV(a,b){switch(b.j.f){case 75:case 98:case 86:tW(a,
b.j,b);break;case 65:fW(a,b,true);break;case 94:UV(a,b,true),sW(b.b);break;case 149:$V(a,b);break;case 157:uW(a,b,true);break;case 152:VW(a,b);break;case 106:aW(a,b,true)}}function T9b(a,b,c,d){var e,f;ae(!a.Si());ae(!b.Si());fe(b.Gi(),"isStructuralSubtype should be called with structural supertype. Found %s",b);e=hcc(c,a,b);if(e)return e.a;f=gac(a,b,c,d);icc(c,a,b,f?(ncc(),kcc):(ncc(),lcc));return f}function ud(a,b){var c,d,e,f,g;if(b===a)return true;if(!DD(b,48))return false;g=b;if(a.size()!=g.size())return false;
f=g.Md();for(d=a.Md();d.Ed();){c=d.Fd();e=f.Fd();if(!(JD(c)===JD(e)||c!=null&&nb(c,e)))return false}return true}function xcb(a){ecb();var b,c,d;b=Y2b(a,51);if(!(!!b&&b.Kh()))return false;c=(Shb(),d=dib(a),!d?null:Y2b(d,29));if(!c||(c.a&2)==0)return false;if(a.j==(f8b(),_6b))return a.e.j==_7b&&!a.b;if(a.j==x6b)return a.e.j==n6b;return false}function bCb(a,b){var c,d,e;e=a.a;if(e==b.a)return NBb(a,b);if(vEb(b.a))return true;if(b.a.g!=0)for(d=(!e.d?(lm(),lx(),kx):e.d).Md();d.Ed();){c=d.Fd();if(bCb($Bb(c,
a.b),b))return true}return a.a.g==0&&!!e.o&&bCb($Bb(e.o,a.b),b)}function XJb(a,b,c,d,e,f){var h;XIb();var g;this.j=a;this.g=d;g=e.d!=(pGb(),oGb);this.e=new x2b(g);if(b!=null){a2b(this.e,b);_1b(this.e,c)}this.a=e.a;this.k=e.f;this.f=e.d==nGb;this.b=f;this.n=(h=new U3b((f8b(),D7b)),I3b(h,this.g),h)}function TW(a,b){var c,d,e,f;q3(a.a.v)||$W(dCc,b);yW((f8b(),Q7b),b);if(!b.b)return;d=0;for(c=b.b;c;c=c.d,d++)d==0&&c.j!=J7b?dW(a,c):c.j==J7b?PW(c):(yW(R7b,c),e=h8b(c.j),e!=-1&&(f=T2b(c),e!=f&&$W(YBc+e+ZBc+
f,c)),dW(a,c.b),undefined)}function __(a){a.L=new Dlb(a,a.U,new Nlb(a.M));a.H._==(C2(),y2)&&Alb(a.L,a.O);a.H.q&&(a.L.o=true);vlb(a.L,(!a.K&&(a.K=new Ivb),new Poc));zlb(a.L,a.n,a.u);if(a.f.c>0)return;a.H.pd==(L3(),K3)&&$0(a,a.H.hd,a.H.fd,a.H.gd,a.H.ed);a.L=null}function cDb(a){var b,c,d,e;if((new emc(a.g.a)).a.size()!=1)return null;b=lmc(new mmc((new emc(a.g.a)).a));c=new XDb(b.ye());d=Eyb(b.ze().d);if(!d)return c;e=cDb(d);if(!e)return c;return new WDb(Um(hq(hq((Mm(),new iq),c.a),e.a).a))}function mIb(a,
b){var c,d,e,f,g;RHb(a,b,(wNb(),bNb));f=oIb(a,b.c,false);KHb(a,f,b.b);g=QIb(a,(f8b(),M6b),b.d);c=SGb(a.a,N6b);b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();H2b(c,iHb(a.a,d))}return VGb(a.a,L6b,f,g,c)}function CIb(a,b){var c,d,e,f,g;f=SGb(a.a,(f8b(),Y5b));c=SGb(a.a,G5b);g=s3b(c,c.g,38);g!=c.g&&(c.g=g);c.g=new x4b(38,1,c.g);b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);if(b.a)for(e=b.a.Md();e.Ed();){d=e.Fd();H2b(c,iHb(a.a,d))}H2b(f,c);return f}function S0b(a,b){if(!a&&!b)return true;if(!a&&!!b||
!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.ii(b.d,false,true,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b}function r$(a,b,c,d,e,f,g){var h,i,j;oe(!!c.ad);j=b==0?new J$(f,c.oc,c.Yb,c.ad):new T$(c.Yb,c.ad);h=b==2?new ssb(j,g.a.c,g.a.f):new j$(j,g.a.c);d&&pZ(h.c,"/** @externs */\n");e&&pZ(h.c,"'use strict';");h.Bg(a,4);j.og();i=j.i.a;return i}function vjb(a,b){Shb();var c,d,e,f,g,h,i;d=!(a.j==(f8b(),x6b)||a.j==w6b);c=j$b(a,QC(LC(WQ,
1),uCc,7,0,[]));i=s3b(c,c.g,50);i!=c.g&&(c.g=i);(d?1:0)!=0&&(c.g=new x4b(50,d?1:0,c.g));for(f=b,g=0,h=f.length;g<h;++g){e=f[g];H2b(c,e)}return c}function Jwb(a){var b,c,d,e;b=new qyb(a.a);for(e=a.f.Md();e.Ed();){c=e.Fd();kyb(b,!c?a.a.G:c)}for(d=a.d.Md();d.Ed();){c=d.Fd();gyb(b,!c?a.a.G:c)}lyb(b,a.g);myb(b,!a.i?a.a.G:a.i);fyb(b,a.c);jyb(b,a.e);nyb(b,a.j);dyb(b,a.b);return pyb(b)}function MBb(a,b){var c,d,e,f,g;if(a.b.d.d.isEmpty())return gEb(a.a,b);_kc(b,a.a.w);g=a.a.p;oe(a.b.Xe().containsAll(g));
d=true;b.a+="<";for(f=g.Md();f.Ed();){e=f.Fd();d?d=false:(b.a+=",",b);c=co(a.b,e);Tyb(ie(c),b)}b.a+=">";return b}function Nuc(a,b){var c,d,e,f,g;f=b==null?0:a.b.zj(b);d=(c=a.a.get(f),c==null?[]:c);for(g=0;g<d.length;g++){e=d[g];if(a.b.yj(b,e.ye())){if(d.length==1){d.length=0;a.a[qIc](f)}else d.splice(g,1);--a.c;atc(a.b);return e.ze()}}return null}function Jub(){Jub=aV;Hub=new k5("JSC_MODULE_CONFLICT",(YX(),XX),new Hlc("File has both goog.module and ES6 modules: {0}"));Gub=new k5("JSC_ES6_MODULE_LOAD_WARNING",
XX,new Hlc(jGc));Iub=new Rub;Fub=new Lub(null,(Mm(),Mm(),Lm),(null,Lm))}function AIb(a,b){var c,d,e,f,g,h;g=b.a;d=zIb(a,g);h=d.hi();if(tkc(h,Nkc(11))!=-1){f=g.b.b.c;c=g.b.a.c;f<a.a.s.length&&Hkc(a.a.s,f,Xjc(a.a.s.length,c)).indexOf("\\v")!=-1&&(e=s3b(d,d.g,54),e!=d.g&&(d.g=e),d.g=new x4b(54,1,d.g))}return d}function aRb(a){var b,c,d;c=VRb(a.j,0).b.b;if(jRb(a,(MUb(),EUb))){YOb(a,EUb);d=ZOb(a);b=(Mm(),new iq);!!d&&gq(b,d.a);while(jRb(a,YTb)){YOb(a,YTb);d=ZOb(a);if(!d)break;gq(b,d.a)}return new PYb(new fZb(c,
a.g),Um(b.a))}else return bRb(a)}function LJb(a,b){var c;if(b==(BKb(),qKb)){UJb(a);c=JJb(a,!a.o?IKb(a.j):eJb(a));if(c){UJb(a);mJb(a,wKb)?!a.o?IKb(a.j):eJb(a):(aJb(a,IHc,a.j.g,HKb(a.j)),null)}return c}else{aJb(a,"msg.jsdoc.missing.braces",a.j.g,HKb(a.j));return KJb(a,b)}}function wdb(a,b){var c,d,e,f,g;oe(b.j==(f8b(),w6b));f=b.b;d=b.b?b.b.f:null;if(d.j==J7b){e=xdb(a,f,d.hi());if(e)return e}g=udb(a,f);if(g){c=Byb(g);if(c){e=udb(a,d);if(!!e&&Iyb(e,c,new GEb((BBb(),BBb(),ABb))))return Cyb(g)}}return null}
function wkb(a,b){var c,d,e,f;for(c=b.b;c;c=f){f=c.d;if(c.j==(f8b(),_7b)){if(a.a&&!c.b)throw BU(new sjc("Empty VAR node."));while(c.b!=(c.b?c.b.f:null)){d=c.b;p3b(c,d);e=Q3b(p$b(d,_7b),b);G2b(b,e,c);vkb(a,"VAR with multiple children")}}}}function PCb(a,b,c,d,e,f){var g,h,i,j,k;for(i=c.Md();i.Ed();){h=i.Fd();j=new XDb(h);k=GCb(a,j);g=GCb(b,j);if(k.a==(TDb(),RDb)){if(!!g&&!Uyb(k.d,g.d,d,e,f))return false}else if(!g||g.a==RDb||!Uyb(k.d,g.d,d,e,f))return false}return true}function pHb(a,b){var c,d;if(b.j==
(f8b(),r7b)){c=b.b;for(;c;c=c.d){if(c.j!=_6b)continue;d=c.d;for(;d;d=d.d)d.j==_6b&&qkc(c.hi(),d.hi())&&a.d.jh(LZb('Duplicate parameter name "%s"',QC(LC(kS,1),NAc,1,5,[c.hi()])),a.r,b4b(b.i),a4b(b.i))}}}function _dc(a,b){var c,d,e,f,g,h,i,j;h=false;j=new Poc;for(f=dhc(b).Md();f.Ed();){e=f.Fd();i=e.Ui(a);i!=e&&(h=true);j.a[j.a.length]=i}if(h){g=new Hhc(a.e);for(d=new kpc(j);d.a<d.c.a.length;){c=ipc(d);Bhc(g,c,false)}return Chc(g)}return b}function s0(a,b,c,d){var e,f,g;if(b==null)return null;g=myc(a.r,
b);if(!g)return null;f=mA(Bpb(g),c,d+1);if(!f)return null;e=Flc().Kj().Kj().Kj().Kj().Kj();oyc(a.P,e,r1(e));return MB(NB(QB(OB(NB(PB(QB(new RB,f.d),f.c),f.a),f.b),e),f.a-1))}function Tob(b){var c,d;if(b.e!=null)return;try{d=Dkc(b.Ih(),BBc,-1);b.e=NC(ND,FBc,46,d.length,15,1);for(c=1;c<d.length;++c)b.e[c]=b.e[c-1]+d[c-1].length+1}catch(a){a=AU(a);if(DD(a,90)){b.e=NC(ND,FBc,46,1,15,1);b.e[0]=0}else throw BU(a);}}function ERb(a,b){var c;switch(b.p.f){case 62:c=b;break;case 26:c=new QVb(b.o,(Mm(),new _x(b)));
break;case 48:case 56:a.g=b.o.b;eSb(a.j,a.g.c);c=aQb(a,0);break;default:BRb(a,b,QC(LC(kS,1),NAc,1,5,[]));c=new QVb(b.o,(Mm(),Mm(),Lm))}return c}function Yz(a,b){var c,d,e;$z(a);switch(b.f){case 7:_z(a>0&(a&a-1)==0);case 1:case 3:return 31-Cjc(a);case 0:case 2:return 32-Cjc(a-1);case 5:case 4:case 6:d=Cjc(a);c=-1257966797>>>d;e=31-d;return e+(~~(c-a)>>>31);default:throw BU(new pic);}}function UW(a,b){var c,d,e;yW((f8b(),V7b),b);d=T2b(b);(d<2||d>3)&&$W(jCc+d,b);PV(a,b.b);e=false;c=b.b.d;yW(G5b,c);pW(c);
if(c.b){RV(a,c.b);e=true}if(T2b(b)==3){PV(a,b.b?b.b.f:null);e=true}e||$W("Missing catch or finally for try statement.",b)}function qgb(a){var b,c,d,e,f,g,h;if(!a.r)return;f=a.r;e=a.q;while(f.t.j==(f8b(),r6b)){b=false;for(h=(d=(new Kmc(e.a)).a.oe().Md(),new Qmc(d));h.a.Ed();){g=(c=h.a.Fd(),c.ye());if(!bgb(f,g,false)){b=true;quc(f.q,g)}}if(!b)break;e=f.q;f=f.r}}function lD(a,b){var c,d,e,f,g;b&=63;c=a.h;d=(c&NBc)!=0;d&&(c|=-1048576);if(b<22){g=c>>b;f=a.m>>b|c<<22-b;e=a.l>>b|a.m<<22-b}else if(b<44){g=
d?MBc:0;f=c>>b-22;e=a.m>>b-22|c<<44-b}else{g=d?MBc:0;f=d?LBc:0;e=c>>b-44}return VC(e&LBc,f&LBc,g&MBc)}function Hcb(a,b){var c,d,e,f;f=tib(b);if(!f||!g3b(f))return false;d=(Shb(),e=dib(b),!e?null:Y2b(e,29));return!d?(c=Y2b(b,51),!!c&&c.Kh()&&(b.e.j==(f8b(),_7b)||b.j!=_6b)&&!!Wfb(a.a,YDb(f))):(d.a&2)!=0||(d.a&512)!=0||(d.a&iEc)!=0||(d.a&1)!=0}function Idb(a,b){var c;pcb(a.c,(b.b?b.b.f:null).hi(),b);if(vcb(b,a.a))Bdb(a,b);else if(ycb(b))Kdb(a,b);else if(djb(b)){c=s3b(b,b.g,76);c!=b.g&&(b.g=c);b.g=new x4b(76,
1,b.g);Jdb(a,b)}else fdb(a,b,a.a)?Cdb(a,b):hgb(a.a,b.b)?Edb(a,b):Hdb(a,b)}function zPb(a){var b,c;c=VRb(a.j,0).b.b;a.d=BMb(a.d,(wNb(),KMb).a);cPb(a,KCc);YOb(a,(MUb(),sTb));if(jRb(a,nUb)){CRb(a,AIc,QC(LC(kS,1),NAc,1,5,[]));YOb(a,nUb)}b=UVb(ZVb(new bWb((gWb(),dWb)),ZOb(a)));dQb(a,b,false);return SVb(b,new fZb(c,a.g))}function BQb(a,b){var c,d;a.d=BMb(a.d,(wNb(),SMb).a);d=VRb(a.j,0).b.b;c=(Mm(),new iq);YOb(a,(MUb(),RTb));while(tRb(a,0)||VRb(a.j,0).c==TTb){gq(c,CQb(a,b));if(jRb(a,$Sb))YOb(a,$Sb);else break}YOb(a,
WSb);return new EWb(new fZb(d,a.g),Um(c.a))}function R1b(a,b){if((a.a.a&2)!=0||S_b(a.a)||(a.a.a&IFc)!=0||D_b(a.a)>0||(a.a.a&fFc)==fBc||O_b(a.a)||y_b(a.a)>0||A_b(a.a)!=null||!!a.a.g||(a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)return false;else{k0b(a.a,b);a.d=true;return true}}function k3b(a,b){if(!b||b.j!=a.j)return false;switch(a.j.f){case 29:return a.hi().length!=0&&qkc(a.hi(),b.hi());case 33:case 97:return true;case 26:return qkc((a.b?a.b.f:null).hi(),(b.b?b.b.f:null).hi())&&k3b(a.b,b.b);
default:return false}}function bgb(a,b,c){ie(b);oe(b.indexOf(".")==-1);if(ovc(a.o,b)||a.f.contains(b)||a.k.containsKey(b)||ovc(a.j,b)||qkc(UCc,b)||a.e.containsKey(b)||a.n.containsKey(b))return true;if(c)return a.u.contains(b)||!!a.c&&Hwb(a.c,b)!=null;return false}function tib(a){Shb();var b;b=a.e;switch(b.j.f){case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:return a.d;case 75:case 98:case 86:case 43:return a.b;case 65:case 94:return b}return null}
function Vtb(a,b,c){var d,e,f,g,h,i,j;f=Utb(a);if(!a.c){h=new Hhb(a.a,new _tb(a),f);Bhb(h,b)}g=new Hhb(a.a,a,f);Fhb(g,b,c);for(j=(e=(new Kmc(a.e.a)).a.oe().Md(),new Qmc(e));j.a.Ed();){i=(d=j.a.Fd(),d.ye());Xtb(a.a,i);suc(a.e,i)}!!a.b&&bub(a.b)}function vPb(a){var b,c,d;c=VRb(a.j,0).b.b;d=EQb(a);while(b=VRb(a.j,0).b.b.b>a.g.b,!(b||iRb(a,0,(MUb(),jUb))||iRb(a,0,(MUb(),WSb))||iRb(a,0,(MUb(),hTb)))&&iRb(a,0,(MUb(),TTb))){YOb(a,(MUb(),TTb));YOb(a,YSb);d=new $Ub(new fZb(c,a.g),d)}return d}function Tdc(){var a;
new Xvc;this.k=new luc;this.b=new tvc;this.d=new luc;new et;new _k;new _k;this.j=new luc;this.c=new Ggc(this,(Mm(),Mm(),Lm),(null,Lm));this.i=NC(oR,NAc,21,vdc().length,0,1);this.g=new luc;Sdc(this);a=new Fac(this);a.q=true}function Zlb(a){var b,c,d;pe(a.j==(f8b(),J5b),a);b=a.b;while(b.j==M5b)b=b.b;Shb();b.j==x6b||b.j==w6b||(d=s3b(a,a.g,50),d!=a.g&&(a.g=d),a.g=new x4b(50,1,a.g));b.j==_6b&&qkc("eval",b.hi())&&(c=s3b(b,b.g,49),c!=b.g&&(b.g=c),b.g=new x4b(49,1,b.g))}function X0b(a,b){if(!a&&!b)return true;
if(!a&&!!b||!!a&&!b)return false;if(a.d==null&&b.d!=null||a.d!=null&&b.d==null)return false;return(a.d==null&&b.d==null||a.d.ii(b.d,false,true,false))&&a.f==b.f&&a.e==b.e&&a.c==b.c&&a.b==b.b&&a.a==b.a}function _Hb(a,b){var c,d,e,f,g,h;g=SGb(a.a,(f8b(),R5b));h=b.a.getAtIndex(0).o.b;d=b.a.getAtIndex(1).o.a;gHb(g,h,d);for(f=b.a.Md();f.Ed();){e=f.Fd();c=T2b(g);if(c<2)H2b(g,iHb(a.a,e));else{d=e.o.a;g=UGb(a.a,R5b,g,iHb(a.a,e));gHb(g,h,d)}}return g}function PKb(a){switch(a){case 64:case 42:case 44:case 60:case 62:case 58:case 40:case 41:case 123:case 125:case 91:case 93:case 63:case 33:case 124:case 61:case -1:case 10:return false;
default:return!(a<=127?a==32||a==9||a==12||a==11:a==160)}}function fQb(a,b){var c,d,e,f;cPb(a,"get");if(tRb(a,0)){e=_Ob(a);YOb(a,(MUb(),STb));YOb(a,XSb);f=fPb(a);c=bQb(a);return new lWb(dPb(a,b.d),e,b.c,f,c)}else{d=NPb(a);YOb(a,(MUb(),STb));YOb(a,XSb);fPb(a);c=bQb(a);return new xVb(dPb(a,b.d),d,b.c,c)}}function q2b(a,b){if(!!b&&!((a.a.a&2)!=0||S_b(a.a)||(a.a.a&IFc)!=0||D_b(a.a)>0||(a.a.a&fFc)==fBc||O_b(a.a)||y_b(a.a)>0||A_b(a.a)!=null||!!a.a.g||(a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)&&
l_b(a.a,b)){a.d=true;return true}return false}function Wvb(){Wvb=aV;Uvb=new k5("JSC_INTERFACE_FUNCTION_NOT_EMPTY",(YX(),WX),new Hlc("interface functions must have an empty body"));Vvb=new k5("JSC_INTERFACE_SHOULD_NOT_TAKE_ARGS",WX,new Hlc("Interface functions should not take any arguments"))}function cRb(a){var b,c,d,e,f;d=VRb(a.j,0).b.b;if(xRb(a)){c=jPb(a);b=cRb(a);return new RYb(new fZb(d,a.g),c,b)}else return iRb(a,0,(MUb(),uTb))&&qkc(VRb(a.j,0).a,"await")?(e=VRb(a.j,0).b.b,cPb(a,"await"),f=cRb(a),
new aVb(new fZb(e,a.g),f)):dRb(a)}function JOb(){BOb();return QC(LC(gO,1),SAc,38,0,[ENb,FNb,GNb,JNb,KNb,MNb,NNb,ONb,PNb,UNb,VNb,WNb,XNb,$Nb,_Nb,gOb,mOb,pOb,qOb,rOb,tOb,vOb,wOb,xOb,yOb,zOb,HNb,INb,QNb,RNb,SNb,ZNb,oOb,YNb,aOb,dOb,iOb,jOb,kOb,lOb,nOb,AOb,hOb,sOb,TNb,LNb,uOb,eOb,fOb])}function n0(a,b){switch(b.f){case 0:return yGb(),sGb;case 1:case 2:return yGb(),tGb;case 3:case 4:case 5:return yGb(),uGb;case 6:return yGb(),xGb;case 7:case 8:return yGb(),vGb;case 9:case 10:return yGb(),wGb;default:throw BU(new sjc(rDc+
a.H.Vb));}}function u0(a){switch(a.F.f){case 0:return a.H.sd?(!a.Q&&(a.Q=new qcb(a,a.o)),a.Q):(!a.V&&(a.V=new Tdc),a.V);case 1:return!a.V&&(a.V=new Tdc),a.V;case 2:return!a.Q&&(a.Q=new qcb(a,a.o)),a.Q;default:throw BU(new TB("Unhandled typechecker "+a.F));}}function VBb(a,b){var c,d;if(wEb(a.a,uEc)&&nzc(pzc(KBb,b))){if(a.b.d.d.isEmpty())return new IDb(null,a.a.t.G,null,(TDb(),SDb));oe(a.b.d.d.size()==1);c=js(a.b.Ye().Md());return new IDb(null,c,null,(TDb(),SDb))}d=nEb(a.a,b);return!d?null:GDb(d,a.b)}
function Uob(b,c){var d,e;Tob(b);if(c>b.e.length)return null;c<1&&(c=1);e=b.e[c-1];d="";try{d=b.Ih()}catch(a){a=AU(a);if(DD(a,90))return null;else throw BU(a);}return ukc(d,Nkc(10),e)==-1?e>=d.length?null:Hkc(d,e,d.length):Hkc(d,e,ukc(d,Nkc(10),e))}function GIb(a,b){var c,d,e,f,g;g=TGb(a.a,(f8b(),V7b),jHb(a.a,b.a));c=SGb(a.a,G5b);f=false;d=b.b;if(d){b4b(c.i)==-1&&gHb(c,d.o.b,d.o.a);f=true;H2b(c,iHb(a.a,d))}H2b(g,c);e=b.c;!!e&&H2b(g,jHb(a.a,e));!f&&!!e&&b4b(c.i)==-1&&gHb(c,e.o.b,e.o.a);return g}function cxb(a,
b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);d=a}else{c=b.a.getAtIndex(b.a.size()-1);d=axb(a,(ae(b.a.size()!=1),new WDb(b.a.Se(0,b.a.size()-1))));if(!d)return false}return d.B.containsKey(c)||d.D.containsKey(c)||!!Yg(d.C,c,false)}function j2(a,b,c){var d,e,f,g;if(b.j==(f8b(),J5b)){e=a.a.Vf(b,c);e&&Vwc(a.b,BDc,sCc);g=a.a.Uf(b,c);g!=null&&Eoc(a.d,g);f=a.a.Tf(b,c);f!=null&&Eoc(a.c,f);return}else if(!!c&&c.j!=n6b&&(Shb(),!(c.j==D7b||c.j==Z6b)))return;for(d=b.b;d;d=d.d)j2(a,d,b)}function Xdb(){Xdb=
aV;Wdb=new k5("JSC_IMPLICITLY_NULLABLE_JSDOC",(YX(),XX),new Hlc("Name {0} in JSDoc is implicitly nullable, and is discouraged by the style guide.\nPlease add a '!' to make it non-nullable, or a '?' to make it explicitly nullable."))}function hfb(a,b,c,d){var e,f;if(!c||c.j!=(f8b(),r6b)||b==c.b){Shb();if(b.j==(f8b(),_6b)&&b.e.j==_7b)d.mh(b.hi(),true);else if(Dib(b)&&c.j!=N5b)d.mh(b.hi(),false);else if(b.j==r6b&&Jib(b.e)){f=b.b;d.mh(f.hi(),true)}for(e=b.b;e;e=e.d)hfb(a,e,b,d)}}function Cib(a){Shb();
switch(a.f){case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:return true;default:return false}}function qqb(a,b){var c,d,e,f,g;if(b.j==(f8b(),r6b)){!a.b&&(a.b=kib(b));g=b.b;d=g.d;e=d.d;f=g.hi();f.length!=0&&(Shb(),b.j==r6b&&!jjb(b.e))&&pqb(a,g);oe(d.j==r7b);for(c=d.b;c;c=c.d){oe(c.j==_6b);pqb(a,c)}rqb(a,e)}else{oe(b.j==Z6b||!a.e.zh());rqb(a,b)}}function JHb(a,b){var c,
d;if(b){switch(b.f){case 42:c=(b1b(),a1b);break;case 41:c=(b1b(),_0b);break;case 40:c=(b1b(),$0b);break;default:throw BU(new sjc("Unexpected access modifier type"));}d=s3b(a,a.g,84);d!=a.g&&(a.g=d);!!c&&(a.g=new H4b(84,c,a.g))}}function Fzc(a,b,c,d,e){var f,g,h,i,j;Dzc(d+Kz(c,c.qf()),e);Ezc(b,Bzc(c,c.backingJsObject));f=c.e;!!f&&Fzc(a,b,f,"Caused by: ",false);for(h=(c.i==null&&(c.i=NC(qS,NAc,39,0,0,1)),c.i),i=0,j=h.length;i<j;++i){g=h[i];Fzc(a,b,g,"Suppressed: ",false)}Czc()}function _U(a,b,c){var d=
ZU,h;var e=d[a];var f=e instanceof Array?e[0]:null;if(e&&!f)_=e;else{_=(h=b&&b.prototype,!h&&(h=ZU[b]),bV(h));_.Ij=c;_.constructor=_;!b&&(_.Jj=eV);d[a]=_}for(var g=3;g<arguments.length;++g)arguments[g].prototype=_;f&&(_.Hj=f)}function bjc(a){if(a.uj()){var b=a.c;b.vj()?a.o="["+b.n:!b.uj()?a.o="[L"+b.Hg()+";":a.o="["+b.Hg();a.b=b.sj()+"[]";a.k=b.tj()+"[]";return}var c=a.i;var d=a.d;d=d.split("/");a.o=ejc(".",[c,ejc("$",d)]);a.b=ejc(".",[c,ejc(".",d)]);a.k=d[d.length-1]}function JX(){JX=aV;IX=new k5("JSC_UNDEFINED_NAME",
(YX(),XX),new Hlc("{0} is never defined"));new k5("JSC_NAME_DEFINED_LATE",XX,new Hlc("{0} defined before its owner. {1} is defined at {2}:{3}"));HX=new k5("JSC_STRICT_MODULE_DEP_QNAME",WX,new Hlc(oCc))}function e8(){e8=aV;c8=new k5("JSC_INVALID_SUPER_CALL",(YX(),VX),new Hlc("super() not allowed except in the constructor of a subclass"));d8=new k5("JSC_INVALID_SUPER_CALL_WITH_SUGGESTION",VX,new Hlc("super() not allowed here. Did you mean super.{0}?"))}function lcb(a,b,c){var d,e,f;ae(b.a.f);ae(b.a.g!=
0||vEb(b.a));if(!WBb(b,c))return lm(),lx(),kx;else if(Cp(a.o,b.a,c)!=null)return lm(),new cy(Cp(a.o,b.a,c));f=(lm(),new Xq);for(e=TBb(b).Md();e.Ed();){d=e.Fd();Wq(f,lcb(a,d,c))}return zo(new kpc(f.a))}function agb(a,b){var c,d;ae(g3b(b));if(b.j==(f8b(),_6b))return bgb(a,b.hi(),false);else if(b.j==S7b)return true;d=YDb(b);c=d.a.getAtIndex(0);if(igb(a,c))return cxb(Xfb(a,c),(ae(d.a.size()!=1),new WDb(d.a.Se(1,d.a.size()))));return!!a.r&&agb(a.r,b)}function hAb(a,b,c,d,e,f,g){var h,i,j;i=gEb(d,new dlc).a;
h=OAb(a.a);!e&&!qkc(b,AEc)&&(e=h);!!e&&!dEb(d,e)&&quc(a.i,leb(c,Hzb,QC(LC(pS,1),yAc,2,6,[i])));(d.i.a&2)!=0&&!f.isEmpty()&&quc(a.i,leb(c,xzb,QC(LC(pS,1),yAc,2,6,[i])));j=_Db(d,f);oe(j);fyb(g,d.q)}function oDb(a,b){var c;c=a.$h()==2&&a._h().size()==1?js(a._h().Md()):null;if(!c||!c.c||(new emc(c.g.a)).a.size()==0||!!c.b||dDb(c,a.e._)||dDb(c,Eyb(FAb(b,b.G))))return a;if(dDb(c,b.T?b.T:b._))return a.e.q;if(dDb(c,b.X?b.X:b._))return a.e.t;return a}function qSb(a){QRb(a);while(PRb(a,a.d)&&(PRb(a,a.d)?lkc(a.e.a,
a.d):0)!=93&&!BSb(PRb(a,a.d)?lkc(a.e.a,a.d):0))if(!rSb(a))return false;if((PRb(a,a.d)?lkc(a.e.a,a.d):0)!=93){YRb(a,"']' expected",QC(LC(kS,1),NAc,1,5,[]));return false}QRb(a);return true}function LW(a,b){var c,d,e,f;yW((f8b(),D7b),b);f=(d=Y2b(b,51),!d?null:d.Hg());!f&&$W("Missing 'source name' annotation.",b);e=Y2b(b,53);!e&&$W("Missing 'input id' annotation.",b);if(!!b.b&&b.b.j==Z6b){c=T2b(b);1!=c&&$W(aCc+c,b);rW(a,b.b)}else OW(a,b.b)}function BIb(a,b){var c,d,e,f,g,h;f=b.a;g=TGb(a.a,(f8b(),L5b),
iHb(a.a,f));c=SGb(a.a,G5b);h=s3b(c,c.g,38);h!=c.g&&(c.g=h);c.g=new x4b(38,1,c.g);b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);if(b.b)for(e=b.b.Md();e.Ed();){d=e.Fd();H2b(c,iHb(a.a,d))}H2b(g,c);return g}function eRb(a,b,c){var d,e,f,g;f=VRb(a.j,0).b.b;g=null;if(iRb(a,0,(MUb(),TTb))||iRb(a,0,RTb))e=FQb(a,0);else{e=hQb(a);jRb(a,ZSb)&&(g=(YOb(a,ZSb),YQb(a)))}d=null;jRb(a,jTb)?d=(YOb(a,jTb),xPb(a,c)):c!=0&&hPb(a,b,e);return new VYb(new fZb(f,a.g),e,g,d)}function oSb(a){if(!DSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)){YRb(a,
"Expected regular expression first char",QC(LC(kS,1),NAc,1,5,[]));return false}if(!pSb(a))return false;while(PRb(a,a.d)&&CSb(PRb(a,a.d)?lkc(a.e.a,a.d):0))if(!pSb(a))return false;return true}function AZb(a,b){var c,d,e,f;e=new dlc;e.a+="0";if(a.b.n>0){e.a+=".";f=NC(MD,zAc,46,a.b.n,15,1);zpc(f,f.length,48);e.a+=Skc(f,0,f.length)}e.a+="E+00";c=dV(a.a);_kc(b,zkc(c,69,101));if(a.b.i&&a.b.n==0){d=b.a.indexOf("e");b.a=Hkc(b.a,0,d)+"."+Gkc(b.a,d)}}function Sfb(a,b,c){var d,e;if(b.a.size()==1)return Tfb(a,
b.a.getAtIndex(0),c);e=Xfb(a,b.a.getAtIndex(0));if(!e)return lgb(a,Tc(new Wc("."),b.a.Md()));d=$wb(e,(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size()))));return d?d:lgb(a,Tc(new Wc("."),b.a.Md()))}function Kyb(a){if(0==a.$h()||-1==a.$h()||wAc==a.$h()||a.$h()==64||a.$h()==128||a.$h()==32||a.$h()==256||(a.$h()&-25)==0&&(a.$h()&24)!=0||a.$h()==1||a.$h()==4&&a.Zh().size()==1||512==a.$h()||lFc==a.$h())return false;return!(a.$h()==2&&a._h().size()==1)}function A1b(a,b){if(!!b&&!((a.a.a&2)!=0||S_b(a.a)||(a.a.a&
IFc)!=0||D_b(a.a)>0||(a.a.a&fFc)==fBc||O_b(a.a)||y_b(a.a)>0||A_b(a.a)!=null||!!a.a.g||(a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)){u0b(a.a,b,sFc);a.d=true;return true}else return false}function o2b(a,b){if(!!b&&!((a.a.a&2)!=0||S_b(a.a)||(a.a.a&IFc)!=0||D_b(a.a)>0||(a.a.a&fFc)==fBc||O_b(a.a)||y_b(a.a)>0||A_b(a.a)!=null||!!a.a.g||(a.a.a&fFc)==kFc||(a.a.a&fFc)==DBc||(a.a.a&fFc)==sFc)){u0b(a.a,b,kFc);a.d=true;return true}else return false}function rZ(a,b,c){var d,e;vZ(a);d=b.charCodeAt(0);e=
a.tg();(d==43||d==45)&&e==d?a.hg(" "):/[A-Z]/i.test(String.fromCharCode(d))&&(e==95||e==36||/[A-Z\d]/i.test(String.fromCharCode(e)))?a.hg(" "):(e==45&&d==62||e==60&&d==33)&&a.hg(" ");a.kg(b,c);c&&a.vg()}function odb(a,b,c){var d,e,f;if(b.e.j==(f8b(),E7b)){f=c.i;!!f&&wAc!=f.$h()&&256!=f.$h()&&mhb(a.c.t,leb(b,(ecb(),$bb),QC(LC(pS,1),yAc,2,6,[])))}d=c.f.size()+c.d.size();e=T2b(b.b.d);!c.g&&e!=d&&mhb(a.c.t,leb(b,(ecb(),dcb),QC(LC(pS,1),yAc,2,6,[""+d,""+e])))}function qEb(a,b){var c,d,e,f,g,h;if(Yg(a.j,
b,false)){h=hh(Yg(a.j,b,false));d=h.c;if(!!d&&d.j==(f8b(),x6b)){e=(Shb(),f=dib(d),!f?null:Y2b(f,29));c=h.b;if(!!c&&(g=c.$h()==2&&c._h().size()==1?js(c._h().Md()):null,!(!g?null:g.b)||!!e))return c}}return null}function GGb(){GGb=aV;FGb=(lm(),new cy(GCc));CGb=FGb;DGb=Eo(QCc,cEc,cDc,MCc,RCc,PCc,QC(LC(pS,1),yAc,2,6,[VCc]));EGb=Eo(QCc,cEc,cDc,MCc,RCc,PCc,QC(LC(pS,1),yAc,2,6,[VCc,SCc,bDc,"let",rHc,sHc,tHc,uHc,vHc,"yield"]));new kGb((lx(),kx),(null,kx),(yGb(),xGb),0)}function hPb(a,b,c){if(b==(MUb(),_Sb)){a.d=
BMb(a.d,(wNb(),QMb).a);CRb(a,"const variables must have an initializer",QC(LC(kS,1),NAc,1,5,[]))}else if(SUb(c)){a.d=BMb(a.d,(wNb(),SMb).a);CRb(a,"destructuring must have an initializer",QC(LC(kS,1),NAc,1,5,[]))}}function nbc(a,b,c,d,e,f,g){t8b();Gac.call(this,a,b,Ldc(a,(tdc(),Ecc)),g,e);this.c=(Mm(),Mm(),Lm);this.b=(null,Lm);this.q=true;ae(true);ie(c);this.g=null;if(f){this.e=1;this.j=d?d:new Rbc(a,this,g)}else{this.e=0;this.j=d?d:Ldc(a,pdc)}this.a=c;this.d=false}function UY(){UY=aV;new k5("JSC_REFLECT_OBJECTLIT_EXPECTED",
(YX(),XX),new Hlc("Object literal expected as second argument"));w$b((te(tkc(sCc,Nkc(46))==-1,tCc,sCc),new U4b((f8b(),_6b),sCc)),new U4b(J7b,"reflect"),QC(LC(WQ,1),uCc,7,0,[new U4b(J7b,"cache")]))}function ncb(a,b,c){var d,e,f,g;ae(b.e.j==(f8b(),_7b));f=b.e;g=icb(a,Y2b(f,29),c);!!f.b&&!!f.b.d&&!!g&&mhb(a.t,leb(f,Ybb,QC(LC(pS,1),yAc,2,6,[])));e=b.hi();d=icb(a,Y2b(b,29),c);if(d){!!g&&mhb(a.t,leb(b,Kbb,QC(LC(pS,1),yAc,2,6,[e])));return d}else return g}function OCb(a,b){var c,d,e,f,g,h;if(a==a.a._||b.isEmpty())return a;
e=(BBb(),BBb(),ABb);for(h=new mmc((new emc(a.g.a)).a);h.b;){g=lmc(h);f=g.ye();d=GDb(g.ze(),b);e=DBb(e,f,d)}c=!a.b?null:Jxb(a.b,b);return mDb(a.a,$Bb(a.d,b),e,c,a.e,!!c&&c==c.a.s||a.c,a.f)}function _Db(a,b){var c,d,e;oe(!a.f);oe(!a.d);ie(b);if(a.g!=0)for(e=b.Md();e.Ed();){c=e.Fd();if(tEb(c.a,a)){a.d=(lm(),lx(),kx);return false}}for(d=b.Md();d.Ed();){c=d.Fd();uEb((oe(!c.a.f),c.a))&&(a.i=(xCb(),vCb));cEb((oe(!c.a.f),c.a),a)}a.d=b;return true}function ucb(a){var b,c,d;if(!a||!a.c)return false;c=(Shb(),
d=dib(a.a),!d?null:Y2b(d,29));return!c||(c.a&64)!=0&&(b=(c.a&fFc)==kFc&&((fFc&c.a)==kFc?c.i:null).a.j==(f8b(),r6b),!(b||(c.a&fFc)==fBc||!!c.g||D_b(c)>0||(c.a&2)!=0||(c.a&EFc)!=0&&(c.a&fFc)!=kFc))}function skb(a,b){var c,d,e;oe(b.e.j==(f8b(),r6b));d=null;c=b.b;while(!!c&&(Shb(),c.j==r6b&&Jib(c.e))){d=c;c=c.d}while(c){e=c.d;Shb();if(c.j==r6b&&Jib(c.e)){p3b(b,c);d=(!d?I2b(b,c):F2b(b,c,d),c);vkb(a,"Move function declaration not at top of function")}c=e}}function Gxb(a,b){var c,d;oe(a.c||b.c);if(a==a.a.v||
a==a.a.g||b==b.a.v||b==b.a.g)return true;d=Xjc(a.i.size(),b.i.size());for(c=0;c<d;c++)if(!dzb(Dxb(a,c),Dxb(b,c)))return false;return dzb((ae(!(a==a.a.v||a==a.a.g)),a.k),(ae(!(b==b.a.v||b==b.a.g)),b.k))}function Qyb(a,b){var c,d,e,f,g;g=Ryb(a,b);if(0==g.$h()&&(e=a._h(),e.size()==1&&js(e.Md()).c||(f=b._h(),f.size()==1&&js(f.Md()).c))){g=Ryb(wyb(a),wyb(b));if(0!=g.$h())return a}d=g._h();if(d.size()==1&&js(d.Md()).c){c=oDb(g,a.e);if(g!=c)return c}return g}function JIb(a,b){var c,d;d=CHb(b.b.c);c=iHb(a.a,
b.a);if(d==(f8b(),e7b)&&c.j==k7b){c.ki(-c.gi());return c}else{d==$5b&&!(c.j==x6b||c.j==w6b||c.j==_6b)&&a.a.d.ih("Invalid delete operand. Only properties can be deleted.",a.a.r,b4b(c.i),0);return TGb(a.a,d,c)}}function HQb(a,b){var c;if(iRb(a,0,(MUb(),TTb))||iRb(a,0,RTb))c=FQb(a,b);else{c=qQb(a);TUb(c)||CRb(a,zIc,QC(LC(kS,1),NAc,1,5,[]));b==0&&c.p!=(vYb(),yXb)&&CRb(a,"Only an identifier or destructuring pattern is allowed here.",QC(LC(kS,1),NAc,1,5,[]))}return c}function aW(a,b,c){var d;yW((f8b(),
k6b),b);if(W2b(b,64)!=0){d=T2b(b);2!=d&&$W(bCc+d,b);yW(d6b,b.b);PW(b.b.d)}else if(W2b(b,63)!=0){d=T2b(b);1!=d&&$W(aCc+d,b);dW(a,b.b)}else{d=T2b(b);(d<1||d>2)&&$W(cCc+d,b);b.b.j==m6b?cW(b.b):NW(a,b.b,c);T2b(b)==2&&PW(b.b.d)}}function f9(a,b){var c,d,e;c=a.b;e=c.d;Shb();if(a.j==(f8b(),O5b)&&Jib(a.e))return new e9(a,c.hi(),false,c,e);else if(b.j==n5b&&b.e.j==n6b){d=Z2b(b.b);if(d==null)return null;return new e9(b.e,d,true,c,e)}else return b.j==_6b?new e9(b.e,b.hi(),true,c,e):null}function Adb(a,b){var c,
d,e,f,g,h,i;c=a.c.f.$f(b);if(c==null)return;h=c.indexOf(".")!=-1?new WDb(Tm(Df(Jf(new nc(46)),c))):new XDb(c);i=(d=Sfb(a.a,h,false),!d?null:DD(d.c,80)?d.c:null);if(i){g=i.q;e=pyb(myb(new qyb(a.c.d),g));f=DAb(a.c.d,e);a.c.f.Rf(i,f,g)}}function Oib(a,b){Shb();var c,d;if(!a||!b)return!a&&!b;if(!a.ii(b,false,false,false))return false;if(T2b(a)!=T2b(b))return false;d=a.b;c=b.b;while(!!d&&!!c){if(d.j==(f8b(),r6b)||d.j==D7b)return c.j==d.j;if(!Oib(d,c))return false;d=d.d;c=c.d}return true}function oAb(a,
b,c){var d,e;pe(!!b,"getTypedef should only be called when we know that the typedef is defined");if(b.a==(QEb(),PEb))return;e=KEb(b);if(!e){quc(a.i,leb((oe(b.a==NEb),b.c).a,tzb,QC(LC(pS,1),yAc,2,6,[])));d=a.a.G}else d=fAb(a,e,c,null);LEb(b,d)}function HRb(a,b,c,d){var e,f,g,h,i;if(a.b.i){g=pzc((UOb(),TOb),d);if(lzc(g)){i=Gkc(d,mzc(g,0).length);if(qkc(i.substr(0,29),"data:application/json;base64,")){e=jz((iz(),iz(),hz),i.substr(29,i.length-29));h=okc((f=e,Dlc(),f));a.b.f=h}}}gq(a.a,new kVb(d,c,b))}
function $3b(a,b,c,d,e){ae(!b.e);ae(!b.d);ae(!b.f);ae(!c.e);ae(!c.d);ae(!c.f);ae(!d.e);ae(!d.d);ae(!d.f);ae(!e.e);ae(!e.d);ae(!e.f);this.j=a;this.e=null;this.b=b;b.d=c;b.f=e;b.e=this;c.d=d;c.f=b;c.e=this;d.d=e;d.f=c;d.e=this;e.d=null;e.f=d;e.e=this;this.i=-1}function f5b(b,c){var d,e,f;xwc();f=(Hwc(),Kwc(XIc));try{d=Iwc(f,b)}catch(a){a=AU(a);if(DD(a,341))throw BU(new TB("no message resource found for message property "+b));else throw BU(a);}e=new Hlc(d);return c!=null?Ilc(e.a,c):Ilc(e.a,QC(LC(kS,
1),NAc,1,5,[c]))}function Iu(a,b){var c,d,e;if(JD(b)===JD(ie(a)))return true;if(!DD(b,48))return false;d=b;e=a.size();if(e!=d.size())return false;if(DD(d,76)){for(c=0;c<e;c++)if(!Xd(a.getAtIndex(c),d.getAtIndex(c)))return false;return true}else return es(a.Md(),d.Md())}function Tab(a,b,c,d){var e,f,g,h,i;if(Vab(a,b,c,d))return;h=Oab(a,d);i=new mbb(b,(g=(vbb(),ubb),++a.a.b,g));Zab(h,i);if(c.j==(f8b(),n5b)&&c.e.j!=n6b){e=new mbb(b,(f=obb,++a.a.b,f));Zab(h,e);ae((i.b==obb||e.b==obb)&&(i.b==tbb||i.b==
ubb||e.b==tbb||e.b==ubb))}}function Kwc(a){Hwc();var b,c,d;if(qkc(XIc,a))d="rhino/Messages.properties";else if(qkc(SHc,a))d="parsing/ParserConfig.properties";else throw BU(new TB("ResourceBundle not available: "+a));b=Nlc(Gwc,d);if(!b){c=lnb(d);b=new Jwc(Vdb(c));Qlc(Gwc,d,b)}return b}function ulb(){ulb=aV;tlb=izc((Oic(BL),BL.o));slb=(Mm(),new gx(cn(QC(LC(kS,1),NAc,1,5,[HDc,IDc,"deadAssignmentsElimination",EDc,MDc,LDc,KDc,"peepholeOptimizations","minimizeExitPoints","removeUnreachableCode"]))));rlb=
new gx(cn(QC(LC(kS,1),NAc,1,5,[FDc,GDc])))}function Rlb(a,b){var c,d,e,f;if(Hib(b)&&b.j!=(f8b(),O6b)&&b.j!=(f8b(),O7b))for(d=b.b;d;d=d.d)if(Iib(b,d)&&d.j!=(f8b(),G5b)){e=Q3b((c=new U3b((f8b(),G5b)),c),b);t3b(b,d,e);f=s3b(e,e.g,39);f!=e.g&&(e.g=f);e.g=new x4b(39,1,e.g);d.j==d6b||L2b(e,d);d=e;Ulb(a)}}function Ll(a){var b,c,d,e,f,g,h;if(a.d==0)return Ul(),Tl;b=new rq((g=a.f,!g?a.f=new Bh(a,a.c):g).size());h=0;for(d=(f=a.f,uh(!f?a.f=new Bh(a,a.c):f)).Md();d.Ed();){c=d.Fd();e=Um(c.ze());if(!e.isEmpty()){nq(b,
c.ye(),e);h+=e.size()}}return new Jl(On(b.b),h)}function iZ(a){var b,c,d;c=null;if(a.j==(f8b(),x6b))c=(a.b?a.b.f:null).hi();else if(a.j==_6b){d=a.hi();b=wkc(d,Nkc(36));b!=-1&&(c=d.substr(b+1,d.length-(b+1)))}if(c!=null)if(qkc(c,"inherits"))return o_(),m_;else if(qkc(c,"mixin"))return o_(),n_;return null}function ylc(a){Szc(a!=null,"Null charset name");a=a.toLocaleUpperCase();if(qkc((Lzc(),Izc).a,a))return Izc;else if(qkc(Jzc.a,a))return Jzc;else if(qkc(Kzc.a,a))return Kzc;if(/^[A-Za-z0-9][\w-:\.\+]*$/.test(a))throw BU(new Elc(a));
else throw BU(new Blc(a));}function SPb(a){var b,c,d,e,f;d=dPb(a,VRb(a.j,0).b.b);b=null;e=(Mm(),new iq);while(f=VRb(a.j,0).c,Xtc(Ttc((MUb(),uTb),QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),f)||!a.b.b&&GOb(f)){c=hQb(a).a;b=new zYb(d,c,null);Eoc(e.a,ie(b));jRb(a,WSb)||YOb(a,$Sb)}return Um(e.a)}function c$(a,b,c){var d,e,f,g,h,i;h=0;d=0;for(f=0;f<b.length;f++)switch(b.charCodeAt(f)){case 34:++d;break;case 39:++h}if(a.f?h<=d:h<d){g=39;e='"';i="\\'"}else{g=34;e='\\"';i="'"}return String.fromCharCode(g)+g$(a,
b,e,i,"`",xAc,c,false)+String.fromCharCode(g)}function izb(a,b,c,d,e){vyb();ie(e).isEmpty()?b&=-5:b|=4;ie(c).isEmpty()?b&=-3:b|=2;if(c.isEmpty()&&e.isEmpty()&&d==null&&(b&1)==0)return hzb(a,b);if(!fzb(c))return a.b;if(b==2)return new zDb(a,c);if(b==34)return new nCb(a,c);return new TEb(a,b,c,d,e)}function Hfb(a){var b,c;c=(lvb(),WFc+Akc(zkc(zkc(zkc(zkc(zkc(Akc(Bkc(nvb((b=Akc(Akc(Akc(Akc(Akc(zkc(zkc(a,58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(b))),KEc+szc("/"),""),"/","$"),92,
36),64,36),45,95),58,95),46,95),FEc,"_"));return new Gfb(c,c)}function eW(a,b){var c;yW((f8b(),p6b),b);Shb();if(b.j==p6b&&T2b(b)==3){c=T2b(b);3!=c&&$W("Expected 3 children, but was "+c,b);WW(a,b.b);dW(a,b.b.d)}else{c=T2b(b);4!=c&&$W("Expected 4 children, but was "+c,b);XW(a,b.b);FW(a,b.b.d);FW(a,S2b(b,2))}PV(a,b.b?b.b.f:null)}function Ucb(a,b){var c,d,e,f;oe(g3b(b));e=s3b(b,b.g,76);e!=b.g&&(b.g=e);b.g=new x4b(76,1,b.g);!!tib(b)&&mhb(a.b.t,leb(b,(ecb(),Dbb),QC(LC(pS,1),yAc,2,6,[])));if(agb(a.a,b))return;
c=(Shb(),d=dib(b),!d?null:Y2b(d,29));f=new MEb((fFc&c.a)==DBc?c.i:null);Pfb(a.a,b,f)}function TEb(a,b,c,d,e){Yyb.call(this,a);this.a=ie(e);this.c=ie(c);d!=null&&(b|=1);this.d=d;this.b=b;if(!Lyb(this))throw BU(new sjc(LZb("Cannot create type with bits <<<%x>>>, objs <<<%s>>>, typeVar <<<%s>>>, enums <<<%s>>>",QC(LC(kS,1),NAc,1,5,[Hjc(b),c,d,e]))));}function Dvb(){X_();new luc;this.q=new tvc;this.v=(o3(),c3);this.I=new s1;this.P=new pyc;this.r=new pyc;new luc;this.d=new dlc;this.e=new VY;this.o=new tuc;
this.F=(oV(),lV);this.G=($nb(),new eob(this));this.O=new A1;this.N=new cnb;this.a=new Poc;dx();Y_(this,this.N)}function QHb(a,b){var c,d;c=b.a;d=false;if(j8b(c)){a.a.e=BMb(a.a.e,(wNb(),UMb).a);d=a.a.a.c==(yGb(),sGb)}if(!!a.a.o&&a.a.o.contains(c)){a.a.e=BMb(a.a.e,(wNb(),cNb).a);d=a.a.a.c==(yGb(),sGb)}d&&a.a.d.ih("identifier is a reserved word",a.a.r,(GGb(),b.b.b.b+1),b.b.b.a)}function ye(a,b){var c,d,e,f;a=a;c=new elc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",f);if(e==-1)break;c.a+=""+a.substr(f,
e-f);$kc(c,b[d++]);f=e+2}Zkc(c,a,f,a.length);if(d<b.length){c.a+=" [";$kc(c,b[d++]);while(d<b.length){c.a+=LAc;$kc(c,b[d++])}c.a+="]"}return c.a}function pA(a,b){var c;if(b.i!=3)throw BU(new EB("Unknown version: "+b.i));c=b.b;if(c!=null&&c.length==0)throw BU(new EB("File entry is empty"));if(b.f){rA(a,b,null);return}a.b=b.c;a.e=b.g;a.d=b.e;a.b>=0?a.c=new Qoc(a.b):a.c=new Poc;Zg(a.a,b.a);wA(new BA(a,b.d))}function bD(a){var b,c,d;c=a.l;if((c&c-1)!=0)return-1;d=a.m;if((d&d-1)!=0)return-1;b=a.h;if((b&
b-1)!=0)return-1;if(b==0&&d==0&&c==0)return-1;if(b==0&&d==0&&c!=0)return Djc(c);if(b==0&&d!=0&&c==0)return Djc(d)+22;if(b!=0&&d==0&&c==0)return Djc(b)+44;return-1}function MW(a){var b,c,d;yW((f8b(),H7b),a);c=h8b(a.j);c!=-1&&(b=T2b(a),c!=b&&$W(YBc+c+ZBc+b,a));d=a.e;switch(d.j.f){case 28:case 23:a==d.b&&$W("SPREAD node is not callable.",a);break;case 42:break;default:$W("SPREAD node should not be the child of a "+d.j+" node.",a)}}function Iib(a,b){Shb();switch(a.j.f){case 71:return a.b==b;case 44:return a.b==
b||(a.b?a.b.f:null)==b;case 72:case 99:case 70:case 81:case 76:case 77:return(a.b?a.b.f:null)==b;case 66:case 67:case 68:return a.b!=b;case 69:return true;default:oe(Hib(a));return false}}function MIb(a,b){var c,d,e,f;switch(b.a.f){case 30:OHb(a,b,(wNb(),QMb));e=(f8b(),T5b);break;case 38:OHb(a,b,(wNb(),dNb));e=(f8b(),T6b);break;case 25:e=(f8b(),_7b);break;default:throw BU(new rjc);}f=SGb(a.a,e);for(d=b.b.Md();d.Ed();){c=d.Fd();H2b(f,kHb(a.a,c))}return f}function Whb(a,b,c){Shb();var d;switch(a.j.f){case 100:case 28:case 23:return true;
case 29:return!Gib(a,c)&&!b.contains(a.hi());case 26:case 27:return true;case 65:oe(a.j==(f8b(),r6b)&&!jjb(a.e));return false}for(d=a.b;d;d=d.d)if(Whb(d,b,c))return true;return false}function rwb(){rwb=aV;pwb=new k5("JSC_PRIMITIVE_OBJECT",(YX(),XX),new Hlc("Explicit creation of a {0} object."));qwb=new k5("JSC_PRIMITIVE_OBJECT_DECLARATION",XX,new Hlc("Declaration of {0} object instead of primitive type."));lm();Ao(QC(LC(kS,1),NAc,1,5,[vEc,xEc,HBc]))}function $xb(a,b,c,d,e,f,g,h,i,j,k){var l;!b&&(b=
(Mm(),Mm(),Lm));!c&&(c=(Mm(),Mm(),Lm));!h&&(h=(dx(),cx));!i&&(i=(Mm(),Mm(),Lm));if(d)for(l=c.size()-1;l>=0;l--)if(xyb(d,c.getAtIndex(l)))c.removeAtIndex(l);else break;return new Pxb(a,Um(b),Um(c),d,e,f,g,In(h),i,j,k)}function Lyb(a){if(wAc==a.b||-1==a.b)return true;if((a.b&2)!=0&&ie(a.c).isEmpty())return false;if((a.b&2)==0&&!ie(a.c).isEmpty())return false;if((a.b&4)!=0&&ie(a.a).isEmpty())return false;if((a.b&4)==0&&!ie(a.a).isEmpty())return false;return(a.b&1)!=0==(a.d!=null)}function jLb(a,b){var c;
if(b.j!=(f8b(),_6b)&&b.j!=J7b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[vAc]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);return false}if(b.hi().length==0){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["string parameter"]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function P0b(a,b,c,d,e){if(b>d)throw BU(new sjc("Recorded bad position information\nstart-line: "+b+BBc+"end-line: "+d));else if(b==d&&c>=e)throw BU(new sjc("Recorded bad position information\nline: "+b+BBc+"start-char: "+c+BBc+"end-char: "+e));a.f=b;a.e=
c;a.c=d;a.b=e}function K8(a){var b,c,d,e;d=Y2b(a,29);if(d){c=a.j==(f8b(),y6b)||W2b(a,73)!=0;if(c&&!!((fFc&d.a)==fBc?d.i:null))return(fFc&d.a)==fBc?d.i:null;else{e=F_b(d);if(e.size()==1)return G_b(d,js(F_b(d).Md()))}}return new B2b(new U3b((f8b(),w7b)),(b=Y2b(a,51),!b?null:b.Hg()))}function zcb(a){ecb();var b,c;Shb();if(a.j==(f8b(),n6b)&&a.b.j==n5b&&ycb(a.b.b))return true;if(a.j==m7b){c=a.e;if(c.j==n5b&&c.e.j==n6b&&c.b.j==x6b&&qkc(X2b(c.b).hi(),CCc))return true;b=Y2b(a,29);return!!b&&(!b.d?null:b.d.g)!=
null&&pkc(!b.d?null:b.d.g,CCc)}return false}function ddb(a,b){var c,d,e;d=(Shb(),e=dib(b),!e?null:Y2b(e,29));if(!!d&&(d.a&fFc)==kFc&&(c=(d.a&fFc)==kFc&&((fFc&d.a)==kFc?d.i:null).a.j==(f8b(),r6b),!(c||(d.a&fFc)==fBc||!!d.g||D_b(d)>0||(d.a&2)!=0||(d.a&EFc)!=0&&(d.a&fFc)!=kFc)))return false;return hgb(a.a,b)||mjb(b)}function Tqb(a,b,c){Sqb();var d,e,f,g,h,i,j,k,l;if(q3(a.H.Vb))for(j=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();j.Ed();){i=j.Fd();h=Y2b(i,89);if(!!h&&(l=CMb(h),!qkc(l,CDc)&&!qkc(l,"es5")))for(e=
c,f=0,g=e.length;f<g;++f){d=e[f];ohb();k=new Hhb(a,d,new p8(a));Bhb(k,i)}}}function qxb(a,b){var c,d,e,f,g;g=false;for(f=a.Md();f.Ed();){d=f.Fd();if(Iyb(d.a,b,new GEb((BBb(),BBb(),ABb)))){g=true;break}}if(!g)return a;c=(lm(),new Xq);for(e=a.Md();e.Ed();){d=e.Fd();Iyb(d.a,b,new GEb((BBb(),BBb(),ABb)))||(Eoc(c.a,ie(d)),c)}return zo(new kpc(c.a))}function Tzb(a,b,c,d,e,f,g,h){var i,j;i=h||c.j!=(f8b(),r6b)?null:Y2b(c.b,29);j=!b?null:(fFc&b.a)==fBc?b.i:null;if(d.j==(f8b(),E7b)&&!j)myb(g,a.a.B);else if(i){myb(g,
Vzb(a,i,f,e));!!j&&quc(a.i,leb(c,Mzb,QC(LC(pS,1),yAc,2,6,["the return type"])))}else myb(g,fAb(a,j,f,e))}function Pab(a,b){var c,d,e;if(!b)return jbb(),hbb;switch(b.j.f){case 94:return jbb(),dbb;case 43:return jbb(),gbb;case 65:return jbb(),ebb;case 61:return Pab(a,b.b?b.b.f:null);case 60:c=b.b.d;d=Pab(a,c);if(d!=(jbb(),hbb))return d;e=c.d;return Pab(a,e)}return jbb(),hbb}function YAb(a,b){var c;c=b.r;a.O=b;a._=Eyb(b.q);a.R=mDb(a,c,(BBb(),BBb(),ABb),null,null,true,(xCb(),vCb));a.$=azb(a._);azb(mDb(a,
c,(null,ABb),null,null,false,uCb));a.Z=azb(mDb(a,c,(null,ABb),null,null,false,tCb));a.M=new TCb(a,!a.O?null:a.O.r,ie(a.d),null,null,false,vCb)}function EJb(a,b){var c,d;c=false;if(b==(BKb(),kKb)){b=!a.o?IKb(a.j):eJb(a);if(b==wKb){a.o=b;return WJb(a,(f8b(),c6b),new U3b(d6b))}c=true}d=JJb(a,b);if(d){UJb(a);if(c)d=WJb(a,(f8b(),c6b),d);else if(mJb(a,oKb)){!a.o?IKb(a.j):eJb(a);UJb(a);d=WJb(a,(f8b(),i6b),d)}}return d}function HLb(a,b){var c,d,e;if(!fLb(a,b,(jMb(),hMb)))return false;e=(fe(b.j==(f8b(),J5b),
THc,b),T2b(b)-1);for(d=0;d<e;d++)if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,d+1)))){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["union type"]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function hcb(a,b,c){var d,e;ae(b.e.j==(f8b(),J5b));if(b.j==S7b||b.j!=r6b&&!g3b(b))return null;if(b.j==r6b)return Yfb(c,jcb(a,b)).c;oe(g3b(b));d=Sfb(c,YDb(b),false);if(!d)return null;if(d.a)return d.a.c;if(d.d){e=zyb(d.d);if(!!e&&e.n.isEmpty())return Mxb(e)}return null}function ldb(a,b,c){var d;if(b.g!=0&&!!c){d=a.c.f.Wf();
c.j==(f8b(),r6b)&&(Shb(),!(c.j==r6b&&!jjb(c.e)&&Lib(c.b?c.b.f:null)))?mhb(a.c.t,leb(c,(ecb(),Qbb),QC(LC(pS,1),yAc,2,6,[]))):c.j!=r6b&&!(d!=null&&m3b(c,d,d.length))&&mhb(a.c.t,leb(c,(ecb(),Sbb),QC(LC(pS,1),yAc,2,6,[])))}}function Zdb(){Zdb=aV;Ydb=new k5("JSC_J2CL_REFERENCE_EQUALITY",(YX(),XX),new Hlc("Reference equality may not be used with the specified type: {0}"));new jx(QC(LC(ST,1),iBc,58,0,[(bl(MFc,NFc),Av(),new Yp(MFc,NFc)),(bl(OFc,PFc),new Yp(OFc,PFc)),(bl(QFc,RFc),new Yp(QFc,RFc))]))}function UCb(a,
b,c,d,e){var f,g,h;h=d.d;f=a?new IDb(d.c,Qyb(d.d,e.d),d.b,NDb(d.a,e.a)):new IDb(d.c==e.c?d.c:null,jzb(d.d,e.d),null,NDb(d.a,e.a));g=f.d;if(0==g.$h())return g.e.d;if(wAc!=g.$h()&&Iyb(g,h,new GEb((BBb(),BBb(),ABb)))&&!xyb(g,h))return DBb(b,c,f);return EBb(b,c)}function _Pb(a,b,c){var d,e,f;!c&&(c=new CWb(dPb(a,VRb(a.j,0).b.b)));YOb(a,(MUb(),jUb));jRb(a,jUb)?e=new CWb(dPb(a,VRb(a.j,0).b.b)):e=kPb(a,1);YOb(a,jUb);jRb(a,XSb)?f=new CWb(dPb(a,VRb(a.j,0).b.b)):f=kPb(a,1);YOb(a,XSb);d=SQb(a);return new PVb(new fZb(b,
a.g),c,e,f,d)}function kLb(a){var b,c,d,e,f;d=new kGb(new tuc,new tuc,(yGb(),uGb),1);f=$Kb(a.b,a.f,d,a.a);c=f.a;if(c.j!=(f8b(),D7b)||c.b.j!=n6b){a.a.jh((b=QC(LC(kS,1),NAc,1,5,[VHc]),EHc+f5b(WHc,b)),a.b.Hg(),a.d,a.c);return false}e=c.b.b;if(!ELb(a,e))return false;gLb(a,e);a.e=e;return true}function pRb(b){var c;if(b.b.c&&jRb(b,(MUb(),STb))||jRb(b,(MUb(),QTb))){c=new GRb(b.b,new $Yb,b.j.e,MRb(b.j),cAc(boc(b.e)));try{gPb(c);aQb(c,2);jRb(c,(MUb(),ZSb))&&(YOb(c,ZSb),YQb(c));return jRb(c,LSb)}catch(a){a=
AU(a);if(DD(a,379))return false;else throw BU(a);}}return false}function clb(a){var b,c,d,e,f;f=new luc;for(d=new kpc(a.w);d.a<d.c.a.length;){c=ipc(d);e=c.j;b=e==null?hh(Luc(f.d,null)):_uc(f.e,e);if(!b){b=new mlb(e,c.i);e==null?Muc(f.d,null,b):avc(f.e,e,b)}b.n=CU(b.n,c.n);b.a=Wjc(b.a,c.a);++b.k;b.d+=c.d;b.b+=c.b;b.e+=c.e;b.f+=c.f}a.I=In(f)}function CHb(a){GGb();switch(a.f){case 76:return f8b(),h7b;case 77:return f8b(),D5b;case 63:return f8b(),v7b;case 64:return f8b(),e7b;case 9:return f8b(),$5b;case 24:return f8b(),
W7b;case 26:return f8b(),a8b;default:throw BU(new sjc(!a?FAc:a.a==null?(BOb(),co(cOb,a)).b:a.a));}}function hD(a){var b,c,d,e,f;if(isNaN(a))return wD(),vD;if(a<-9223372036854775808)return wD(),tD;if(a>=0x7fffffffffffffff)return wD(),sD;e=false;if(a<0){e=true;a=-a}d=0;if(a>=PBc){d=KD(a/PBc);a-=d*PBc}c=0;if(a>=OBc){c=KD(a/OBc);a-=c*OBc}b=KD(a);f=VC(b,c,d);e&&_C(f);return f}function h0(a){var b,c,d,e,f,g,h;f=a.H.pb;if(f.a.a.isEmpty())return O1(new H1(a));else{b=new dlc;for(e=rs(new urc(f.a.b.Md()));e.Ed();){d=
e.Fd();g=p0(a,d);h=g?(c=Y2b(g,51),"// "+(!c?null:c.Hg())+BBc+(!a.H&&C0(a,new v2),c1(a,g,true))):"File '"+d+"' not found";b.a+=h}return b.a}}function f6(a,b,c){var d;d=b.b.j==(f8b(),d6b);Shb();if(b.j==O5b&&Jib(b.e)||d&&c.j==_6b||d&&c.j==n5b&&c.e.j==n6b)return false;if(Xhb(b,false,null)||g9(a.c,b)!=1){Q0(a.b,leb(b,(F8(),A8),QC(LC(pS,1),yAc,2,6,["class expression that cannot be extracted"])));return false}return true}function dAc(a,b){var c,d,e,f;a=a;c=new elc;f=0;d=0;while(d<b.length){e=a.indexOf("%s",
f);if(e==-1)break;_kc(c,a.substr(f,e-f));$kc(c,b[d++]);f=e+2}_kc(c,a.substr(f,a.length-f));if(d<b.length){c.a+=" [";$kc(c,b[d++]);while(d<b.length){c.a+=LAc;$kc(c,b[d++])}c.a+="]"}return c.a}function idb(a,b){var c,d,e;d=(Shb(),e=dib(b),!e?null:Y2b(e,29));if(!!d&&(c=(d.a&fFc)==kFc&&((fFc&d.a)==kFc?d.i:null).a.j==(f8b(),r6b),c||(d.a&fFc)==fBc||!!d.g||D_b(d)>0||(d.a&2)!=0||(d.a&EFc)!=0&&(d.a&fFc)!=kFc))return null;if(ocb(a.c,b)&&!mdb(a,b))return cdb(a,b);return null}function mbc(a,b,c){var d,e,f,g,
h;e=null;if(t9b(a.a,b.a,0,new gcc(true)))e=a.a.a;else return null;f=c?a.a.b.ti(b.a.b):a.a.b.si(b.a.b);h=null;if(Q8b(a.j,b.j))h=a.j;else{d=c?a.j.ti(b.j):a.j.si(b.j);h=d}g=a.a.c||b.a.c;return new nbc(a.u,null,new z9b(a.u,e,f,g),h,null,false,false)}function vdc(){tdc();return QC(LC(lR,1),SAc,30,0,[scc,rcc,vcc,ucc,tcc,wcc,ycc,xcc,zcc,Acc,Bcc,Ccc,Dcc,Ecc,Fcc,Mcc,Scc,Pcc,Occ,Ycc,Ucc,Xcc,Zcc,$cc,_cc,adc,cdc,bdc,edc,ddc,fdc,hdc,idc,ldc,mdc,pdc,qdc,rdc,sdc,jdc,gdc,Tcc,qcc,Lcc,Jcc,Kcc,Gcc,ndc,odc,Icc,Hcc,Ncc,
Vcc,Wcc,Rcc,Qcc,kdc])}function GHb(a,b,c,d){var e,f;i3b(d)||a.a.d.ih(LZb("Invalid %s %s operand.",QC(LC(kS,1),NAc,1,5,[c?"postfix":"prefix",b==(f8b(),I6b)?"increment":"decrement"])),a.a.r,b4b(d.i),a4b(d.i));e=TGb(a.a,b,d);f=s3b(e,e.g,32);f!=e.g&&(e.g=f);(c?1:0)!=0&&(e.g=new x4b(32,c?1:0,e.g));return e}function sPb(a){var b,c;c=VRb(a.j,0).b.b;b=(Mm(),new iq);YOb(a,(MUb(),STb));while(iRb(a,0,mUb)||oRb(a)){gq(b,yPb(a));if(!jRb(a,XSb)){YOb(a,$Sb);jRb(a,XSb)&&CRb(a,"Invalid trailing comma in arguments list",
QC(LC(kS,1),NAc,1,5,[]))}}YOb(a,XSb);return new XUb(new fZb(c,a.g),Um(b.a))}function UPb(a){var b,c,d,e;e=VRb(a.j,0).b.b;b=cRb(a);if(jRb(a,(MUb(),pUb))){b.p==(vYb(),mYb)&&CRb(a,"Unary operator '%s' requires parentheses before '**'",QC(LC(kS,1),NAc,1,5,[b.b]));a.d=BMb(a.d,(wNb(),VMb).a);c=jPb(a);d=UPb(a);return new bVb(new fZb(e,a.g),b,c,d)}else return b}function mB(a,b){var c,d,e,f,g,h,i;g=new koc;for(d=new kpc(a.c.e);d.a<d.c.a.length;){c=ipc(d);while(g.b!=g.c&&!kB(g.a[g.b],c)){f=goc(g);lB(a,b,f)}e=
g.a[g.b];h=jB(a,c.e);i=iB(a,c.e);oe(a.b<h||a.a<=i);(a.b<h||a.b==h&&a.a<i)&&nB(a,b,e,h,i);Unc(g,c)}while(g.b!=g.c){c=goc(g);lB(a,b,c)}}function K9(a){var b,c,d,e,f;f=O2b((Shb(),ae(a.j==(f8b(),r6b)),a.b.d),false);e=f.b;while(!!e&&e.j==_6b){d=Y2b(e,40);d!=null&&e.mi(d);e=e.d}c=t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,"")),f,(b=new U3b(G5b),b));if(DD(a.k,21)?a.k:null){B3b(c,DD(a.k,21)?a.k:null);M9(c)}return c}function tmb(a,b,c){var d,e,f,g;e=(b.b?b.b.f:null).hi();c.e.j==(f8b(),T5b)||Q0(a.a.c,
leb(c.e,(lmb(),jmb),QC(LC(pS,1),yAc,2,6,[])));if(c.j==n7b)for(d=c.b;d;d=d.d)!!d.b||H2b(d,Q3b(G$b(d.hi()),d));f=R3b(yjb(a.a.c,e),b);t3b(c,b,f);g=c.e;G2b(g.e,R3b((oe(C$b(b)),new W3b(n6b,b)),b),g)}function iDb(a,b,c,d){var e,f,g,h,i,j;f=(BBb(),BBb(),ABb);for(h=Fx(ux(new Kmc(a),new Kmc(b)));h.Ed();){g=h.Fd();i=bDb(a,c,g);j=bDb(b,d,g);e=null;!i?e=j.a==(TDb(),RDb)?j:new IDb(j.c,j.d,j.b,RDb):!j?e=i.a==(TDb(),RDb)?i:new IDb(i.c,i.d,i.b,RDb):e=LDb(i,j);f=DBb(f,g,e)}return f}function C6(a,b,c){var d,e,f,g;
f=s3b(b,b.g,60);f!=b.g&&(b.g=f);e=s3b(b,b.g,85);e!=b.g&&(b.g=e);b.g=new x4b(85,1,b.g);d=b.b?b.b.f:null;if(d.j!=(f8b(),G5b)){oe(!!d.e);p3b(d.e,d);d=T3b(h$b((oe(C$b(d)),new W3b(B7b,d))),d);H2b(b,d)}g=new I6;Ihb(a.a,d,g);c.d=c.d||g.b;c.c=c.c||g.a;R0(a.a)}function jqb(a,b,c){var d,e,f;e=c;f=b;while(true){if(e.b!=f){t3b(e,f,new U3b((f8b(),i7b)));break}if(e.j==(f8b(),n6b)){d=e.e;Ejb(d,e);break}if(e.j==n5b){d=e.e;t3b(d,e,Q2b(e.b?e.b.f:null));break}Shb();if(!(e.j==x6b||e.j==w6b)&&e.j!=J5b){t3b(e,f,new U3b(i7b));
break}f=e;e=e.e}R0(a.a.a)}function IB(a,b){var c;if(a>=AAc&&a<=GBc){c=(Rzc(a>=0&&a<=GBc),a>=AAc?QC(LC(MD,1),zAc,46,15,[BAc+(a-AAc>>10&CAc)&DAc,EAc+(a-AAc&CAc)&DAc]):QC(LC(MD,1),zAc,46,15,[a&DAc]));IB(c[0],b);IB(c[1],b);return}Tkc(Tkc(Tkc(Tkc((b.a+="\\u",b),GB[a>>>12&15]),GB[a>>>8&15]),GB[a>>>4&15]),GB[a&15])}function V3(a,b){var c,d,e,f,g,h,i;j:for(i=b.b.Md();i.Ed();){h=i.Fd();g=(A4(),Jlc(z4,h)||Plc(z4,h,new D4(h)),Mlc(z4,h));for(f=(d=(new Jnc(a.c.a)).a.oe().b.Cj(),new Pnc(d));f.a.Ed();){e=(c=f.a.Fd(),
c.ye());if(e.Lg(g))continue j;else if(e.Mg(g))return false}return false}return true}function iz(){iz=aV;hz=new Fz("base64()",vBc,Kic(61));new Fz("base64Url()","ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",Kic(61));new xz("base32()","ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",Kic(61));new xz("base32Hex()","0123456789ABCDEFGHIJKLMNOPQRSTUV",Kic(61));new Cz}function eib(a){Shb();var b,c;c=a.e;b=a.j==(f8b(),r6b)&&Jib(a.e);if(b)return a.b;else if(c.j==_6b)return c;else if(c.j==n5b)return c.b;
else if(bjb(c))return c;else if(c.j==A6b&&c.b!=a||c.j==p7b||c.j==h5b||c.j==R5b&&c.b!=a)return eib(c);else if(c.j==M5b)return eib(c);return null}function ayb(a,b){var c;if(!a)return null;c=a.$h()==2&&a._h().size()==1?js(a._h().Md()).d:null;if(!c)return Syb(a,b);if(c.a.p.isEmpty())return!c.a.p.isEmpty()&&!c.b.d.d.isEmpty()?azb(mDb(c.a.t,c,null,null,null,false,c.a.i)):c.a.q;if(b.isEmpty())return a;return azb(ZCb($Bb(c,b)))}function aQb(a,b){var c,d,e;d=VRb(a.j,0).b.b;YOb(a,(MUb(),STb));e=(Mm(),new iq);
while(sRb(a,b)){gq(e,DQb(a,b));if(!jRb(a,XSb)){c=YOb(a,$Sb);jRb(a,XSb)&&ARb(a,c,"Invalid trailing comma in formal parameter list",QC(LC(kS,1),NAc,1,5,[]))}}YOb(a,XSb);return new QVb(new fZb(d,a.g),Um(e.a))}function MHb(a,b){a.a.e=BMb(a.a.e,(wNb(),$Mb).a);if(a.a.a.c==(yGb(),sGb)){a.a.d.ih("getters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.r,(GGb(),b.o.b.b+1),0);return true}return false}function NHb(a,
b){a.a.e=BMb(a.a.e,(wNb(),oNb).a);if(a.a.a.c==(yGb(),sGb)){a.a.d.ih("setters are not supported in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",a.a.r,(GGb(),b.o.b.b+1),0);return true}return false}function DCb(a,b,c){var d,e,f,g,h,i,j;f=QBb(b);j=RBb(b);for(e=new mmc((new emc(a.g.a)).a);e.b;){d=lmc(e);g=d.ye();h=d.ze().d;if(64==f.$h()&&(i=fA(g),!(!i||MU(i.a,RU(i.a))?null:Hjc(RU(i.a)))))return false;if(64!=f.$h()&&128!=f.$h())return false;
if(!Iyb(h,j,c))return false}return true}function iGb(){gGb();return QC(LC(NN,1),SAc,28,0,[FFb,aFb,bFb,cFb,dFb,eFb,TFb,fFb,gFb,hFb,iFb,jFb,kFb,nFb,oFb,lFb,mFb,pFb,qFb,rFb,sFb,tFb,uFb,vFb,wFb,xFb,yFb,zFb,AFb,BFb,CFb,DFb,EFb,HFb,IFb,JFb,KFb,GFb,LFb,MFb,NFb,OFb,PFb,QFb,RFb,SFb,UFb,VFb,WFb,XFb,YFb,ZFb,$Fb,_Fb,aGb,bGb,cGb,dGb,eGb])}function HZb(a){var b,c,d;if(!DD(a.a,210))return null;c=a.a;b=njc(c);d=null;if(isNaN(b))d="NaN";else if(b==Infinity)a.b.d?d="+Infinity":a.b.j?d=" Infinity":d=dGc;else if(b==
-Infinity)a.b.g?d="(Infinity)":d="-Infinity";else return null;a.b.n=-1;a.b.k=false;return xZb(a,d,0)}function B9(a){var b,c;this.f=new Poc;this.b=a;this.c=new luc;this.g=(b=new U3b((f8b(),G5b)),b);z3b(this.g);this.a=new tuc;this.i=new luc;this.e=new Poc;this.d=new Poc;c=g0(this.b);Eoc(this.e,c.Zf());Eoc(this.d,c.Yf());Eoc(this.e,"google_exportSymbol");Eoc(this.d,"google_exportProperty")}function tLb(a,b){var c;if(!fLb(a,b,(jMb(),ZLb)))return false;if((fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)).j!=J7b){a.a.jh((c=
QC(LC(kS,1),NAc,1,5,[CEc]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);KLb(a,ZLb.d);return false}if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,2)))){KLb(a,ZLb.d);return false}return true}function KQb(a){var b,c,d,e,f;e=VRb(a.j,1).c;if(e==(MUb(),sUb)||e==PTb||e==uTb||(BOb(),BOb(),!!co(cOb,e)))return LPb(a,new KRb(VRb(a.j,0).b.b));else{d=VRb(a.j,0).b.b;YOb(a,nUb);c=NPb(a);b=new bWb((gWb(),eWb));dQb(a,b,true);f=SVb(b,new fZb(d,a.g));return new zVb(new fZb(d,a.g),null,c,f)}}function z7(a){var b,c;if(a.d.b){c=u7(a,r3b(a.d).hi());
if(!c){Q0(a.a,leb(a.d,(F8(),B8),QC(LC(pS,1),yAc,2,6,["Breaking to a label that is not a loop"])));return}b=c.a}else b=Hoc(a.c,0).a;H2b(a.e,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b((f8b(),_6b),TEc)),new C4b(b))));H2b(a.e,L7())}function kbc(a,b,c){var d,e,f,g,h;f=!a.f?null:a.f.e;g=!!f;a.f=new efc(CCc,b,true,!c?a.g:c);b.gj(a);!!f&&f.gj(null);if(a.lj()||a.e==2){h=hbc(a);!!h&&(!h.i&&(h.i=new Poc),Eoc(h.i,a));if(a.e==2)for(e=rs(new urc(a.b.a.b.Md()));e.Ed();){d=e.Fd();!!d.Xi()&&Zac(d.Xi(),a)}}g&&
bbc(a);return true}function Td(a){var b,c,d,e,f,g,h;f=a.d;d="";c=Ukc(_kc(new elc,a.a),123);for(h=a.b.b;h;h=h.b){g=h.c;if(!f||g!=null){c.a+=d;d=LAc;h.a!=null&&Ukc(_kc(c,h.a),61);if(g!=null&&(pb(g).g&4)!=0){e=QC(LC(kS,1),NAc,1,5,[g]);b=upc(e,new tuc);Zkc(c,b,1,b.length-1)}else c.a+=""+g}}return(c.a+="}",c).a}function nQb(a){var b,c,d,e,f,g;e=VRb(a.j,0).b.b;YOb(a,(MUb(),ATb));d=ZOb(a);c=gPb(a);f=(Mm(),new iq);if(jRb(a,oTb)){YOb(a,oTb);g=YQb(a);Eoc(f.a,ie(g));while(jRb(a,$Sb)){YOb(a,$Sb);g=YQb(a);!!g&&
(Eoc(f.a,ie(g)),f)}}YOb(a,RTb);b=pQb(a);YOb(a,WSb);return new rWb(new fZb(e,a.g),d,c,Um(f.a),b)}function Ao(a){lm();var b,c,d,e,f,g;g=new Xvc;cqc(g,a);for(c=(f=(new Kmc(g.a)).a.oe().Md(),new Qmc(f));c.a.Ed();){b=(d=c.a.Fd(),d.ye());ie(b)}switch(g.a.size()){case 0:return lx(),kx;case 1:return new cy((e=(new Kmc(g.a)).a.oe().Md(),d=(new Qmc(e)).a.Fd(),d.ye()));default:return new mx(g)}}function hkb(a,b,c){var d,e,f,g,h,i;Fhb(new Ghb(a.b,new xkb(a.b,a.a)),b,c);e=new jfb;f=new Ghb(a.b,e);Fhb(f,b,c);g=
new Ikb;h=new sqb(a.b,new mkb(a));i=new Hhb(a.b,g,h);Fhb(i,b,c);Ckb(new Dkb(a.b,a.a),b,c);d=new okb;Ihb(a.b,c,d);d.a.a.size()==0||Ihb(a.b,c,new Gkb(a,d.a));kV(a.b.Y)||(a.b.Y=1)}function avb(a,b){var c,d,e,f;f=(lvb(),c=Akc(Akc(Akc(Akc(Akc(zkc(zkc(b,58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(c));Jub();if(qkc(b.substr(0,"./".length),"./")||qkc(b.substr(0,"../".length),"../")){e=a.a;d=wkc(e,Nkc(47));f=mvb(e.substr(0,d+1)+(""+f))}return Pub(f,a.b.c)}function sIb(a,b){var c,d;if(!b)return XGb(a.a,
(f8b(),_6b),BHc);else if(b.c==(MUb(),uTb))d=oIb(a,b,true);else if(b.c==PTb){d=lHb(a.a,b);c=s3b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new x4b(36,1,d.g)}else{d=zIb(a,b);c=s3b(d,d.g,36);c!=d.g&&(d.g=c);d.g=new x4b(36,1,d.g)}oe(d.j==(f8b(),J7b));return d}function xIb(a,b){var c,d,e,f,g,h,i,j,k;i=b.a;f=YGb(a.a,(j=i.a,k=wkc(j,Nkc(47)),j.substr(1,k-1)));gHb(f,i.b.b,i.b.a);g=TGb(a.a,(f8b(),y7b),f);h=i.a;e=wkc(h,Nkc(47));c="";e<h.length&&(c=h.substr(e+1,h.length-(e+1)));TIb(a,b,c);if(c.length!=0){d=YGb(a.a,c);gHb(d,
i.b.b,i.b.a);H2b(g,d)}return g}function lc(){gc.call(this,Ikc("\x00\u007f\u00ad\u0600\u061c\u06dd\u070f\u1680\u180e\u2000\u2028\u205f\u2066\u2067\u2068\u2069\u206a\u3000\ud800\ufeff\ufff9\ufffa"),Ikc(" \u00a0\u00ad\u0604\u061c\u06dd\u070f\u1680\u180e\u200f\u202f\u2064\u2066\u2067\u2068\u2069\u206f\u3000\uf8ff\ufeff\ufff9\ufffb"))}function l1b(a,b,c,d,e){var f,g,h,i;if(a.b){h=new V0b;be(b.charCodeAt(0)!=32&&lkc(b,b.length-1)!=32,PIc);h.d=b;P0b(h,d,e,d,e+b.length);g=new R0b;f=new V4b((f8b(),_6b),b,
d,e);C3b(f,b.length);i=s3b(f,f.g,51);i!=f.g&&(f.g=i);!!c&&(f.g=new H4b(51,c,f.g));g.d=f;P0b(g,d,e,d,e+b.length);L0b(a.b,g)}}function hjb(a){switch(a.f){case 13:case 3:case 20:case 1:case 2:case 46:case 16:case 4:case 18:case 9:case 27:case 26:case 8:case 41:case 7:case 10:case 6:case 17:case 15:case 5:case 19:case 11:case 36:case 37:case 14:case 25:case 78:case 21:case 22:case 12:return true;default:return false}}function t9b(a,b,c,d){var e,f,g,h;g=a.a.b;e=b.a.b;while(!!g&&!!e){h=DD(g.k,21)?g.k:null;
f=DD(e.k,21)?e.k:null;if(h){if(!!f&&!u8b(h,f,c,d))return false}else if(f)return false;if(W2b(g,37)!=0!=(W2b(e,37)!=0))return false;if(W2b(g,30)!=0!=(W2b(e,30)!=0))return false;g=g.d;e=e.d}return g==e}function qsb(a,b){var c,d,e;c=(Shb(),d=dib(b),!d?null:Y2b(d,29));if(!c&&b.j!=(f8b(),r6b))return"";e=DD(b.k,21)?b.k:null;return!e?"":e.Oi()?psb(a,b):(e.Ni(),!e.Ji()&&!(e.Ci()||e.Ai()||e.Bi()||Ldc(e.u,(tdc(),Icc))==e)&&!e.Ki()&&!e.zi()?"/** @type {"+(DD(b.k,21)?b.k:null).Ti(true)+"} */\n":"")}function gac(a,
b,c,d){var e,f,g,h,i,j;for(j=(f=(new Jnc(Q9b(b).a)).a.oe().b.Cj(),new Pnc(f));j.a.Ed();){i=(e=j.a.Fd(),e.ye());h=b.bj(i);if(!(a.Ci()||a.Ai()||a.Bi()||Jdc(a.u,(tdc(),Icc))==a||a.Ji()||!!a.dj(i))){if(h.yi())continue;return false}g=a.bj(i);if(!g.Ii(h,c,d))return false}return true}function UV(a,b,c){var d,e,f,g,h,i;q3(a.a.v)||$W("Feature 'classes' is only allowed in ES6 mode.",b);yW((f8b(),O5b),b);g=h8b(b.j);g!=-1&&(e=T2b(b),g!=e&&$W(YBc+g+ZBc+e,b));h=b.b;h.j==d6b?(f=T2b(h),0!=f&&$W(XBc+f,h)):sW(h);i=
h.d;i.j==d6b?(d=T2b(i),0!=d&&$W(XBc+d,i)):dW(a,i);WV(a,b.b?b.b.f:null,c)}function vlb(a,b){var c,d,e,f,g;c=new Hlb(a);f=false;for(e=new kpc(b);e.a<e.c.a.length;){d=ipc(e);if(d.a){if(f){Eoc(a.n,c);c=new Hlb(a);f=false}Eoc(a.n,new Klb(a,d))}else{g=d.b;fe(!ruc(c.a,g),"Already a pass with name '%s' in this loop",g);quc(c.a,g);Eoc(c.b,new Klb(c.d,d));f=true}}f&&Eoc(a.n,c)}function eCb(a,b,c,d,e){var f,g,h,i;b=PBb(b,a);if(!b)return false;if(a.a.p.isEmpty())return true;oe(!a.b.d.d.isEmpty());if(b.b.d.d.isEmpty())return true;
g=true;for(i=a.a.p.Md();i.Ed();){h=i.Fd();f=co(b.b,h);le(f,"Type variable %s not found in map %s",h,b.b);g=g&&Uyb(co(a.b,h),f,c,d,e)}return g}function AQb(a){var b,c,d;d=VRb(a.j,0).b.b;c=(Mm(),new iq);YOb(a,(MUb(),RTb));b=null;while(tRb(a,0)||VRb(a.j,0).c==TTb||jRb(a,nUb)||Xtc(Ttc(dUb,QC(LC(pO,1),SAc,13,0,[cUb,bUb])),VRb(a.j,0).c)){b=null;gq(c,JQb(a));b=aPb(a,$Sb);if(!b)break}YOb(a,WSb);iPb(a,b);return new DWb(new fZb(d,a.g),Um(c.a))}function GKb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-
a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=lkc(a.k,a.i++);if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{if(b>127)continue;if(QKb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function dRb(a){var b,c,d,e,f;f=VRb(a.j,0).b.b;if(yRb(a)){e=jPb(a);d=cRb(a);return new TYb(new fZb(f,a.g),e,0,d)}else{b=qQb(a);if(yRb(a)&&(c=VRb(a.j,0).b.b.b>a.g.b,!(c||iRb(a,0,(MUb(),jUb))||iRb(a,0,(MUb(),WSb))||iRb(a,0,(MUb(),hTb))))){e=jPb(a);return new TYb(new fZb(f,
a.g),e,1,b)}else return b}}function Mxb(a){var b,c,d,e;if(a==a.a.s)return Swb(a.a);te(!a.c,"Loose function: %s",a);te(a.n.isEmpty(),"Generic function: %s",a);b=new qyb(a.a);for(e=a.i.Md();e.Ed();){c=e.Fd();kyb(b,c)}for(d=a.e.Md();d.Ed();){c=d.Fd();gyb(b,c)}lyb(b,a.j);myb(b,a.k);fyb(b,a.d);jyb(b,a.g);dyb(b,a.b);return oyb(b)}function cIb(a,b){var c,d,e;OHb(a,b,(wNb(),gNb));c=null;if(b.e)oe(!b.a&&!b.b);else if(b.a){oe(!b.b);c=iHb(a.a,b.a)}else c=PIb(a,(f8b(),m6b),b.b);!c&&(c=SGb(a.a,(f8b(),d6b)));b4b(c.i)==
-1&&gHb(c,b.o.b,b.o.a);d=TGb(a.a,(f8b(),k6b),c);if(b.c){e=zIb(a,b.c);H2b(d,e)}n3b(d,64,b.e);n3b(d,63,b.d);return d}function hqb(a,b){var c,d,e,f,g,h;if(b!=null){for(h=(e=(new Kmc(a.a.e.a)).a.oe().Md(),new Qmc(e));h.a.Ed();){f=(c=h.a.Fd(),c.ye());if(qkc(b,f))return true}for(g=(d=(new Kmc(a.a.d.a)).a.oe().Md(),new Qmc(d));g.a.Ed();){f=(c=g.a.Fd(),c.ye());if(qkc(b.substr(0,f.length),f))return true}}return false}function uLb(a,b){var c;if(!fLb(a,b,(jMb(),$Lb)))return false;if((fe(b.j==(f8b(),J5b),THc,
b),S2b(b,1)).j!=J7b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["property name"]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);KLb(a,$Lb.d);return false}if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,2)))){KLb(a,$Lb.d);return false}return true}function SQb(a){var b;if(iRb(a,0,(MUb(),uTb))&&qkc(VRb(a.j,0).a,KCc)&&(b=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(b||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&iRb(a,1,sTb))return zPb(a);if(iRb(a,0,sTb))return cQb(a);if(iRb(a,0,USb))return IPb(a,false,false);if(jRb(a,ETb))return gRb(a);return WQb(a)}
function Ggc(a,b,c){var d,e,f,g,h,i,j;ie(b);ie(c);ae(c.size()<=b.size());this.b=a;this.d=b;this.e=c;g=new Kgc(a,this);f=this.e.size();e=this.d.size();h=NC(oR,NAc,21,e,0,1);for(d=0;d<e;d++)if(d<f){i=this.d.getAtIndex(d);g.a=i;j=this.e.getAtIndex(d);h[d]=j.Ui(g)}else h[d]=Ldc(a,(tdc(),pdc));this.c=h}function mA(a,b,c){var d,e;--b;--c;if(b<0||b>=a.c.a.length)return null;oe(b>=0);oe(c>=0);if(Hoc(a.c,b)==null)return oA(a,b);d=Hoc(a.c,b);oe(d.a.length!=0);if((Xzc(0,d.a.length),d.a[0]).sf()>c)return oA(a,
b);e=uA(d,c,0,d.a.length-1);qe(e>=0,"unexpected:%s",e);return nA(a,(Xzc(e,d.a.length),d.a[e]))}function Twc(a,b,c,d){var e,f;if(!b)return c;else{e=a.a.Ie(c.d,b.d);if(e==0){d.d=bnc(b,c.e);d.b=true;return b}f=e<0?0:1;b.a[f]=Twc(a,b.a[f],c,d);if(Uwc(b.a[f]))if(Uwc(b.a[1-f])){b.b=true;b.a[0].b=false;b.a[1].b=false}else Uwc(b.a[f].a[f])?b=_wc(b,1-f):Uwc(b.a[f].a[1-f])&&(b=$wc(b,1-f))}return b}function Mfb(a,b,c){var d,e,f,g;DD(c,160)&&quc(a.i,c);if(b.j==(f8b(),_6b)){g=b.hi();oe(!a.k.containsKey(g));a.k.put(g,
c);d=Y2b(b,51);!!d&&d.Kh()&&!a.e.containsKey(g)&&a.e.put(b.hi(),null)}else{oe(!agb(a,b));e=YDb(b);f=Xfb(a,e.a.getAtIndex(0));Uwb(f,(ae(e.a.size()!=1),new WDb(e.a.Se(1,e.a.size()))),c)}}function tPb(a){var b,c,d;c=VRb(a.j,0).b.b;b=(Mm(),new iq);YOb(a,(MUb(),TTb));d=null;while(jRb(a,$Sb)||jRb(a,mUb)||oRb(a)){d=null;jRb(a,$Sb)?gq(b,new CWb(dPb(a,VRb(a.j,0).b.b))):jRb(a,mUb)?gq(b,UQb(a)):gq(b,xPb(a,1));jRb(a,YSb)||(d=YOb(a,$Sb))}YOb(a,YSb);iPb(a,d);return new YUb(new fZb(c,a.g),Um(b.a))}function A0(a){var b,
c,d,e,f;a.t=new luc;for(e=new kpc(a.j);e.a<e.c.a.length;){c=ipc(e);b=c.f;f=N0(a,b,c);!!f&&Q0(a,new heb(null,null,-1,-1,R_,null,QC(LC(pS,1),yAc,2,6,[c.f.a])))}for(d=a.s.Md();d.Ed();){c=d.Fd();b=c.f;f=N0(a,b,c);!!f&&Q0(a,new heb(null,null,-1,-1,S_,null,QC(LC(pS,1),yAc,2,6,[c.f.a])))}}function Qub(a,b){var c,d,e,f,g;g=new tuc;for(f=qs(a.a.Md(),a.b);f.b.Ed();){e=Ns(f,f.b.Fd());if(!quc(g,Pub((lvb(),c=Akc(Akc(Akc(Akc(Akc(zkc(zkc(e,58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(c)),b)))throw BU(new Geb("Duplicate module path after resolving: "+
e));}return lm(),d=g,yo(d)}function RCb(a){var b,c,d,e,f,g;if(a==a.a._)return a.a.R;if(a.c||!!a.d&&aCb(a.d)||!!a.e)return a;b=!a.b?null:Oxb(a.b);c=(BBb(),BBb(),ABb);for(g=new mmc((new emc(a.g.a)).a);g.b;){f=lmc(g);d=f.ye();e=f.ze();c=DBb(c,d,e.a==(TDb(),SDb)?e:new IDb(e.c,e.d,e.b,SDb))}return new TCb(a.a,a.d,c,b,null,true,a.f)}function pgb(a,b,c,d){var e;this.o=new tvc;this.b=new Xvc;this.d=new Xvc;this.q=new Xvc;this.j=new tvc;this.u=(lm(),lx(),kx);this.n=new tvc;this.k=new tvc;this.i=new Xvc;ie(d);
if(!b){this.p=null;this.e=new tvc}else{e=a.b.hi();this.p=e.length==0?null:e;this.e=(dx(),cx)}this.t=a;this.r=b;this.f=c;this.a=d}function $cb(a,b){var c,d,e,f,g,h,i,j;ae(a.j==(f8b(),r6b));ae(a.e.j==J5b);ie(b);d=zyb(b);if(!d||(g=Sxb(d.d),!!g&&g.a.g==0)||(f=Sxb(d.d),!!f&&f.a.g!=0))return null;c=Mxb(d);h=T2b(a.b.d);j=c.f.size();i=c.f.size()+c.d.size();e=!!c.g;if(j==i&&!e)return h==j?c:null;if(h==i&&!e||h==i+1&&e)return c;return null}function e_(b){var c,d,e,f,g;if(b.j!=(f8b(),k7b))return null;g=vib(b);
if(!DD(g,155))return null;e=g;try{f=e.Ih()}catch(a){a=AU(a);if(DD(a,90))return null;else throw BU(a);}try{d=a3b(b)}catch(a$0){a$0=AU(a$0);if(DD(a$0,36))return null;else throw BU(a$0);}c=d+b.c;if(d<0||c>f.length)return null;return f.substr(d,c-d)}function w2(a){var b,c,d,e,f;d=new qq;for(c=new mmc((new emc(a)).a);c.b;){b=lmc(c);e=b.ye();f=b.ze();if(ED(f))nq(d,e,(Shb(),(Yzc(f),f)?new U3b((f8b(),U7b)):new U3b((f8b(),o6b))));else if(DD(f,126))nq(d,e,new C4b(f.a));else if(FD(f))nq(d,e,new C4b((Yzc(f),
f)));else{oe(ID(f));nq(d,e,R$b(f))}}return On(d.b)}function Bxb(a){var b,c,d;if(a==a.a.v||a==a.a.g||a==a.a.s)return;ke(a.i,"null required formals for function: %s",a);for(d=a.i.Md();d.Ed();){b=d.Fd();ie(b);oe(a.c||0!=b.$h())}ke(a.e,"null optional formals for function: %s",a);for(c=a.e.Md();c.Ed();){b=c.Fd();ie(b);oe(0!=b.$h())}oe(!a.j||0!=a.j.$h());ie(a.k)}function yJb(a,b){var c,d,e,f,g;d=oJb(a,(f8b(),Q6b));f=new tuc;do{c=xJb(a,b);if(!c)return null;e=c.j==K7b?c.hi():c.b.hi();g=f.a.put(e,f);g==null?
H2b(d,c):bJb(a,e,a.j.g,HKb(a.j));UJb(a);if(!mJb(a,(BKb(),jKb)))break;!a.o?IKb(a.j):eJb(a);UJb(a);if(mJb(a,wKb))break;b=!a.o?IKb(a.j):eJb(a)}while(true);return d}function rLb(a,b){var c,d,e,f;if(!fLb(a,b,(jMb(),fMb)))return false;f=(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1));if(f.j!=J7b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,["native type"]),EHc+f5b(WHc,c)),a.b.Hg(),a.d,a.c);KLb(a,fMb.d);return false}e=(XIb(),d=YJb(f.hi()),JJb(d,!d.o?IKb(d.j):eJb(d)));Q2b(f);H2b(b,e);return true}function zQb(a){var b,c,d,e;if(jRb(a,
(MUb(),KTb)))if(iRb(a,1,YTb))return a.d=BMb(a.d,(wNb(),iNb).a),e=VRb(a.j,0).b.b,YOb(a,KTb),YOb(a,YTb),cPb(a,"target"),new BWb(new fZb(e,a.g));else{d=VRb(a.j,0).b.b;YOb(a,KTb);c=zQb(a);b=null;jRb(a,STb)&&(b=sPb(a));return new AWb(new fZb(d,a.g),c,b)}else return uQb(a)}function wLb(a,b){var c,d,e;if(b.j==(f8b(),m7b))for(e=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();e.Ed();){d=e.Fd();if(d.b){if(!ELb(a,d.b))return false}else{a.a.jh((c=QC(LC(kS,1),NAc,1,5,["property, missing type"]),EHc+f5b(UHc,c)),a.b.Hg(),
a.d,a.c);return false}}else if(!ELb(a,b))return false;return true}function m8(a,b){var c,d,e;d=b.e;c=d.e;pe(d.j==(f8b(),G5b)||d.j==p6b||d.j==q6b||d.j==D7b||d.j==Z6b||d.j==O6b,d);if(W2b(d,38)!=0&&!!c&&(c.j==L5b||c.j==Y5b)){e=c.e;return a.d.f==e}if(d==a.d.f||d.j==D7b||c.j==N5b&&(!d.e?null:d.e.e)==a.d.f)return true;while(d.j==O6b){if(d.e==a.d.f)return true;d=d.e}return false}function CCb(a,b,c,d){var e,f,g,h,i,j;for(i=c.Md();i.Ed();){g=i.Fd();j=new XDb(g);if(!fDb(GCb(a,j),GCb(b,j),d))return false}if(b.e)for(h=
(f=(new Kmc(Zwb(b.e).a)).a.oe().Md(),new Qmc(f));h.a.Ed();){g=(e=h.a.Fd(),e.ye());if(!c.contains(g)){j=new XDb(g);if(!fDb(GCb(a,j),GCb(b,j),d))return false}}return true}function Zdc(a,b){var c,d,e,f,g,h,i,j;if(!a.g||b.Di()||DD(b,144)||!b.Pi())return b;if(Gqc(a.f,b))return b;Fqc(a.f,b);f=false;e=new kgc(a.e);for(i=b.$i().Md();i.Ed();){h=i.Fd();j=(g=b.dj(h),!g?null:g.d);d=b.bj(h);c=d.Ui(a);d!=c&&(f=true);e.b=false;ur(e.c,h,new lgc(c,j))}Hqc(a.f,b);if(f)return jgc(e);return b}function _kb(a){var b,c,
d;if(a.I)return;a.i=HU(Hzc());clb(a);for(c=Bn(a.I).Md();c.Ed();){b=c.Fd();d=b.ze();a.F=RU(CU(a.F,d.n));a.C=Wjc(a.C,d.a);a.G+=d.k;a.c+=d.d;if(!d.i){a.B+=d.k;a.A+=d.d}a.a+=d.b;a.g+=d.e;a.p+=d.f}oe(a.D==(F3(),E3)||a.q==a.a+a.b);oe(!(a.D==D3||a.D==A3)||a.r==a.g+a.e);oe(a.D!=A3||a.s==a.p+a.o)}function mob(a,b){var c,d,e;if(a.b.f.c>0)return null;d=b1(a.b,b);c=K0(a.b,d);if(a.b.f.c>0){Q0(a.b,new heb(null,null,-1,-1,hob,null,QC(LC(pS,1),yAc,2,6,[Qpb(d)])));throw BU(new sjc(yGc));}e=b1(a.b,c);if(!qkc(d,e)){Q0(a.b,
new heb(null,null,-1,-1,job,null,QC(LC(pS,1),yAc,2,6,[d,e])));throw BU(new sjc(yGc));}return c}function Wxb(a,b){var c,d,e;if(!a||!b)return null;c=!a?null:a.$h()==2&&a._h().size()==1?js(a._h().Md()).d:null;d=!b?null:b.$h()==2&&b._h().size()==1?js(b._h().Md()).d:null;if(!!c&&!!d){e=kCb(c,d);if(e)return!e.a.p.isEmpty()&&!e.b.d.d.isEmpty()?azb(mDb(e.a.t,e,null,null,null,false,e.a.i)):e.a.q}return gzb(a,b)}function Syb(a,b){var c,d,e,f;if(-1==a.$h()||wAc==a.$h()||a._h().isEmpty()&&a.ai()==null||b.isEmpty())return a;
c=(lm(),new Xq);for(f=a._h().Md();f.Ed();){e=f.Fd();Uq(c,OCb(e,b))}d=izb(a.e,a.$h()&-2,zo(new kpc(c.a)),null,a.Zh());(a.$h()&1)!=0&&(d=gzb(d,b.containsKey(a.ai())?b.pe(a.ai()):bzb(a.e,a.ai())));return d}function qkb(a,b,c){var d,e,f,g,h;oe(b.j==(f8b(),_6b)||b.j==J7b||b.j==K7b||b.j==y6b||b.j==E7b);e=bjb(b);f=e||c.j==x6b&&(c.b?c.b.f:null)==b;if(b.j==_6b||f){d=W2b(b,43)!=0;if(!d&&Fib(g0(a.b),b)){if(a.a){g=b.hi();throw BU(new sjc(hGc+g+BBc+"  parent:"+P3b(b.e)));}h=s3b(b,b.g,43);h!=b.g&&(b.g=h);b.g=new x4b(43,
1,b.g)}}}function x9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(c.j!=(f8b(),x6b)||c.b.j!=S7b)return;f=(l=(m=aoc(b.b),DD(m,7)?n=m:n=m.Lj.Lj,n),l.j==r6b?l:null);d=(Shb(),g=dib(f),!g?null:Y2b(g,29));if(!d||(d.a&2)==0)return;e=(h=nib(f),!h?null:Z2b(h));i=(c.b?c.b.f:null).hi();k=e+eFc;j=yjb(a.b,"this."+i);Eoc(a.f,new P9(a,k,i,j))}function D0b(a,b){var c,d,e;e=new I0b;e.a=A0b(a.a,b);e.e=E0b(a.e,b);e.f=E0b(a.f,b);e.n=F0b(a.n,b);e.r=E0b(a.r,b);e.q=!a.q?null:new Roc(a.q);e.d=!a.d?null:new vuc(a.d);e.s=!a.s?null:
new vvc(a.s);e.c=a.c;e.j=a.j;e.b=a.b;e.i=a.i;e.p=!a.p?null:(lm(),d=a.p,yo(d));e.k=!a.k?null:(lm(),c=a.k,yo(c));e.g=a.g;e.o=a.o;return e}function Jfb(a,b){var c,d,e,f;if(b.j==(f8b(),_6b)){f=b.hi();ae(bgb(a,f,false));oe(!a.k.containsKey(f));e=ie(pvc(a.j,f));a.k.put(f,new yxb(a.a,f,e,b))}else{ae(!hgb(a,b));d=YDb(b);c=Xfb(a,d.a.getAtIndex(0));e=$wb(c,d).a;Uwb(c,(ae(d.a.size()!=1),new WDb(d.a.Se(1,d.a.size()))),new yxb(a.a,Tc(new Wc("."),d.a.Md()),e,b))}}function RW(a,b){var c,d,e,f;switch(b.j.f){case 68:yW((f8b(),
L5b),b);c=h8b(b.j);c!=-1&&(d=T2b(b),c!=d&&$W(YBc+c+ZBc+d,b));dW(a,b.b);SW(a,b.b?b.b.f:null);return;case 69:yW((f8b(),Y5b),b);e=h8b(b.j);e!=-1&&(f=T2b(b),e!=f&&$W(YBc+e+ZBc+f,b));SW(a,b.b?b.b.f:null);return;default:$W("Expected switch member but was "+b.j,b)}}function Lcb(a,b,c){var d;switch(b){case wEc:VAb(a.b.d,c);break;case AEc:{YAb(a.b.d,c);d=new zEb(a.b.d,c.u,HFc,(Mm(),Mm(),Lm),0,(xCb(),vCb),false);dEb(d,c.r);WAb(a.b.d,d);break}case xEc:XAb(a.b.d,c.q);break;case HBc:$Ab(a.b.d,c.q);break;case vEc:UAb(a.b.d,
c.q);break;case yEc:ZAb(a.b.d,c.q);break;case uEc:TAb(a.b.d,c)}}function sdb(a,b){var c,d,e,f,g,h;e=b.b;if(m3b(e,LFc,LFc.length))return a.c.d.t;f=vdb(a,e);if(!f)return null;if(!f.n.isEmpty()){d=(Mm(),new iq);for(c=b.b.d;c;c=c.d){h=udb(a,c);if(!h)return null;Eoc(d.a,ie(h))}f=Fxb(f,Um(d.a));if(!f)return null}g=b.j==(f8b(),f7b)?f.g?f.g:f.d:(ae(!(f==f.a.v||f==f.a.g)),f.k);return g}function TRb(a,b,c){var d,e;d=a.d;vSb(a);!PRb(a,a.d)&&XRb(a,LOb(a.e.b,d),FIc,QC(LC(kS,1),NAc,1,5,[]));e=Hkc(a.e.a,d,a.d);
switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 96:QRb(a);return new ROb(b,e,MOb(a.e.b,d-1,a.d));case 36:QRb(a);QRb(a);return new ROb(c,e,MOb(a.e.b,d-1,a.d));default:return new ROb(b,e,MOb(a.e.b,d-1,a.d))}}function $Rb(a,b){switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 101:case 69:QRb(a);switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 43:case 45:QRb(a)}ySb(PRb(a,a.d)?lkc(a.e.a,a.d):0)||YRb(a,"Exponent part must contain at least one digit",QC(LC(kS,1),NAc,1,5,[]));iSb(a)}return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,
b,a.d))}function N9(a){var b,c,d;d=Z2b(a.e);if(d==null)return null;c=Nlc(a.d.c,d);if(!c)return null;switch(c.j.f){case 47:b=c.b?c.b.f:null;break;case 75:b=X2b(c.b?c.b.f:null);break;case 65:{Shb();if(c.j==(f8b(),r6b)&&Jib(c.e))b=c;else return null}break;default:return null}if(b.j!=(f8b(),r6b)&&b.j!=m7b)return null;return b}function H8b(a){var b,c,d,e,f,g,h;if(a.Bi())return w8b(a,(tdc(),Kcc));else if(a.Si()){h=a.Si();g=false;c=dhc(h);for(f=0;f<c.size();f++){b=c.getAtIndex(f);if(b.Bi()){g=true;break}}if(g){d=
new Hhc(a.u);Bhc(d,w8b(a,(tdc(),Kcc)),false);for(e=0;e<c.size();e++){b=c.getAtIndex(e);b.Bi()||Bhc(d,b,false)}return Chc(d)}}return a}function aAb(a,b,c,d){var e;e=b.hi();switch(e){case sAc:Qzb(a,b);return a.a.a;case FAc:Qzb(a,b);return a.a.j;case tAc:Qzb(a,b);return a.a.q;case vAc:Qzb(a,b);return a.a.t;case EEc:case aDc:Qzb(a,b);return a.a.B;case wEc:Qzb(a,b);return kAb(a,SAb(a.a));case AEc:return kAb(a,b.b?a.a.Z:a.a.$);default:return jAb(a,e,b,c,d)}}function Wuc(){if(!Object.create||!Object.getOwnPropertyNames)return false;
var a="__proto__";var b=Object.create(null);if(b[a]!==undefined)return false;var c=Object.getOwnPropertyNames(b);if(c.length!=0)return false;b[a]=42;if(b[a]!==42)return false;if(Object.getOwnPropertyNames(b).length==0)return false;return true}function lkb(a,b,c,d){var e,f;if(b.b){p3b(c,b);f=b.b;p3b(b,f);e=f$b(b,f);A3b(e,Y2b(c,29));S3b(e,c);t3b(d,c,(Shb(),Q3b((oe(C$b(e)),new W3b((f8b(),n6b),e)),e)))}else{Shb();if(d.j==(f8b(),D7b)||d.j==G5b||d.j==Z6b)p3b(d,c);else if(d.j==p6b){p3b(c,b);t3b(d,c,b)}else{oe(d.j==
O6b);throw BU(new sjc("Unexpected LABEL"));}}ikb(a.b)}function Fcb(a,b,c){var d,e,f,g,h,i;ae(b.j==(f8b(),r6b));f=new Poc;i=new Poc;h=(Shb(),ae(b.j==r6b),b.b.d).b;while(h){qAb(c,h.hi())&&!h.d?Eoc(i,h.hi()):Eoc(f,h.hi());h=h.d}if(c)for(e=F_b(c).Md();e.Ed();){d=e.Fd();if(Ioc(f,d,0)==-1&&Ioc(i,d,0)==-1){g=oib(b);mhb(a.b.t,leb(b,(ecb(),Pbb),QC(LC(pS,1),yAc,2,6,[d,g])))}}return f}function Ycb(a,b,c,d){var e,f,g;if(!qkc(b.a.getAtIndex(b.a.size()-1),CCc)){mhb(a.c.t,leb(d,(ecb(),Ubb),QC(LC(pS,1),yAc,2,6,[c])));
return null}g=(ae(b.a.size()!=1),new WDb(b.a.Se(0,b.a.size()-1)));f=(e=Sfb(a.a,g,false),!e?null:DD(e.c,80)?e.c:null);(!f||f.g!=0)&&mhb(a.c.t,leb(d,(ecb(),Ubb),QC(LC(pS,1),yAc,2,6,[c])));return f}function Uqb(a,b,c){Sqb();var d,e,f,g,h,i,j,k,l,m;if(s2(a.H))for(k=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();k.Ed();){j=k.Fd();h=Y2b(j,89);if(!!h&&(m=CMb(h),!qkc(m,CDc)&&!qkc(m,"es5")))for(e=c,f=0,g=e.length;f<g;++f){d=e[f];i=s3b(j,j.g,93);i!=j.g&&(j.g=i);j.g=new x4b(93,1,j.g);ohb();l=new Hhb(a,d,new p8(a));
Bhb(l,j)}}}function Zxb(a,b){var c,d,e;if(!a)return b;if(!b)return a;c=!a?null:a.$h()==2&&a._h().size()==1?js(a._h().Md()).d:null;d=!b?null:b.$h()==2&&b._h().size()==1?js(b._h().Md()).d:null;if(!!c&&!!d){e=jCb(c,d);return!e?null:!e.a.p.isEmpty()&&!e.b.d.d.isEmpty()?azb(mDb(e.a.t,e,null,null,null,false,e.a.i)):e.a.q}return jzb(a,b)}function sLb(a,b){var c,d;d=(fe(b.j==(f8b(),J5b),THc,b),b.b.hi());c=lMb(Lb(d));switch(c.f){case 1:return nLb(a,b);case 9:return qLb(a,b);case 10:return pLb(a,b);case 21:return CLb(a,
b);case 8:return oLb(a,b);case 12:return tLb(a,b);case 13:return uLb(a,b);default:throw BU(new sjc("Invalid type transformation operation"));}}function fRb(a,b){var c,d,e;d=VRb(a.j,0).b.b;e=VRb(a.j,0).c;switch(e.f){case 30:case 38:case 25:YOb(a,e);break;default:ARb(a,VRb(a.j,0),"expected declaration",QC(LC(kS,1),NAc,1,5,[]));return null}c=(Mm(),new iq);gq(c,eRb(a,e,b));while(jRb(a,(MUb(),$Sb))){YOb(a,$Sb);gq(c,eRb(a,e,b))}return new UYb(new fZb(d,a.g),e,Um(c.a))}function Aub(a,b,c){var d,e,f,g,h,
i,j,k,l;ae(dd(a.f,b));f=new tuc;l=new moc(b);while(l.b!=l.c){g=goc(l);i=f.a.put(g,f);if(i==null)for(k=g.Jg().Md();k.Ed();){j=k.Fd();e=Nlc(a.b,j);!!e&&(Vnc(l,e),true)}}d=(Mm(),new iq);for(h=new kpc(c?a.c:a.f);h.a<h.c.a.length;){g=ipc(h);f.a.containsKey(g)&&(Eoc(d.a,ie(g)),d)}return Um(d.a)}function lhc(a,b){var c,d,e,f,g,h,i;d=new Hhc(a.u);for(f=0;f<a.b.size();f++){c=a.b.getAtIndex(f);c.Hi(b)&&Bhc(d,c,false)}if(b.Si()){i=b.Si().b;for(e=0;e<i.size();e++){g=i.getAtIndex(e);g.Hi(a)&&Bhc(d,g,false)}}else b.Hi(a)&&
Bhc(d,b,false);h=Chc(d);return h.Ci()?ihc(a)&&b.Fi()&&!b.Ci()?w8b(a,(tdc(),Jcc)):w8b(a,(tdc(),Lcc)):h}function Vab(a,b,c,d){var e,f,g,h,i;i=eFc.length;if(qkc(d.substr(d.length-i,i),eFc)){g=1;h=Hkc(d,0,d.length-10)}else{f=d.indexOf(vFc);if(f==-1)return false;h=d.substr(0,f);g=2;f=ukc(d,Nkc(46),f+11);while(f>=0){++g;f=ukc(d,Nkc(46),f+1)}}if(!!c&&bjb(b))return true;for(e=0;e<g;e++){c=b;b=b.b}Rab(a,b,h,(vbb(),sbb));return true}function UA(a,b){var c,d,e,f,g,h;f=false;c=new Poc;Goc(c,fqc(Ulc(a.k.c)));
for(e=new Tvc(new Kvc(a.j));e.b!=e.c.a.b;){d=Rvc(e);h=pvc(a.k,d.d);if(!!h&&h.a<c.a.length){Moc(c,h.a,d.e);f=true}}if(!f)return;aB(b,"sourcesContent","");b.a+="[";for(g=0;g<c.a.length;g++){g!=0&&(b.a+=",",b);Xkc(b,bB((Xzc(g,c.a.length),c.a[g])))}b.a+="]"}function qD(a){var b,c,d,e,f;if(a.l==0&&a.m==0&&a.h==0)return"0";if(a.h==NBc&&a.m==0&&a.l==0)return"-9223372036854775808";if(a.h>>19!=0)return"-"+qD(jD(a));c=a;d="";while(!(c.l==0&&c.m==0&&c.h==0)){e=TC(1E9);c=WC(c,e,true);b=""+pD(SC);if(!(c.l==0&&
c.m==0&&c.h==0)){f=9-b.length;for(;f>0;f--)b="0"+b}d=b+d}return d}function o3(){o3=aV;c3=new r3(PDc,0);d3=new r3(QDc,1);e3=new r3("ECMASCRIPT5_STRICT",2);f3=new r3(RDc,3);g3=new r3("ECMASCRIPT6_STRICT",4);k3=new r3("ECMASCRIPT_2015",5);h3=new r3("ECMASCRIPT6_TYPED",6);i3=new r3(SDc,7);l3=new r3("ECMASCRIPT_2016",8);j3=new r3(TDc,9);m3=new r3("ECMASCRIPT_NEXT",10);n3=new r3("NO_TRANSPILE",11)}function O9b(a,b,c,d){var e,f,g,h,i,j,k;a.Ri();k=ecc(d,a,b);if(k)return k.a;i=Q9b(a);j=Q9b(b);if(!Mh(j,i)){fcc(d,
a,b,(ncc(),lcc));return false}for(h=(f=(new Jnc(i.a)).a.oe().b.Cj(),new Pnc(f));h.a.Ed();){g=(e=h.a.Fd(),e.ye());if(!u8b(b.bj(g),a.bj(g),c,d)){fcc(d,a,b,(ncc(),lcc));return false}}fcc(d,a,b,(ncc(),kcc));return true}function y8(a,b){var c,d,e,f,g;g=T2b(b);if(g==0)u3b(b,new U4b((f8b(),J7b),'""'));else{e=r3b(b);oe(e.j==(f8b(),J7b));if(g==1)t3b(b.e,b,e);else{c=c$b(e,r3b(r3b(b)));for(f=2;f<g;f++){d=r3b(b);if(d.j==J7b)if(d.hi().length==0)continue;else f==2&&e.hi().length==0&&(c=Q2b(c.b.d));c=c$b(c,d.j==
J7b?d:r3b(d))}u3b(b,T3b(c,b))}}R0(a.c)}function nIb(a,b){var c,d;switch(b.a.c.f){case 100:return c=ZGb(a.a,b.a),d=WGb(a.a,c),b4b(d.i)==-1&&gHb(d,b.o.b,b.o.a),d;case 101:return AIb(a,b);case 99:case 98:return SGb(a.a,AHb(b.a.c));case 97:return SGb(a.a,(f8b(),i7b));case 102:return xIb(a,b);default:throw BU(new sjc("Unexpected literal type: "+b.a.Hj+" type: "+b.a.c));}}function wA(a){var b,c,d,e;e=NC(ND,FBc,46,5,15,1);b=new Poc;while(PA(a.a))if(AA(a,59)){xA(a,b);b.a.length==0||(b=new Poc)}else{d=0;while(!zA(a)){e[d]=
iA(a.a);++d}c=yA(a,e,d);re(a.i.b<0||a.b<a.i.b,a.b,a.i.b);oe(c.vf()==-1||c.vf()<a.i.e.length);oe(c.tf()==-1||c.tf()<a.i.d.length);b.a[b.a.length]=c;AA(a,44)}b.a.length==0||xA(a,b)}function Ytb(a,b){Ttb();var c,d,e,f,g,h;pe(a.j==(f8b(),_6b)||a.j==z7b||a.j==K7b,a);f=a.e;e=b.Ph();if(a.e.j==_7b&&(c=Y2b(a,51),!!c&&c.Kh())&&ajb(a))return true;d=Y2b(f,29);if(!!d&&(h=!d.d?null:d.d.p,!h?(bqc(),bqc(),aqc):h).contains(dEc))return true;d=Y2b(e,29);return!!d&&(g=!d.d?null:d.d.p,!g?(bqc(),bqc(),aqc):g).contains(dEc)}
function vZb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=new VZb(b);e=0;j=null;g=false;k=b.length;h=0;while(h<k){n=h;l=ukc(b,Nkc(37),h);m=l==-1?k:l;m>n&&Zkc(a.c,b,n,m);h=m;if(h<k){p=(f.d=h+1,f.b=h+1,QZb(f,new a$b));d=null;if(p.b!=37&&p.b!=110){i=p.a==-1?e++:p.a;d=MZb(c,i,f,j,g);j=d;g=true}o=yZb(a,p,d);o!=null&&wZb(a,o,Okc(o));h=f.b}}}function ljc(a){var b,c,d,e,f;if(a==null)throw BU(new gkc(FAc));d=a.length;e=d>0&&(a.charCodeAt(0)==45||a.charCodeAt(0)==43)?1:0;for(b=e;b<d;b++)if(Aic(a.charCodeAt(b),16)==
-1)throw BU(new gkc(eJc+a+'"'));f=parseInt(a,16);c=f<DBc;if(isNaN(f))throw BU(new gkc(eJc+a+'"'));else if(c||f>wAc)throw BU(new gkc(eJc+a+'"'));return f}function cjb(a,b){Shb();var c,d;d=b.e;switch(d.j.f){case 28:return d.b!=b&&a.Df().dg(d);case 66:case 70:case 71:case 72:return fib(d)==b;case 41:case 25:case 62:case 61:return true;case 5:case 37:{c=d.b==b?d.b.d:d.b;return ojb(c)}case 60:return d.b==b;case 19:return d.e.j==(f8b(),p7b)&&d.e.b==d;case 90:return cjb(a,d)}return false}function rDb(a,
b,c){var d,e,f,g,h,i,j;f=new yDb(1);for(j=c.Md();j.Ed();){i=j.Fd();for(h=b.Md();h.Ed();){g=h.Fd();if(VCb(g.d,i.d)){if(a){e=MCb(g,i);if(!e)continue}else e=pDb(g,i);xDb(f,e)}else g.d.a.g==2&&KCb(i,g,new GEb((BBb(),BBb(),ABb)))?xDb(f,i):i.d.a.g==2&&KCb(g,i,new GEb((BBb(),BBb(),ABb)))&&xDb(f,g)}}return lm(),d=f.a,yo(d)}function qIb(a,b){var c,d,e,f,g;e=b.a;if(e.size()==1){c=XGb(a.a,(f8b(),_6b),e.getAtIndex(0));b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);return c}else{f=e.Qe();d=G$b(f.Fd());b4b(d.i)==-1&&gHb(d,b.o.b,
b.o.a);while(f.Ed()){g=XGb(a.a,(f8b(),J7b),f.Fd());b4b(g.i)==-1&&gHb(g,b.o.b,b.o.a);d=UGb(a.a,x6b,d,g);b4b(d.i)==-1&&gHb(d,b.o.b,b.o.a)}return d}}function oRb(a){switch(VRb(a.j,0).c.f){case 76:case 29:case 9:case 99:case 14:case 2:case 108:case 109:case 110:case 111:case 64:case 69:case 18:case 97:case 100:case 45:case 47:case 49:case 63:case 68:case 94:case 95:case 101:case 107:case 104:case 35:case 21:case 77:case 98:case 24:case 26:case 44:return true;default:return false}}function IW(a,b){var c,
d;d=false;for(c=b.b;c;c=c.d)if(c.j==(f8b(),z7b)){!!c.d&&$W("Rest parameters must come after all other parameters.",c);KW(a,r7b,c)}else if(c.j==Z5b){d=true;ZV(a,r7b,c)}else{d&&$W("Cannot have a parameter without a default value, after one with a default value.",c);c.j==_6b?sW(c):c.j==l5b?MV(a,r7b,c):EW(a,r7b,c)}}function r_(a,b,c){var d,e,f,g,h,i;if(a.j!=(f8b(),J5b))return null;d=a.b;if(g3b(d))if(m3b(d,hDc,hDc.length)){e=d.d;if(!e)return null;i=Q_(e);Q_(i);return new k_(i)}if(d.j==x6b&&qkc((d.b?d.b.f:
null).hi(),"bind")){g=d.b;h=DD(g.k,21)?g.k:null;f=null;c&&!!h&&(f=h.Li().Oi());if(!!f||b||g.j==r6b){i=d.d;Q_(i);return new k_(i)}}return null}function APb(a){var b,c,d;c=VRb(a.j,0).b.b;a.d=BMb(a.d,(wNb(),KMb).a);cPb(a,KCc);YOb(a,(MUb(),sTb));if(jRb(a,nUb)){CRb(a,AIc,QC(LC(kS,1),NAc,1,5,[]));YOb(a,nUb)}b=UVb(ZVb(new bWb((gWb(),eWb)),(d=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),d)||!a.b.b&&GOb(d)?$Ob(a):null)));dQb(a,b,false);return SVb(b,new fZb(c,a.g))}function zMb(){zMb=aV;
pMb=new DMb(3,false,false,false);qMb=new DMb(5,false,false,false);sMb=new DMb(6,false,false,false);rMb=new DMb(6,true,false,false);tMb=new DMb(6,true,true,false);uMb=new DMb(7,true,false,false);vMb=new DMb(7,true,true,false);wMb=new DMb(8,true,false,false);xMb=new DMb(8,true,true,false);yMb=new DMb(8,true,true,true)}function $wb(a,b){var c,d,e,f,g;f=b.a.size()==1?a:axb(a,(ae(b.a.size()!=1),new WDb(b.a.Se(0,b.a.size()-1))));if(!f)return null;c=b.a.getAtIndex(b.a.size()-1);if(!(f.B.containsKey(c)||
f.D.containsKey(c)||!!Yg(f.C,c,false)))return null;d=f.B.pe(c);g=DD(d,201)?d.a:null;return new Dwb((e=hh(Yg(f.C,c,false)),!e?null:e.b),f.D.pe(c),d,g,false)}function YZb(a,b){var c;c=false;switch(b){case 43:c=a.d;a.d=true;break;case 44:c=a.e;a.e=true;break;case 45:c=a.f;a.f=true;break;case 40:c=a.g;a.g=true;break;case 35:c=a.i;a.i=true;break;case 32:c=a.j;a.j=true;break;case 48:c=a.k;a.k=true;break;default:return false}if(c)throw BU(new TB(""+b));!a.o&&(a.o=new elc);Ukc(a.o,b&DAc);return true}function Gt(a,
b,c,d){var e,f,g;g=new tu(b,c);if(!a.a){a.a=a.e=g;Plc(a.b,b,new su(g));++a.c}else if(!d){a.e.b=g;g.d=a.e;a.e=g;e=Mlc(a.b,b);if(!e){Plc(a.b,b,e=new su(g));++a.c}else{++e.a;f=e.c;f.c=g;g.e=f;e.c=g}}else{e=Mlc(a.b,b);++e.a;g.d=d.d;g.e=d.e;g.b=d;g.c=d;!d.e?Mlc(a.b,b).b=g:d.e.c=g;!d.d?a.a=g:d.d.b=g;d.d=g;d.e=g}++a.d;return g}function WY(a){var b;this.b=a;this.a=Eo("goog.isDef","goog.isNull","goog.isDefAndNotNull","goog.isString","goog.isNumber","goog.isBoolean",QC(LC(pS,1),yAc,2,6,["goog.isFunction","goog.isArray",
"goog.isArrayLike","goog.isObject"]));b=(lm(),new Xq);Vq(b,QC(LC(pS,1),yAc,2,6,["superClass_","instance_",vCc]));Wq(b,(Mm(),Mm(),Lm));zo(new kpc(b.a))}function Vib(a){var b,c;if(a.j!=(f8b(),_6b)&&a.j!=x6b&&a.j!=w6b&&a.j!=K7b)return false;c=a.e;if(!c)return false;return Bib(c)&&c.b==a||c.j==p6b&&T2b(c)==3&&c.b==a||!!c&&(c.j==_7b||c.j==T6b||c.j==T5b)||c.j==r6b&&c.b==a||c.j==z7b||c.j==Z5b&&c.b==a||c.j==W5b||c.j==I6b||c.j==r7b||c.j==N5b||(b=a.e,b.j==D6b||b.j==E6b&&(b.b?b.b.f:null)==a)||Xib(a)}function hW(a,
b){var c,d,e;q3(a.a.v)||$W("Feature 'import statement' is only allowed in ES6 mode.",b);yW((f8b(),D6b),b);d=h8b(b.j);d!=-1&&(c=T2b(b),d!=c&&$W(YBc+d+ZBc+c,b));b.b.j==_6b?sW(b.b):yW(d6b,b.b);e=b.b.d;switch(e.j.f){case 103:jW(e);break;case 105:e.hi()==null&&$W(fCc,e);e.hi().length==0&&$W(gCc,e);break;default:yW(d6b,e)}PW(S2b(b,2))}function lmb(){lmb=aV;jmb=new k5("JSC_LHS_OF_GOOG_REQUIRE_MUST_BE_CONST",(YX(),VX),new Hlc("The left side of a goog.require() must use ''const'' (not ''let'' or ''var'')"));
kmb=new k5("JSC_NAMESPACE_IMPORT_CANNOT_USE_STAR",VX,new Hlc("Namespace imports ('goog:some.Namespace') cannot use import * as. Did you mean to import {0} from ''{1}'';?"))}function IGb(a,b){var c,d,e,f,g,h,i,j;d=b.c;f=b.a.b.b+1;c=b.a.b.a;g=b.a.b.c;e=new XJb(new OKb(d.substr(3,d.length-3),f,c+3),d,g,a.q,a.a,a.d);SJb(e,a.f);TJb(e,a.g);b.b==(qVb(),mVb)&&b.c.length>0?(e.i=(dKb(),bKb),UJb(e),h=!e.o?IKb(e.j):eJb(e),i=hJb(e,h,0,false,true),j=" "+i.a,e.c?f1b(e.c,j):e.e.c?q1b(e.e,j):q1b(e.e,""),undefined):
rJb(e);return e}function gPb(a){var b,c,d,e,f;if(!jRb(a,(MUb(),QTb)))return null;d=VRb(a.j,0).b.b;YOb(a,QTb);++a.j.f;f=new tvc;do{c=ZOb(a);b=null;if(jRb(a,oTb)){YOb(a,oTb);b=YQb(a)}qvc(f,c,b);jRb(a,$Sb)&&YOb(a,$Sb)}while(e=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),e)||!a.b.b&&GOb(e));YOb(a,VSb);--a.j.f;return new kWb(new fZb(d,a.g),f)}function bgc(a,b,c){t8b();var d,e,f,g;Eac.call(this,a,null,null);this.a=false;this.q=true;for(g=rs(new urc((d=b.b,!d?b.b=Er(b.a,Wrc(b.c)):d).b.b.Md()));g.Ed();){f=
g.Fd();e=f==null?null:Gv(b.d,f);if(!e)throw BU(new sjc("RecordProperty associated with a property should not be null!"));c?P9b(this,f,e.b,e.a):$fc(this,f,e.b,false,e.a)}this.a=true}function b0(a){var b,c;a.M=0;O3(a.H);J0(a);a.M=.15;if(a.f.c>0)return;if(a.H.$c){e1(a);s2(a.H)&&d1(a)}else{__(a);if(a.f.c>0)return;!a.H.C&&H0(a)}a.H.Bc&&(_yc(W_,"Recording function information"),Y0(a,oDc),b=new fnb((c=a,!a.K&&(a.K=new Ivb),c)),enb(b,a.u),null.Kj(),d0(a),undefined);a.H._==(C2(),B2)&&lob(new pob(a),a.n,a.u);
a.M=1;!!a.U&&blb(a.U)}function hDb(a,b){var c,d,e,f,g,h,i,j;if(a==a.a._||b==b.a._)return a.a._;if(ECb(a,b))return a;h=a.d;i=b.d;oe(xEb(h.a,i.a)||xEb(i.a,h.a));c=a.a;e=a.c||b.c;d=Vxb(a.b,b.b);if(e){d=!d?null:Oxb(d);j=jDb(c,a.g,b.g)}else j=iDb(a.g,b.g,h,i);f=kCb(h,i);vEb(f.a)&&!!d&&(e?f=JAb(a.a):d=null);g=Ewc(a.e,b.e)?a.e:null;return mDb(c,f,j,d,g,e,zCb(a.f,b.f))}function BB(a){var b,c;c=a.offset.line;b=a.offset.column;if(a.map!=null&&a.url!=null)throw BU(new EB("Invalid map format: section may not have both 'map' and 'url'"));
else if(a.url!=null)return new FB(0,a.url,c,b);else if(a.map!=null)return new FB(1,Qkc(a.map),c,b);throw BU(new EB("Invalid map format: section must have either 'map' or 'url'"));}function s9(a){var b,c,d,e;b=a;for(d=new t4b(new q4b(b.e));d.a.a;){c=s4b(d);e=c.j;switch(e.f){case 82:case 66:case 67:case 0:case 39:case 75:case 86:case 98:oe(b==c.b);return c;case 72:{Shb();if(!(c.j==(f8b(),p6b)&&T2b(c)==3)&&b==c.b)return c}case 83:case 80:case 81:case 68:case 69:return null}b=c}throw BU(new sjc("Unexpected AST structure."));
}function Jyb(a,b,c){var d,e;if(wAc==a.$h()||wAc==b.$h()||-1==b.$h())return true;if(512==a.$h())return 0!=Nyb(b).$h();if(lFc==a.$h())return 0!=Myb(b).$h();if(!jxb(a,b,c))return false;d=a.$h()&-5;if((d|b.$h())!=b.$h())return false;if(a.ai()!=null&&!qkc(a.ai(),b.ai()))return false;if(a._h().isEmpty())return true;e=gDb(a._h(),b._h(),c);return e}function _Z(a,b,c,d){var e,f,g,h;h=b;if(!d&&b.j!=(f8b(),G5b))throw BU(new nic("Missing BLOCK child."));if(b.j==(f8b(),G5b)){f=m$(b,2);if(f==0){if(a.c.zg()){sZ(a.c);
tZ(a.c,a.c.mg(b,c==0))}else a.c.sg(true);return}if(f==1){g=l$(b);e=a.c.zg();if(e||p$(g)){sZ(a.c);a.Bg(g,0);a.c.xg();tZ(a.c,a.c.mg(b,c==0));return}else h=g}}h.j==d6b?a.c.sg(true):a.Bg(h,c)}function sA(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;j=false;k=null;n=null;l=null;m=null;i=a.c.a.length;for(f=0;f<i;f++){h=Hoc(a.c,f);if(h){e=h.a.length;for(g=0;g<e;g++){d=(Xzc(g,h.a.length),h.a[g]);if(j){c=new lA(f,d.sf());TA(b.a,k,n,l,m,c);j=false}if(d.vf()!=-1){j=true;k=a.e[d.vf()];n=d.tf()!=-1?a.d[d.tf()]:null;l=new lA(d.wf(),
d.uf());m=new lA(f,d.sf())}}}}}function qdb(a,b,c,d){var e,f,g,h,i,j,k,l;k=(f=Sfb(a.a,b,false),!f?null:DD(f.c,80)?f.c:null);if(!!k&&k.g!=0){mhb(a.c.t,leb(d,(ecb(),Ubb),QC(LC(pS,1),yAc,2,6,[c])));return}e=Wfb(a.a,b);for(i=(!d.b?(bqc(),bqc(),aqc):new O4b(d.b)).Md();i.Ed();){h=i.Fd();g=pib(h);j=pvc(a.c.g,h);if(j)Vwb(e,g,h,j,false);else{l=udb(a,h.b);!l&&(l=a.c.d.G);Vwb(e,g,h,l,false)}}}function $zb(a,b,c,d,e){var f,g,h,i,j,k;f=(lm(),new Xq);for(k=(e?z_b(b):x_b(b)).Md();k.Ed();){j=k.Fd();g=j.a;h=eAb(a,
g,c,d);i=h.$h()==2&&h._h().size()==1?js(h._h().Md()).d:null;!!i&&i.a.g!=0?(Eoc(f.a,ie(i)),f):e?quc(a.i,leb(g,Fzb,QC(LC(pS,1),yAc,2,6,[Tyb(h,new dlc).a]))):quc(a.i,leb(g,Bzb,QC(LC(pS,1),yAc,2,6,[Tyb(h,new dlc).a])))}return zo(new kpc(f.a))}function gmb(){gmb=aV;emb=new k5("JSC_COMMONJS_MODULE_LOAD_ERROR",(YX(),VX),new Hlc(jGc));new k5("JSC_COMMONJS_UNKNOWN_REQUIRE_ENSURE_ERROR",XX,new Hlc("Unrecognized require.ensure call: {0}"));fmb=new k5("JSC_COMMONJS_SUSPICIOUS_EXPORTS_ASSIGNMENT",XX,new Hlc('Suspicious re-assignment of "exports" variable. Did you actually intend to export something?'))}
function Xxb(a,b){var c,d,e,f,g,h;ae(a.c||b.c);c=new qyb(a.a);g=Xjc((ae(!(a==a.a.v||a==a.a.g)),a.i.size()),(ae(!(b==b.a.v||b==b.a.g)),b.i.size()));for(e=0;e<g;e++)kyb(c,mzb(Dxb(a,e),Dxb(b,e)));f=Wjc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(d=g;d<f;d++){h=mzb(Dxb(a,d),Dxb(b,d));if(!!h&&0==h.$h())break;gyb(c,h)}return pyb(eyb(myb(c,mzb(a.k,b.k))))}function cSb(a,b,c){while(PRb(a,a.d)&&(PRb(a,a.d)?lkc(a.e.a,a.d):0)!=c&&!BSb(PRb(a,a.d)?lkc(a.e.a,a.d):0))if(!tSb(a))return new ROb((MUb(),sUb),Hkc(a.e.a,
b,a.d),MOb(a.e.b,b,a.d));(PRb(a,a.d)?lkc(a.e.a,a.d):0)!=c?XRb(a,LOb(a.e.b,b),"Unterminated string literal",QC(LC(kS,1),NAc,1,5,[])):QRb(a);return new ROb((MUb(),sUb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d))}function Shb(){Shb=aV;Lhb=Eo(uEc,"Date",qEc,AEc,yEc,"XMLHttpRequest",QC(LC(pS,1),yAc,2,6,[]));Khb=Eo(AEc,uEc,HBc,xEc,vEc,yEc,QC(LC(pS,1),yAc,2,6,[qEc]));Ohb=(lm(),Ao(QC(LC(kS,1),NAc,1,5,["toString","valueOf"])));Phb=Ao(QC(LC(kS,1),NAc,1,5,["test","exec"]));Qhb=Ao(QC(LC(kS,1),NAc,1,5,["match","replace",
"search","split"]));Rhb=new Hjb;Mhb=new ckb;Nhb=new Kjb}function Yib(a,b){var c,d,e;switch(a.j.f){case 90:return Yib(a.b,b);case 42:for(d=a.b;d;d=d.d)if(d.j!=(f8b(),d6b)&&!Yib(d,b))return false;return true;case 38:for(e=a.b;e;e=e.d)if(!Yib(e,b))return false;return true;case 43:for(c=a.b;c;c=c.d)if(!Yib(c.b,b))return false;return true;case 65:return b&&!(a.j==(f8b(),r6b)&&Jib(a.e));default:return Uib(a)}}function mvb(a){lvb();var b,c,d,e,f,g,h,i,j;i=Dkc(a,szc("/"),0);d=NC(pS,yAc,2,i.length,6,1);j=
0;c=0;b=i.length>1&&i[0].length==0;b&&--c;for(f=i,g=0,h=f.length;g<h;++g){e=f[g];if(qkc(e,"."))continue;if(qkc(e,"..")){if(c>0){--j;--c;d[j]=null}else if(!b){d[j]=e;++j}continue}d[j]=e;++j;++c}if(b&&j==1)return"/";return Tc(kvb,new tmc(new Upc((Vzc(j),spc(d,j)))))}function bdb(a,b,c,d){var e,f,g,h;h=new Pdb;e=null;!!c&&c.j==(f8b(),r6b)&&(e=Ddb(a,c,d).c);if(!!b&&(b.a&fFc)==kFc)h.a=icb(a.c,b,a.a);else if(!!c&&c.j==(f8b(),r6b)){f=DAb(a.c.d,Jwb(e));!!b&&(g=(b.a&fFc)==kFc&&((fFc&b.a)==kFc?b.i:null).a.j==
(f8b(),r6b),g||(b.a&fFc)==fBc||!!b.g||D_b(b)>0||(b.a&2)!=0||(b.a&EFc)!=0&&(b.a&fFc)!=kFc)||cib(c)?h.a=f:h.b=f}return h}function fA(a){cA();var b,c,d,e;if(ie(a).length==0)return null;e=a.charCodeAt(0)==45;d=e?1:0;if(d==a.length)return null;c=eA(lkc(a,d++));if(c<0||c>=10)return null;b=-c;while(d<a.length){c=eA(lkc(a,d++));if(c<0||c>=10||JU(b,{l:3355444,m:838860,h:996147}))return null;b=KU(b,10);if(JU(b,CU(EBc,c)))return null;b=OU(b,c)}return e?Tjc(b):GU(b,EBc)?null:Tjc(LU(b))}function PJb(a,b,c){var d,
e,f;f=oJb(a,(f8b(),s7b));!!c&&H2b(f,c);d=null;do{if(d){UJb(a);b=!a.o?IKb(a.j):eJb(a);oe(b==(BKb(),tKb));UJb(a);b=!a.o?IKb(a.j):eJb(a)}d=KJb(a,b);if(!d)return null;H2b(f,d)}while(mJb(a,(BKb(),tKb)));if(!c){UJb(a);if(!mJb(a,xKb))return aJb(a,MHc,a.j.g,HKb(a.j)),null;!a.o?IKb(a.j):eJb(a)}if(!!f.b&&!f.b.d){e=f.b;p3b(f,e);return e}return f}function QQb(a,b){var c,d,e,f,g,h;cPb(a,"set");if(tRb(a,0)){f=_Ob(a);YOb(a,(MUb(),STb));d=ZOb(a);h=fPb(a);YOb(a,XSb);g=fPb(a);!!g&&ARb(a,VRb(a.j,0),"setter should not have any returns",
QC(LC(kS,1),NAc,1,5,[]));c=bQb(a);return new DYb(dPb(a,b.d),f,b.c,d,h,c)}else{e=NPb(a);YOb(a,(MUb(),STb));d=ZOb(a);fPb(a);YOb(a,XSb);c=bQb(a);return new AVb(dPb(a,b.d),e,b.c,d,c)}}function Nab(a,b){var c,d,e,f,g,h;h=b.e;oe(h.j==(f8b(),m7b));c=h.e;if(!c)return null;d=c.e;switch(c.j.f){case 29:if(!d||(Shb(),!(!!d&&(d.j==_7b||d.j==T6b||d.j==T5b))))return null;g=c.hi();break;case 47:f=c.b;g=Z2b(f);break;case 89:if(!!d&&d.j==m7b)g=Nab(a,c);else return null;break;default:return null}if(g!=null){e=b.hi();
if(k8b(e))return g+"."+e}return null}function nW(a,b,c){var d,e;if(c.j==(f8b(),_6b)){c.hi()==null&&$W(fCc,c);c.hi().length==0&&$W(gCc,c);pW(c);!!c.b&&dW(a,c.b)}else c.j==l5b?MV(a,b,c):c.j==n7b?EW(a,b,c):c.j==Z5b?ZV(a,b,c):c.j==S5b?(yW(S5b,c),d=h8b(c.j),d!=-1&&(e=T2b(c),d!=e&&$W(YBc+d+ZBc+e,c)),dW(a,c.b),(c.b?c.b.f:null).j==Z5b?ZV(a,b,c.b?c.b.f:null):dW(a,c.b?c.b.f:null),undefined):$W(hCc+b+" node",c)}function q5(){q5=aV;o5=new k5("JSC_INVALIDATION",(YX(),WX),new Hlc("Property disambiguator skipping all instances of property {0} because of type {1} node {2}. {3}"));
p5=new k5("JSC_INVALIDATION_TYPE",WX,new Hlc("Property disambiguator skipping instances of property {0} on type {1}. {2}"));new k5("JSC_INVALID_RENAME_FUNCTION",VX,new Hlc("{0} call is invalid: {1}"))}function FKb(a){var b;if(a.r!=0){++a.b;--a.r;a.a==-1&&(a.a=a.i-a.f-a.r-1);return a.q[a.r]}for(;;){if(a.i==a.j){a.a==-1&&(a.a=a.i-a.f-a.r-1);return-1}++a.b;b=lkc(a.k,a.i++);if(a.e>=0){if(a.e==13&&b==10){a.e=10;continue}a.e=-1;a.f=a.i-1;++a.g}if(b<=127){if(b==10||b==13){a.e=b;b=10}}else{if(b>127)continue;
if(QKb(b)){a.e=b;b=10}}a.a==-1&&(a.a=a.i-a.f-a.r-1);return b}}function qcb(a,b){ecb();var c,d;this.p=new Poc;this.b=new tvc;this.n=new tvc;this.o=new Dp(new tvc,new Hp);this.c=new tvc;this.g=new tvc;this.a=new Xvc;this.i=new Xvc;d=p2(a.H,(f5(),Z4));this.t=new nhb(a);this.e=a;this.r=b;this.f=g0(a);this.s=new ZEb;this.j=new r4((lm(),lx(),kx));this.d=new _Ab(d);c=new Ccb(this);this.q=new pAb(this.d,this.f,this.s,c);quc(this.a,CCc)}function Jlb(b,c,d){var e,f;_yc((ulb(),tlb),b.b);!!b.c.s&&Blb(b.c);!!b.c.u&&
glb(b.c.u,b.b,b.a.a);b.d=new Eqb;b.a.Dg(b.c.a).Mf(c,d);$_(b.c.a);try{if(!b.c.q)V0(b.c.a,-1);else{b.c.p+=b.c.r;V0(b.c.a,b.c.p)}f=Dqb(b.d);!!b.c.u&&hlb(b.c.u,b.b,f);xlb(b.c,b.b,d);ylb(b.c,c,d)}catch(a){a=AU(a);if(DD(a,19)){e=a;throw BU(new UB("Sanity check failed for "+b.b,e));}else throw BU(a);}}function lSb(a){var b,c,d,e;c=a.d;QRb(a);QRb(a);while(PRb(a,a.d)&&((PRb(a,a.d)?lkc(a.e.a,a.d):0)!=42||(PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)!=47))QRb(a);if(PRb(a,a.d)){QRb(a);QRb(a);d=(qVb(),lVb);a.d-c>4&&(lkc(a.e.a,
c+2)==42?d=nVb:lkc(a.e.a,c+2)==33&&(d=mVb));b=MOb(a.e.b,c,a.d);e=Hkc(a.e.a,c,a.d);HRb(a.a,d,b,e)}else YRb(a,"unterminated comment",QC(LC(kS,1),NAc,1,5,[]))}function TIb(a,b,c){var d,e,f;for(f=Nm(new sv(ie(c)),0);f.b<f.c;){e=Yf(f).a;switch(e){case 103:case 105:case 109:break;case 117:case 121:d=e==117?(wNb(),lNb):(wNb(),mNb);a.a.e=BMb(a.a.e,d.a);QGb(a.a,d)||a.a.d.jh(zHc+AGb(d)+AHc+d,a.a.r,(GGb(),b.o.b.b+1),b.o.b.a);break;default:a.a.d.ih("Invalid RegExp flag '"+String.fromCharCode(e)+"'",a.a.r,(GGb(),
b.o.b.b+1),b.o.b.a)}}}function Cvb(a,b){zvb();var c,d,e,f,g,h,i;i=Avb();f=new v2;t2(f,(o3(),g3));u2(f,c3);f.$c=true;e=(Sob(),new fpb((new cpb,"externs.js"),"var window;"));h=new fpb((new cpb,b),a);f.tc=true;f.Ac=true;w4(f.$);o2(f,new J4(yvb,(YX(),WX)));c=new Dvb;S0(c,new Evb);a0(c,(Mm(),new _x(e)),new _x(h),f);g=O1(new H1(c));d=Avb();Bvb("Transpiled "+b+" in "+(d-i)/1E3+" seconds");return g}function $Bb(a,b){var c,d,e,f,g,h,i;if(b.isEmpty())return a;if(a.a.p.isEmpty())return a.a.r;c=new qq;if(a.b.d.d.isEmpty()){i=
a.a.p;for(e=i.Md();e.Ed();){d=e.Fd();b.containsKey(d)&&nq(c,d,b.pe(d))}h=On(c.b);if(h.d.d.isEmpty())return a;if(h.d.d.size()<i.size())return a}else{for(g=a.b.Xe().Md();g.Ed();){f=g.Fd();nq(c,f,Syb(co(a.b,f),b))}h=On(c.b)}return new fCb(h,a.a)}function yA(a,b,c){var d;switch(c){case 1:d=new CA(b[0]+a.c);a.c=d.e;return d;case 4:d=new IA(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e);a.c=d.e;a.f=d.vf();a.g=d.wf();a.e=d.uf();return d;case 5:d=new NA(b[0]+a.c,b[1]+a.f,b[2]+a.g,b[3]+a.e,b[4]+a.d);a.c=d.e;a.f=d.vf();
a.g=d.wf();a.e=d.uf();a.d=d.tf();return d;default:throw BU(new sjc("Unexpected number of values for entry:"+c));}}function lbc(a,b,c){var d,e,f,g,h,i;ie(b);if(u8b(a,b,0,new gcc(true)))return a;if(a.e==0&&b.e==0&&!v9b(a.a)&&!v9b(b.a)){f=a.Hi(b);g=b.Hi(a);if(f&&!g)return c?b:a;else if(g&&!f)return c?a:b;i=mbc(a,b,c);if(i)return i}d=Ldc(a.u,(tdc(),Ecc));if(u8b(d,b,0,new gcc(true)))return c?b:a;else if(u8b(d,a,0,new gcc(true)))return c?a:b;e=Ldc(a.u,ndc);h=Ldc(a.u,Icc);return c?e:h}function mib(a,b){var c;
switch(a.j.f){case 75:case 86:case 98:case 92:case 91:case 45:for(c=a.b;c;c=c.d)mib(c,b);return;case 93:case 116:case 77:case 110:mib(a.b,b);return;case 112:mib(a.b?a.b.f:null,b);return;case 89:if(a.b)mib(a.b?a.b.f:null,b);else{oe(Vib(a));b.add(a)}break;case 29:b.add(a);break;default:te(a.j==(f8b(),d6b),"Invalid node in lhs of declaration: %s",a)}}function N5(a,b,c){var d,e,f,g,h,i,j,k;be(c.j==(f8b(),J5b),c);f=O2b(c,false);e=f.b;if(e.j==N7b){i=R3b(v$b(yjb(a.a,b),new U4b(J7b,mEc)),e);t3b(f,e,i);h=
s3b(f,f.g,50);h!=f.g&&(f.g=h);F2b(f,Q3b(new U3b(S7b),e),i)}else{pe(e.j==x6b,e);d=ie(e.b.d);pe(qkc(d.hi(),jEc),d);j=f.b;k=j.b;t3b(j,k,R3b(yjb(a.a,b),k));g=f.b.d;if(g.j!=S7b){pe(g.j==i7b,g);t3b(f,g,Q3b(new U3b(S7b),g))}}return f}function LAb(a,b){switch(b.f){case 42:return a.u;case 43:return a.b;case 35:return a.G;case 38:return a.B;case 15:return a.j;case 2:return a.a;case 30:return a.t;case 16:return a.q;case 54:return gzb(a.r,a.a);case 26:return a.V?a.V:a.G;case 0:return FAb(a,a.G);case 19:return a.$;
case 56:return a.A;default:throw BU(new TB("Native type "+(b.e!=null?b.e:""+b.f)+" not found"));}}function bEb(a,b,c,d,e){var f;oe(!a.f);!d&&e&&(d=a.t.G);!!Yg(a.b,b,false)&&!hh(Yg(a.b,b,false)).b&&(a.b=EBb(a.b,b));!!Yg(a.k,b,false)&&(a.k=EBb(a.k,b));!c&&!!Yg(a.j,b,false)&&(c=hh(Yg(a.j,b,false)).c);e?f=new IDb(c,d,d,(TDb(),QDb)):a.g==2&&!!d&&wAc!=d.$h()&&Iyb(a.t.B,d,new GEb((BBb(),BBb(),ABb)))?f=new IDb(c,d,d,(TDb(),RDb)):f=new IDb(c,d,d,(TDb(),SDb));a.j=DBb(a.j,b,f)}function $Hb(a,b){var c,d,e,f,
g,h,i,j;OHb(a,b,(wNb(),NMb));h=RIb(a,b.d,b);KHb(a,h,b.b);j=SIb(a,b.e,b);g=QIb(a,(f8b(),C6b),b.c);c=SGb(a.a,P5b);b4b(c.i)==-1&&gHb(c,b.o.b,b.o.a);for(e=b.a.Md();e.Ed();){d=e.Fd();(d.p==(vYb(),IXb)||d.p==bXb)&&RHb(a,d,fNb);H2b(c,iHb(a.a,d))}f=VGb(a.a,O5b,h,j,c);if(g.j!=d6b){RHb(a,b,_Mb);i=s3b(f,f.g,82);i!=f.g&&(f.g=i);f.g=new H4b(82,g,f.g)}return f}function xib(a){var b,c;switch(a.j.f){case 31:case 89:return a.hi();case 29:c=a.hi();if(qkc(EEc,c)||qkc(dGc,c)||qkc("NaN",c))return c;break;case 30:return""+
a.gi();case 34:return XCc;case 35:return YCc;case 32:return FAc;case 78:return EEc;case 19:b=sib(a.b);if(b!=(Pgc(),Ogc))return b.oj(true)?XCc:YCc;break;case 42:return Vhb(a);case 43:return"[object Object]"}return null}function CZb(a){var b,c;if(a.a==null)return xZb(a,FAc,0);if(DD(a.a,153))return xZb(a,Qkc(a.a),0);else if(DD(a.a,126)){b=ojc(a.a);if(!(b>=0&&b<=GBc))throw BU(new nZb(b));c=b<AAc?String.fromCharCode(b&DAc):Rkc((Rzc(b>=0&&b<=GBc),b>=AAc?QC(LC(MD,1),zAc,46,15,[BAc+(b-AAc>>10&CAc)&DAc,EAc+
(b-AAc&CAc)&DAc]):QC(LC(MD,1),zAc,46,15,[b&DAc])));return xZb(a,c,0)}else throw BU(uZb(a));}function m3b(a,b,c){var d,e,f;f=xkc(b,Nkc(46),c-1)+1;switch(a.j.f){case 29:case 96:d=a.hi();return f==0&&d.length!=0&&d.length==c&&qkc(b.substr(0,d.length),d);case 33:return f==0&&4==c&&qkc(b.substr(0,4),UCc);case 97:return f==0&&5==c&&qkc(b.substr(0,5),VCc);case 26:e=(a.b?a.b.f:null).hi();return f>1&&e.length==c-f&&ykc(e,false,0,b,f,c-f)&&m3b(a.b,b,f-1);default:return false}}function XQb(a,b){var c,d,e,f,
g;e=!b?VRb(a.j,0).b.b:b.o.b;f=jPb(a);c=(Mm(),new iq);gq(c,new IYb(f.b,f));if(f.c==(MUb(),NTb))return new HYb(new fZb(e,a.g),b,Um(c.a));d=kPb(a,1);gq(c,new JYb(d.o,d));while(!a.c.d){f=(g=SRb(a.j),a.g=g.b.a,g);if(f.c==mTb||f.c==hTb)break;gq(c,new IYb(f.b,f));if(f.c==xUb)break;d=kPb(a,1);gq(c,new JYb(d.o,d))}return new HYb(new fZb(e,a.g),b,Um(c.a))}function qib(a){Shb();switch(a.j.f){case 48:return f8b(),E5b;case 49:return f8b(),F5b;case 50:return f8b(),C5b;case 51:return f8b(),U6b;case 52:return f8b(),
C7b;case 53:return f8b(),$7b;case 54:return f8b(),g5b;case 55:return f8b(),M7b;case 56:return f8b(),$6b;case 59:return f8b(),j6b;case 57:return f8b(),a6b;case 58:return f8b(),Y6b}throw BU(new Geb("Not an assignment op:"+a));}function Dz(a,b,c){var d,e,f;ie(b);c=(!a.c?(Cc(),Bc):new nc(a.c.a)).Jd(c);if(!oz(a.b,c.length))throw BU(new Vz("Invalid input length "+c.length));d=0;for(f=0;f<c.length;){e=mz(a.b,lkc(c,f++))<<18;e|=mz(a.b,lkc(c,f++))<<12;b[d++]=e>>>16<<24>>24;if(f<c.length){e|=mz(a.b,lkc(c,f++))<<
6;b[d++]=(e>>>8&255)<<24>>24;if(f<c.length){e|=mz(a.b,lkc(c,f++));b[d++]=(e&255)<<24>>24}}}return d}function lW(a,b){var c,d,e,f,g,h,i;switch(b.j.f){case 96:h=h8b(b.j);h!=-1&&(d=T2b(b),h!=d&&$W(YBc+h+ZBc+d,b));fW(a,b.b,true);break;case 154:e=T2b(b);0!=e&&$W(XBc+e,b);break;case 155:i=h8b(b.j);i!=-1&&(f=T2b(b),i!=f&&$W(YBc+i+ZBc+f,b));SV(b.b);break;case 156:g=h8b(b.j);g!=-1&&(c=T2b(b),g!=c&&$W(YBc+g+ZBc+c,b));break;default:$W("Interface contained member of invalid type "+b.j,b)}}function Xz(a,b,c){var d,
e,f,g,h,i;ie(c);if(b==0)throw BU(new jic("/ by zero"));f=a/b|0;h=a-b*f;if(h==0)return f;i=1|(a^b)>>31;switch(c.f){case 7:_z(h==0);case 1:g=false;break;case 0:g=true;break;case 2:g=i>0;break;case 3:g=i<0;break;case 6:case 5:case 4:d=h<0?-h:h;e=d-((b<0?-b:b)-d);e==0?g=c==(tlc(),qlc)||c==plc&(f&1)!=0:g=e>0;break;default:throw BU(new pic);}return g?f+i:f}function ZC(a,b,c,d,e,f){var g,h,i,j,k,l,m;j=aD(b)-aD(a);g=kD(b,j);i=VC(0,0,0);while(j>=0){h=dD(a,g);if(h){j<22?(i.l|=1<<j,undefined):j<44?(i.m|=1<<
j-22,undefined):(i.h|=1<<j-44,undefined);if(a.l==0&&a.m==0&&a.h==0)break}k=g.m;l=g.h;m=g.l;g.h=l>>>1;g.m=k>>>1|(l&1)<<21;g.l=m>>>1|(k&1)<<21;--j}c&&_C(i);if(f)if(d){SC=jD(a);e&&(SC=nD(SC,(wD(),uD)))}else SC=VC(a.l,a.m,a.h);return i}function Mf(a){var b,c,d,e;c=a.c;while(a.c!=-1){e=c;d=Nf(a,a.c);if(d==-1){b=a.e.length;a.c=-1}else{b=d;a.c=d+1}if(a.c==c){++a.c;a.c>a.e.length&&(a.c=-1);continue}while(e<b&&a.f.Id(lkc(a.e,e)))++e;while(b>e&&a.f.Id(lkc(a.e,b-1)))--b;if(a.d&&e==b){c=a.c;continue}if(a.b==
1){b=a.e.length;a.c=-1;while(b>e&&a.f.Id(lkc(a.e,b-1)))--b}else--a.b;return Kkc(Fkc(a.e,e,b))}return a.i=2,null}function oab(a,b){var c,d,e,f,g,h,i,j;for(i=(g=b.a.a,g?!g.b?(bqc(),bqc(),aqc):new O4b(g.b):(bqc(),bqc(),aqc)).Md();i.Ed();){h=i.Fd();rab(a,DD(h.k,21)?h.k:null)}rab(a,b.a.b);if(b.e==2)for(d=rs(new urc(b.b.a.b.Md()));d.Ed();){c=d.Fd();Fqc(a.a,c)&&c.Ui(a)}if(b.lj()){for(f=rs(new urc(b.c.a.b.Md()));f.Ed();){e=f.Fd();Fqc(a.a,e)&&e.Ui(a)}j=fbc(b).Zi();!!j&&Fqc(a.a,j)&&j.Ui(a)}return a.b.b}function Rfb(a){var b,
c,d,e,f,g,h,i;ke(a.c,"No declared type for scope: %s",a.t);a.u=(lm(),lx(),kx);for(c=a.k.oe().Md();c.Ed();){b=c.Fd();d=b.ye();e=b.ze();if(DD(e,290)){quc(a.b,d);f=e;HBb(f,a.e.pe(d));g=dxb(f)}else g=dxb(e);a.e.containsKey(d)?a.e.put(d,g):qvc(a.o,d,g)}for(i=a.n.keySet().Md();i.Ed();){h=i.Fd();qvc(a.o,h,a.a.B)}qgb(a);a.s=a.k;a.k=(dx(),cx);a.n=cx;a.d=(null,kx);a.g=true}function Ufb(a,b){var c,d,e;ae(b.indexOf(".")==-1);if(qkc(UCc,b)){d=a.c;if(!(!!d&&!!(d.c?d.c:d.e)))return null;return Gwb(a.c)}c=Vfb(a,
b,false);if(c){if(c.d){te(0!=c.d.$h(),"%s was bottom",b);return c.d}e=c.a;if(e){le(e.c,"decl=%s, funScope=%s",c,e);return DAb(a.a,Jwb(e.c))}oe(!c.c);return null}if(qkc(b,a.p)&&!dgb(a.r,b))return DAb(a.a,Jwb(a.c));if(a.r)return Ufb(a.r,b);return null}function jDb(a,b,c){var d,e,f,g,h,i;d=(BBb(),BBb(),ABb);for(i=new mmc((new emc(b.a)).a);i.b;){g=lmc(i);e=g.ye();!!Yg(c,e,false)||(d=DBb(d,e,HDb(g.ze())));if(d==a.d)return a.d}for(h=new mmc((new emc(c.a)).a);h.b;){g=lmc(h);e=g.ye();f=g.ze();Yg(b,e,false)?
d=DBb(d,e,HDb(LDb(hh(Yg(b,e,false)),f))):d=DBb(d,e,f.a==(TDb(),SDb)?f:new IDb(f.c,f.d,f.b,SDb));if(d==a.d)return a.d}return d}function I9(a,b,c,d){var e,f,g;if(b.indexOf(".")!=-1){f=yjb(a.d.b,b);c.j==(f8b(),d6b)?e=(Shb(),Q3b((oe(C$b(f)),new W3b(n6b,f)),f)):e=wjb(f$b(f,c))}else c.j==(f8b(),d6b)?e=p$b((te(tkc(b,Nkc(46))==-1,tCc,b),new U4b(_6b,b)),_7b):e=zjb(b,c);if(d)if(e.j==(f8b(),n6b))A3b(e.b,d);else{oe(e.j==_7b);g=s3b(e,e.g,29);g!=e.g&&(e.g=g);!!d&&(e.g=new H4b(29,d,e.g))}H2b(a.d.g,e);quc(a.d.a,
b)}function Zab(a,b){var c,d,e;!a.n&&(a.n=new Poc);Eoc(a.n,b);switch(b.b.f){case 0:if(!a.d){a.d=b;bbb(b)}++a.f;break;case 1:++a.g;c=!b.a?null:(Shb(),d=dib(b.a),!d?null:Y2b(d,29));!!c&&(c.a&wFc)!=0&&++a.i;break;case 2:case 4:e=b.a;!!e&&e.j==(f8b(),x6b)&&e.e.j==(f8b(),n6b)&&Y2b(e,29);++a.o;break;case 3:++a.a;++a.o;break;case 5:++a.c;++a.o;break;case 6:++a.e;break;default:throw BU(new rjc);}}function Kdb(a,b){var c,d,e,f,g,h,i;ae(b.j==(f8b(),x6b));g=b.e;f=g.j==n5b?g.b?g.b.f:null:null;c=rib(b);d=YDb(c);
h=(e=Sfb(a.a,d,false),!e?null:DD(e.c,80)?e.c:null);if(!h){!!f&&f.j==r6b&&Ddb(a,f,null);return}!!f&&f.j==r6b&&(i=s3b(g,g.g,76),i!=g.g&&(g.g=i),g.g=new x4b(76,1,g.g));agb(a.a,c)||mhb(a.c.t,leb(b,(ecb(),Ibb),QC(LC(pS,1),yAc,2,6,[])));ldb(a,h,f);gdb(a,h,(b.b?b.b.f:null).hi(),b,f)}function Zcb(a,b,c,d,e,f){var g,h,i,j,k,l;ae(d.j==(f8b(),r6b)||g3b(d)||d.j==J5b);if(!b&&!cib(d)){l=adb(a,c,d,f);if(l)return l}g=pvc(a.c.n,d);k=Zzb(a.c.q,b,c,d,g,e,f);g3b(d)?j=d:d.j==r6b?j=nib(d):j=eib(d);!!k.b&&!!j&&j.j==_6b&&
Kfb(f,j.hi(),k.b,false,(h=Y2b(j,51),!!h&&h.Kh()));if(g){i=Jwb(k.a);oe(!g.f);g.c=i;BEb(g.w,AEc,g.u)&&yEb(XBb(KAb(a.c.d)),i)}d.j==r6b&&odb(a,d,k.a);return k.a}function NCb(a,b){var c,d,e,f,g;ie(a.e);if(a==b||!!b.e||!OBb(b.d,OAb(a.a)))return a;f=cDb(b);if(!f)return a;d=HCb(b,f);g=(e=GCb(a,f),!!e&&(f.a.size()==1||Oyb(e.d,(ae(f.a.size()!=1),new WDb(f.a.Se(1,f.a.size())))))?HCb(a,f):null);c=!g?null:Qyb(g,d);if(!!g&&Kyb(g)&&0!=c.$h()&&Iyb(c,g,new GEb((BBb(),BBb(),ABb)))&&!Iyb(g,c,new GEb((BBb(),BBb(),ABb))))return SCb(a,
f,c,false,false);return a}function QCb(a,b,c,d,e){var f,g,h;if(a.b)if(!b.b||!Nxb(a.b,b.b,c,d,e))return false;g=a.d;f=b.d;if(!vEb(g.a)&&!vEb(f.a)){if(eCb(g,f,c,d,e))return true;if(g.a.g==0)return false;if(g.a.g==2){if(OBb(g,hh(Yg(e.a,f,false))))return true;e=(ae(g.a.g!=0),new GEb(DBb(e.a,f,g)))}}if(!vEb(g.a)&&g.a.g!=2&&vEb(f.a))return false;h=!vEb(g.a)&&g.a.g==2?jEb(g.a):new Kmc(a.g);return PCb(a,b,h,c,d,e)}function pDb(a,b){var c,d,e,f,g,h,i;oe(VCb(a.d,b.d));if(a==a.a._||b==b.a.M)return b;else if(b==
b.a._||a==a.a.M)return a;c=a.a;h=jCb(a.d,b.d);d=Yxb(a.b,b.b);if(!(!d||d!=d.a.c))return c.M;e=a.c&&b.c||!!d&&d.c;if(wEb(h.a,wEc)&&!d){d=!a.b?b.b:a.b;e=d.c}e?g=jDb(c,a.g,b.g):g=qDb(c,false,h,a.g,b.g);if(g==c.d)return c.M;f=ACb(a.f,b.f);i=Ewc(a.e,b.e)?a.e:null;return new TCb(c,h,g,d,i,e,f)}function cdb(a,b){var c,d,e,f;c=Y2b(b,51);if(!!c&&c.Kh()){mhb(a.c.t,leb(b,(ecb(),Hbb),QC(LC(pS,1),yAc,2,6,[(be(g3b(b)||b.j==(f8b(),K7b),b),g3b(b)?Z2b(b):b.hi())])));return null}e=tib(b);f=udb(a,e);d=b.j==(f8b(),_6b)&&
b.e.j==_7b&&!cgb(a.a,b.hi());if((!f||wAc==f.$h())&&!d){mhb(a.c.t,leb(b,(ecb(),Hbb),QC(LC(pS,1),yAc,2,6,[(be(g3b(b)||b.j==K7b,b),g3b(b)?Z2b(b):b.hi())])));return null}return f}function cAb(a,b,c,d){var e,f,g,h,i,j,k,l;l=new tvc;for(j=b.b.b;j;j=j.d){f=j.j==(f8b(),Q5b);i=f?j.b:j;h=i.hi();(qkc(h.substr(0,1),"'")||qkc(h.substr(0,1),'"'))&&(h=Hkc(h,1,h.length-1));e=Y2b(b,51);!!e&&e.Kh()&&Bcb(a.f,h);k=f?eAb(a,j.b?j.b.f:null,c,d):a.a.G;xyb(k,a.a.B)||iAb(j.b?j.b.f:null)?g=new IDb(null,k,k,(TDb(),RDb)):g=new IDb(null,
k,k,(TDb(),SDb));qvc(l,h,g)}return azb($Cb(a.a,l))}function BHb(a,b,c,d,e){var k;GGb();var f,g,h,i,j;h=new rHb(c,b,d,e,a.a);i=THb(h.u,a);b4b(i.i)==-1&&gHb(i,a.o.b,a.o.a);if(a.a)for(g=a.a.Md();g.Ed();){f=g.Fd();(f.b==(qVb(),nVb)||f.b==mVb)&&!ruc(h.n,f)?(k=IGb(h,f),quc(h.n,f),OGb(h,k),undefined):f.b==lVb&&(j=rzc("(/|(\n[ \t]*))\\*[ \t]*@[a-zA-Z]+[ \t\n{]"),lzc(pzc(j,f.c))&&h.d.jh(xGc,h.r,f.a.b.b+1,f.a.b.a))}cHb(h,i);mHb(h,i);h.p=i;return h}function uJb(a,b){var c;if(b==(BKb(),zKb))return oJb(a,(f8b(),
I7b));else if(b==qKb){UJb(a);return GJb(a,!a.o?IKb(a.j):eJb(a))}else if(b==rKb){UJb(a);return PJb(a,!a.o?IKb(a.j):eJb(a),null)}else if(b==AKb){c=a.j.n;switch(c){case uAc:UJb(a);return zJb(a,!a.o?IKb(a.j):eJb(a));case FAc:case EEc:return pJb(a,c,a.j.g,HKb(a.j));default:return NJb(a,b)}}a.o=b;return aJb(a,LHc,a.j.g,HKb(a.j)),null}function QZb(a,b){var c,d,e;e=a.b;c=a.b<a.c?lkc(a.a,a.b):-1;if(c>=48&&c<=57){d=PZb(a);if((a.b<a.c?lkc(a.a,a.b):-1)==36){NZb(a);if(d==-1)throw BU(new sZb(Hkc(a.a,a.d,a.b)));
b.a=0>d-1?0:d-1}else if(c==48)a.b=e;else return TZb(a,b,d)}else if(c==60){b.a=-2;NZb(a)}while(YZb(b,a.b<a.c?lkc(a.a,a.b):-1))NZb(a);c=a.b<a.c?lkc(a.a,a.b):-1;return c>=48&&c<=57?TZb(a,b,PZb(a)):c==46?SZb(a,b):RZb(a,b)}function BLb(a,b){var c,d;d=(fe(b.j==(f8b(),J5b),THc,b),b.b.hi());c=lMb(Lb(d));switch(c.f){case 19:return zLb(a,b);case 22:return HLb(a,b);case 11:return fLb(a,b,(jMb(),YLb));case 0:return fLb(a,b,(jMb(),NLb));case 23:return fLb(a,b,(jMb(),iMb));case 14:return vLb(a,b);case 18:return ALb(a,
b);case 17:return xLb(a,b);case 20:return rLb(a,b);default:throw BU(new sjc("Invalid type expression"));}}function bAb(a,b,c,d,e){var f,g,h,i,j,k,l,m;m=b.r;if(b.p.isEmpty()&&!c.b)return b.s;j=(Mm(),new iq);if(c.b){pe(c.b.j==(f8b(),G5b),c);for(g=M2b(c.b).Md();g.Ed();){f=g.Fd();gq(j,eAb(a,f,d,e))}}i=Um(j.a);k=b.p;h=i.size();l=k.size();if(h!=l){h>l&&quc(a.i,leb(c,Izb,QC(LC(pS,1),yAc,2,6,[" for type "+m.a.w,""+l,""+h])));return kAb(a,azb(ZCb(ZBb(m,Uzb(a,k.size(),i)))))}return kAb(a,azb(ZCb(ZBb(m,i))))}
function owb(){owb=aV;mwb=new k5("JSC_NULLABLE_RETURN",(YX(),XX),new Hlc("This function''s return type is nullable, but it always returns a non-null value. Consider making the return type non-nullable."));nwb=new k5("JSC_NULLABLE_RETURN_WITH_NAME",XX,new Hlc('The return type of the function "{0}" is nullable, but it always returns a non-null value. Consider making the return type non-nullable.'))}function pdb(a,b){var c,d,e,f,g,h,i,j;c=Y2b(b,29);d=!c.d?null:c.d.g;ie(d);e=d.indexOf(".")!=-1?new WDb(Tm(Df(Jf(new nc(46)),
d))):new XDb(d);if(ggb(a.a,e))qdb(a,e,d,b);else{j=Ycb(a,e,d,b);if(j)for(h=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();h.Ed();){g=h.Fd();f=pib(g);gdb(a,j,f,g,g.b)}else for(h=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();h.Ed();){g=h.Fd();i=g.b;i.j==(f8b(),r6b)&&Ddb(a,i,null)}}}function Hgc(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q;o=b.d;l=c.d;for(f=0;f<o.size();f++){n=o.getAtIndex(f);q=(h=zgc(b,n),h==-1?Ldc(b.b,(tdc(),pdc)):b.c[h]);p=0;for(i=0;i<l.size();i++){k=l.getAtIndex(i);m=(g=zgc(c,k),g==-1?Ldc(c.b,
(tdc(),pdc)):c.c[g]);if(n==k){j=1;(u8b(q,m,a,d)||e==1&&q.Ii(m,new jcc(true),e)&&m.Ii(m,new jcc(true),e))&&(j=2);p!=2&&(p=j)}}if(p==1||p==0&&a!=2)return false}return true}function uHb(a){switch(a){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}throw BU(new sjc(yHc+
String.fromCharCode(a)));}function jIb(a,b){var c,d,e,f,g,h,i,j;f=new tvc;c=new tvc;g=null;h=null;if(EHb(a,b.a.a))for(e=b.a.a.Md();e.Ed();){d=e.Fd();i=null;if(d.p==(vYb(),iYb)){j=d;i=iHb(a.a,j.b);d=j.a}switch(d.p.f){case 26:qvc(f,d.a.a,i);break;case 80:RHb(a,d,(wNb(),kNb));qvc(c,d.a.a.a,i);break;case 65:g=d.a.a.a;h=i;break;default:throw BU(new sjc("Illegal parameter type: "+d.p));}}return HGb(a.a,m8b(iHb(a.a,b.b),f,c,g,h))}function m4(a){var b,c,d;if("".length>0){if(!s4(a.a,"".charCodeAt(0))){b=NC(MD,
zAc,46,a.a.length,15,1);for(c=0;c<b.length;c++)b[c]=a.a[c].a;throw BU(new Geb("prefix must start with one of: "+Mpc(b)));}for(d=1;d<"".length;++d){b=NC(MD,zAc,46,a.c.length,15,1);for(c=0;c<b.length;c++)b[c]=a.c[c].a;if(!s4(a.c,"".charCodeAt(d)))throw BU(new Geb("prefix has invalid characters, must be one of: "+Mpc(b)));}}}function Tvb(){Tvb=aV;Qvb=new k5("JSC_DUPLICATE_ENUM_VALUE",(YX(),WX),new Hlc("The value {0} is duplicated in this enum."));Pvb=new k5("JSC_COMPUTED_PROP_NAME_IN_ENUM",WX,new Hlc("Computed property name used in enum."));
Svb=new k5("JSC_SHORTHAND_ASSIGNMENT_IN_ENUM",WX,new Hlc("Shorthand assignment used in enum."));Rvb=new k5("JSC_ENUM_PROP_NOT_CONSTANT",WX,new Hlc("enum key {0} must be in ALL_CAPS."))}function Dkc(a,b,c){var d,e,f,g,h,i,j;d=new RegExp(b,"g");i=NC(pS,yAc,2,0,6,1);e=0;j=a;g=null;while(true){h=d.exec(j);if(h==null||j==""||e==c-1&&c>0){i[e]=j;break}else{i[e]=Hkc(j,0,h.index);j=Hkc(j,h.index+h[0].length,j.length);d.lastIndex=0;if(g==j){i[e]=j.substr(0,1);j=j.substr(1,j.length-1)}g=j;++e}}if(c==0&&a.length>
0){f=i.length;while(f>0&&i[f-1]=="")--f;f<i.length&&(i.length=f,undefined)}return i}function tIb(a,b){var c,d,e,f,g;g=SGb(a.a,(f8b(),m7b));f=false;for(d=b.a.Md();d.Ed();){c=d.Fd();if(c.p==(vYb(),iXb)){a.a.d.ih("Default value cannot appear at top level of an object literal.",a.a.r,(GGb(),c.o.b.b+1),0);continue}else if(c.p==xXb&&MHb(a,c))continue;else if(c.p==$Xb&&NHb(a,c))continue;e=iHb(a.a,c);e.j!=S5b&&!e.ji()&&!a.a.c&&PHb(a,e);!e.b&&(f=true);H2b(g,e)}f&&OHb(a,b,(wNb(),WMb));return g}function HPb(a){var b,
c,d,e,f;c=false;d=(Mm(),new iq);while(true){e=VRb(a.j,0).b.b;switch(VRb(a.j,0).c.f){case 4:YOb(a,(MUb(),SSb));b=kPb(a,1);YOb(a,ZSb);f=VQb(a);gq(d,new gVb(new fZb(e,a.g),b,f));break;case 8:c?CRb(a,"Switch statements may have at most one default clause",QC(LC(kS,1),NAc,1,5,[])):c=true;YOb(a,(MUb(),dTb));YOb(a,ZSb);gq(d,new EVb(new fZb(e,a.g),VQb(a)));break;default:return Um(d.a)}}}function O0(a){q2(a.H,(f5(),Q4))?a.H.B=true:p2(a.H,Q4)?a.H.B=false:a.H.B||o2(a.H,new J4(H4(($nb(),Znb)),(YX(),WX)));if(a.H.sd){a.H.B=
true;o2(a.H,new J4(O4,(YX(),WX)));o2(a.H,new J4($4,WX));o2(a.H,new J4(_4,WX));o2(a.H,new J4((jab(),X9),WX));o2(a.H,new J4(H4(($nb(),Znb)),XX))}a.H.t!=(YX(),WX)&&!p2(a.H,W4)&&o2(a.H,new J4(W4,a.H.t));f0(a)&&o2(a.H,new J4(T4,VX));!a.H.A&&!q2(a.H,R4)&&o2(a.H,new J4(R4,WX))}function rqb(a,b){var c,d,e,f,g;switch(b.j.f){case 75:for(d=b.b;d;){f=d.d;pqb(a,d);d=f}return;case 65:{Shb();if(b.j==(f8b(),r6b)&&!jjb(b.e))return}e=b.b.hi();if(e.length==0)return;pqb(a,b.b);return;case 77:pe(T2b(b)==2,b);g=b.b;pe(g.j==
(f8b(),_6b),g);c=g.d;pqb(a,g);rqb(a,c);return;case 83:a.b=Y2b(b,53);ie(a.b)}if(Hib(b)||(Shb(),b.j==(f8b(),D7b)||b.j==G5b||b.j==Z6b))for(d=b.b;d;){f=d.d;rqb(a,d);d=f}}function _zb(a,b,c,d,e,f){var g,h,i;if(!(!b.d?null:b.d.a))return null;if((b.a&2)==0){quc(a.i,leb(d,Dzb,QC(LC(pS,1),yAc,2,6,[c])));return null}g=(!b.d?null:b.d.a).a;h=eAb(a,g,f,e);i=h.$h()==2&&h._h().size()==1?js(h._h().Md()).d:null;if(!!i&&i.a.g==0)return i;if(!i)quc(a.i,leb(d,Czb,QC(LC(pS,1),yAc,2,6,[c,Tyb(h,new dlc).a])));else{oe(i.a.g!=
0);quc(a.i,leb(d,vzb,QC(LC(pS,1),yAc,2,6,[nEc,c])))}return null}function rHb(a,b,c,d,e){var f,g;this.n=new tuc;this.e=(zMb(),pMb);this.s=a;this.k=e.Qe();this.b=yHb(this.k);this.j=new Poc;this.q=b;this.f=new x2b(c.d!=(pGb(),oGb));for(f=0;true;f++){f=ukc(a,Nkc(10),f);if(f==-1)break;Eoc(this.j,Hjc(f))}this.r=!b?null:b.Hg();this.a=c;this.d=d;this.u=new UIb(this);this.t=(g=new U3b((f8b(),D7b)),I3b(g,this.q),g);c.e==0?this.o=EGb:c.c==(yGb(),sGb)?this.o=null:this.o=DGb}function $kb(){$kb=aV;new k5("JSC_INVALID_GETELEM_INDEX_ERROR",
(YX(),XX),new Hlc("Array index not integer: {0}"));Ykb=new k5("JSC_INDEX_OUT_OF_BOUNDS_ERROR",XX,new Hlc("Array index out of bounds: {0}"));Zkb=new k5("JSC_NEGATING_A_NON_NUMBER_ERROR",XX,new Hlc("Can''t negate non-numeric value: {0}"));Xkb=new k5("JSC_FRACTIONAL_BITWISE_OPERAND",XX,new Hlc("Fractional bitwise operand: {0}"));$wnd.Math.pow(2,53)}function bqb(a,b){var c,d,e,f,g,h,i;if(ruc(a.a.c,b)||ruc(a.a.b,b))return true;if(b.length==0||Gic(b.charCodeAt(0)))return false;d=b.toLowerCase();for(i=(f=
(new Kmc(a.a.b.a)).a.oe().Md(),new Qmc(f));i.a.Ed();){g=(c=i.a.Fd(),c.ye());if(Ekc(d,g.toLowerCase()))return true}for(h=(e=(new Kmc(a.a.c.a)).a.oe().Md(),new Qmc(e));h.a.Ed();){g=(c=h.a.Fd(),c.ye());if(pkc(d,g.toLowerCase()))return true}return false}function Ywb(a,b){var c,d,e,f,g;ae(qkc(b.w,DFc));je(a.B,"The built-in types are missing from window. Perhaps you forgot to run DeclaredGlobalExternsOnWindow?");for(e=a.B.oe().Md();e.Ed();){c=e.Fd();f=c.ze();if(DD(f,80)){g=f;if(!g.f){te(qkc(g.w,DFc),"Unexpected unfinalized type %s",
g.w);continue}}bEb(b,c.ye(),null,dxb(f),true)}for(d=new mmc((new emc(a.C.a)).a);d.b;){c=lmc(d);bEb(b,c.ye(),null,c.ze().d,true)}}function jzb(a,b){vyb();var c,d,e,f,g;g=lzb(a,b);if(0==g.$h()&&(d=a._h(),d.size()==1&&js(d.Md()).c||(e=b._h(),e.size()==1&&js(e.Md()).c))){g=lzb(wyb(a),wyb(b));if(0!=g.$h()){f=a._h();if(f.size()==1&&js(f.Md()).c){ve((c=b._h(),!(c.size()==1&&js(c.Md()).c)),"Two loose types %s and %s that meet to bottom, meet to non-bottom after autoboxing.",Tyb(a,new dlc).a,Tyb(b,new dlc).a);
return b}else return a}}return g}function jAb(a,b,c,d,e){var f,g;g=$Eb(b,e);if(g!=null){Qzb(a,c);return bzb(a.a,g)}f=Sfb(d,b.indexOf(".")!=-1?new WDb(Tm(Df(Jf(new nc(46)),b))):new XDb(b),true);if(!f){qvc(a.g,c,b);return a.a.G}if(f.e){Qzb(a,c);return gAb(a,f.e,d)}if(DD(f.c,160)?f.c:null){Qzb(a,c);return Xzb(a,DD(f.c,160)?f.c:null,d)}if(f.b){Qzb(a,c);++a.c;return f.d}if(DD(f.c,80)?f.c:null)return bAb(a,DD(f.c,80)?f.c:null,c,d,e);return a.a.G}function dib(a){Shb();var b,c;if(a.j==(f8b(),n6b))return dib(a.b);
b=Y2b(a,29);if(!b){c=a.e;if(!c||a.j==n6b)return null;if(c.j==_6b)return dib(c);else if(c.j==n5b)return dib(c);else if(bjb(c))return c;else if((c.j==r6b||c.j==O5b)&&a==c.b)return dib(c);else if(!!c&&(c.j==_7b||c.j==T6b||c.j==T5b)&&!!c.b&&!c.b.d)return c;else if(c.j==A6b&&c.b!=a||c.j==p7b||c.j==h5b||c.j==R5b&&c.b!=a)return dib(c)}return a}function Lxb(a,b){var c,d,e,f,g,h,i,j;if(b.isEmpty())return a;c=new qyb(a.a);for(h=a.i.Md();h.Ed();){g=h.Fd();kyb(c,Syb(g,b))}for(e=a.e.Md();e.Ed();){d=e.Fd();gyb(c,
Syb(d,b))}!!a.j&&lyb(c,Syb(a.j,b));myb(c,Syb(a.k,b));a.c&&(c.c=true,c);fyb(c,ayb(a.d,b));if(a.g){f=Sxb(a.g);!!f&&!f.a.p.isEmpty()&&f.b.d.d.isEmpty()?jyb(c,a.g):jyb(c,ayb(a.g,b))}for(j=a.f.Xe().Md();j.Ed();){i=j.Fd();hyb(c,i,a.f.pe(i))}return pyb(c)}function TA(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p;if(b==null||d.b<0)return;h=e;g=f;if(a.f.b!=0||a.f.a!=0){o=a.f.b;p=a.f.a;i=a.f.a;e.b>0&&(p=0);f.b>0&&(i=0);h=new lA(e.b+o,e.a+p);g=new lA(f.b+o,f.a+i)}l=new hB;l.d=b;l.c=d;l.b=c;l.e=h;l.a=g;if(a.b){k=a.b.e.b;
j=a.b.e.a;n=l.e.b;m=l.e.a;xe(n>k||n==k&&m>=j,"Incorrect source mappings order, previous : (%s,%s)\nnew : (%s,%s)",Hjc(k),Hjc(j),Hjc(n),Hjc(m))}a.b=l;Eoc(a.e,l)}function LQb(a){var b,c,d,e,f,g;f=VRb(a.j,0).b.b;e=_Ob(a);b=aPb(a,(MUb(),ZSb));if(!b)if(e.c!=uTb)ARb(a,VRb(a.j,0),yIc,QC(LC(kS,1),NAc,1,5,[ZSb]));else if(FOb(e.a)&&!HOb(e.a))ARb(a,e,"Cannot use keyword in short object literal",QC(LC(kS,1),NAc,1,5,[]));else if(iRb(a,0,jTb)){d=new mWb(new fZb(f,a.g),e);YOb(a,jTb);c=xPb(a,1);return new FVb(new fZb(f,
a.g),d,c)}g=!b?null:xPb(a,1);return new zYb(new fZb(f,a.g),e,g)}function P8(a,b,c){var d,e,f,g,h,i,j,k;j=Z8(b,yjb(a.a,c.f),yjb(a.a,c.f+eFc));h=Q2b(b.b?b.b.f:null);d=f$b(j,h);T3b(d,b);f=Y2b(b,29);if(W2b(b,58)!=0&&Djb(d.b?d.b.f:null)){g=z2b(f);l2b(g,new B2b(new W3b((f8b(),B5b),new U3b(w7b)),(e=Y2b(b,51),!e?null:e.Hg())));f=h1b(g,false)}!!f&&(k=s3b(d,d.g,29),k!=d.g&&(d.g=k),!!f&&(d.g=new H4b(29,f,d.g)),d);i=(Shb(),Q3b((oe(C$b(d)),new W3b((f8b(),n6b),d)),d));F2b(c.g.e,i,c.g);c.g=i}function d1(a){var b,
c,d,e,f;e=(a.H.nd!=(F3(),C3)&&!!a.U&&glb(a.U,yDc,true),new Fqb);try{for(c=(!a.K&&(a.K=new Ivb),new kpc((f=new Poc,Sqb(),Eoc(f,Pqb),Eoc(f,Oqb),Eoc(f,Hqb),Eoc(f,Lqb),Eoc(f,Kqb),Eoc(f,Nqb),Eoc(f,Mqb),undefined,Sqb(),Eoc(f,Jqb),Eoc(f,Gqb),Eoc(f,Qqb),Eoc(f,Rqb),undefined,Sqb(),Eoc(f,Iqb),f)));c.a<c.c.a.length;){b=ipc(c);b.Dg(a).Mf(a.n,a.u)}}finally{d=OU(HU(Hzc()),e.a);a.H.nd!=C3&&!!a.U&&hlb(a.U,yDc,d)}}function VJb(a,b){switch(b.f){case 13:return"@"+a.j.n;case 19:return"!";case 11:return",";case 12:return":";
case 3:return">";case 5:return"[";case 7:return"{";case 9:return"(";case 2:return"<";case 17:return"?";case 14:return"|";case 6:return"]";case 8:return"}";case 10:return")";case 15:return"*";case 18:return LCc;case 20:return"=";case 4:return a.j.n;default:throw BU(new sjc(b.e!=null?b.e:""+b.f));}}function Y3b(a,b,c){be(!b.e,"first new child has existing parent");be(!b.d,"first new child has existing next sibling");be(!b.f,"first new child has existing previous sibling");be(!c.e,"second new child has existing parent");
be(!c.d,"second new child has existing next sibling");be(!c.f,"second new child has existing previous sibling");this.j=a;this.e=null;this.b=b;b.d=c;b.f=c;b.e=this;c.d=null;c.f=b;c.e=this;this.i=-1}function rkb(a,b,c,d){var e,f,g,h,i,j,k,l,m;for(e=b.b;e;e=m){m=e.d;i=!c?e:c;j=!c?b:d;switch(e.j.f){case 81:rkb(a,e,i,j);break;case 72:{Shb();if(e.j==(f8b(),p6b)&&T2b(e)==3){g=e.b;if(g.j==_7b){l=g;k=l.b.fi(false);t3b(g.e,g,k);G2b(j,l,i);vkb(a,"FOR-IN var declaration")}}else if(e.b.j!=d6b){h=e.b;f=new U3b(d6b);
S3b(f,e);t3b(e,h,f);h.j==_7b?l=h:l=Q3b((oe(C$b(h)),new W3b(n6b,h)),h);G2b(j,l,i);vkb(a,"FOR initializer")}}}}}function NJb(a,b){var c,d,e,f,g;if(b!=(BKb(),AKb))return aJb(a,LHc,a.j.g,HKb(a.j)),null;f=a.j.n;d=a.j.g;c=HKb(a.j);while(mJb(a,nKb)&&lkc(f,f.length-1)==46){UJb(a);if(mJb(a,AKb)){!a.o?IKb(a.j):eJb(a);f+=a.j.n}}g=pJb(a,f,d,c);if(mJb(a,pKb)){!a.o?IKb(a.j):eJb(a);UJb(a);e=MJb(a,!a.o?IKb(a.j):eJb(a));if(e){I2b(g,e);UJb(a);if(!mJb(a,vKb))return aJb(a,"msg.jsdoc.missing.gt",a.j.g,HKb(a.j)),null;
!a.o?IKb(a.j):eJb(a)}}return g}function Fxb(a,b){var c,d,e,f,g,h,i;oe(!a.n.isEmpty());if(b.size()<(ae(!(a==a.a.v||a==a.a.g)),a.i.size())||b.size()>(ae(!(a==a.a.v||a==a.a.g)),a.j?wAc:a.i.size()+a.e.size()))return null;f=new et;for(d=0,e=b.size();d<e;d++)if(!Uyb(Dxb(a,d),b.getAtIndex(d),a.n,f,new GEb((BBb(),BBb(),ABb))))return null;c=new qq;for(h=a.n.Md();h.Ed();){g=h.Fd();i=tg(f,g);if(i.size()!=1)return null;nq(c,g,js(i.Md()))}return Lxb(a,On(c.b))}function In(a){var b,c,d,e,f,g,h,i,j;if(DD(a,119)&&
!DD(a,275)){g=a;return g}else if(DD(a,226)){f=a;for(e=new Ltc((new Ftc(f)).a);fuc(e.a);){d=(e.b=guc(e.a),new Ptc(e.c,e.b));ie(d.a);ie(d.b.b[d.a.f])}i=bq(new utc(f));return i}j=a.size();switch(j){case 0:return dx(),cx;case 1:d=js(a.oe().Md());return Un(d.ye(),d.ze());default:h=(Av(),new tvc);for(c=a.oe().Md();c.Ed();){b=c.Fd();qvc(h,ie(b.ye()),ie(b.ze()))}return new ix(h)}}function Nub(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;n=new bxc(new Vub);for(k=a.Md();k.Ed();){j=k.Fd();l=Dkc(j,"/node_modules/",0);
m="";for(e=0;e<l.length-1;e++){e+1<l.length&&(m+=l[e]+"/");o=Gkc(j,m.length+13);i=m;!!Pwc(n,i)||Vwc(n,m,new tuc);(h=m,hh(Pwc(n,h))).add(o);m+="node_modules/"}}f=new bxc(new Zub);for(d=(new vxc(n)).b.Cj();d.Ed();){c=d.Fd();Vwc(f,c.ye(),(lm(),g=c.ze(),yo(g)))}return lr(),b=!Wsc(f.a)?kr:Wsc(f.a),nr(f,b)}function q9(a,b,c){var d,e,f,g,h,i,j,k;j=false;k=(Shb(),Xhb(c,false,a.a));d=c;for(i=new t4b(new q4b(d.e));i.a.a;){h=s4b(i);if(h==b)return j?2:1;if(v9(h))d!=h.b&&(j=true);else if(p9(a,h,k));else{for(g=
(!h.b?(bqc(),bqc(),aqc):new O4b(h.b)).Md();g.Ed();){f=g.Fd();if(f==d)break;if(k?Whb(f,a.b,a.d):Xhb(f,false,a.a)){k=true;j=true}}e=h.b;if(j&&h.j==(f8b(),J5b)&&(e.j==(f8b(),x6b)||e.j==w6b))return 0}d=h}throw BU(new sjc(rFc));}function yjb(a,b){Shb();var c,d,e,f,g,h,i,j;c=tkc(b,Nkc(46));if(c==-1)return xjb(a,b);f=b.substr(0,c);qkc(UCc,f)?e=new U3b((f8b(),S7b)):qkc(VCc,f)?e=new U3b((f8b(),N7b)):e=xjb(a,f);do{j=c+1;c=ukc(b,Nkc(46),j);g=c==-1?b.substr(j,b.length-j):b.substr(j,c-j);h=new U4b((f8b(),J7b),
g);C3b(h,g.length);g0(a).ag(g)&&(i=s3b(h,h.g,43),i!=h.g&&(h.g=i),h.g=new x4b(43,1,h.g));d=e.c+1+g.length;e=v$b(e,h);e.c=d}while(c!=-1);return e}function xYb(){vYb();return QC(LC(HP,1),SAc,17,0,[VXb,uXb,QWb,rYb,pYb,kXb,oXb,zXb,jXb,sYb,rXb,tXb,qYb,fXb,RWb,ZXb,tYb,UWb,hXb,bYb,EXb,gYb,VWb,hYb,gXb,fYb,yXb,FXb,KWb,QXb,YWb,$Wb,ZWb,xXb,$Xb,WXb,_Wb,aXb,cXb,dXb,JXb,XWb,PWb,eXb,mYb,oYb,GXb,NXb,JWb,SWb,WWb,DXb,LXb,MXb,lXb,HXb,UXb,pXb,aYb,LWb,NWb,RXb,qXb,_Xb,PXb,YXb,KXb,mXb,nXb,AXb,BXb,sXb,uYb,iXb,cYb,dYb,eYb,
kYb,lYb,iYb,SXb,TXb,MWb,XXb,nYb,vXb,wXb,IXb,bXb,jYb,IWb,CXb,TWb,OXb,OWb])}function Sab(a,b,c,d,e){var f,g,h,i,j,k,l,m;if(Vab(a,b,c,d))return;i=Oab(a,d);i.p=e;j=new mbb(b,(h=(vbb(),tbb),++a.a.b,h));Zab(i,j);if(c.j==(f8b(),n5b)&&c.e.j!=n6b){f=new mbb(b,(g=obb,++a.a.b,g));Zab(i,f);ae((j.b==obb||f.b==obb)&&(j.b==tbb||j.b==ubb||f.b==tbb||f.b==ubb))}else(k=tib(b),l=(Shb(),m=dib(b),!m?null:Y2b(m,29)),!!l&&!!k&&((l.a&2)!=0&&k.j==r6b||((l.a&512)!=0||(l.a&iEc)!=0)&&k.j==r6b||(l.a&fFc)==sFc&&k.j==m7b))&&_ab(i)}
function Tcb(a,b){var c,d,e,f;b.j==(f8b(),x6b)&&Icb(b.e);if(agb(a.a,b)){b.j==x6b&&tib(b).j!=p7b&&mhb(a.b.t,leb(b,(ecb(),Zbb),QC(LC(pS,1),yAc,2,6,[(b.b?b.b.f:null).hi(),Z2b(b.b)])));return}Nfb(a.a,b);d=tib(b);d.j==p7b&&(d=d.b?d.b.f:null);te(d.j==m7b,"Expected object literal, found %s",d);for(f=(!d.b?(bqc(),bqc(),aqc):new O4b(d.b)).Md();f.Ed();){e=f.Fd();if(Hcb(a,e)){c=v$b(O2b(b,false),R$b(e.hi()));f$b(c,O2b(e.b,false));Ocb(a,c)}}}function f$(a,b,c){switch(b.j.f){case 94:case 146:case 149:case 157:uZ(a.c,
c==0);break;case 65:(b.b?b.b.f:null).j==(f8b(),d6b)?a.c.sg(true):a.c.pg(c==0);break;case 153:b.e.j!=(f8b(),c7b)&&f$(a,b.b,c);break;case 106:b.e.j!=(f8b(),c7b)&&b.b.j!=X5b&&f$(a,b.b,c);break;case 112:!!b.b&&!b.b.d&&a.c.sg(true);break;case 96:case 84:case 85:X2b(b.b).j==(f8b(),d6b)&&a.c.sg(true);break;case 154:a.c.sg(true);break;default:c==0&&a.c.sg(false)}}function lzb(a,b){var c,d;if(-1==a.$h())return b;if(-1==b.$h())return a;if(wAc==a.$h())return b;if(wAc==b.$h())return a;if(0==a.$h()||0==b.$h())return a.e.b;
if(512==a.$h())return Nyb(b);if(lFc==a.$h())return Myb(b);if(512==b.$h())return Nyb(a);if(lFc==b.$h())return Myb(a);c=a.$h()&b.$h();if(Ewc(a.ai(),b.ai()))d=a.ai();else{d=null;c=c&-2}return kzb(a.e,c,a.$h()|b.$h(),rDb(false,a._h(),b._h()),d,a._h(),b._h(),a.Zh(),b.Zh())}function fkc(){fkc=aV;var a;bkc=QC(LC(ND,1),FBc,46,15,[-1,-1,30,19,15,13,11,11,10,9,9,8,8,8,8,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5]);ckc=NC(ND,FBc,46,37,15,1);dkc=QC(LC(ND,1),FBc,46,15,[-1,-1,63,40,32,28,25,23,21,20,19,19,18,
18,17,17,16,16,16,15,15,15,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13]);ekc=NC(OD,{3:1,562:1},46,37,14,1);for(a=2;a<=36;a++){ckc[a]=KD($wnd.Math.pow(a,bkc[a]));ekc[a]=FU({l:LBc,m:LBc,h:524287},ckc[a])}}function VA(a,b,c){var d,e,f,g,h,i,j;g=ZA(a)+1;b.a+="{\n";b.a+='"';b.a+="version";b.a+='"';b.a+=":";b.a+="3";aB(b,"file",(HB(),KB(c)));aB(b,"lineCount",""+g);aB(b,"mappings","");dB(new fB(a,b,g));aB(b,"sources","");b.a+="[";_A(b,a.k);b.a+="]";UA(a,b);aB(b,"names","");b.a+="[";_A(b,a.g);b.a+="]";for(f=
(i=(new Kmc(a.a)).a.oe().Md(),new Qmc(i));f.a.Ed();){e=(d=f.a.Fd(),d.ye());h=pvc(a.a,e);ID(h)?j=KB(h):j=dV(h);aB(b,e,j)}b.a+="\n}\n"}function wyb(a){var b,c,d,e,f;if(-1==a.$h()||wAc==a.$h())return a;e=a.$h();if((e&220)==0)return a;switch(e){case 64:return MAb(a.e);case 24:case 8:case 16:return GAb(a.e);case 128:return QAb(a.e)}b=(lm(),new Xq);Wq(b,a._h());(e&64)!=0&&Uq(b,NAb(a.e));(e&128)!=0&&Uq(b,RAb(a.e));(e&24)!=0&&Uq(b,HAb(a.e));f=izb(a.e,e&-217,zo(new kpc(b.a)),a.ai(),syb);for(d=a.Zh().Md();d.Ed();){c=
d.Fd();f=gzb(f,wyb((oe(c.d==(vxb(),uxb)),c.a)))}return f}function qZ(a,b){var c,d,e,f,g,h;f=a.tg();e=b==0&&1/b<0;(b<0||e)&&f==45&&pZ(a," ");if(e)pZ(a,"-0");else if(QU(HU(b))==b){g=HU(b);d=g;c=0;if($wnd.Math.abs(b)>=100)while(GU(KU(FU(d,10),HU($wnd.Math.pow(10,c+1))),g)){d=FU(d,10);++c}if(c>2)pZ(a,SU(d)+"E"+c);else{h=DU(g,0)<0?LU(g):g;DU(h,1E12)>0&&Rjc(h,4).length+2<(""+SU(h)).length?pZ(a,(DU(g,0)<0?"-":"")+"0x"+Rjc(h,4)):pZ(a,""+SU(g))}}else pZ(a,Ckc(Akc(""+b,".0E","E"),"$1."))}function Eeb(a){var b,
c,d,e,f,g;this.a=new Euc;pe(a.a.length==(new vuc(a)).a.size(),"Found duplicate modules");this.b=Um(a);this.c=new Poc;for(g=new kpc(a);g.a<g.c.a.length;){f=ipc(g);e=0;for(c=new kpc(f.a);c.a<c.c.a.length;){b=ipc(c);d=b.b;if(d<0)throw BU(new Jeb(LZb("Modules not in dependency order: %s preceded %s",QC(LC(kS,1),NAc,1,5,[f.d,b.d])),f,b));e=e>d+1?e:d+1}f.b=e;e==this.c.a.length&&Eoc(this.c,new Poc);Hoc(this.c,e).add(f)}}function x9b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n;if(!DD(b,83))return false;f=b;if(!a.b.Ii(f.b,
c,d))return false;m=a.a.b;i=f.a.b;while(!!m&&!!i){n=DD(m.k,21)?m.k:null;j=DD(i.k,21)?i.k:null;if(n)if(!j||!j.Ii(n,c,d))return false;l=W2b(m,30)!=0;h=W2b(i,30)!=0;k=l||W2b(m,37)!=0;g=h||W2b(i,37)!=0;if(!k&&g){e=h&&(!j||j.Ji()||j.Ci());if(!e)return false}l||(m=m.d);h||(i=i.d);if(l&&h){m=null;i=null}}return!m||W2b(m,37)!=0||W2b(m,30)!=0||!!i}function ALb(a,b){var c,d;if(!fLb(a,b,(jMb(),dMb)))return false;if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){KLb(a,dMb.d);return false}if((fe(b.j==J5b,THc,
b),S2b(b,2)).j!=k7b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[QAc]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);KLb(a,dMb.d);return false}d=(fe(b.j==J5b,THc,b),S2b(b,2)).gi();if(d<0||d%1!=0){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[QAc]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);KLb(a,dMb.d);return false}return true}function RRb(a){var b;a.d=a.b.b==0?a.d:VRb(a,0).b.b.c;fwc(a.b);b=a.d;QRb(a);if(!oSb(a))return new ROb((MUb(),fUb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d));if((PRb(a,a.d)?lkc(a.e.a,a.d):0)!=47){YRb(a,"Expected '/' in regular expression literal",
QC(LC(kS,1),NAc,1,5,[]));return new ROb((MUb(),fUb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d))}QRb(a);while(zSb(PRb(a,a.d)?lkc(a.e.a,a.d):0))QRb(a);return new ROb((MUb(),fUb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d))}function fY(){fY=aV;eY=new k5("JSC_REGEXP_REFERENCE",(YX(),XX),new Hlc("References to the global RegExp object prevents optimization of regular expressions."));dY=new k5("JSC_MALFORMED_REGEXP",XX,new Hlc("Malformed Regular Expression: {0}"));Eo("$1","$2","$3","$4","$5","$6",QC(LC(pS,1),yAc,2,6,["$7",
"$8","$9","$_","$input","input","lastMatch","lastParen","leftContext","rightContext","global","ignoreCase","lastIndex","multiline","source"]))}function DJb(a,b){var c,d;if(b==(BKb(),qKb)){c=new tuc;while(true){if(mJb(a,AKb)){d=a.j.n;!WIb.contains(d)&&!i1b(a.e,d)&&_Ib(a,"msg.jsdoc.modifies.unknown",d,a.j.g,HKb(a.j));quc(c,a.j.n);b=!a.o?IKb(a.j):eJb(a)}else{ZIb(a,PHc,a.j.g,HKb(a.j));return b}if(mJb(a,tKb))b=!a.o?IKb(a.j):eJb(a);else break}if(mJb(a,wKb)){b=!a.o?IKb(a.j):eJb(a);V1b(a.e,c)||ZIb(a,"msg.jsdoc.modifies.duplicate",
a.j.g,HKb(a.j))}else ZIb(a,PHc,a.j.g,HKb(a.j))}return b}function KJb(a,b){var c;if(b==(BKb(),uKb)){b=!a.o?IKb(a.j):eJb(a);if(b==jKb||b==oKb||b==yKb||b==wKb||b==xKb||b==tKb||b==vKb||b==lKb||b==mKb){a.o=b;return oJb(a,(f8b(),w7b))}return WJb(a,(f8b(),w7b),uJb(a,b))}else if(b==hKb)return WJb(a,(f8b(),B5b),uJb(a,!a.o?IKb(a.j):eJb(a)));else{c=uJb(a,b);if(c)if(mJb(a,uKb)){!a.o?IKb(a.j):eJb(a);return WJb(a,(f8b(),w7b),c)}else if(mJb(a,hKb)){!a.o?IKb(a.j):eJb(a);return WJb(a,(f8b(),B5b),c)}return c}}function kY(){kY=
aV;Jf(new nc(46));new Wc(String.fromCharCode(46));jY=new k5("JSC_MISSING_REQUIRE_WARNING",(YX(),WX),new Hlc(qCc));iY=new k5("JSC_MISSING_REQUIRE_FOR_GOOG_SCOPE",WX,new Hlc(qCc));hY=new k5("JSC_MISSING_REQUIRE_CALL_WARNING",WX,new Hlc(qCc));gY=new k5("JSC_EXTRA_REQUIRE_WARNING",WX,new Hlc("extra require: ''{0}''"));lm();Ao(QC(LC(kS,1),NAc,1,5,["goog.testing.asserts","goog.testing.jsunit","goog.testing.JsTdTestCaseAdapter"]))}function Jdb(a,b){var c,d,e,f,g,h,i,j,k,l;ae(b.j==(f8b(),x6b));j=X2b(b.e);
if(j.j!=m7b)return;c=rib(b);d=YDb(c);k=(e=Sfb(a.a,d,false),!e?null:DD(e.c,80)?e.c:null);if(!k){for(i=(!j.b?(bqc(),bqc(),aqc):new O4b(j.b)).Md();i.Ed();){g=i.Fd();f=g.b?g.b.f:null;!!f&&f.j==r6b&&Ddb(a,f,null)}return}l=s3b(b,b.g,76);l!=b.g&&(b.g=l);b.g=new x4b(76,1,b.g);for(h=(!j.b?(bqc(),bqc(),aqc):new O4b(j.b)).Md();h.Ed();){g=h.Fd();gdb(a,k,g.hi(),g,g.b?g.b.f:null)}}function wRb(a){switch(VRb(a.j,0).c.f){case 45:case 25:case 30:case 52:case 15:case 10:case 27:case 13:case 6:case 3:case 19:case 28:case 20:case 22:case 23:case 7:case 44:case 2:case 108:case 109:case 110:case 111:case 21:case 29:case 35:case 100:case 101:case 107:case 104:case 97:case 98:case 94:case 95:case 99:case 49:case 47:case 18:case 9:case 26:case 24:case 68:case 69:case 63:case 64:case 77:case 76:return true;
default:return false}}function Qcb(a,b){var c,d,e,f,g,h,i;d=(Shb(),h=dib(b),!h?null:Y2b(h,29));i=nib(b);f=Gcb(a,b,i);if(!i||!g3b(i))g=false;else if(i.j==(f8b(),_6b))g=bgb(a.a,i.hi(),false);else{te(i.j==x6b,"Expected getprop, found %s",i.j);g=agb(a.a,i);if(g&&!!d){n3b(i.e,76,true);mhb(a.b.t,leb(i,(ecb(),Zbb),QC(LC(pS,1),yAc,2,6,[(i.b?i.b.f:null).hi(),Z2b(i.b)])))}}e=new pgb(b,a.a,Fcb(a,b,d),a.b.d);c=Y2b(b,51);!!c&&c.Kh()||Eoc(a.b.p,e);Lfb(a.a,f,e);Mcb(a,b,i,d,g)}function xZb(a,b,c){var d,e,f,g,h,i,
j,k,l;j=c;k=a.b.p;h=a.b.n;d=Okc(b);if(h>=0){d=d<h?d:h;DD(b,24)?(l=b.a.length,d<l?b.a=Hkc(b.a,0,d):d>l&&(b.a+=Rkc(NC(MD,zAc,46,d-l,15,1))),undefined):b=ID(b)?b.substr(0,d-0):b.qj(0,d)}k>0&&(k=Wjc(Okc(b),k));if(d>=k)return b;e=32;a.b.k?a.b.b==100?e=48:e=48:j=0;f=NC(MD,zAc,46,k-d,15,1);zpc(f,f.length,e);g=a.b.f;i=DD(b,24)?b:new flc(b);g?(i.a+=Skc(f,0,f.length),i):clc(i,j,Skc(f,0,f.length));return i}function hzb(a,b){switch(b){case 0:return a.b;case 8:return a.w;case 16:return a.e;case 32:return a.j;
case 64:return a.q;case 128:return a.t;case 256:return a.B;case 512:return a.A;case lFc:return a.f;case wAc:return a.G;case -1:return a.u;case 24:return a.a;case 192:return a.r;case 280:return a.C;case 320:return a.D;case 384:return a.F;case 288:return a.p;case 56:return a.k;case 96:return a.n;case 160:return a.o;default:return new vBb(a,b)}}function eqb(a,b,c,d){var e,f,g;switch(d.j.f){case 75:break;case 26:case 27:d.b==c&&aqb(a,b,c)&&jqb(a,d,d.e);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:if(aqb(a,
b,c))if(d.b==c){e=d.e;if(e.j==(f8b(),n6b)){f=e.e;Ejb(f,e);R0(a.a.a)}else{g=c.d;p3b(d,g);t3b(e,d,g);R0(a.a.a)}}else{t3b(d,c,new U3b((f8b(),i7b)));R0(a.a.a)}break;default:if(aqb(a,b,c)){t3b(d,c,new U3b((f8b(),i7b)));R0(a.a.a)}}}function A6(a,b){var c,d,e,f,g;f=b.e;if(b.c){e=(te(tkc(LEc,Nkc(46))==-1,tCc,LEc),new U4b((f8b(),_6b),LEc));c=o$b(e,(te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc)),T5b);d=new x2b(false);o2b(d,new B2b(new W3b(B5b,new U4b(J7b,"Arguments")),"<Es6RewriteArrowFunction>"));A3b(c,
h1b(d,false));T3b(c,f);I2b(f,c)}if(b.d){e=(te(tkc(MEc,Nkc(46))==-1,tCc,MEc),new U4b((f8b(),_6b),MEc));g=o$b(e,new U3b(S7b),T5b);T3b(g,f);!b.b?I2b(f,g):F2b(f,g,b.b)}R0(a.a)}function vdb(a,b){var c,d,e,f,g,h,i;if(g3b(b)){c=Sfb(a.a,YDb(b),false);if(!c){i=udb(a,b);if(i)return g=i.$h()==2&&i._h().size()==1?js(i._h().Md()):null,!g?null:g.b}else if(DD(c.c,80)?c.c:null)return(DD(c.c,80)?c.c:null).c;else if(c.a){d=c.a.c;if(d)return Jwb(d)}else if(c.c){e=c.c;if(DD(e,201)){d=e.a.c;return Jwb(ie(d))}}else if(c.d)return Ayb(c.d)}h=
udb(a,b);return!h?null:(f=h.$h()==2&&h._h().size()==1?js(h._h().Md()):null,!f?null:f.b)}function m8b(a,b,c,d,e){var f,g,h,i,j,k,l;g=new b5b((f8b(),s6b),a);ie(b);ie(c);for(j=new Tvc(new Kvc(b));j.b!=j.c.a.b;){h=Rvc(j);f=G$b(h.d);H2b(g,n8b(f,h.e))}for(i=new Tvc(new Kvc(c));i.b!=i.c.a.b;){h=Rvc(i);f=G$b(h.d);l=s3b(f,f.g,80);l!=f.g&&(f.g=l);f.g=new x4b(80,1,f.g);H2b(g,n8b(f,h.e))}if(d!=null){k=new W3b(z7b,(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b(_6b,d)));H2b(g,(!!e&&(l=s3b(k,k.g,78),l!=k.g&&(k.g=l),!!e&&
(k.g=new H4b(78,e,k.g))),k))}return g}function Mab(a,b){var c,d,e;e=a;for(d=new t4b(new q4b(a.e));d.a.a;){c=s4b(d);switch(c.j.f){case 41:case 82:case 75:case 98:case 86:case 66:case 70:case 72:case 25:case 78:case 19:case 20:case 21:case 22:return vbb(),rbb;case 60:if(c.b==e)return vbb(),rbb;break;case 47:if(!qkc(b,Z2b(c.b)))return vbb(),obb;break;case 29:if(!qkc(b,c.hi()))return vbb(),obb;break;case 28:if(c.b!=e)return vbb(),obb;break;case 24:return vbb(),qbb}e=c}return vbb(),obb}function eX(a,b){var c,
d,e,f,g,h,i;if(!b)return!a?0:1;if(a.b!=b.b)return Qe(b.b,a.b);g=a.a.f;h=b.a.f;if(g!=null&&h!=null){i=eAc((Yzc(g),g),(Yzc(h),h));if(i!=0)return i}else if(g==null&&h!=null)return-1;else if(g!=null&&h==null)return 1;e=a.a.d;f=b.a.d;if(e!=f)return e-f;else if(e<0&&0<=f)return-1;else if(0<=e&&f<0)return 1;c=a.a.a;d=b.a.a;if(c!=d)return c-d;else if(c<0&&0<=d)return-1;else if(0<=c&&d<0)return 1;return mkc(a.a.c,b.a.c)}function HIb(a,b){var c,d;if(b.a.size()==1){c=b.a.getAtIndex(0);switch(c){case "any":d=
HGb(a.a,new a5b((f8b(),j5b)));break;case tAc:d=HGb(a.a,new a5b((f8b(),l7b)));break;case sAc:d=HGb(a.a,new a5b((f8b(),H5b)));break;case vAc:d=HGb(a.a,new a5b((f8b(),L7b)));break;case aDc:d=HGb(a.a,new a5b((f8b(),b8b)));break;case EEc:d=HGb(a.a,new a5b((f8b(),Y7b)));break;default:d=HGb(a.a,o8b(b.a))}}else d=HGb(a.a,o8b(b.a));b4b(d.i)==-1&&gHb(d,b.o.b,b.o.a);return d}function VV(a,b,c){var d,e,f,g,h,i,j,k;switch(b.j.f){case 96:case 84:case 85:i=h8b(b.j);i!=-1&&(e=T2b(b),i!=e&&$W(YBc+i+ZBc+e,b));k=b.b;
c?fW(a,k,true):fW(a,k,false);break;case 154:f=T2b(b);0!=f&&$W(XBc+f,b);break;case 112:YV(a,b);break;case 155:j=h8b(b.j);j!=-1&&(g=T2b(b),j!=g&&$W(YBc+j+ZBc+g,b));TV(b.b);break;case 156:h=h8b(b.j);h!=-1&&(d=T2b(b),h!=d&&$W(YBc+h+ZBc+d,b));break;case 79:break;default:$W("Class contained member of invalid type "+b.j,b)}}function uPb(a,b){var c,d,e,f,g,h;a.d=BMb(a.d,(wNb(),SMb).a);f=VRb(a.j,0).b.b;d=(Mm(),new iq);YOb(a,(MUb(),TTb));while(jRb(a,$Sb)||oRb(a)||iRb(a,0,mUb))if(jRb(a,$Sb)){YOb(a,$Sb);gq(d,
new CWb(dPb(a,VRb(a.j,0).b.b)))}else{c=(jRb(a,mUb)?e=(g=VRb(a.j,0).b.b,YOb(a,mUb),h=OQb(a,b),new _Ub(new fZb(g,a.g),h)):e=GQb(a,b),e);Eoc(d.a,ie(c));if(c.p==(vYb(),NWb))break;else if(jRb(a,$Sb))YOb(a,$Sb);else break}YOb(a,YSb);return new ZUb(new fZb(f,a.g),Um(d.a))}function M_b(a){var b,c,d,e,f,g,h,i,j;e=new Poc;!!a.i&&Eoc(e,a.i.a);!!a.g&&Eoc(e,a.g.a);if(a.d){!!a.d.a&&Eoc(e,a.d.a.a);if(a.d.e)for(d=new kpc(a.d.e);d.a<d.c.a.length;){c=ipc(d);Eoc(e,c.a)}if(a.d.f)for(d=new kpc(a.d.f);d.a<d.c.a.length;){c=
ipc(d);Eoc(e,c.a)}if(a.d.n)for(h=(f=(new Umc(a.d.n)).a.oe().Md(),new Zmc(f));h.a.Ed();){g=(b=h.a.Fd(),b.ze());!!g&&Eoc(e,g.a)}if(a.d.r)for(j=new kpc(a.d.r);j.a<j.c.a.length;){i=ipc(j);!!i&&Eoc(e,i.a)}}return e}function IPb(a,b,c){var d,e,f,g,h,i,j,k;h=VRb(a.j,0).b.b;YOb(a,(MUb(),USb));g=null;(!b||(k=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),k)||!a.b.b&&GOb(k)))&&(g=ZOb(a));e=gPb(a);i=null;if(jRb(a,oTb)){YOb(a,oTb);i=kPb(a,1)}f=(Mm(),new iq);if(a.b.c&&jRb(a,wTb)){YOb(a,wTb);
j=YQb(a);Eoc(f.a,ie(j));while(jRb(a,$Sb)){YOb(a,$Sb);j=YQb(a);!!j&&(Eoc(f.a,ie(j)),f)}}YOb(a,RTb);d=KPb(a,c);YOb(a,WSb);return new iVb(new fZb(h,a.g),g,e,i,Um(f.a),d)}function B7(a){var b,c,d,e,f,g,h,i,j,k;b=r3b(a.d);h=r3b(a.d);g=!!a.d.b;i=s7++;j=y$b(X$b((f8b(),h7b),b),i$b(QC(LC(WQ,1),uCc,7,0,[q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(i))),L7()])));k=s3b(j,j.g,67);k!=j.g&&(j.g=k);j.g=new x4b(67,1,j.g);f=M7(i);I2b(a.j,j);F2b(a.j,h,j);F2b(a.j,f,h);if(g){c=r3b(a.d);d=s7++;e=
M7(d);H2b(h,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(d))));H2b(h,L7());F2b(a.j,c,f);F2b(a.j,e,c)}}function n8(a,b){var c,d,e,f,g;if(b.j==(f8b(),r6b)){!a.b&&(a.b=kib(b));f=b.b;c=f.d;e=f.hi();e.length!=0&&(Shb(),b.j==r6b&&!jjb(b.e))&&k8(a,a.d,f);oe(c.j==r7b);j8(a,a.d,c)}else if(b.j==O5b){!!a.d.e&&(a.b=kib(b));d=b.b;d.j==d6b||(Shb(),b.j==O5b&&!jjb(b.e)&&k8(a,a.d,d))}else if(b.j==G5b||b.j==p6b||b.j==q6b||b.j==O7b||b.j==Z6b){!!a.d.e&&(a.b=kib(b));g=W2b(b,38)!=0||(Shb(),b.j==
G5b&&!!b.e&&b.e.j==r6b)||b.j==Z6b;o8(a,b,g,true)}else{oe(!a.d.e);o8(a,b,true,true)}}function ELb(a,b){var c,d,e;if(!(b.j==(f8b(),_6b)||b.j==J7b||b.j==J5b)){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[VHc]),EHc+f5b(WHc,c)),a.b.Hg(),a.d,a.c);return false}if(b.j==_6b||b.j==J7b)return true;e=(fe(b.j==J5b,THc,b),b.b.hi());if(!hLb(e)){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[VHc]),EHc+f5b(WHc,c)),a.b.Hg(),a.d,a.c);return false}d=lMb(Lb(e));switch(d.a){case 0:return BLb(a,b);case 1:return sLb(a,b);default:throw BU(new sjc("Invalid type transformation expression"));
}}function nLb(a,b){var c;if(!fLb(a,b,(jMb(),OLb)))return false;if(!lLb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[YHc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,2)))){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[YHc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,3)))){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[YHc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function JPb(a,b){var c,d;if(jRb(a,(MUb(),
jUb)))return QPb(a);else{d=new KRb(VRb(a.j,0).b.b);d.b=b;d.a=ePb(a);d.c=!!aPb(a,rUb);return iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"get")&&(tRb(a,1)||VRb(a.j,1).c==TTb)?fQb(a,d):iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"set")&&(tRb(a,1)||VRb(a.j,1).c==TTb)?QQb(a,d):iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,KCc)&&(c=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(c||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&(tRb(a,1)||VRb(a.j,1).c==TTb)?BPb(a,d):LPb(a,d)}}function xdb(a,b,c){var d,e,f,g,h,i;if(b.j==(f8b(),x6b)&&qkc((b.b?b.b.f:null).hi(),
CCc))return ydb(a,b.b,c);g=new XDb(c);if(g3b(b)){h=YDb(b);d=Sfb(a.a,h,false);if(d){e=DD(d.c,160)?d.c:null;if(!!e&&e.c.contains(c))return oe(e.d==(vxb(),uxb)),e.a;f=d.c;if(f)return tdb(a,$wb(f,g))}}i=udb(a,b);!!i&&(i.$h()==64||i.$h()==128||i.$h()==32||i.$h()==256||(i.$h()&-25)==0&&(i.$h()&24)!=0)&&(i=wyb(i));if(!!i&&(JEb(i._h(),g)||JEb(i.Zh(),g)))return Fyb(i,g);return null}function Qab(a,b,c,d){var e,f,g;if(Vab(a,b,c,d))return;switch(c.j.f){case 82:case 66:case 41:case 25:case 78:case 19:case 20:case 21:case 22:g=
(vbb(),rbb);break;case 28:b==c.b?g=(vbb(),pbb):Uab(a,c)?g=(vbb(),rbb):g=(vbb(),obb);break;case 23:g=b==c.b?(vbb(),rbb):(vbb(),obb);break;case 61:case 62:g=Mab(c,d);break;case 60:b!=c.b?g=Mab(c,d):g=(vbb(),rbb);break;case 24:g=(vbb(),qbb);break;default:g=(vbb(),obb)}f=Oab(a,d);Zab(f,new mbb(b,(e=g,++a.a.b,e)))}function kob(){kob=aV;hob=new k5("JSC_CANNOT_PARSE_GENERATED_CODE",(YX(),VX),new Hlc("Internal compiler error. Cannot parse generated code: {0}"));job=new k5("JSC_GENERATED_BAD_CODE",VX,new Hlc("Internal compiler error. Generated bad code.----------------------------------------\nExpected:\n{0}\n----------------------------------------\nActual:\n{1}"));
iob=new k5("JSC_EXTERN_PROPERTIES_CHANGED",VX,new Hlc("Internal compiler error. Extern properties modified."))}function H0(a){var b,c,d;b=(!a.K&&(a.K=new Ivb),new Poc);if(b.a.length==0)return;_yc(W_,"Normalizing");Y0(a,"normalize");L0(a,new jkb(a,false));d0(a);a.H.kb&&(_yc(W_,"Creating extern file for exports"),Y0(a,wDc),c=new B9(a),A9(c,a.u),d=x$(u$(v$(new y$(c.g))),u0(c.b)),"/**\n * @fileoverview Generated externs.\n * @externs\n */\n"+s$(d),d0(a),undefined);a.L=new Dlb(a,a.U,null);a.H._==(C2(),
y2)&&Alb(a.L,a.O);a.H.q&&(a.L.o=true);vlb(a.L,b);zlb(a.L,a.n,a.u);a.L=null}function MCb(a,b){var c,d,e,f,g,h;oe(VCb(a.d,b.d));if(a==a.a._&&b.f.a==0)return b;if(a.e)return NCb(a,b);g=jCb(a.d,b.d);if(!wEb(g.a,wEc)&&!vEb(g.a)&&!wEb(g.a,HFc)){oe(!a.b&&!b.b);f=qDb(a.a,true,g,a.g,b.g);if(f==a.a.d)return a.a.M;return new TCb(a.a,g,f,null,a.e,false,a.f)}h=a.b;c=a.c;if(wEb(g.a,wEc)&&!a.b){h=b.b;c=b.b.c}e=qDb(a.a,true,g,a.g,b.g);if(e==a.a.d)return a.a.M;d=!h?null:Ixb(h,b.b);if(!(!d||d!=d.a.c))return a.a.M;
return new TCb(a.a,g,e,d,a.e,c,a.f)}function Vdb(a){Sdb();var b,c,d,e,f,g,h,i,j;i=Dkc(a,"\r?\n",0);b=new qq;for(d=0;d<i.length;++d){g=i[d];if(g.length==0||qkc(g.substr(0,1),"#")||qkc(g.substr(0,1),"!"))continue;j=pzc(Qdb,g);if(!lzc(j))continue;f=mzc(j,1);c="";g=Gkc(g,mzc(j,0).length);for(;;){h=pzc(Rdb,g);if(!nzc(h))throw BU(new TB("Properties parser failed on line: "+g));c+=mzc(h,1);e=mzc(h,2).length==0;if(e||d+1==i.length)break;g=i[++d]}Eoc(b.b,(bl(f,c),Av(),new Yp(f,c)))}return new Udb(On(b.b))}
function Iwb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(b.a.p.isEmpty())return a;m=b.b;oe(!m.d.d.isEmpty());j=m;g=false;for(o=a.j.Md();o.Ed();){n=o.Fd();if(Fv(m.d,n)){g=true;break}}if(g){d=new qq;for(f=Bn(m).Md();f.Ed();){e=f.Fd();a.j.contains(e.ye())||oq(d,e)}j=On(d.b)}c=new qyb(a.a);for(l=a.f.Md();l.Ed();){k=l.Fd();kyb(c,!k?null:Syb(k,j))}for(i=a.d.Md();i.Ed();){h=i.Fd();gyb(c,!h?null:Syb(h,j))}!!a.g&&lyb(c,Syb(a.g,j));!!a.i&&myb(c,Syb(a.i,j));nyb(c,a.j);return oyb(c)}function Rzb(a,b,c,d,e,f,g){var h,
i,j,k,l,m,n,o,p,q;i=c.j!=(f8b(),r6b);o=i?null:c.b.d;k=new vAb(o,b);while(tAb(k)){p=uAb(k);n=sAb(k);m=(zAb(),xAb);!!n&&a.b.cg(n)?m=wAb:!!n&&a.b.eg(n)&&(m=yAb);j=g||i||!Y2b(n,29)?null:lAb(a,L_b(Y2b(n,29)),m,e,d);h=j;l=!b?null:G_b(b,p);!!l&&(!j?h=lAb(a,l,m,e,d):quc(a.i,leb(n,Mzb,QC(LC(pS,1),yAc,2,6,["formal parameter "+p]))));q=null;if(h){m=h.a;q=h.b}switch(m.f){case 0:kyb(f,q);break;case 1:gyb(f,q);break;case 2:lyb(f,q?q:a.a.G)}}}function rA(b,c,d){var e,f,g,h,i,j,k;!d&&(d=new vA);try{if(c.c>=0||c.d!=
null||c.g!=null||c.e!=null)throw BU(new EB("Invalid map format"));g=new $A;for(k=c.f.Md();k.Ed();){j=k.Fd();h=j.d;j.c==0&&(h=null);if(h==null)throw BU(new EB("Unable to retrieve: "+j.d));YA(g,j.b,j.a,h)}i=new dlc;try{VA(g,i,c.b)}catch(a){a=AU(a);if(DD(a,90)){e=a;throw BU(new VB(e));}else throw BU(a);}qA(b,i.a)}catch(a$1){a$1=AU(a$1);if(DD(a$1,90)){f=a$1;throw BU(new EB("IO exception: "+f));}else throw BU(a$1);}}function u8(a){var b,c,d,e,f;e=new dlc;for(d=0;d<a.length;){b=lkc(a,d++);if(b==92){c=lkc(a,
d++);switch(c){case 116:e.a+="\t";break;case 110:e.a+=BBc;break;case 114:e.a+="\r";break;case 102:e.a+="\f";break;case 98:e.a+="\b";break;case 117:f=ljc(a.substr(d,d+4-d));Ukc(e,f&DAc);d+=4;break;case 10:case 8232:case 8233:break;case 13:a.charCodeAt(d+1)==10&&++d;break;default:e.a+=String.fromCharCode(b);e.a+=String.fromCharCode(c)}}else e.a+=String.fromCharCode(b)}return e.a}function G8(a,b){var c,d,e,f,g,h,i;g=W2b(b,58)!=0?a.d:a.e;h=b.j==(f8b(),S5b)?hib(g,b.b):iib(g,b.hi());if(!h){h=J$b(QC(LC(WQ,
1),uCc,7,0,[T$b("configurable",new U3b(U7b)),T$b("enumerable",new U3b(U7b))]));b.j==S5b?H2b(g,n$b(O2b(b.b,false),h)):H2b(g,T$b(b.hi(),h))}d=b.b?b.b.f:null;e=z2b((Shb(),f=dib(d),!f?null:Y2b(f,29)));l2b(e,new B2b(new W3b(B5b,R$b(a.f)),(c=Y2b(b,51),!c?null:c.Hg())));i=T$b(b.j==y6b||W2b(b,73)!=0?"get":"set",Q2b(d));A3b(i,h1b(e,false));H2b(h,i);T3b(h,b)}function nAb(a,b,c){var d,e,f;pe(!!b,"getEnum should only be called when we know that the enum is defined");if(b.d==(vxb(),uxb))return;f=gxb(b);if(!f){quc(a.i,
leb((oe(b.d==sxb),b.e).a,tzb,QC(LC(pS,1),yAc,2,6,[])));d=a.a.G}else{e=a.c;d=fAb(a,f,c,null);if(a.c>e){quc(a.i,leb(f.a,Azb,QC(LC(pS,1),yAc,2,6,[])));d=a.a.G;a.c=e}else if(-1==d.$h()){quc(a.i,leb(f.a,yzb,QC(LC(pS,1),yAc,2,6,[])));d=a.a.G}else if(Kyb(d)){quc(a.i,leb(f.a,zzb,QC(LC(pS,1),yAc,2,6,[])));d=a.a.G}}hxb(b,d)}function $db(a,b,c){var d,e,f,g,h,i,j;f=false;b.a+="function(";d=c.b;if(d.j==(f8b(),f7b)){b.a+="new:";_db(a,b,d.b);f=true}else if(d.j==S7b){b.a+="this:";_db(a,b,d.b);f=true}else if(d.j==
d6b){b.a+=")";return}else if(d.j!=r7b){b.a+="):";_db(a,b,d);return}i=null;d.j==r7b?i=d:d.d.j==r7b&&(i=d.d);if(i){e=true;for(h=(!i.b?(bqc(),bqc(),aqc):new O4b(i.b)).Md();h.Ed();){g=h.Fd();(!e||f)&&(b.a+=",",b);_db(a,b,g);e=false}}b.a+=")";j=c.b?c.b.f:null;if(j.j!=d6b){b.a+=":";_db(a,b,j)}}function N3b(a,b,c,d,e){var f,g,h,i,j,k;$kc(b,a.j);if(DD(a,8)){b.a+=" ";_kc(b,a.hi())}else if(a.j==(f8b(),r6b)){b.a+=" ";!a.b||a.b.j!=_6b?(b.a+="<invalid>",b):_kc(b,a.b.hi())}else if(a.j==k7b){b.a+=" ";Vkc(b,a.gi())}if(c){h=
b4b(a.i);if(h!=-1){b.a+=" ";b.a+=h}if(a.c!=0){b.a+=" [length: ";Wkc(b,a.c);b.a+="]"}}if(d){g=_2b(a);for(f=0;f<g.length;f++){i=g[f];k=j3b(a,i);b.a+=" [";_kc(b,h4b(i));b.a+=": ";b.a+=""+k;b.a+="]"}}if(e&&!!a.k){j=dV(a.k);if(j!=null){b.a+=" : ";b.a+=""+j}}}function mCb(a,b){LBb();var c,d,e,f,g,h,i,j,k;if(a.a!=b.a)return null;f=a.b;g=b.b;if(f.d.d.isEmpty()&&g.d.d.isEmpty())return a;else if(f.d.d.isEmpty()||g.d.d.isEmpty())return null;c=new qq;for(e=Bn(f).Md();e.Ed();){d=e.Fd();k=d.ye();i=d.ze();j=k==
null?null:Gv(g.d,k);if(wAc==i.$h())Eoc(c.b,(bl(k,j),Av(),new Yp(k,j)));else if(wAc==j.$h())Eoc(c.b,(bl(k,i),Av(),new Yp(k,i)));else{h=pzb(i,j);if(!h)return null;Eoc(c.b,(bl(k,h),Av(),new Yp(k,h)))}}return new fCb(On(c.b),a.a)}function FJb(a,b){var c,d,e;e=oJb(a,(f8b(),r7b));c=false;d=null;if(b!=(BKb(),xKb)){do{if(d){!a.o?IKb(a.j):eJb(a);UJb(a);b=!a.o?IKb(a.j):eJb(a)}if(b==kKb){UJb(a);if(mJb(a,xKb))d=oJb(a,c6b);else{UJb(a);d=WJb(a,c6b,KJb(a,!a.o?IKb(a.j):eJb(a)));UJb(a)}c=true}else{d=KJb(a,b);if(mJb(a,
oKb)){UJb(a);!a.o?IKb(a.j):eJb(a);d=WJb(a,i6b,d)}}if(!d)return null;H2b(e,d);if(c)break}while(mJb(a,jKb))}if(c&&mJb(a,jKb))return aJb(a,"msg.jsdoc.function.varargs",a.j.g,HKb(a.j)),null;return e}function $Kb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;i=new HSb(a.Hg(),b);j=c.b==1;e=new bLb(d,j);f=ZKb(c);k=new FRb(f,e,i);o=(p=new jZb,q=VRb(k.j,0).b.b,r=gQb(k),YOb(k,(MUb(),hTb)),lZb(p.a,OU(HU(Hzc()),p.b)),new yYb(new fZb(q,k.g),r,Um(k.a.a.a)));n=null;Mm();h=k.d;if(!e.d||j){g=BHb(o,a,b,c,d);n=g.p;h=BMb(h,
g.e);m=s3b(n,n.g,38);m!=n.g&&(n.g=m);n.g=new x4b(38,1,n.g);l=s3b(n,n.g,89);l!=n.g&&(n.g=l);!!h&&(n.g=new H4b(89,h,n.g));c.d!=(pGb(),oGb)&&Um(k.a.a.a)}return new eLb(n,h,k.f)}function qQb(a){var b,c,d,e,f;f=VRb(a.j,0).b.b;e=zQb(a);if(!DD(e,364)||!!e.a)while(iRb(a,0,(MUb(),STb))||iRb(a,0,TTb)||iRb(a,0,YTb)||iRb(a,0,NTb)||iRb(a,0,vUb))switch(VRb(a.j,0).c.f){case 47:b=sPb(a);e=new eVb(new fZb(f,a.g),e,b);break;case 49:YOb(a,TTb);d=kPb(a,1);YOb(a,YSb);e=new vWb(new fZb(f,a.g),e,d);break;case 51:YOb(a,
YTb);c=$Ob(a);e=new uWb(new fZb(f,a.g),e,c);break;case 107:case 104:e=XQb(a,e);break;default:throw BU(new qic("unexpected case: "+VRb(a.j,0).c));}return e}function MPb(a,b,c){var d,e,f,g,h,i;f=VRb(a.j,0).b.b;YOb(a,b);d=(Mm(),new iq);while(jRb(a,(MUb(),rTb))||jRb(a,vTb))jRb(a,rTb)?gq(d,(g=VRb(a.j,0).b.b,YOb(a,rTb),YOb(a,STb),h=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),h)||!a.b.b&&GOb(h)?hQb(a):FQb(a,1),cPb(a,"of"),xPb(a,1),YOb(a,XSb),new tVb(new fZb(g,a.g)))):gq(d,(i=VRb(a.j,
0).b.b,YOb(a,vTb),YOb(a,STb),xPb(a,1),YOb(a,XSb),new uVb(new fZb(i,a.g))));xPb(a,1);YOb(a,c);return new vVb((e=new fZb(f,a.g),Um(d.a),e))}function Smb(){Smb=aV;var a,b;Pmb=(f8b(),new Wmb);Qmb=new Vmb("REGISTER_NUMBER",1,(b="goog.tweak.registerNumber",b));Rmb=new Vmb("REGISTER_STRING",2,(a="goog.tweak.registerString",a));Omb=new Tmb("OVERRIDE_DEFAULT_VALUE",3,"goog.tweak.overrideDefaultValue");Lmb=new Tmb("GET_COMPILER_OVERRIDES",4,"goog.tweak.getCompilerOverrides_");Kmb=new Umb("GET_BOOLEAN",5,"goog.tweak.getBoolean");
Mmb=new Umb("GET_NUMBER",6,"goog.tweak.getNumber");Nmb=new Umb("GET_STRING",7,"goog.tweak.getString")}function ywb(){ywb=aV;xwb=new k5("JSC_REQUIRES_NOT_SORTED",(YX(),XX),new Hlc("goog.require() statements are not sorted. The correct order is:\n\n{0}\n"));wwb=new k5("JSC_PROVIDES_NOT_SORTED",XX,new Hlc("goog.provide() statements are not sorted. The correct order is:\n\n{0}\n"));vwb=new k5("JSC_PROVIDES_AFTER_REQUIRES",XX,new Hlc("goog.provide() statements should be before goog.require() statements."));
uwb=new k5("JSC_DUPLICATE_REQUIRE",XX,new Hlc("''{0}'' required more than once."))}function gzb(a,b){vyb();var c,d,e,f,g,h;ie(a);ie(b);c=a.e;if(-1==a.$h()||-1==b.$h())return c.u;if(wAc==a.$h()||wAc==b.$h())return c.G;if(0==a.$h())return b;if(0==b.$h())return a;if(512==a.$h()||lFc==a.$h()||512==b.$h()||lFc==b.$h())return c.G;if(a.ai()!=null&&b.ai()!=null&&!qkc(a.ai(),b.ai()))return c.G;e=a.$h()|b.$h();f=kDb(a._h(),b._h());g=a.ai()!=null?a.ai():b.ai();d=rxb(a.Zh(),b.Zh());if(d.isEmpty())return izb(c,
e,f,g,syb);h=izb(c,e&-5,f,g,syb);return izb(c,e,f,g,qxb(d,h))}function Dac(a,b){var c,d,e,f,g,h,i,j,k;if(a.ej())return a.cj();else if(a.q){a.q=false;i=new byc;for(c=a;!!c&&!c.fj()&&i.a.size()<=10;c=c.Zi())ad(i,c.$i());j=new dlc;j.a+="{";k=!b&&i.a.size()>2;f=0;for(h=(e=(new Jnc(i.a)).a.oe().b.Cj(),new Pnc(e));h.a.Ed();){g=(d=h.a.Fd(),d.ye());f>0&&(j.a+=",",j);k?(j.a+="\n  ",j):f>0&&(j.a+=" ",j);j.a+=""+g;j.a+=": ";_kc(j,C8b(a.bj(g),b));++f;if(!b&&f==10){j.a+=", ...";break}}k&&(j.a+=BBc,j);j.a+="}";
a.q=true;return j.a}else return b?"?":"{...}"}function Meb(b,c){var d,e,f,g,h,i,j;e=c.Ff();j=e.c;f=new Seb(c.Ef());try{g=$Kb(b.d,b.d.Ih(),c.Hf(b.d.d?1:0),f);b.c=g.a;b.a=g.b;c.Gf();if(g.c!=null){i=b.d.c+".inline.map";h=new Cpb(Yob(i,g.c));c.Cf(b.d.c,h)}}catch(a){a=AU(a);if(DD(a,90))c.Lf(new heb(null,null,-1,-1,(jV(),iV),null,QC(LC(pS,1),yAc,2,6,[b.d.c])));else throw BU(a);}!b.c||e.c>j&&(c.Gf(),true)?b.c=(d=new U3b((f8b(),D7b)),d):c.Kf(b.c);if(f.b.a.length!=0||f.c.a.length!=0){g=(Um(f.b),Um(f.c),new Reb);
o3b(b.c,86,g)}I3b(b.c,b.d)}function R1(b){var c,d,e;ke(b.b,"Expected setCompiler to be called first: %s",b);ke(j0(b.b),"Expected compiler to call an error manager: %s",b);if(DD(b.a,324))try{d=(j0(b.b),Eub().Kj(b.a.Kg().Ih()));return new Web(d,b.a,b.b)}catch(a){a=AU(a);if(DD(a,90)){aX(j0(b.b),(YX(),VX),new heb(null,null,-1,-1,(jV(),iV),null,QC(LC(pS,1),yAc,2,6,[b.f.a])));return pvb(),ovb}else throw BU(a);}else{c=new l2(g0(b.b));e=S1(b,b.b);if(!e)return pvb(),ovb;k2(c,S1(b,b.b));return new qvb("","",
c.c,c.d,c.b)}}function adb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;m=c.e;k=m.j==(f8b(),J5b)?m.b:m;if(Qib(k)&&(Shb(),!(k.j==x6b&&m3b(k,xCc,xCc.length)))){g=k.e;f=a.c.f.Sf(g,true,false);n=!f.a?null:udb(a,f.a);if(!n)return null;e=Zzb(a.c.q,null,b,c,null,null,d).a;return new Mwb(e.a,e.f,e.d,e.g,e.i,e.c,n,e.j,e.b)}if(m.j==J5b&&c!=m.b){h=hcb(a.c,m.b,d);if(!!h&&h.j.isEmpty()){j=V2b(m,c)-1;i=(l=h.f.size(),j<l?h.f.getAtIndex(j):j<l+h.d.size()?h.d.getAtIndex(j-l):h.g);if(i){o=$cb(c,i);if(o)return o}}}return null}
function ajb(a){Shb();var b,c,d,e,f,g,h;e=(f=dib(a),!f?null:Y2b(f,29));if(!!e&&M_b(e).a.length!=0)return false;c=Y2b(a,51);if(!(!!c&&c.Kh())&&(!e||(e.a&37)==0))return false;if(a.e.j==(f8b(),_7b)){h=a;d=a.b}else if(a.j==n6b){b=a.b;if(b.j!=n5b||b.b.j!=x6b)return false;h=b.b;d=b.b?b.b.f:null}else if(a.j==x6b){g=a.e;if(g.j!=n5b||g.e.j!=n6b)return false;h=a;d=g.b?g.b.f:null}else return false;if(!d||!h)return false;if(d.j==m7b)return true;return d.j==p7b&&k3b(h,d.b)&&(d.b?d.b.f:null).j==m7b}function Axb(a,
b){var c,d;if(a==a.a.g)return b.a+=LGc,b;else if(a==a.a.v)return b.a+=MGc,b;else if(a==a.a.s)return b.a+=wEc,b;b.a+="function(";if(a.d){b.a+="new:";$kc(b,a.d);b.a+=","}else if(a.g){b.a+="this:";$kc(b,a.g);b.a+=","}for(d=0;d<a.i.size();++d){Tyb(a.i.getAtIndex(d),b);b.a+=","}for(c=0;c<a.e.size();++c){Tyb(a.e.getAtIndex(c),b);b.a+="=,"}if(a.j){b.a+=LCc;Tyb(a.j,b)}bic(b,b.a.length-1)==44&&blc(b,b.a.length-1);b.a+=")";if(a.k){b.a+=":";Tyb(a.k,b)}a.c&&(b.a+=" (loose)",b);return b}function Sdc(a){Tlc(a.k);
nvc(a.b);Ndc(a);Tlc(a.g);Odc(a,Ldc(a,(tdc(),scc)));Odc(a,Ldc(a,ucc));Odc(a,Ldc(a,vcc));Odc(a,Ldc(a,ycc));Odc(a,Ldc(a,Mcc));Pdc(a,Ldc(a,Mcc),"Null");Odc(a,Ldc(a,Pcc));Odc(a,Ldc(a,Scc));Odc(a,Ldc(a,Ycc));Odc(a,Ldc(a,Acc));Odc(a,Ldc(a,rdc));Odc(a,Ldc(a,Ccc));Odc(a,Ldc(a,mdc));Odc(a,Ldc(a,$cc));Odc(a,Ldc(a,adc));Odc(a,Ldc(a,idc));Odc(a,Ldc(a,cdc));Odc(a,Ldc(a,edc));Odc(a,Ldc(a,fdc));Odc(a,Ldc(a,sdc));Pdc(a,Ldc(a,sdc),"Undefined");Pdc(a,Ldc(a,sdc),aDc);Pdc(a,Ldc(a,Ecc),wEc)}function IJb(a,b){var c,d;if(b!=
(BKb(),qKb)){ZIb(a,QHc,a.j.g,HKb(a.j));return b}else{d=new tuc;while(true){if(mJb(a,AKb)){c=a.j.n;a.k.contains(c)||_Ib(a,"msg.jsdoc.suppress.unknown",c,a.j.g,HKb(a.j));quc(d,a.j.n);b=!a.o?IKb(a.j):eJb(a)}else{ZIb(a,QHc,a.j.g,HKb(a.j));return b}if(nJb(a,tKb,jKb))b=!a.o?IKb(a.j):eJb(a);else break}if(mJb(a,wKb)){b=!a.o?IKb(a.j):eJb(a);j2b(a.e,d)||ZIb(a,"msg.jsdoc.suppress.duplicate",a.j.g,HKb(a.j))}else ZIb(a,QHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a))}}function RUb(){MUb();return QC(LC(pO,
1),SAc,13,0,[hTb,mTb,uTb,PSb,SSb,TSb,aTb,bTb,dTb,eTb,fTb,gTb,qTb,rTb,sTb,vTb,yTb,zTb,KTb,gUb,uUb,yUb,zUb,CUb,EUb,HUb,IUb,JUb,KUb,USb,_Sb,iTb,nTb,oTb,xTb,tUb,wTb,ATb,ETb,VTb,bUb,cUb,dUb,rUb,LUb,RTb,WSb,STb,XSb,TTb,YSb,YTb,jUb,$Sb,QTb,VSb,DTb,tTb,LSb,kTb,LTb,lTb,MTb,ZTb,FTb,nUb,pUb,WTb,_Tb,HTb,BTb,hUb,FUb,ISb,NSb,QSb,MSb,AUb,KSb,UTb,eUb,ZSb,jTb,$Tb,GTb,oUb,qUb,XTb,CTb,iUb,GUb,JSb,OSb,RSb,kUb,lUb,aUb,OTb,BUb,pTb,PTb,sUb,fUb,mUb,vUb,wUb,xUb,NTb,DUb,cTb,ITb,JTb])}function YQb(a){var b,c,d,e;b=VRb(a.j,
0).b.b;c=VRb(a.j,0).c;if(!(Xtc(Ttc((MUb(),uTb),QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),c)||!a.b.b&&GOb(c))&&!Xtc(Ttc(IUb,QC(LC(pO,1),SAc,13,0,[STb,RTb,EUb])),VRb(a.j,0).c)){CRb(a,"Unexpected token '%s' in type expression",QC(LC(kS,1),NAc,1,5,[VRb(a.j,0).c]));return new OYb(new fZb(b,a.g),(Mm(),new _x("error")))}d=eQb(a);if(!jRb(a,NSb))return d;e=(Mm(),new iq);Eoc(e.a,ie(d));do{YOb(a,NSb);gq(e,vPb(a))}while(jRb(a,NSb));return new SYb(new fZb(b,a.g),Um(e.a))}function WRb(b){var c,d,e,f;while(b.indexOf("\\")!=
-1){e=tkc(b,Nkc(92));try{if(b.charCodeAt(e+1)!=117)return null;if(b.charCodeAt(e+2)!=123){d=e+6;f=b.substr(e+2,d-(e+2))}else{d=e+3;while(Aic(b.charCodeAt(d),16)>=0)++d;if(b.charCodeAt(d)!=125)return null;f=b.substr(e+3,d-(e+3));++d}c=ljc(f)&DAc;if(!(ASb(c)||/\d/.test(String.fromCharCode(c))))return null;b=b.substr(0,e)+String.fromCharCode(c)+b.substr(d,b.length-d)}catch(a){a=AU(a);if(DD(a,92)||DD(a,304))return null;else throw BU(a);}}return b}function Ldb(a,b,c){var d,e,f,g,h,i,j;j=b.hi();h=bgb(a.a,
j,false);if(wcb(b)){Zcb(a,(Shb(),i=dib(b),!i?null:Y2b(i,29)),j,b.b,null,a.a);return}if(xcb(b)){Zcb(a,(Shb(),i=dib(b),!i?null:Y2b(i,29)),j,b,null,a.a);return}if(h&&igb(a.a,j))return;if(mjb(b)||Nib(b)){h||Kfb(a.a,j,a.c.d.G,false,(e=Y2b(b,51),!!e&&e.Kh()));return}f=b.b;if(!!f&&f.j==(f8b(),r6b))return;if(c.j==(f8b(),N5b))Kfb(a.a,j,a.c.d.G,false,false);else{g=ocb(a.c,b);d=ncb(a.c,b,a.a);!d&&(d=idb(a,b));Kfb(a.a,j,d,g,(e=Y2b(b,51),!!e&&e.Kh()))}}function zLb(a,b){var c,d,e,f,g;if(!fLb(a,b,(jMb(),eMb)))return false;
g=(fe(b.j==(f8b(),J5b),THc,b),T2b(b)-1);e=(fe(b.j==J5b,THc,b),S2b(b,1));if(e.j!=_6b&&e.j!=J7b){a.a.jh((d=QC(LC(kS,1),NAc,1,5,["type name or type variable"]),EHc+f5b(UHc,d)),a.b.Hg(),a.d,a.c);a.a.jh((c=QC(LC(kS,1),NAc,1,5,[cIc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}for(f=1;f<g;f++)if(!ELb(a,(fe(b.j==J5b,THc,b),S2b(b,f+1)))){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[cIc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function GZb(a){var b,c,d,e;d=0;c=new dlc;b=a.b.b;if(DD(a.a,154))e=a.a.a;
else if(DD(a.a,126))e=a.a.a;else throw BU(uZb(a));if(a.b.i)if(b==111){c.a+="0";d+=1}else{c.a+="0x";d+=2}if(100==b){a.b.e?$kc(c,a.a):(c.a+=SU(e),c);if(DU(e,0)<0)if(a.b.g)return JZb(a,c);else a.b.k&&++d;else if(a.b.d){clc(c,0,String.fromCharCode(43));d+=1}else if(a.b.j){clc(c,0,String.fromCharCode(32));d+=1}}else{DD(a.a,126)&&(e=EU(fD(IU(e)?PU(e):e,IU(NIc)?PU(NIc):NIc)));111==b?_kc(c,Rjc(e,3)):_kc(c,Rjc(e,4))}return xZb(a,c,d)}function fW(a,b,c){var d,e,f,g,h,i,j,k;yW((f8b(),r6b),b);f=h8b(b.j);f!=-1&&
(e=T2b(b),f!=e&&$W(YBc+f+ZBc+e,b));GW(a,b.b.d);g=b.b;d=b.b?b.b.f:null;if(W2b(b,60)!=0){q3(a.a.v)||$W("Feature 'arrow functions' is only allowed in ES6 mode.",b);yW(_6b,g);g.hi()==null&&$W(fCc,g);g.hi().length==0||$W("Expected empty string.",g);h=h8b(g.j);h!=-1&&(i=T2b(g),h!=i&&$W(YBc+h+ZBc+i,g));d.j==G5b?PV(a,d):dW(a,d)}else{yW(_6b,g);g.hi()==null&&$W(fCc,g);j=h8b(g.j);j!=-1&&(k=T2b(g),j!=k&&$W(YBc+j+ZBc+k,g));c?yW(d6b,d):PV(a,d)}}function NBb(a,b){var c,d,e,f,g;oe(a.a==b.a);if(a.b.d.d.isEmpty())return _Bb(b);
if(b.b.d.d.isEmpty())return _Bb(a);for(g=a.a.p.Md();g.Ed();){f=g.Fd();ve(bo(a.b,f),eHc,f,a.b.Xe());xe(bo(b.b,f),"Other (%s) doesn't contain mapping (%s->%s) from this (%s)",b,f,co(a.b,f),a);e=co(a.b,f);d=co(b.b,f);c=a.a.t;if(c.J&&wEb(a.a,uEc)){e=Pyb(e,c.p);d=Pyb(d,c.p);if(!Iyb(e,d,new GEb((BBb(),BBb(),ABb)))&&!Iyb(d,e,new GEb((null,ABb))))return false}else if(!Iyb(e,d,new GEb((BBb(),BBb(),ABb))))return false}return true}function Ocb(a,b){var c,d,e,f,g,h,i;if(agb(a.a,b))return;h=tib(b);i=YDb(h);d=
(Shb(),e=dib(b),!e?null:Y2b(e,29));if(!!d&&((d.a&2)!=0||(d.a&512)!=0||(d.a&iEc)!=0)){g=(c=Sfb(a.a,i,false),!c?null:DD(c.c,80)?c.c:null);if((d.a&2)!=0&&(!g||g.g!=0)){mhb(a.b.t,leb(h,(ecb(),Mbb),QC(LC(pS,1),yAc,2,6,[Tc(new Wc("."),i.a.Md())])));return}if(((d.a&512)!=0||(d.a&iEc)!=0)&&(!g||g.g==0)){mhb(a.b.t,leb(h,(ecb(),Nbb),QC(LC(pS,1),yAc,2,6,[Tc(new Wc("."),i.a.Md())])));return}}f=Wfb(a.a,i);if(f){n3b(b.e,76,true);Mfb(a.a,b,f)}}function k7(a,b){var c,d,e,f,g,h,i,j;ae(b.j==(f8b(),n7b)||b.j==l5b);
j=NEc+a.b++;if(Mib(b.e)){i=b.e;c=i.b?i.b.f:null;d=p$b((te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j)),_7b);T3b(d,b);t3b(i,b,d);h=q$b(f$b(b,(te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j))));T3b(h,b);I2b(c,h)}else{g=b.e;oe(g.j==_5b);e=g.e;i=e.e;oe((Shb(),i.j==q6b||i.j==p6b&&T2b(i)==3));c=i.b?i.b.f:null;t3b(e,g,Q3b((te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j)),b));f=e.j;d=o$b(Q2b(b),(te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j)),f);T3b(d,b);I2b(c,d)}}function TCb(a,b,c,d,e,f,g){var h;ie(a);ie(b);ge(!d||d==
d.a.s||d.c==f,"isLoose: %s, fn: %s",(tic(),f?true:false),d);ae(!d||d!=d.a.c);if(e){h=b.a.w;fe(qkc(h,HFc)||qkc(h,wEc)||qkc(h,DFc),"Can't create namespace with nominal type %s",h)}fe(!(!wEb(b.a,wEc)&&!vEb(b.a)&&!wEb(b.a,HFc))||!f,"Cannot create loose objectType with nominal type %s",b);ge(!d||wEb(b.a,wEc),"Cannot create objectType of nominal type %s with function (%s)",b,d);this.a=a;this.d=b;this.g=f?lDb(c):c;this.b=d;this.e=e;this.c=f;this.f=f?(xCb(),vCb):g}function M8(a,b){var c,d,e,f,g,h,i,j,k;(b.a.a&
gFc)==0&&(b.a.a&hFc)==0&&(b.a.a&OBc)==0&&i2b(b);if(a){(f=!a.d?null:a.d.p,!f?(bqc(),bqc(),aqc):f).isEmpty()||j2b(b,(e=!a.d?null:a.d.p,!e?(bqc(),bqc(),aqc):e));for(d=F_b(a).Md();d.Ed();){c=d.Fd();c2b(b,c,G_b(a,c));d2b(b,c,w_b(a,c))}for(j=J_b(a).Md();j.Ed();){i=j.Fd();n2b(b,i);m2b(b,i,K_b(a,i))}k=a.j;!!k&&k!=(b1b(),Y0b)&&t2b(b,k);(a.a&256)!=0&&v1b(b);(!a.d?null:a.d.b)!=null&&u_b(b.a)==null&&w1b(b,!a.d?null:a.d.b);b0b(b.a,a);for(h=I_b(a).Md();h.Ed();){g=h.Fd();k2b(b,g)}}}function S5(a,b){var c;switch(b){case uEc:case "ArrayBuffer":case vEc:case "DataView":case "Date":case "Float32Array":case wEc:case "Generator":case "GeneratorFunction":case "Int16Array":case "Int32Array":case "Int8Array":case "InternalError":case "Map":case xEc:case "Promise":case "Proxy":case yEc:case "Set":case HBc:case zEc:case "TypedArray":case "Uint16Array":case "Uint32Array":case "Uint8Array":case "Uint8ClampedArray":case "WeakMap":case "WeakSet":return c=
rhb(a).Bh(b),!(!!c&&!c.Sh());default:return false}}function Gdb(a,b,c){var d,e,f,g,h,i;e=Y2b(b,29);!!e&&(!e.d?null:e.d.g)!=null&&quc(a.b,b);g=c.j==(f8b(),n5b)?c.b:c;if(ajb(g)&&hgb(a.a,g))for(i=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();i.Ed();){h=i.Fd();pcb(a.c,h.hi(),h);Fdb(a,h,g,h.hi())}else if(!Nib(g)&&!djb(g))for(i=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();i.Ed();){h=i.Fd();pcb(a.c,h.hi(),h);!!Y2b(h,29)&&qvc(a.c.g,h,icb(a.c,Y2b(h,29),a.a));ecb();d=(Shb(),f=dib(h),!f?null:Y2b(f,29));!!d&&(d.a&
1)!=0&&(d.a&2)==0&&mhb(a.c.t,leb(h,Wbb,QC(LC(pS,1),yAc,2,6,[])))}}function BPb(a,b){var c,d,e,f,g,h;a.d=BMb(a.d,(wNb(),KMb).a);cPb(a,KCc);h=VRb(a.j,0).c;if((MUb(),uTb)==h||(BOb(),!!co(cOb,h))){f=$Ob(a);c=TVb(ZVb(aWb(UVb(new bWb((gWb(),fWb))),b.c),f),b.a);if(b.b){WVb(_Vb(VVb(YVb(c,gPb(a)),aQb(a,1)),fPb(a)),new HVb(dPb(a,b.d)));bPb(a)}else dQb(a,c,false);return SVb(c,dPb(a,f.b.b))}else if(a.b.c&&iRb(a,0,TTb)&&iRb(a,1,uTb)&&iRb(a,2,ZSb)){e=mQb(a);bPb(a);return e}else{g=NPb(a);c=aWb(UVb(new bWb((gWb(),
eWb))),b.c);dQb(a,c,false);d=SVb(c,dPb(a,g.o.b));return new zVb(dPb(a,g.o.b),b.a,g,d)}}function qDb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n;ie(c);g=d;for(n=new mmc((new emc(d.a)).a);n.b;){l=lmc(n);i=l.ye();h=VBb(c,i);if(h){g=UCb(b,g,i,h,l.ze());if(g==a.d)return a.d}}for(m=new mmc((new emc(e.a)).a);m.b;){l=lmc(m);i=l.ye();k=l.ze();if(Yg(d,i,false)){j=hh(Yg(d,i,false));if(FDb(j,k))continue;f=b?new IDb(j.c,Qyb(j.d,k.d),j.b,NDb(j.a,k.a)):new IDb(j.c==k.c?j.c:null,jzb(j.d,k.d),null,NDb(j.a,k.a))}else f=k;h=VBb(c,
i);if(h){g=UCb(b,g,i,h,f);if(g==a.d)return a.d}else{if(0==f.d.$h())return a.d;g=DBb(g,i,f)}}return g}function kDb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if(a.isEmpty())return b;else if(b.isEmpty())return a;q=a.Nd(NC(AN,{960:1,3:1,4:1},134,0,0,1));f=tpc(q,q.length);g=new yDb(0);for(p=b.Md();p.Ed();){o=p.Fd();c=false;for(d=0;d<q.length;d++){n=q[d];h=n.d;i=o.d;if(bCb(h,i)||bCb(i,h)){if(vEb(i.a)&&!!h&&!KCb(n,o,new GEb((BBb(),BBb(),ABb)))||vEb(h.a)&&!!i&&!KCb(o,n,new GEb((BBb(),BBb(),ABb))))break;f[d]=
null;c=true;xDb(g,hDb(n,o));break}}c||xDb(g,o)}for(k=f,l=0,m=k.length;l<m;++l){j=k[l];!!j&&xDb(g,j)}return lm(),e=g.a,yo(e)}function KCb(a,b,c){var d,e,f,g,h;if(b==b.a._)return true;if(a.c||b.c)return JCb(a,b,c);h=a.d;f=b.d;e=true;if(f.a.g==2){if(OBb(f,hh(Yg(c.a,h,false))))return true;c=(ae(f.a.g!=0),new GEb(DBb(c.a,h,f)));bCb(h,f)||(e=false);if(wEb(f.a,BFc)){if(uEb(h.a)&&!bCb(h,f))return false;if(vEb(h.a)||wEb(h.a,HFc))return DCb(a,f,c)}}else if(!bCb(h,f))return false;if(e)g=new Kmc(b.g);else{g=
jEb(f.a);if(!g)return false}if(!CCb(a,b,g,c))return false;if(!b.b)return true;else if(!a.b)return false;d=Hxb(a.b,b.b,true,c,null);return d}function zEb(a,b,c,d,e,f,g){var h,i,j,k;exb.call(this,a,c,b);this.b=(BBb(),BBb(),ABb);this.j=(null,ABb);this.k=(null,ABb);this.n=new Xvc;ie(f);te(CEb(b),"Invalid defsite %s",b);!d&&(d=(Mm(),Mm(),Lm));this.p=d;this.g=!!b&&(i=Y2b(b,51),!!i&&i.Kh())&&qkc(c,BFc)?2:e;this.i=!!b&&(j=Y2b(b,51),!!j&&j.Kh())&&qkc(c,BFc)?(xCb(),vCb):f;this.e=g;this.r=new fCb((dx(),cx),
this);!!b&&(h=Y2b(b,51),!!h&&h.Kh())&&qkc(c,wEc)?k=YCb(this.t.v,this.r):k=ZCb(this.r);this.q=(vyb(),izb(k.a,2,(lm(),new cy(k)),null,syb));this.s=gzb(this.t.j,this.q)}function qzb(a,b,c){var d,e,f,g,h,i,j,k,l,m;ie(c);l=new Xvc;for(h=a.ae(b).Md();h.Ed();){g=h.Fd();if(wAc==c.$h()){l.a.put(g,l);continue}if(wAc==g.$h()){c=null;break}f=c._h();if(f.size()==1&&js(f.Md()).c){c=null;break}else{e=g._h();if(e.size()==1&&js(e.Md()).c){l.a.put(g,l);continue}}m=pzb(c,g);if(m){l.a.put(g,l);c=m}else if(Iyb(g,c,new GEb((BBb(),
BBb(),ABb))))l.a.put(g,l);else if(Iyb(c,g,new GEb((null,ABb)))){c=null;break}}for(k=(i=(new Kmc(l.a)).a.oe().Md(),new Qmc(i));k.a.Ed();){j=(d=k.a.Fd(),d.ye());a.ee(b,j)}!!c&&a.de(b,c)}function CQb(a,b){var c,d,e,f,g,h,i,j,k;h=VRb(a.j,0).b.b;if(VRb(a.j,0).c==(MUb(),TTb)){f=NPb(a);YOb(a,ZSb);k=GQb(a,b);return new wVb(new fZb(h,a.g),f,k)}i=VRb(a.j,0).c;if(uTb==i||(BOb(),BOb(),!!co(cOb,i))){g=$Ob(a);if(!jRb(a,ZSb)){d=g;FOb(d.a)&&!HOb(d.a)&&CRb(a,"cannot use keyword '"+g+"' here.",QC(LC(kS,1),NAc,1,5,
[]));if(jRb(a,jTb)){e=new mWb(new fZb(h,a.g),d);YOb(a,jTb);c=xPb(a,1);return new FVb(new fZb(h,a.g),e,c)}return new zYb(new fZb(h,a.g),g,null)}}else g=rQb(a).a;YOb(a,ZSb);j=GQb(a,b);return new zYb(new fZb(h,a.g),g,j)}function XOb(a,b,c){var d,e,f,g,h,i,j,k;e=b.b;d=b.a;if(e.o.a.b<d.o.b.b){a.g=e.o.a;eSb(a.j,a.g.c);f=e}else if(e.p==(vYb(),yXb)&&qkc(e.a.a,KCc)){a.g=e.o.b;eSb(a.j,a.g.c);f=(g=VRb(a.j,0).b.b,a.d=BMb(BMb(a.d,(wNb(),JMb).a),KMb.a),cPb(a,KCc),h=aQb(a,0),i=VRb(a.j,0).b.b.b>a.g.b,(i||iRb(a,0,
(MUb(),jUb))||iRb(a,0,(MUb(),WSb))||iRb(a,0,(MUb(),hTb)))&&CRb(a,xIc,QC(LC(kS,1),NAc,1,5,[])),YOb(a,(MUb(),LSb)),j=wPb(a,c),k=WVb(VVb(UVb(new bWb((gWb(),cWb))),h),j),SVb(k,new fZb(g,a.g)))}else{CRb(a,"'=>' unexpected",QC(LC(kS,1),NAc,1,5,[]));f=b}return f}function jQb(a){var b,c,d,e,f,g,h,i,j,k;j=VRb(a.j,0).b.b;YOb(a,(MUb(),xTb));if(jRb(a,sUb)){f=YOb(a,sUb);bPb(a);return new oWb(new fZb(j,a.g),null,null,null,f)}b=null;h=null;c=null;i=true;k=VRb(a.j,0).c;if(Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,
ITb,JTb])),k)||!a.b.b&&GOb(k)){b=ZOb(a);jRb(a,$Sb)?YOb(a,$Sb):i=false}else if(EOb(VRb(a.j,0).c)){d=jPb(a);ARb(a,d,CIc,QC(LC(kS,1),NAc,1,5,[d]))}if(i)if(jRb(a,nUb)){YOb(a,nUb);cPb(a,"as");h=ZOb(a)}else c=lQb(a);cPb(a,OCc);g=YOb(a,sUb);e=!g?null:g;bPb(a);return new oWb(new fZb(j,a.g),b,c,h,e)}function H8(a,b,c){var d,e,f,g,h,i;for(h=new Tvc(new Kvc(b.j));h.b!=h.c.a.b;){f=Rvc(h);e=f.d;d=v$b(yjb(a.a,b.f+eFc),new U4b((f8b(),J7b),e));A3b(d,f.e);d=T3b((oe(C$b(d)),new W3b(n6b,d)),b.c);F2b(c.e,d,c);c=d}for(i=
new Tvc(new Kvc(b.b));i.b!=i.c.a.b;){f=Rvc(i);e=f.d;d=v$b(yjb(a.a,b.f),new U4b((f8b(),J7b),e));A3b(d,f.e);d=T3b((oe(C$b(d)),new W3b(n6b,d)),b.c);F2b(c.e,d,c);c=d}for(g=new Tvc(new Kvc(b.i));g.b!=g.c.a.b;){f=Rvc(g);e=f.d;d=u$b(yjb(a.a,b.f+eFc),yjb(a.a,e));A3b(d,f.e);d=T3b((oe(C$b(d)),new W3b((f8b(),n6b),d)),b.c);F2b(c.e,d,c);c=d}}function Q8(a,b,c){var d,e,f,g,h,i;if(b.j==(f8b(),S5b)&&W2b(b,58)!=0){Q0(a.a,leb(b,B8,QC(LC(pS,1),yAc,2,6,["Static computed property"])));return}if(b.j==S5b&&!g3b(b.b)){I8(a,
b.b);return}i=A2b(K8(b));G8(c,b);if(b.j==S5b){oe(W2b(b,58)==0);h=c.i;g=Z2b(b.b)}else{h=W2b(b,58)!=0?c.b:c.j;g=b.hi()}d=pvc(h,g);e=!d?null:(fFc&d.a)==kFc?d.i:null;if(!!e&&!i.a.ii(e.a,false,true,false))Q0(a.a,leb(b,D8,QC(LC(pS,1),yAc,2,6,[g])));else{f=new x2b(false);o2b(f,i);!!Y2b(b,29)&&(Y2b(b,29).a&lFc)!=0&&B1b(f);W2b(b,58)!=0&&b.j!=S5b&&Y1b(f);qvc(h,g,h1b(f,false))}}function v1(a){var b,c,d,e,f,g,h,i,j,k;if(a.a.H.uc){a.b.c.a.length>0&&!L1(a.b)&&K1(a.b,BBc);oe(a.d.j==(f8b(),D7b));c=a.a.H.Jb;f=Y2b(a.d,
53).a;k=(d=Y2b(a.d,51),!d?null:d.Hg());oe(k!=null);oe(k.length!=0);c=Bkc(Bkc(c,"%name%",(f+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")),"%num%",""+a.c);K1(K1(a.b,c),BBc)}if(Y2b(a.d,29)){i=B_b(Y2b(a.d,29));i!=null&&J1(a.b,i)&&K1(K1(K1(a.b,"/*\n"),i),"*/\n")}b=c1(a.a,a.d,a.c==0);if(b.length!=0){K1(a.b,b);h=b.length;g=b.charCodeAt(h-1);j=h>=2?b.charCodeAt(h-2):0;e=g==59||g==10&&j==59;e||K1(a.b,";")}return null}function BKb(){BKb=aV;mKb=new CKb("EOF",0);nKb=new CKb("EOL",1);pKb=new CKb("LEFT_ANGLE",
2);vKb=new CKb("RIGHT_ANGLE",3);AKb=new CKb(QGc,4);sKb=new CKb("LEFT_SQUARE",5);yKb=new CKb("RIGHT_SQUARE",6);qKb=new CKb("LEFT_CURLY",7);wKb=new CKb("RIGHT_CURLY",8);rKb=new CKb("LEFT_PAREN",9);xKb=new CKb("RIGHT_PAREN",10);jKb=new CKb("COMMA",11);iKb=new CKb("COLON",12);gKb=new CKb(RHc,13);tKb=new CKb("PIPE",14);zKb=new CKb("STAR",15);lKb=new CKb("EOC",16);uKb=new CKb("QMARK",17);kKb=new CKb("ELLIPSIS",18);hKb=new CKb("BANG",19);oKb=new CKb("EQUALS",20)}function AJb(a,b,c){var d,e;while(true)switch(b.f){case 13:if(a.i==
(dKb(),bKb)){a.i=cKb;b=tJb(a,b,c)}else b=!a.o?IKb(a.j):eJb(a);break;case 16:d=true;cJb(a,c);if(j1b(a.e)){a.d=h1b(a.e,false);e=a.d.j;switch(e.f){case 0:case 2:$Ib(a,Kb(e.e!=null?e.e:""+e.f));d=false}}return d;case 0:h1b(a.e,false);ZIb(a,"msg.unexpected.eof",a.j.g,HKb(a.j));cJb(a,c);return false;case 1:a.i==(dKb(),cKb)&&(a.i=bKb);b=!a.o?IKb(a.j):eJb(a);break;default:if(b==(BKb(),zKb)&&a.i==(dKb(),bKb))b=!a.o?IKb(a.j):eJb(a);else{a.i=(dKb(),cKb);b=fJb(a,!a.o?IKb(a.j):eJb(a))}}}function oQb(a){var b,
c,d,e,f,g,h,i;h=VRb(a.j,0).b.b;e=!!aPb(a,(MUb(),nUb));g=null;i=VRb(a.j,0).c;if(i==KTb)return GPb(a,true);else if(i==uTb||(BOb(),BOb(),!!co(cOb,i)))g=$Ob(a);else if(i==TTb)return mQb(a);else if(i==QTb||i==STb)return GPb(a,false);f=false;if(jRb(a,eUb)){YOb(a,eUb);f=true}if(jRb(a,STb)||jRb(a,QTb)){d=(b=WVb(_Vb(VVb(YVb(TVb($Vb(XVb(aWb(ZVb(new bWb((gWb(),fWb)),g),false),e),f),null),gPb(a)),aQb(a,1)),fPb(a)),new HVb(new fZb(h,a.g))),SVb(b,new fZb(h,a.g)));return d}else{c=fPb(a);return new wWb(new fZb(h,
a.g),g,false,f,null,c)}}function Ryb(a,b){var c,d,e,f;if(-1==b.$h()||wAc==b.$h()||a==b)return a;if(512==b.$h())return Nyb(a);if(512==a.$h()){f=Nyb(b);return!f._h().isEmpty()||nxb(f.Zh())?Vyb(f):f}if(lFc==b.$h())return Myb(a);if(lFc==a.$h())return Myb(b);if(-1==a.$h())return b;if(wAc==a.$h()){e=b.$h()==2&&b._h().size()==1?js(b._h().Md()).d:null;return!!e&&vEb(e.a)?Vyb(b):b}c=a.$h()&b.$h();if(Ewc(a.ai(),b.ai()))d=a.ai();else if(a.ai()!=null&&b.ai()==null)return b;else{d=null;c&=-2}return kzb(a.e,c,
a.$h()|b.$h(),rDb(true,a._h(),b._h()),d,a._h(),b._h(),a.Zh(),b.Zh())}function Zzb(b,c,d,e,f,g,h){var i,j,k,l,m,n,o;i=new qyb(b.a);!!g&&jyb(i,g.q);try{if(!!c&&!!((fFc&c.a)==kFc?c.i:null)){n=Vzb(b,c,h,!g?(Mm(),Mm(),Lm):g.p);if(wAc==n.$h()||-1==n.$h())return b.e;l=zyb(n);if(l){o=(m=n.$h()==2&&n._h().size()==1?js(n._h().Md()):null,(!m?null:m.b)?null:n);k=Mxb(l);!!g&&!(l.g?l.g:l.d)&&(k=Kwb(k,g.q));return new rAb(o,k)}else{quc(b.i,leb(e,Ezb,QC(LC(pS,1),yAc,2,6,[])));c=null}}j=Yzb(b,c,d,e,f,g,h,i);return new rAb(null,
j)}catch(a){a=AU(a);if(DD(a,238)){quc(b.i,leb(e,Ozb,QC(LC(pS,1),yAc,2,6,[])));return b.e}else throw BU(a);}}function Kxb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.isEmpty())return a;j=b;if(!aBb(a.a.i,b)){g=false;for(n=a.n.Md();n.Ed();){m=n.Fd();if(b.containsKey(m)){g=true;break}}if(g){d=new qq;for(f=b.oe().Md();f.Ed();){e=f.Fd();a.n.contains(e.ye())||oq(d,e)}j=On(d.b)}}c=new qyb(a.a);for(l=a.i.Md();l.Ed();){k=l.Fd();kyb(c,Syb(k,j))}for(i=a.e.Md();i.Ed();){h=i.Fd();gyb(c,Syb(h,j))}!!a.j&&lyb(c,Syb(a.j,
j));myb(c,Syb(a.k,j));a.c&&(c.c=true,c);fyb(c,ayb(a.d,b));jyb(c,ayb(a.g,b));for(p=a.f.Xe().Md();p.Ed();){o=p.Fd();hyb(c,o,a.f.pe(o))}nyb(c,a.n);return pyb(c)}function sib(a){var b;switch(a.j.f){case 114:if(!!a.b&&!a.b.d)return Pgc(),a.b.hi().length!=0?Ngc:Mgc;break;case 31:return Pgc(),a.hi().length>0?Ngc:Mgc;case 30:return Pgc(),a.gi()!=0?Ngc:Mgc;case 19:return sib(a.b?a.b.f:null).nj();case 32:case 34:return Pgc(),Mgc;case 78:if(!Xhb(a.b,false,null))return Pgc(),Mgc;break;case 29:b=a.hi();if(qkc(EEc,
b)||qkc("NaN",b))return Pgc(),Mgc;else if(qkc(dGc,b))return Pgc(),Ngc;break;case 35:case 38:return Pgc(),Ngc;case 65:case 94:case 23:case 42:case 43:if(!Xhb(a,false,null))return Pgc(),Ngc}return Pgc(),Ogc}function iD(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G;c=a.l&8191;d=a.l>>13|(a.m&15)<<9;e=a.m>>4&8191;f=a.m>>17|(a.h&255)<<5;g=(a.h&1048320)>>8;h=b.l&8191;i=b.l>>13|(b.m&15)<<9;j=b.m>>4&8191;k=b.m>>17|(b.h&255)<<5;l=(b.h&1048320)>>8;B=c*h;C=d*h;D=e*h;F=f*h;G=g*h;if(i!=0){C+=c*
i;D+=d*i;F+=e*i;G+=f*i}if(j!=0){D+=c*j;F+=d*j;G+=e*j}if(k!=0){F+=c*k;G+=d*k}l!=0&&(G+=c*l);n=B&LBc;o=(C&511)<<13;m=n+o;q=B>>22;r=C>>9;s=(D&262143)<<4;t=(F&31)<<17;p=q+r+s+t;v=D>>18;w=F>>5;A=(G&QBc)<<8;u=v+w+A;p+=m>>22;m&=LBc;u+=p>>22;p&=LBc;u&=MBc;return VC(m,p,u)}function BCb(a,b){var c,d,e,f,g;if(!ICb(a))if(a.b)return Axb(a.b,b);else if(a.d)return MBb(a.d,b);!qkc(a.d.a.w,wEc)&&!qkc(a.d.a.w,AEc)&&!qkc(a.d.a.w,HFc)?MBb(a.d,b):(a.f.a&1)!=0?(b.a+="struct",b):(a.f.a&2)!=0?(b.a+="dict",b):!!a.e&&_kc(b,
a.e.Ad());if(a.b){b.a+="<|";Axb(a.b,b);b.a+="|>"}if(!a.e||(new emc(a.g.a)).a.size()!=0){b.a+="{";e=true;for(g=(d=(new Jnc((new cyc(new Kmc(a.g))).a)).a.oe().b.Cj(),new Pnc(d));g.a.Ed();){f=(c=g.a.Fd(),c.ye());e?e=false:(b.a+=LAc,b);b.a+=""+f;b.a+=":";EDb(hh(Yg(a.g,f,false)),b)}b.a+="}"}a.c&&(b.a+=" (loose)",b);return b}function BJb(a,b){var c,d;c=CHc;if(b==(BKb(),qKb)){if(mJb(a,AKb)){d=a.j.n;!VIb.contains(d)&&!i1b(a.e,d)&&_Ib(a,"msg.jsdoc.idgen.unknown",d,a.j.g,HKb(a.j));c=d;b=!a.o?IKb(a.j):eJb(a)}else{ZIb(a,
NHc,a.j.g,HKb(a.j));return b}mJb(a,wKb)?b=!a.o?IKb(a.j):eJb(a):ZIb(a,NHc,a.j.g,HKb(a.j))}switch(c){case CHc:I1b(a.e)||ZIb(a,OHc,a.j.g,HKb(a.j));break;case DHc:r1b(a.e)||ZIb(a,OHc,a.j.g,HKb(a.j));break;case "stable":h2b(a.e)||ZIb(a,OHc,a.j.g,HKb(a.j));break;case "xid":v2b(a.e)||ZIb(a,OHc,a.j.g,HKb(a.j));break;case "mapped":T1b(a.e)||ZIb(a,OHc,a.j.g,HKb(a.j))}return b}function xPb(a,b){var c,d,e,f,g,h,i,j;if(jRb(a,(MUb(),LUb))&&cAc(boc(a.e)))return hRb(a,b);f=VRb(a.j,0).b.b;c=OPb(a,b);if(jRb(a,LSb))return c.p==
(vYb(),SWb)?XOb(a,c,b):(a.d=BMb(a.d,(wNb(),JMb).a),g=ERb(a,c),h=VRb(a.j,0).b.b.b>a.g.b,(h||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb))&&CRb(a,xIc,QC(LC(kS,1),NAc,1,5,[])),YOb(a,LSb),i=wPb(a,b),j=WVb(VVb(new bWb((gWb(),cWb)),g),i),SVb(j,dPb(a,g.o.b)));if(lRb(a)){c=DRb(a,c);TUb(c)||CRb(a,zIc,QC(LC(kS,1),NAc,1,5,[]));d=jPb(a);qUb==d.c&&(a.d=BMb(a.d,(wNb(),VMb).a));e=xPb(a,b);return new bVb(new fZb(f,a.g),c,d,e)}return c}function cbc(a,b){var c,d,e,f,g,h,i,j,k;g=!b;d=Jbc(Ibc(new Lbc(a.u),b?a.a.b:(c=Jbc(Ibc(new Lbc(a.u),
a.a.b),a.v.d),new nbc(c.d,null,new z9b(c.d,c.c,c.e,false),c.g,c.f,c.a,c.b))),a.v.d);h=a.a.a;if(h){i=O2b(h,false);k=new U4b((f8b(),_6b),"thisType");B3b(k,Cdc(a.u,z8b(a.j)?Ldc(a.u,(tdc(),pdc)):a.j));I2b(i,k);if(g)for(e=k.d;e;e=e.d){j=s3b(e,e.g,37);j!=e.g&&(e.g=j);e.g=new x4b(37,1,e.g)}else if(b){f=k.d;(!f||W2b(f,37)!=0||W2b(f,30)!=0)&&(j=s3b(k,k.g,37),j!=k.g&&(k.g=j),k.g=new x4b(37,1,k.g))}d.c=i}return new nbc(d.d,null,new z9b(d.d,d.c,d.e,false),d.g,d.f,d.a,d.b)}function EHb(a,b){var c,d,e,f,g,h;f=
false;c=true;for(d=0;d<b.size();d++){e=b.getAtIndex(d);g=null;if(e.p==(vYb(),iYb)){h=e;g=iHb(a.a,h.b);e=h.a}switch(e.p.f){case 26:if(f){a.a.d.ih("A required parameter cannot follow an optional parameter.",a.a.r,(GGb(),e.o.b.b+1),e.o.b.a);c=false}break;case 80:f=true;break;case 65:if(d!=b.size()-1){a.a.d.ih("A rest parameter must be last in a parameter list.",a.a.r,(GGb(),e.o.b.b+1),e.o.b.a);c=false}if(!!g&&g.j!=(f8b(),m5b)){a.a.d.ih("A rest parameter must be of an array type.",a.a.r,(GGb(),e.o.b.b+
1),e.o.b.a);c=false}}}return c}function Q5(a,b){var c,d,e,f,g,h,i,j,k;i=Iab(a.c,b);if(!i)return false;d=i.d;if(!d)for(k=(!i.n?(Mm(),Mm(),Lm):i.n).Md();k.Ed();){j=k.Fd();(j.b==(vbb(),tbb)||j.b==ubb)&&(d=j)}if(!d)return false;f=d.a;g=Y2b(f,51);if(!!g&&g.Kh())return false;c=f.e;e=null;if(c.j==(f8b(),r6b))e=c;else if(c.j==_7b&&f.j==_6b)if(f.b)e=ie(f.b);else return false;else if(c.j==n5b&&c.b==f)e=ie(c.b.d);else if(c.j==m7b&&!!f.b&&!f.b.d)e=ie(f.b);else throw BU(new sjc("Unexpected declaration format: "+
P3b(c)));if(e.j==r6b){h=ie(S2b(e,2));return!a6(new b6(a),h)}else return g3b(e)&&Q5(a,Z2b(e))}function imb(){imb=aV;lm();new cy("COMPILED");hmb=new k5("JSC_UNKNOWN_DEFINE_WARNING",(YX(),XX),new Hlc("unknown @define variable {0}"));new k5("JSC_INVALID_DEFINE_TYPE_ERROR",VX,new Hlc("@define tag only permits literal types"));new k5("JSC_INVALID_DEFINE_INIT_ERROR",VX,new Hlc("illegal initialization of @define variable {0}"));new k5("JSC_NON_GLOBAL_DEFINE_INIT_ERROR",VX,new Hlc("@define variable {0} assignment must be global"));
new k5("JSC_DEFINE_NOT_ASSIGNABLE_ERROR",VX,new Hlc("@define variable {0} cannot be reassigned due to code at {1}."));new Hlc("line {0} of {1}")}function J8b(a,b){var c;if(!!a.Oi()&&!!b.Oi())return lbc(a.Oi(),b.Oi(),false);else if(u8b(a,b,0,new gcc(true)))return a;else if(a.Ji()||b.Ji())return u8b(a,b,0,new gcc(true))?a:w8b(a,(tdc(),pdc));else if(a.Si())return lhc(a.Si(),b);else if(b.Si())return lhc(b.Si(),a);else{a.Ri();b.Ri();if(a.Hi(b))return H8b(a);else if(b.Hi(a))return H8b(b);else if(a.Pi())return _fc(a.Pi(),
b);else if(b.Pi())return _fc(b.Pi(),a)}if(a.Mi()){c=mac(a.Mi(),b);if(c)return c}else if(b.Mi()){c=mac(b.Mi(),a);if(c)return c}if(a.Fi()&&b.Fi())return w8b(a,(tdc(),Jcc));return w8b(a,(tdc(),Lcc))}function Ncb(a,b){var c,d,e,f,g,h,i,j,k;ae(b.j==(f8b(),x6b));ae(g3b(b));c=b.b;if(!hgb(a.a,c)&&!Jcb(a,c)&&!Kcb(a,c))return;ajb(b)?Tcb(a,b):mjb(b)?Ucb(a,b):Nib(b)?Pcb(a,b):Hcb(a,b)?Ocb(a,b):(ae(b.j==x6b),ae(g3b(b)),d=b.e,e=(Shb(),f=dib(b),!f?null:Y2b(f,29)),d.j==n5b&&d.e.j==n6b&&(d.b?d.b.f:null).j==r6b&&(!e||
(g=(e.a&fFc)==kFc&&((fFc&e.a)==kFc?e.i:null).a.j==r6b,g||(e.a&fFc)==fBc||!!e.g||D_b(e)>0||(e.a&2)!=0||(e.a&EFc)!=0&&(e.a&fFc)!=kFc)))&&(h=Wfb(a.a,YDb(b.b)),i=jcb(a.b,X2b(b.e)),j=Yfb(a.a,i),k=new XDb((b.b?b.b.f:null).hi()),cxb(h,k)||Uwb(h,k,new yxb(a.b.d,Z2b(b),j,b)),undefined)}function Vfb(a,b,c){var d,e,f,g,h,i;ae(b.indexOf(".")==-1);if(!bgb(a,b,c))return null;i=null;f=false;if(qkc(UCc,b))i=Ufb(a,UCc);else if(ovc(a.o,b))i=pvc(a.o,b);else if(a.f.contains(b)){d=a.f.indexOf(b);if(!!a.c&&d!=-1){e=Fwb(a.c,
d);!!e&&0!=e.$h()&&(i=e)}}else if(ovc(a.j,b))a.g&&a.e.containsKey(b)&&(i=a.e.pe(b));else if(a.n.containsKey(b)||a.k.containsKey(b));else if(!!a.c&&Hwb(a.c,b)!=null){f=true;i=bzb(a.a,Hwb(a.c,b))}else a.e.containsKey(b)&&(i=a.e.pe(b));h=null;a.k.containsKey(b)?h=a.k.pe(b):!!a.s&&(h=a.s.pe(b));return new Dwb(i,a.n.pe(b),h,pvc(a.j,b),(g=f,ruc(a.b,b),g))}function u8b(a,b,c,d){var e,f;if(a==b)return true;f=a.Ji();e=b.Ji();if(f||e)if(c==2)return true;else if(c==1)return f&&e;else if(f&&e&&a.Di()^b.Di())return false;
if(!!a.Si()&&!!b.Si())return chc(a.Si(),b.Si(),c,d);if(!!a.Oi()&&!!b.Oi())return abc(a.Oi(),b.Oi(),c,d);if(!wgc(a.ui(),b.ui(),c,d,0))return false;if(d.b&&a.Gi()&&b.Gi())return O9b(DD(a,56)?a:null,DD(b,56)?b:null,c,d);if(a.Di()&&b.Di())return qkc(v8b(a,DD(a,56)?a:null),v8b(a,DD(b,56)?b:null));if(!!a.Qi()&&!!b.Qi())return false;if(DD(a,144))return u8b(a.c,b,c,d);if(DD(b,144))return u8b(a,b.c,c,d);return false}function m9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q;k=b.e;g=Bib(k)&&k.j!=(f8b(),n5b)&&k.b==
b;e=null;if(g&&(Shb(),b.j==(f8b(),x6b)||b.j==w6b))for(i=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();i.Ed();){h=i.Fd();if(h.j!=(f8b(),J7b)&&!n9(a,h,a.b)){d=m9(a,h,c);!e&&(e=d)}}n=(q=a.e+"_const"+qFc+(""+a.c.a.W++),quc(a.b,q),q);l=Q3b((te(tkc(n,Nkc(46))==-1,tCc,n),new U4b((f8b(),_6b),n)),b);if(g){oe(b.j==_6b||(Shb(),b.j==x6b||b.j==w6b));j=S3b(new U3b(qib(k)),k);m=k.b?k.b.f:null;J3b(k,n5b);t3b(k,m,j);I2b(j,l);H2b(j,m);o=O2b(b,false)}else{t3b(k,b,l);o=b}p=zjb(n,o);f=c.e;G2b(f,p,c);!e&&(e=p);return e}function WC(a,
b,c){var d,e,f,g,h,i;if(b.l==0&&b.m==0&&b.h==0)throw BU(new jic("divide by zero"));if(a.l==0&&a.m==0&&a.h==0){c&&(SC=VC(0,0,0));return VC(0,0,0)}if(b.h==NBc&&b.m==0&&b.l==0)return XC(a,c);i=false;if(b.h>>19!=0){b=jD(b);i=!i}g=bD(b);f=false;e=false;d=false;if(a.h==NBc&&a.m==0&&a.l==0){e=true;f=true;if(g==-1){a=UC((wD(),sD));d=true;i=!i}else{h=lD(a,g);i&&_C(h);c&&(SC=VC(0,0,0));return h}}else if(a.h>>19!=0){f=true;a=jD(a);d=true;i=!i}if(g!=-1)return YC(a,g,i,f,c);if(gD(a,b)<0){c&&(f?SC=jD(a):SC=VC(a.l,
a.m,a.h));return VC(0,0,0)}return ZC(d?a:VC(a.l,a.m,a.h),b,i,f,e,c)}function _eb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;n=a.c;p=b.f;k=b.d;g=b.a;d=new dlc;e=new dlc;m=dfb(p,k);l=!n?null:s0(n,b.f,b.d,b.a);if(!l)e.a+=""+m;else{p=l.d;k=l.c;g=l.a;d.a+=""+m;d.a+="\nOriginally at:\n";_kc(e,dfb(p,k))}o=!n?null:r0(n,p,k);_kc(e,sV(a,c?(YX(),XX):(YX(),VX)));e.a+=" - ";_kc(e,b.c);_kc(d,uV(a,e.a));d.a+=BBc;if(o!=null){d.a+=""+o;d.a+=BBc;if(a.a==(Mob(),Kob)&&0<=g&&g<=o.length){for(i=0;i<g;i++){f=o.charCodeAt(i);
/\s/.test(f)?(d.a+=String.fromCharCode(f),d):(d.a+=" ",d)}if(!b.e)d.a+="^";else{j=Wjc(1,Xjc(b.e.c,o.length-g));for(h=0;h<j;h++)d.a+="^"}d.a+=BBc}}return d.a}function Chb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;f=b.j;f==(f8b(),D7b)&&zhb(a,Y2b(b,53),(e=(d=Y2b(b,51),!d?null:d.Hg()),e==null?"":e));a.e=b;if(!a.a.Pf(a,b,c))return;f==r6b?(g=b.b,h=!!c&&(Shb(),b.j==r6b&&!jjb(b.e)),h||Chb(a,g,b),a.e=b,whb(a,b),h&&Chb(a,g,b),i=g.d,j=i.d,Chb(a,i,b),Chb(a,j,b),vhb(a,false),undefined):f==O5b?(k=b.b,l=(Shb(),b.j==O5b&&
!jjb(b.e)),l||Chb(a,k,b),a.e=b,whb(a,b),l&&Chb(a,k,b),m=b.b.d,n=m.d,Chb(a,m,b),Chb(a,n,b),vhb(a,false),undefined):f==Z6b?(whb(a,b),Dhb(a,b),vhb(a,false),undefined):a.o&&_hb(b)?(whb(a,b),Dhb(a,b),vhb(a,false),undefined):Dhb(a,b);a.e=b;a.a.Qf(a,b,c)}function PPb(a){var b,c,d;if(VRb(a.j,1).c==(MUb(),rTb))return MPb(a,STb,XSb);d=VRb(a.j,0).b.b;YOb(a,STb);if(jRb(a,XSb)){YOb(a,XSb);if(jRb(a,LSb))return new QVb(new fZb(d,a.g),(Mm(),Mm(),Lm));else{CRb(a,BIc,QC(LC(kS,1),NAc,1,5,[]));return new xWb(new fZb(d,
a.g))}}if(jRb(a,mUb)){b=(Mm(),new _x(DQb(a,0)));YOb(a,XSb);if(jRb(a,LSb))return new QVb(new fZb(d,a.g),b);else{CRb(a,BIc,QC(LC(kS,1),NAc,1,5,[]));return new xWb(new fZb(d,a.g))}}c=kPb(a,1);if(jRb(a,$Sb)){YOb(a,$Sb);c=new jVb(new fZb(d,a.g),(Mm(),new gx(cn(QC(LC(kS,1),NAc,1,5,[c,DQb(a,0)])))))}YOb(a,XSb);return new HWb(new fZb(d,a.g),c)}function o8(a,b,c,d){var e,f,g,h,i;switch(b.j.f){case 75:j8(a,sob(a.d),b);return;case 98:case 86:if(!m8(a,b))return;j8(a,a.d,b);return;case 65:{Shb();if(b.j==(f8b(),
r6b)&&!jjb(b.e)||!m8(a,b))return}h=b.b.hi();if(h.length==0)return;l8(a,b.b);return;case 94:{Shb();if(b.j==(f8b(),O5b)&&!jjb(b.e)||!m8(a,b))return}g=b.b.hi();if(g.length==0)return;l8(a,b.b);return;case 77:pe(T2b(b)==2,b);m8(a,b)&&j8(a,a.d,b);e=b.b.d;o8(a,e,c,false);return;case 83:a.b=Y2b(b,53);ie(a.b)}if(!c&&!d&&_hb(b))return;if(Hib(b)||(Shb(),b.j==(f8b(),D7b)||b.j==G5b||b.j==Z6b))for(f=b.b;f;){i=f.d;o8(a,f,c,false);f=i}}function GX(){GX=aV;CX=new k5("JSC_EVENTFUL_OBJECT_NOT_DISPOSED",(YX(),VX),new Hlc("eventful object created should be\n  * registered as disposable, or\n  * explicitly disposed of"));
DX=new k5("JSC_EVENTFUL_OBJECT_PURELY_LOCAL",VX,new Hlc("a purely local eventful object cannot be disposed of later"));EX=new k5("JSC_OVERWRITE_PRIVATE_EVENTFUL_OBJECT",VX,new Hlc("private eventful object overwritten in subclass cannot be properly disposed of"));FX=new k5("JSC_UNLISTEN_WITH_ANONBOUND",VX,new Hlc("an unlisten call with an anonymous or bound function does not result in the event being unlisted to"))}function sY(){sY=aV;rY=new k5("JSC_SUSPICIOUS_SEMICOLON",(YX(),XX),new Hlc("If this if/for/while really shouldn''t have a body, use '{}'"));
nY=new k5("JSC_SUSPICIOUS_NAN",XX,new Hlc("Comparison against NaN is always false. Did you mean isNaN()?"));pY=new k5("JSC_SUSPICIOUS_IN",XX,new Hlc('Use of the "in" keyword on non-object types throws an exception.'));oY=new k5("JSC_SUSPICIOUS_INSTANCEOF_LEFT",XX,new Hlc('"instanceof" with left non-object operand is always false.'));qY=new k5("JSC_SUSPICIOUS_NEGATED_LEFT_OPERAND_OF_IN_OPERATOR",XX,new Hlc("Suspicious negated left operand of 'in' operator."))}function tDb(a,b){var c,d,e,f,g,h,i,j,
k,l;if(a.c)return ECb(a,b)?a:null;if(b.c)return null;if(!Ewc(a.e,b.e))return null;if(a==a.a._)return b==b.a._?a:null;else if(b==b.a._)return null;else if(a==a.a.M)return b==b.a.M?a:null;else if(b==b.a.M)return null;f=mCb(a.d,b.d);if(!f)return null;d=null;if(!!a.b||!!b.b){d=cyb(a.b,b.b);if(!d)return null}e=(BBb(),BBb(),ABb);for(l=(g=(new Kmc(a.g)).a.oe().Md(),new Qmc(g));l.a.Ed();){k=(c=l.a.Fd(),c.ye());i=hh(Yg(a.g,k,false));j=hh(Yg(b.g,k,false));if(!j)return null;h=PDb(i,j);if(!h)return null;e=DBb(e,
k,h)}return mDb(a.a,f,e,d,a.e,false,zCb(a.f,b.f))}function x8(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;o=b.b?b.b.f:null;k=w8(o);f=v8(o);i=new B2b((XIb(),j=YJb("!ITemplateArray"),JJb(j,!j.o?IKb(j.j):eJb(j))),"<Es6TemplateLiterals.java>");h=new x2b(false);o2b(h,i);n=l$b(f,h1b(h,false));d=G$b("$jscomp$templatelit$"+(""+(m=a.c,new E1(m)).a.W++));p=T3b(o$b(d,n,(f8b(),_7b)),b);l=(Shb(),gib(b,new Njb(D7b)));I2b(l,p);g=T3b(q$b(f$b(v$b(P2b(d,new U4b(d.j,d.a),false),new U4b(J7b,"raw")),k)),b);F2b(l,g,p);c=j$b(r3b(b),
QC(LC(WQ,1),uCc,7,0,[P2b(d,new U4b(d.j,d.a),false)]));for(e=o.b;e;e=e.d)e.j==J7b||H2b(c,r3b(e));T3b(c,o);n3b(c,50,c.b.j!=x6b);t3b(b.e,b,c);R0(a.c)}function Ydc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;if(b.o)return b;if(b.e!=0&&!b.lj())return b;j=false;h=z8b(b.j)?Ldc(b.u,(tdc(),pdc)):b.j;e=aec(a,h.Ui(a));h!=e&&(j=true);g=b.a.b;d=g.Ui(a);g!=d&&(j=true);l=new Qbc(a.e);for(n=(k=b.a.a,k?!k.b?(bqc(),bqc(),aqc):new O4b(k.b):(bqc(),bqc(),aqc)).Md();n.Ed();){m=n.Fd();f=DD(m.k,21)?m.k:null;c=f.Ui(a);f!=c&&(j=true);
W2b(m,37)!=0?Mbc(l,QC(LC(oR,1),NAc,21,0,[c])):W2b(m,30)!=0?Obc(l,c):Nbc(l,QC(LC(oR,1),NAc,21,0,[c]))}if(j){i=Jbc(Kbc(Ibc(Hbc(Gbc(new Lbc(a.e),b.lj()),l.b),d),e),Agc(b.v));return new nbc(i.d,null,new z9b(i.d,i.c,i.e,false),i.g,i.f,i.a,i.b)}return b}function EZb(a){var b,c,d,e,f;if(a.a==null)return a.b.k=false,xZb(a,FAc,0);if(!FD(a.a))throw BU(uZb(a));e=HZb(a);if(e!=null)return e;b=a.b.b;b!=97&&b!=65&&a.b.n==-1&&(a.b.n=6,undefined);d=new dlc;switch(b){case 97:case 65:zZb(a);break;case 101:case 69:AZb(a,
d);break;case 102:BZb(a,d);break;case 103:case 71:IZb(a,d);break;default:throw BU(_Zb(a.b));}a.b.n=-1;f=0;if(45==d.a.charCodeAt(0)){if(a.b.g)return JZb(a,d)}else{if(a.b.j){clc(d,0,String.fromCharCode(32));++f}if(a.b.d){clc(d,0,String.fromCharCode(43));++f}}c=d.a.charCodeAt(0);a.b.k&&(c==43||c==45)&&(f=1);(b==97||b==65)&&(f+=2);return xZb(a,d,f)}function Gnb(a){var b,c,d,e,f,g,h;d=new Rq;f=new qq;for(c=Pf(Df(Cf(Jf(new nc(10))),a));Cb(c);){b=Db(c);h=Ef(Cf(Jf(new nc(32))),Lkc(b));if(h.b.size()==1&&h.a.getAtIndex(0).length==
0)continue;else if(h.b.size()<3)throw BU(new Geb("Invalid table: too few tokens on line: "+b));g=h.a.getAtIndex(0);e=new Enb(HMb(h.a.getAtIndex(1)),HMb(h.a.getAtIndex(2)),h.b.size()>3?h.a.getAtIndex(3):"");if(g.indexOf(vFc)!=-1)Qq(d,Bkc(g,".*\\.prototype\\.",""),e);else{Eoc(f.b,(bl(g,e),Av(),new Yp(g,e)));Eoc(f.b,(bl(rGc+g,e),new Yp(rGc+g,e)));Eoc(f.b,(bl("window."+g,e),new Yp("window."+g,e)))}}return new Fnb(Ll(d.a),On(f.b))}function Cdb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;ae(b.j==(f8b(),x6b));jdb(a,
b);if(ddb(a,b))return;d=Z2b(b.b);e=YDb(b.b);oe(fgb(a.a,d));c=(f=Sfb(a.a,e,false),!f?null:DD(f.c,80)?f.c:null);k=(b.b?b.b.f:null).hi();h=(Shb(),i=dib(b),!i?null:Y2b(i,29));m=icb(a.c,h,a.a);g=ocb(a.c,b);if(!!m||g){l=(j=hh(Yg(c.C,k,false)),!j?null:j.b);if(bxb(c,k)&&!!l&&!zdb(h,m,l)){mhb(a.c.t,leb(b,(ecb(),Zbb),QC(LC(pS,1),yAc,2,6,[k,"type "+c])));return}!m&&(m=idb(a,b));oe(!c.f);Vwb(c,k,b,m,g);o=s3b(b,b.g,76);o!=b.g&&(b.g=o);b.g=new x4b(76,1,b.g);g&&(n=s3b(b,b.g,77),n!=b.g&&(b.g=n),b.g=new x4b(77,1,
b.g))}else{oe(!c.f);Xwb(c,k,b,c.t.G)}}function Zyb(a){vyb();var b;b=new tvc;qvc(b,"BOOLEAN",new vBb(a,24));qvc(b,"BOTTOM",new vBb(a,0));qvc(b,NGc,new vBb(a,16));qvc(b,"FALSY",new vBb(a,lFc));qvc(b,OGc,new vBb(a,32));qvc(b,PGc,new vBb(a,64));qvc(b,QGc,new vBb(a,128));qvc(b,"TOP",new vBb(a,-1));qvc(b,RGc,new vBb(a,504));qvc(b,"TRUE_TYPE",new vBb(a,8));qvc(b,SGc,new vBb(a,512));qvc(b,"UNDEFINED",new vBb(a,256));qvc(b,TGc,new vBb(a,wAc));qvc(b,UGc,new vBb(a,280));qvc(b,VGc,new vBb(a,320));qvc(b,WGc,new vBb(a,
384));qvc(b,XGc,new vBb(a,56));qvc(b,YGc,new vBb(a,96));qvc(b,ZGc,new vBb(a,160));qvc(b,$Gc,new vBb(a,288));qvc(b,_Gc,new vBb(a,192));return b}function DB(b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=new AB;f=null;try{f=$wnd.JSON.parse(b)}catch(a){a=AU(a);if(DD(a,41)){d=a;throw BU(new EB("JSON parse exception: "+d));}else throw BU(a);}q=f;zB(c,q.version);tB(c,q.file);uB(c,q.getLineCount()!=null?q.lineCount:-1);vB(c,q.mappings);if(q.sections!=null){l=(Mm(),new iq);for(n=q.sections,o=0,p=n.length;o<p;++o){m=
n[o];gq(l,BB(m))}xB(c,Um(l.a))}else c.f=null;yB(c,q.sources);wB(c,q.names);e=new tvc;k=$wnd.Object.keys(q);for(h=k,i=0,j=h.length;i<j;++i){g=h[i];qkc(g.substr(0,2),"x_")&&qvc(e,g,q[g])}sB(c,(bqc(),new Zrc(e)));return new rB(c.i,c.c,c.b,c.d,c.g,c.e,c.f,c.a)}function lLb(a,b){var c,d;if(b.j==(f8b(),h5b)||b.j==p7b||b.j==h7b)return mLb(a,b);if(b.j!=J5b){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[sAc]),EHc+f5b(WHc,c)),a.b.Hg(),a.d,a.c);return false}if(!iLb((fe(b.j==J5b,THc,b),b.b.hi()))){a.a.jh((c=QC(LC(kS,1),NAc,
1,5,["boolean predicate"]),EHc+f5b(UHc,c)),a.b.Hg(),a.d,a.c);return false}d=lMb(Lb((fe(b.j==J5b,THc,b),b.b.hi())));if(!fLb(a,b,d))return false;switch(d.a){case 3:return DLb(a,b,(fe(b.j==J5b,THc,b),T2b(b)-1));case 2:return yLb(a,b,(fe(b.j==J5b,THc,b),T2b(b)-1));case 4:return GLb(a,b,(fe(b.j==J5b,THc,b),T2b(b)-1));default:throw BU(new sjc("Invalid boolean expression"));}}function Cmb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(c.j==(f8b(),J7b)){k=c.hi();Jub();if(k.indexOf("/")!=-1){h=wkc(k,Nkc(47));f=ukc(k,
Nkc(46),h);i=null;f==-1?f=k.length:i=k.substr(f,k.length-f);j=k.substr(0,f);g=cvb(bvb(U1((!b.d&&(b.d=l0(b.c,b.f)),b.d)),j));c.mi(i==null?g:g+i)}else{o=Ef(Bf(Jf(new nc(46))),k);d=o.a.getAtIndex(0);m="";o.b.size()==2&&(m="."+o.a.getAtIndex(1));p=rhb(b).Bh(d);if(!!p&&p.Fh())c.mi(d+"$$"+a.a+m);else if(!p&&Olc(a.b.g,d)){l=Nlc(a.b.g,d);l.b.length==0?c.mi(l.a+m):c.mi(d+"$$"+l.a+m)}n=s3b(c,c.g,40);n!=c.g&&(c.g=n);k!=null&&(c.g=new H4b(40,k,c.g))}}for(e=c.b;e;e=e.d)Cmb(a,b,e);R0(a.b.c)}function E7(a){var b,
c,d,e,f,g,h,i,j,k;f=G$b("$jscomp$generator$switch$entered"+(""+a.f.a.W++));g=o$b(O2b(f,false),new U3b((f8b(),o6b)),_7b);j=G$b("$jscomp$generator$switch$val"+(""+a.f.a.W++));k=o$b(O2b(j,false),r3b(a.d),_7b);I2b(a.j,g);F2b(a.j,k,g);i=k;while(a.d.b){e=r3b(a.d);I2b(e.b?e.b.f:null,q$b(f$b(O2b(f,false),new U3b(U7b))));if(e.j==Y5b){!!a.d.b&&Q0(a.a,leb(a.d,(F8(),B8),QC(LC(pS,1),yAc,2,6,["Default case as intermediate case"])));h=h$b(r3b(e))}else h=y$b(K$b(O2b(f,false),P$b(O2b(j,false),r3b(e))),r3b(e));F2b(a.j,
h,i);i=h}c=s7++;d=a.c.a.length==0?-1:Hoc(a.c,0).b;Doc(a.c,0,new Z7(c,d,null));b=M7(c);F2b(a.j,b,i)}function Kvb(){Kvb=aV;Eo("goog.object.forEach","goog.object.filter","goog.object.map","goog.object.some","goog.object.every","goog.object.getCount",QC(LC(pS,1),yAc,2,6,["goog.object.getAnyKey","goog.object.getAnyValue","goog.object.contains","goog.object.getValues","goog.object.getKeys","goog.object.findKey","goog.object.findValue","goog.object.isEmpty","goog.object.clear","goog.object.remove","goog.object.equals",
"goog.object.clone","goog.object.unsafeClone","goog.object.transpose"]));Jvb=new k5("JSC_ARRAY_PASSED_TO_GOOG_OBJECT",(YX(),XX),new Hlc("{0} expects an object, not an array. Did you mean to use goog.array?"))}function Owb(a,b){var c,d,e,f,g,h,i,j,k;if(a==b)return a;d=a.a;c=new qyb(a.a);h=Xjc(a.f.size(),b.f.size());for(f=0;f<h;f++)kyb(c,Qwb((j=a.f.size(),f<j?a.f.getAtIndex(f):f<j+a.d.size()?a.d.getAtIndex(f-j):a.g),(i=b.f.size(),f<i?b.f.getAtIndex(f):f<i+b.d.size()?b.d.getAtIndex(f-i):b.g)));g=Wjc(a.f.size()+
a.d.size(),b.f.size()+b.d.size());for(e=h;e<g;e++)gyb(c,Qwb((j=a.f.size(),e<j?a.f.getAtIndex(e):e<j+a.d.size()?a.d.getAtIndex(e-j):a.g),(i=b.f.size(),e<i?b.f.getAtIndex(e):e<i+b.d.size()?b.d.getAtIndex(e-i):b.g)));(!!a.g||!!b.g)&&lyb(c,Qwb(a.g,b.g));k=Rwb(a.i,b.i);if(xyb(d.b,k))return null;oe(!c.k);c.k=k;return oyb(c)}function B0(b,c,d,e){var f;C0(b,e);d.a.length==0?Q0(b,new heb(null,null,-1,-1,T_,null,QC(LC(pS,1),yAc,2,6,[]))):(Xzc(0,d.a.length),d.a[0]).c.a.length==0&&d.a.length>1&&Q0(b,new heb(null,
null,-1,-1,U_,null,QC(LC(pS,1),yAc,2,6,[(Xzc(0,d.a.length),d.a[0]).d])));g1(d);b.j=E0(c);b.D=d;if(d.a.length>1)try{b.B=new Eeb(d)}catch(a){a=AU(a);if(DD(a,296)){f=a;Q0(b,new heb(null,null,-1,-1,V_,null,QC(LC(pS,1),yAc,2,6,[f.b.d,f.a.d])));return}else throw BU(a);}else b.B=null;b.s=h1(d);Zg(b.r,b.H.Lb);A0(b);b.u=new U3b((f8b(),G5b));n3b(b.u,38,true);b.n=new U3b(G5b);n3b(b.n,38,true);b.g=i$b(QC(LC(WQ,1),uCc,7,0,[b.n,b.u]));n3b(b.g,38,true)}function H9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;k=J9(b);for(e=
0;e<k.a.length;++e){j=(Xzc(e,k.a.length),k.a[e]);g=e==k.a.length-1;m=(n=eFc.length,qkc(j.substr(j.length-n,n),eFc)||ruc(a.d.a,j)&&!g);d=false;if(c){h=(Shb(),i=dib(c),!i?null:Y2b(i,29));!!h&&((h.a&2)!=0||(h.a&512)!=0||(h.a&iEc)!=0||(h.a&fFc)==sFc||(h.a&fFc)==DBc)&&(d=true)}if(!m){h=null;if(g&&!!c)if(c.j==(f8b(),r6b))f=K9(c);else{oe(c.j==m7b);f=L9(c)}else if(!g&&d){h=(o=new x2b(false),s1b(o),j2b(o,(lm(),Ao(QC(LC(kS,1),NAc,1,5,[cEc,dEc])))),h1b(o,false));f=L9(J$b(QC(LC(WQ,1),uCc,7,0,[])));l=s3b(f,f.g,
29);l!=f.g&&(f.g=l)}else f=new U3b((f8b(),d6b));I9(a,j,f,h)}}}function Deb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;t=new Dub(c);f=(v=new Xvc,Beb(a),ad(v,c),v);d=Aub(t,c,b.b);g=new Kt;for(j=(q=(new Kmc(f.a)).a.oe().Md(),new Qmc(q));j.a.Ed();){h=(e=j.a.Fd(),e.ye());l=h.g;ie(l);Gt(g,l,h,null)}for(n=a.b.Md();n.Ed();){l=n.Fd();seb(l)}for(o=(s=g.g,!s?g.g=new iu(g):s).Md();o.Ed();){l=o.Fd();u=Aub(t,new fu(g,l),b.b);for(k=u.Md();k.Ed();){h=k.Fd();p=h.g;if(!p){ae(!l||!h.g||h.g==l);h.g=l}else{ae(true);
h.g=null;X1(h,Aeb(a,p,l))}}}for(i=d.Md();i.Ed();){h=i.Fd();l=h.g;!!l&&(Eoc(l.c,h),ae(!l||!h.g||h.g==l),h.g=l)}r=(Mm(),new iq);for(m=a.b.Md();m.Ed();){l=m.Fd();hq(r,l.c)}return Um(r.a)}function Ejb(a,b){Shb();var c,d;if(a.j==(f8b(),V7b)&&T2b(a)==3&&b==(a.b?a.b.f:null))zib((ae(a.j==V7b),a.b.d))?p3b(a,b):R2b(b);else if(b.j==N5b){d=!b.e?null:b.e.e;oe((ae(d.j==V7b),T2b(d)==3));Q2b(b)}else{c=b.e;if(c.j==V7b&&c.b.d==b){d=b.e;oe((ae(d.j==V7b),T2b(d)==3));R2b(b)}else if(b.j==G5b)R2b(b);else if(a.j==D7b||a.j==
G5b||a.j==Z6b||b.j==L5b||b.j==Y5b)p3b(a,b);else if(a.j==_7b||a.j==n6b)if(!!a.b&&!!a.b.d)p3b(a,b);else{p3b(a,b);Ejb(a.e,a)}else if(a.j==O6b&&b==(a.b?a.b.f:null)){p3b(a,b);Ejb(a.e,a)}else if(a.j==p6b&&T2b(a)==4)t3b(a,b,new U3b(d6b));else throw BU(new sjc("Invalid attempt to remove node: "+b+" of "+a));}}function Pcb(a,b){var c,d,e,f,g,h,i,j,k,l,m;oe(g3b(b));m=s3b(b,b.g,76);m!=b.g&&(b.g=m);b.g=new x4b(76,1,b.g);if(agb(a.a,b))return;e=tib(b);if(!!e&&g3b(e)){d=(c=Sfb(a.a,YDb(e),false),!c?null:DD(c.c,160)?
c.c:null);if(d){Mfb(a.a,b,d);return}}if(!e||e.j!=(f8b(),m7b)||!e.b){mhb(a.b.t,leb(b,(ecb(),Vbb),QC(LC(pS,1),yAc,2,6,[])));return}g=(Shb(),h=dib(b),!h?null:Y2b(h,29));l=new Xvc;for(k=(!e.b?(bqc(),bqc(),aqc):new O4b(e.b)).Md();k.Ed();){j=k.Fd();i=pib(j);l.a.containsKey(i)&&mhb(a.b.t,leb(b,(ecb(),Lbb),QC(LC(pS,1),yAc,2,6,[i])));pcb(a.b,i,b);l.a.put(i,l)}Mfb(a.a,b,new ixb(a.b.d,Z2b(b),b,(fFc&g.a)==sFc?g.i:null,(lm(),f=l,yo(f))))}function KB(a){HB();var b,c,d;d=new elc;d.a+='"';for(c=0;c<a.length;c++){b=
a.charCodeAt(c);switch(b){case 10:d.a+="\\n";break;case 13:d.a+="\\r";break;case 9:d.a+="\\t";break;case 92:d.a+=xAc;break;case 34:d.a+='\\"';break;case 39:d.a+="'";break;case 62:c>=2&&(a.charCodeAt(c-1)==45&&a.charCodeAt(c-2)==45||a.charCodeAt(c-1)==93&&a.charCodeAt(c-2)==93)?(d.a+="\\u003e",d):(d.a+=String.fromCharCode(b),d);break;case 60:ykc(a,true,c+1,"/script",0,7)?(d.a+="\\u003c",d):ykc(a,false,c+1,"!--",0,3)?(d.a+="\\u003c",d):(d.a+=String.fromCharCode(b),d);break;default:b>31&&b<=127?(d.a+=
String.fromCharCode(b),d):JB(d,b)}}d.a+='"';return d.a}function Ozc(a,b){var c,d,e,f,g,h,i,j;e=0;for(i=0;i<b;){++e;d=a[i];if((d&192)==128)throw BU(new Geb(nJc));else if((d&128)==0)++i;else if((d&224)==192)i+=2;else if((d&240)==224)i+=3;else if((d&248)==240)i+=4;else throw BU(new Geb(nJc));if(i>b)throw BU(new lic(nJc));}f=NC(MD,zAc,46,e,15,1);j=0;g=0;for(h=0;h<b;){d=a[h++];if((d&128)==0){g=1;d&=127}else if((d&224)==192){g=2;d&=31}else if((d&240)==224){g=3;d&=15}else if((d&248)==240){g=4;d&=7}else if((d&
252)==248){g=5;d&=3}while(--g>0){c=a[h++];if((c&192)!=128)throw BU(new Geb("Invalid UTF8 sequence at "+(h-1)+", byte="+(c>>>0).toString(16)));d=d<<6|c&63}j+=Iic(d,f,j)}return f}function Cub(a){var b,c,d,e,f,g,h,i,j,k,l,m;for(l=new kpc(a.f);l.a<l.c.a.length;){j=ipc(l);g=j.Ig();c=is(g.Md());(c==null||g.size()==1&&qkc(c.substr(0,7),WFc))&&qvc(a.e,(lvb(),WFc+Akc(zkc(zkc(zkc(zkc(zkc(Akc(Bkc(nvb((b=Akc(Akc(Akc(Akc(Akc(zkc(zkc(j.Hg(),58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(b))),KEc+
szc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),FEc,"_")),j);for(f=j.Ig().Md();f.Ed();){e=f.Fd();Qlc(a.b,e,j)}}for(m=new kpc(a.f);m.a<m.c.a.length;){j=ipc(m);for(i=j.Jg().Md();i.Ed();){h=i.Fd();d=Nlc(a.b,h);!!d&&ug(a.d,j,d)}}for(k=new kpc(a.f);k.a<k.c.a.length;){j=ipc(k);Bub(a,j)}a.a.a.clear();ct(a.d)}function C$b(a){switch(a.j.f){case 65:case 94:return true;case 13:case 62:case 42:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 101:case 3:case 1:case 20:case 2:case 28:case 90:case 46:case 64:case 24:case 16:case 4:case 18:case 34:case 9:case 26:case 27:case 8:case 60:case 40:case 63:case 41:case 7:case 10:case 6:case 17:case 15:case 29:case 5:case 22:case 23:case 19:case 30:case 32:case 43:case 61:case 21:case 38:case 11:case 36:case 37:case 111:case 31:case 14:case 97:case 114:case 113:case 33:case 25:case 35:case 12:case 78:case 100:return true;
default:return false}}function m7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;g=null;d=c.b?c.b.f:null;f=0;n=null;for(o=b.b;o;o=n,f++){n=o.d;if(o.j==(f8b(),Z5b)){i=Y2b(o,29);k=r3b(o);e=r3b(o);h=false;k.j==_6b&&(e.j==_6b?h=qkc(EEc,e.hi()):e.j==a8b&&(h=Uib(e.b)));if(h)l=O2b(k,false);else{l=k.j==_6b?k:G$b(f7(a,c,f));j=O2b(k,false);r=o7(O2b(l,false),e);m=k.j==_6b?q$b(f$b(j,r)):o$b(j,r,_7b);T3b(m,o);F2b(d,m,g);g=m}t3b(b,o,l);q=s3b(l,l.g,37);q!=l.g&&(l.g=q);l.g=new x4b(37,1,l.g);p=s3b(l,l.g,29);p!=l.g&&(l.g=
p);!!i&&(l.g=new H4b(29,i,l.g));R0(a.a)}else if(o.j==n7b||o.j==l5b){g=g7(c,g,o,f7(a,c,f));R0(a.a)}else if(o.j==z7b&&e3b(o.b)){g=g7(c,g,o.b,f7(a,c,f));R0(a.a)}}}function Szb(b,c,d,e,f){var g,h,i,j,k,l;h=c.b;if(h.j==(f8b(),S7b)){jyb(f,dAb(b,h.b,d,e));h=h.d}else if(h.j==f7b){i=h.b;l=(k=eAb(b,i,d,e),k.$h()==34&&k._h().size()==1?Pyb(k,b.a.j):k);!Iyb(l,b.a.$,new GEb((BBb(),BBb(),ABb)))&&((l.$h()&1)==0||(l.$h()&504)!=0||oxb(l.Zh()))&&quc(b.i,leb(i,Kzb,QC(LC(pS,1),yAc,2,6,[Tyb(l,new dlc).a])));oe(!f.d);f.d=
l;h=h.d}if(h.j==r7b){for(g=h.b;g;g=g.d)try{switch(g.j.f){case 142:gyb(f,eAb(b,g.b,d,e));break;case 140:j=g.b;lyb(f,!j?b.a.G:eAb(b,j,d,e));break;default:kyb(f,eAb(b,g,d,e))}}catch(a){a=AU(a);if(DD(a,238)){quc(b.i,leb(c,Ozb,QC(LC(pS,1),yAc,2,6,[])));iyb(f)}else throw BU(a);}h=h.d}myb(f,eAb(b,h,d,e))}function Bdb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;ae(b.j==(f8b(),x6b));o=Gwb(a.a.c);p=!o?null:o.$h()==2&&o._h().size()==1?js(o._h().Md()).d:null;g=b.e;c=g.j==n5b?g.b?g.b.f:null:null;if(!p){!!c&&c.j==r6b&&
Ddb(a,c,null);return}l=(oe(!p.a.f),p.a);h=(b.b?b.b.f:null).hi();e=(Shb(),f=dib(b),!f?null:Y2b(f,29));k=bdb(a,e,c,l);i=k.a;j=k.b;d=ocb(a.c,b);!!c&&c.j==r6b&&(n=s3b(g,g.g,76),n!=g.g&&(g.g=n),g.g=new x4b(76,1,g.g));if(!!i||d){kdb(a,l,h,b,i);!i&&(i=idb(a,b));hdb(a,b,l)&&$Db(l,h,b,i,d);d&&(m=s3b(b,b.g,77),m!=b.g&&(b.g=m),b.g=new x4b(77,1,b.g))}else hdb(a,b,l)&&(j?eEb(l,h,j,b):eEb(l,h,a.c.d.G,b));Bp(a.c.o,l,h)||up(a.c.o,l,h,new Odb(b,null,null))}function FC(a,b){var c,d,e,f,g,h,i,j,k;j="";if(b.length==
0)return a.Bf(KBc,IBc,-1,-1);k=Lkc(b);qkc(k.substr(0,3),"at ")&&(k=k.substr(3,k.length-3));k=k.replace(/\[.*?\]/g,"");g=k.indexOf("(");if(g==-1){g=k.indexOf("@");if(g==-1){j=k;k=""}else{j=Lkc(k.substr(g+1,k.length-(g+1)));k=Lkc(k.substr(0,g))}}else{c=k.indexOf(")",g);j=k.substr(g+1,c-(g+1));k=Lkc(k.substr(0,g))}g=tkc(k,Nkc(46));g!=-1&&(k=k.substr(g+1,k.length-(g+1)));(k.length==0||qkc(k,"Anonymous function"))&&(k=IBc);h=wkc(j,Nkc(58));e=xkc(j,Nkc(58),h-1);i=-1;d=-1;f=KBc;if(h!=-1&&e!=-1){f=j.substr(0,
e);i=AC(j.substr(e+1,h-(e+1)));d=AC(j.substr(h+1,j.length-(h+1)))}return a.Bf(f,k,i,d)}function F8(){F8=aV;A8=new k5(dFc,(YX(),VX),new Hlc("This code cannot be converted from ES6. {0}"));B8=new k5("JSC_CANNOT_CONVERT_YET",VX,new Hlc("ES6 transpilation of ''{0}'' is not yet implemented."));E8=new k5("JSC_DYNAMIC_EXTENDS_TYPE",VX,new Hlc("The class in an extends clause must be a qualified name."));C8=new k5("CLASS_REASSIGNMENT",VX,new Hlc("Class names defined inside a function cannot be reassigned."));
D8=new k5("CONFLICTING_GETTER_SETTER_TYPE",VX,new Hlc("The types of the getter and setter for property ''{0}'' do not match."));z8=new k5("BAD_REST_PARAMETER_ANNOTATION",XX,new Hlc('Missing "..." in type annotation for rest parameter.'))}function qz(b,c){var d,e,f,g,h,i,j;this.f=ie(b);this.c=ie(c);try{this.a=Yz(c.length,(tlc(),rlc))}catch(a){a=AU(a);if(DD(a,187)){f=a;throw BU(new Heb("Illegal alphabet length "+c.length,f));}else throw BU(a);}g=Xjc(8,Bjc(this.a));try{this.d=8/g|0;this.b=this.a/g|0}catch(a$2){a$2=
AU(a$2);if(DD(a$2,187)){f=a$2;throw BU(new Heb("Illegal alphabet "+Skc(c,0,c.length),f));}else throw BU(a$2);}e=NC(LD,wBc,46,128,15,1);ypc(e,e.length);for(i=0;i<c.length;i++){d=c[i];ce(($b(),d)<=127,"Non-ASCII character: %s",d);ce(e[d]==-1,"Duplicate character: %s",d);e[d]=i<<24>>24}this.e=e;j=NC(yU,{948:1,3:1},46,this.d,16,1);for(h=0;h<this.b;h++)j[Xz(h*8,this.a,(tlc(),llc))]=true;this.g=j}function gSb(a){var b;b=wSb(a);if(PRb(a,a.d))switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 47:switch(PRb(a,a.d+1)?
lkc(a.e.a,a.d+1):0){case 47:sSb(a,(qVb(),oVb));return true;case 42:lSb(a);return true}break;case 60:if((PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)==33&&(PRb(a,a.d+2)?lkc(a.e.a,a.d+2):0)==45&&(PRb(a,a.d+3)?lkc(a.e.a,a.d+3):0)==45){ZRb(a,QC(LC(kS,1),NAc,1,5,[]));sSb(a,(qVb(),oVb));return true}break;case 45:if(b&&(PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)==45&&(PRb(a,a.d+2)?lkc(a.e.a,a.d+2):0)==62){ZRb(a,QC(LC(kS,1),NAc,1,5,[]));sSb(a,(qVb(),oVb));return true}break;case 35:if(a.d==0&&(PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)==
33){sSb(a,(qVb(),pVb));return true}}return false}function hEb(a){var b,c,d,e,f,g,h,i,j,k,l;te(!a.f,"Raw type not finalized: %s",a.u);ke(a.c,"Null constructor function for raw type: %s",a.u);!a.d&&(a.d=(lm(),lx(),kx));if(a.g!=0)for(d=new mmc((new emc(a.j.a)).a);d.b;){c=lmc(d);j=c.ze();!!j.b||(a.j=DBb(a.j,c.ye(),new IDb(j.c,a.t.G,a.t.G,(TDb(),SDb))))}for(i=(g=(new Kmc(a.k)).a.oe().Md(),new Qmc(g));i.a.Ed();){h=(c=i.a.Fd(),c.ye());if(!!a.o&&dCb(a.o,h)){a.k=EBb(a.k,h);continue}for(f=a.d.Md();f.Ed();){e=
f.Fd();!!nEb(e.a,h)&&(a.k=EBb(a.k,h))}}k=a.o;if(!k){b=je(OAb(a.t),"Missing externs for the builtin Object type");k=b}l=azb(mDb(a.t,k,a.j,null,null,false,(xCb(),vCb)));oe(!a.f);Vwb(a,CCc,null,l,false);a.f=true}function nHb(a,b){var c,d;if(b.j==(f8b(),I5b)||b.j==U5b){c=b.b;if(c){d=b.e;while(d.j!=O6b||!qkc(d.b.hi(),c.hi())){if(d.j==r6b||d.j==D7b){a.d.ih(LZb('undefined label "%s"',QC(LC(kS,1),NAc,1,5,[c.hi()])),a.r,b4b(b.i),a4b(b.i));break}d=d.e}d.j==O6b&&qkc(d.b.hi(),c.hi())&&b.j==U5b&&!wHb(d.b?d.b.f:
null)&&a.d.ih("continue can only use labeles of iteration statements",a.r,b4b(b.i),a4b(b.i))}else if(b.j==U5b){d=b.e;while(!wHb(d)){if(d.j==r6b||d.j==D7b){a.d.ih("continue must be inside loop",a.r,b4b(b.i),a4b(b.i));break}d=d.e}}else{d=b.e;while(!vHb(d)){if(d.j==r6b||d.j==D7b){a.d.ih("unlabelled break must be inside loop or switch",a.r,b4b(b.i),a4b(b.i));break}d=d.e}}}}function b9b(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q;ie(a);if(b.Ji())return true;if(b.wi())return true;if(A8b(a,b,c.b))return true;
if(b.Si()){q=b.Si();e=q.b;for(g=0;g<e.size();g++){f=e.getAtIndex(g);if(a.Ii(f,c,d))return true}return false}if(d==1&&(a.Ei()||a.Ki()))return true;p=a.ui();n=b.ui();l=true;k=DD(b,56)?b:null;if(!k||s8b.contains(k.cj())){j=a.u.e;o=(i=zgc(p,j),i==-1?Ldc(p.b,(tdc(),pdc)):p.c[i]);m=(h=zgc(n,j),h==-1?Ldc(n.b,(tdc(),pdc)):n.c[h]);l=o.Ii(m,c,d)||m.Ii(o,c,d)}else l=wgc(p,n,2,new gcc(true),d);if(!l)return false;if(c.b&&a.Fi()&&b.Gi())return T9b(DD(a,56)?a:null,DD(b,56)?b:null,c,d);a.Ri();if(DD(b,144))return a.Ii(b.c,
c,d);return false}function Pyb(a,b){var c,d,e,f,g,h,i,j,k,l;k=b.$h();te(-1!=b.$h()&&wAc!=b.$h()&&(k&1)==0&&(k&4)==0,"Requested invalid type to remove: %s",b);if(wAc==a.$h())return a;if(-1==a.$h()){c=izb(a.e,506,(lm(),new cy(a.e._)),null,syb);return Pyb(c,b)}g=a.$h()&~k;if((k&2)==0)return g==a.$h()?a:izb(a.e,g,a._h(),a.ai(),a.Zh());te(b._h().size()==1,"Invalid type to remove: %s",b);l=js(b._h().Md());j=(lm(),new Xq);for(i=a._h().Md();i.Ed();){h=i.Fd();KCb(h,l,new GEb((BBb(),BBb(),ABb)))||(Eoc(j.a,
ie(h)),j)}f=new Xq;for(e=a.Zh().Md();e.Ed();){d=e.Fd();Iyb((oe(d.d==(vxb(),uxb)),d.a),b,new GEb((BBb(),BBb(),ABb)))||(Eoc(f.a,ie(d)),f)}return izb(a.e,g,zo(new kpc(j.a)),a.ai(),zo(new kpc(f.a)))}function kzb(a,b,c,d,e,f,g,h,i){var j,k,l,m,n,o,p,q,r,s,t;if(h==i||!!h&&qx(h,i))return izb(a,b,d,e,h);m=(lm(),new Xq);j=rxb(h,i);for(l=j.Md();l.Ed();){k=l.Fd();if(!!h&&h.contains(k)&&!!i&&i.contains(k)){Eoc(m.a,ie(k));continue}o=(oe(k.d==(vxb(),uxb)),k.a);if(wAc==o.$h()){Eoc(m.a,ie(k));continue}if(o.$h()!=
2){if((o.$h()&c)!=0){Eoc(m.a,ie(k));b&=~o.$h()}}else if(!f.isEmpty()||!g.isEmpty()){t=new Xvc;n=js(o._h().Md());for(q=f.Md();q.Ed();){p=q.Fd();if(KCb(n,p,new GEb((BBb(),BBb(),ABb)))){Eoc(m.a,ie(k));t.a.put(p,t)}}for(s=g.Md();s.Ed();){r=s.Fd();if(KCb(n,r,new GEb((BBb(),BBb(),ABb)))){Eoc(m.a,ie(k));t.a.put(r,t)}}t.a.size()==0||(d=wx(px(d,t)))}}return izb(a,b,d,e,zo(new kpc(m.a)))}function uSb(a){var b,c;QRb(a);if(!PRb(a,a.d)){YRb(a,"Unterminated string literal escape sequence",QC(LC(kS,1),NAc,1,5,[]));
return false}if(BSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)){c=QRb(a);c==13&&(PRb(a,a.d)?lkc(a.e.a,a.d):0)==10&&QRb(a);return true}switch(QRb(a)){case 39:case 34:case 96:case 92:case 98:case 102:case 110:case 114:case 116:case 118:default:case 48:return true;case 120:return jSb(a)&&jSb(a);case 117:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==123){QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==125){YRb(a,"Empty unicode escape",QC(LC(kS,1),NAc,1,5,[]));return false}b=true;while((PRb(a,a.d)?lkc(a.e.a,a.d):0)!=125&&b)b=b&&jSb(a);
QRb(a);return b}else return jSb(a)&&jSb(a)&&jSb(a)&&jSb(a)}}function upc(a,b){var c,d,e,f,g,h,i,j,k,l;if(a==null)return FAc;i=b.a.put(a,b);if(i!=null)return"[...]";c=new Mwc("[","]");for(e=a,f=0,g=e.length;f<g;++f){d=e[f];if(d!=null&&(pb(d).g&4)!=0)if(Array.isArray(d)&&(k=MC(d),!(k>=14&&k<=16)))if(b.a.containsKey(d)){!c.a?c.a=new glc(c.d):_kc(c.a,c.b);Ykc(c.a,"[...]")}else{h=(d==null||Array.isArray(d)&&(l=MC(d),!(l>=14&&l<=16)),d);j=new vuc(b);Lwc(c,upc(h,j))}else DD(d,948)?Lwc(c,Spc(d)):DD(d,382)?
Lwc(c,Lpc(d)):DD(d,85)?Lwc(c,Mpc(d)):DD(d,955)?Lwc(c,Rpc(d)):DD(d,136)?Lwc(c,Ppc(d)):DD(d,562)?Lwc(c,Qpc(d)):DD(d,956)?Lwc(c,Opc(d)):DD(d,957)&&Lwc(c,Npc(d));else Lwc(c,d==null?FAc:dV(d))}return!c.a?c.c:c.e.length==0?c.a.a:c.a.a+(""+c.e)}function Ywc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n;if(!a.b)return false;g=null;m=null;i=new xxc(null,null);e=1;i.a[1]=a.b;l=i;while(l.a[e]){j=e;h=m;m=l;l=l.a[e];d=a.a.Ie(b,l.d);e=d<0?0:1;d==0&&(!c.c||Ewc(l.e,c.d))&&(g=l);if(!(!!l&&l.b)&&!Uwc(l.a[e]))if(Uwc(l.a[1-e]))m=
m.a[j]=_wc(l,e);else if(!Uwc(l.a[1-e])){n=m.a[1-j];if(n)if(!Uwc(n.a[1-j])&&!Uwc(n.a[j])){m.b=false;n.b=true;l.b=true}else{f=h.a[1]==m?1:0;Uwc(n.a[j])?h.a[f]=$wc(m,j):Uwc(n.a[1-j])&&(h.a[f]=_wc(m,j));l.b=h.a[f].b=true;h.a[f].a[0].b=false;h.a[f].a[1].b=false}}}if(g){c.b=true;c.d=g.e;if(l!=g){k=new xxc(l.d,l.e);Zwc(a,i,g,k);m==g&&(m=k)}m.a[m.a[1]==l?1:0]=l.a[!l.a[0]?1:0];--a.c}a.b=i.a[1];!!a.b&&(a.b.b=false);return c.b}function U7(a,b){var c,d,e,f,g,h,i;e=(Shb(),gib(b,new Njb((f8b(),r6b))));if(!e||W2b(e,
59)==0||b.j==p6b&&T2b(b)==3)return;d=gib(b,new Njb(G5b));g=null;i=null;switch(b.j.f){case 72:g=b.b.d;i=g.d;break;case 70:g=b.b;i=new U3b(d6b);break;case 71:g=b.b?b.b.f:null;if(g.j!=d6b){f=(te(tkc(YEc,Nkc(46))==-1,tCc,YEc),new U4b(_6b,YEc));I2b(d,o$b(O2b(f,false),new U3b(U7b),_7b));g=K$b(f,Q2b(b.b?b.b.f:null));H2b(b,g)}i=new U3b(d6b)}if(!t7(a.c,g)&&!t7(a.c,i))return;h=G$b("$jscomp$generator$loop$guard"+(""+a.c.f.a.W++));if(g.j!=d6b){c=new U3b(G5b);t3b(b,g,c);I2b(c,h$b(q$b(f$b(O2b(h,false),O2b(g,false)))));
H2b(c,O2b(h,false))}i.j==d6b||G2b(b,h$b(q$b(Q2b(i))),b.b?b.b.f:null);I2b(d,p$b(h,_7b));R0(a.a)}function cyb(a,b){var c,d,e,f,g,h,i,j,k;oe(!!a||!!b);if(!a||!b)return null;a.n.isEmpty()||(a=Uxb(a));b.n.isEmpty()||(b=Uxb(b));oe(!a.c&&!b.c);if(Cxb(a,b))return a;d=a.i;e=b.i;if(d.size()!=e.size())return null;c=new qyb(a.a);i=d.size();for(g=0;g<i;g++){k=pzb(d.getAtIndex(g),e.getAtIndex(g));if(!k)return null;kyb(c,k)}d=a.e;e=b.e;if(d.size()!=e.size())return null;h=d.size();for(f=0;f<h;f++){k=pzb(d.getAtIndex(f),
e.getAtIndex(f));if(!k)return null;gyb(c,k)}if(!a.j&&!!b.j||!!a.j&&!b.j)return null;if(a.j){k=pzb(a.j,b.j);if(!k)return null;lyb(c,k)}j=pzb(a.k,b.k);if(!j)return null;myb(c,j);if(!Ewc(a.d,b.d))return null;fyb(c,a.d);if(!Ewc(a.g,b.g))return null;jyb(c,a.g);return pyb(c)}function i8b(){f8b();return QC(LC(YQ,1),SAc,10,0,[B7b,E5b,F5b,C5b,h6b,d7b,V6b,S6b,z6b,t6b,U6b,C7b,$7b,g5b,M7b,$6b,a6b,Y6b,j6b,h7b,D5b,v7b,e7b,f7b,$5b,W7b,x6b,w6b,J5b,_6b,k7b,J7b,i7b,S7b,o6b,U7b,F7b,G7b,y7b,T7b,H6b,K6b,k5b,m7b,V7b,r7b,
R5b,n5b,q5b,r5b,p5b,u5b,x5b,z5b,o5b,y5b,w5b,s5b,v5b,t5b,A6b,p7b,h5b,I6b,W5b,r6b,B6b,O7b,L5b,Y5b,c8b,b6b,p6b,I5b,U5b,_7b,d8b,N5b,a8b,d6b,G5b,O6b,n6b,D7b,y6b,E7b,T5b,V5b,P6b,K7b,M5b,l5b,n7b,_5b,O5b,P5b,W6b,N7b,T6b,q6b,e8b,A5b,D6b,F6b,E6b,G6b,k6b,m6b,l6b,Z6b,z7b,H7b,S5b,P7b,Q7b,R7b,Z5b,g7b,L7b,H5b,l7b,s6b,q7b,Z7b,j5b,j7b,b8b,A7b,a7b,o7b,x7b,Y7b,m5b,u6b,v6b,i5b,s7b,I7b,g6b,w7b,c6b,B5b,i6b,Q6b,R6b,Q5b,L6b,M6b,N6b,e6b,f6b,C6b,X7b,X5b,X6b,J6b,K5b,b7b,c7b,t7b,u7b])}function Hdb(a,b){var c,d,e,f,g,h,i,j,k,
l,m,n;ae(b.j==(f8b(),x6b));ae(g3b(b));if(xcb(b)){Zcb(a,(Shb(),g=dib(b),!g?null:Y2b(g,29)),Z2b(b),b,null,a.a);return}ecb();e=(Shb(),h=dib(b),!h?null:Y2b(h,29));!!e&&(e.a&1)!=0&&(e.a&2)==0&&mhb(a.c.t,leb(b,Wbb,QC(LC(pS,1),yAc,2,6,[])));l=b.b;m=YDb(l);c=Sfb(a.a,m,false);if(!!c&&!!c.e){mhb(a.c.t,leb(b,Cbb,QC(LC(pS,1),yAc,2,6,[])));n3b(b.e,76,true);return}n=udb(a,l);if(!n)return;n=Pyb(n,a.c.d.j);i=n.$h()==2&&n._h().size()==1?js(n._h().Md()).d:null;if(!i||OBb(i,OAb(a.c.d)))return;k=(oe(!i.a.f),i.a);j=(b.b?
b.b.f:null).hi();d=icb(a.c,(f=dib(b),!f?null:Y2b(f,29)),a.a);if(d){d=Syb(d,d.e.i);if(kdb(a,k,j,b,d))return;aEb(k,j,d)}else!!nEb(k,j)||aEb(k,j,null)}function yZb(a,b,c){var d,e,f;a.b=b;a.a=c;if(!b.d&&!b.e&&!b.f&&!b.g&&!b.i&&!b.j&&!b.k&&b.p==-1&&b.n==-1)switch(b.b){case 115:if(a.a==null)return FAc;case 100:if(DD(a.a,126)||DD(a.a,154)){e=dV(a.a);return e}}XZb(a.b,a.a);switch(b.b){case 66:case 98:f=(ED(a.a)?e=dV(a.a):a.a==null?e=XCc:e=YCc,xZb(a,e,0));break;case 72:case 104:f=FZb(a);break;case 83:case 115:f=
(d=Qkc(a.a),xZb(a,d,0));break;case 67:case 99:f=CZb(a);break;case 100:case 111:case 120:case 88:f=GZb(a);break;case 65:case 97:case 69:case 101:case 102:case 71:case 103:f=EZb(a);break;case 37:f=xZb(a,"%",0);break;case 110:f=BBc;break;case 116:case 84:f=DZb(a);break;default:throw BU(_Zb(b));}Gic(b.b)&&f!=null&&(f=Lb(dV(f)));return f}function PQb(a){var b,c,d;if(iRb(a,0,(MUb(),xTb)))return jQb(a);if(iRb(a,0,nTb))return VPb(a,false);if(iRb(a,0,ATb))return nQb(a);if(iRb(a,0,iTb))return RPb(a);if(iRb(a,
0,DUb)&&(c=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(c||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&iRb(a,1,uTb)&&iRb(a,2,jTb))return ZQb(a);if(iRb(a,0,cTb)&&(d=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(d||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&(iRb(a,1,HUb)||iRb(a,1,ETb)||iRb(a,1,_Sb)||iRb(a,1,sTb)||iRb(a,1,USb)||iRb(a,1,iTb)||iRb(a,1,ITb)||iRb(a,1,JTb)))return mPb(a);if((iRb(a,0,ITb)||iRb(a,0,JTb))&&(b=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(b||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&iRb(a,1,uTb))return xQb(a,
false);return SQb(a)}function zJb(a,b){var c,d,e,f,g,h,i,j;if(b!=(BKb(),rKb)){a.o=b;return aJb(a,"msg.jsdoc.missing.lp",a.j.g,HKb(a.j)),null}d=oJb(a,(f8b(),r6b));h=null;UJb(a);if(!mJb(a,xKb)){b=!a.o?IKb(a.j):eJb(a);e=true;if(b==AKb){j=a.j.n;g=qkc(UCc,j);f=qkc("new",j);if(g||f){if(mJb(a,iKb)){!a.o?IKb(a.j):eJb(a);UJb(a);c=WJb(a,g?S7b:f7b,vJb(a,!a.o?IKb(a.j):eJb(a)));if(!c)return null;I2b(d,c)}else return aJb(a,"msg.jsdoc.missing.colon",a.j.g,HKb(a.j)),null;if(mJb(a,jKb)){!a.o?IKb(a.j):eJb(a);UJb(a);
b=!a.o?IKb(a.j):eJb(a)}else e=false}}if(e){h=FJb(a,b);if(!h)return null}}!!h&&H2b(d,h);UJb(a);if(!mJb(a,xKb))return aJb(a,MHc,a.j.g,HKb(a.j)),null;UJb(a);!a.o?IKb(a.j):eJb(a);i=HJb(a);if(!i)return null;else H2b(d,i);return d}function aib(a,b){switch(a.j.f){case 90:return aib(a.b,b);case 47:return Uib(a.b?a.b.f:null)||b.Hd(a)&&aib(a.b?a.b.f:null,b);case 46:return aib(a.b?a.b.f:null,b);case 62:case 61:return aib(a.b,b)&&aib(a.b?a.b.f:null,b);case 60:return aib(a.b.d,b)&&aib(a.b?a.b.f:null,b);case 63:case 64:return true;
case 33:return b.Hd(a);case 29:return Uib(a)||b.Hd(a);case 27:case 26:return b.Hd(a);case 28:return pe(a.j==(f8b(),J5b),a),(W2b(a,42)&16)>0||kjb(a)||b.Hd(a);case 23:return pe(a.j==(f8b(),f7b),a),(W2b(a,42)&15&13)==13||b.Hd(a);case 65:case 38:case 42:case 43:return true;case 24:case 40:return true;default:if(Bib(a)||hjb(a.j)||Uib(a))return true;throw BU(new sjc("Unexpected expression node"+a+"\n parent:"+a.e));}}function IQb(a){var b,c,d,e,f,g;switch(VRb(a.j,0).c.f){case 29:return IPb(a,true,false);
case 35:return b=VRb(a.j,0).b.b,YOb(a,(MUb(),tUb)),new FYb(new fZb(b,a.g));case 21:return c=VRb(a.j,0).b.b,YOb(a,(MUb(),yUb)),new KYb(new fZb(c,a.g));case 2:case 108:case 109:case 110:case 111:return hQb(a);case 100:case 101:case 98:case 99:case 97:return rQb(a);case 107:case 104:return XQb(a,null);case 49:return VRb(a.j,1).c==(MUb(),rTb)?MPb(a,TTb,YSb):tPb(a);case 45:return AQb(a);case 47:return PPb(a);case 94:case 95:return d=VRb(a.j,0).b.b,e=(g=RRb(a.j),a.g=g.b.a,g),new tWb(new fZb(d,a.g),e);default:return f=
VRb(a.j,0).b.b,jPb(a),CRb(a,"primary expression expected",QC(LC(kS,1),NAc,1,5,[])),new xWb(new fZb(f,a.g))}}function Nxb(a,b,c,d,e){var f,g,h,i,j;te(a.n.isEmpty(),"Non-empty type parameters %s",a.n);oe(a.f.isEmpty());oe(a!=a.a.v);if(a==a.a.g||b==b.a.v||b==b.a.g||b.c)return true;if(!(a.i.isEmpty()&&a.e.isEmpty()&&!!a.j&&wAc==a.j.$h())){if(b.i.size()>a.i.size())return false;g=a.i.size()+a.e.size();for(f=0;f<g;f++){j=Dxb(a,f);h=Dxb(b,f);if(!!h&&!Uyb(j,h,c,d,e)&&!Iyb(j,h,new GEb((BBb(),BBb(),ABb))))return false}if(a.j){i=
Dxb(b,g);if(!!i&&!Uyb(a.j,i,c,d,e)&&!Iyb(a.j,i,new GEb((BBb(),BBb(),ABb))))return false}}if(!a.d&&!!b.d||!!a.d&&!b.d)return false;if(!!a.d&&!Uyb(a.d,b.d,c,d,e))return false;if(!!a.g&&!!b.g&&!Uyb(a.g,b.g,c,d,e)&&!Iyb(a.g,b.g,new GEb((BBb(),BBb(),ABb))))return false;return Uyb(a.k,b.k,c,d,e)}function f3b(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;if(a.j!=b.j||T2b(a)!=T2b(b)||a.Hj!=b.Hj)return false;if(c&&!Q8b(DD(a.k,21)?a.k:null,DD(b.k,21)?b.k:null))return false;if(e&&!z0b(Y2b(a,29),Y2b(b,29)))return false;
o=Y2b(a,78);n=Y2b(b,78);if((!!o||!!n)&&(!o||!n||!f3b(o,n,c,d,e)))return false;if(a.j==(f8b(),I6b)||a.j==W5b){h=W2b(a,32);i=W2b(b,32);if(h!=i)return false}else if(a.j==J7b||a.j==K7b){if(a.j==K7b){j=W2b(a,36);k=W2b(b,36);if(j!=k)return false}l=W2b(a,54);m=W2b(b,54);if(l!=m)return false}else if(a.j==J5b){if(W2b(a,50)!=0!=(W2b(b,50)!=0))return false}else if(a.j==r6b)if(W2b(a,60)!=0!=(W2b(b,60)!=0))return false;if(d)for(f=a.b,g=b.b;f;f=f.d,g=g.d)if(!f.ii(g,c,d,e))return false;return true}function D5(a){var b,
c,d,e,f,g,h,i,j,k,l;l=a.b.d;e=a.b?a.b.f:null;if(l.j==(f8b(),d6b))k=F$b(t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,"")),new U3b(r7b),(b=new U3b(G5b),b)));else{if(!g3b(l))return;c=(b=new U3b(G5b),b);h=Y2b(a,51);if(!(!!h&&h.Kh())&&(d=(Shb(),j=dib(a),!j?null:Y2b(j,29)),!(!!d&&((d.a&512)!=0||(d.a&iEc)!=0)))){g=q$b(j$b(v$b(new U3b(N7b),new U4b(J7b,jEc)),QC(LC(WQ,1),uCc,7,0,[new U3b(S7b),(te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc))])));I2b(c,g)}f=t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,
"")),L$b((te(tkc(lEc,Nkc(46))==-1,tCc,lEc),new U4b(_6b,lEc))),c);k=F$b(f);i=new x2b(false);c2b(i,lEc,new B2b(new W3b(c6b,new U3b(w7b)),"<Es6ConvertSuper>"));A3b(k,h1b(i,false))}T3b(k,a);I2b(e,k)}function pzb(a,b){vyb();var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;ie(a);ie(b);if(wAc==a.$h()||(k=a._h(),k.size()==1&&js(k.Md()).c))return b;else if(wAc==b.$h()||(j=b._h(),j.size()==1&&js(j.Md()).c))return a;else if(-1==a.$h()&&-1==b.$h())return a.e.u;else if(-1==a.$h()||-1==b.$h())return null;if(!qx(a.Zh(),b.Zh()))return null;
e=a.Zh();l=nzb(a.$h());m=nzb(b.$h());if(l!=m||!Ewc(a.ai(),b.ai()))return null;if((l&2)==0)return a;if(a._h().size()!=b._h().size())return null;q=new Zvc(b._h());p=new Xvc;for(g=a._h().Md();g.Ed();){f=g.Fd();o=f;c=false;for(i=b._h().Md();i.Ed();){h=i.Fd();n=tDb(o,h);if(n){c=true;q.a.remove(h)!=null;o=n}}if(!c)return null;p.a.put(o,p)}if(q.a.size()!=0)return null;return izb(a.e,l,(lm(),d=p,yo(d)),a.ai(),e)}function D7(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(a.d.j==(f8b(),c8b)){k=r3b(a.d);e=r3b(a.d);
m=new U3b(d6b);l=new U3b(d6b)}else if(a.d.j==p6b){m=r3b(a.d);m.j==n5b&&(m=(oe(C$b(m)),new W3b(n6b,m)));k=r3b(a.d);l=r3b(a.d);e=r3b(a.d)}else{oe(a.d.j==b6b);m=new U3b(d6b);l=f$b((te(tkc(YEc,Nkc(46))==-1,tCc,YEc),new U4b(_6b,YEc)),new U3b(o6b));e=r3b(a.d);k=r3b(a.d)}if(k.j==G5b){o=r3b(k);g=r3b(k)}else{o=(d=new U3b(G5b),d);g=k}n=s7++;j=n;if(l.j!=d6b){j=s7++;i=M7(j);H2b(e,i);H2b(e,l.j==G5b?l:(oe(C$b(l)),new W3b(n6b,l)))}Doc(a.c,0,new Z7(s7,j,b));c=M7(n);h=y$b(g.j==d6b?new U3b(U7b):g,e);p=q$b(f$b((te(tkc(TEc,
Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(n)));f=L7();I2b(a.j,h);o.j==d6b||I2b(a.j,o);I2b(a.j,c);m.j==d6b||I2b(a.j,m);H2b(e,p);H2b(e,f)}function DQb(a,b){var c,d,e,f,g,h,i;e=VRb(a.j,0).b.b;d=null;if(jRb(a,(MUb(),mUb)))d=(a.d=BMb(a.d,(wNb(),nNb).a),i=VRb(a.j,0).b.b,YOb(a,mUb),new BYb(new fZb(i,a.g),OQb(a,0)));else{f=VRb(a.j,0).c;if(Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),f)||!a.b.b&&GOb(f)){d=hQb(a);if(jRb(a,eUb)){YOb(a,eUb);d=new FWb(new fZb(e,a.g),d)}}else if(b!=2&&(iRb(a,0,TTb)||
iRb(a,0,RTb)))d=FQb(a,0);else throw BU(new sjc("parseParameterCalled() without confirming a parameter exists."));}g=null;h=null;if(jRb(a,ZSb)){if(iRb(a,1,sUb)){YOb(a,ZSb);g=rQb(a)}else g=(YOb(a,ZSb),YQb(a));h=dPb(a,VRb(a.j,0).b.b)}if(b==0&&d.p!=(vYb(),YXb)&&jRb(a,jTb)){a.d=BMb(a.d,(wNb(),RMb).a);YOb(a,jTb);c=xPb(a,1);d=new FVb(new fZb(e,a.g),d,c)}!!g&&(d=new QYb(h,d,g));return d}function hJb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o;f=new dlc;o=-1;n=-1;if(d){MKb(a.j);o=a.j.g;n=HKb(a.j)+1;k=kJb(a);c!=0&&
(k=Lkc(k));f.a+=""+k;a.i=(dKb(),bKb);b=!a.o?IKb(a.j):eJb(a)}i=false;l=-1;do switch(b.f){case 15:if(i){l=HKb(a.j)+1;i=false}else{qJb(a,f,l,c);l=-1;f.a+="*"}b=!a.o?IKb(a.j):eJb(a);while(b==(BKb(),zKb)){if(l!=-1){qJb(a,f,l,c);l=-1}f.a+="*";b=!a.o?IKb(a.j):eJb(a)}continue;case 1:c!=2&&(f.a+=BBc,f);i=true;l=0;b=!a.o?IKb(a.j):eJb(a);continue;default:i=false;a.i=(dKb(),bKb);j=b==(BKb(),lKb);if(!j){qJb(a,f,l,c);l=-1}if(b==lKb||b==mKb||b==gKb&&!e){m=f.a;c!=0&&(m=Lkc(m));if(d&&m.length!=0){h=a.j.g;g=HKb(a.j);
m1b(a.e,m,o,n,h,g)}return new _Jb(m,b)}_kc(f,VJb(a,b));k=kJb(a);c!=0&&(k=ZJb(k));f.a+=""+k;b=!a.o?IKb(a.j):eJb(a)}while(true)}function aSb(a,b,c){var d,e,f,g,h,i;i=new dlc;i.a+=String.fromCharCode(c);e=c==92;d=false;g=e?1:0;c=PRb(a,a.d)?lkc(a.e.a,a.d):0;while(ASb(c)||/\d/.test(String.fromCharCode(c))||c==92||c==123&&g==2||c==125&&d){c==92&&(e=true);(c==92||g>0)&&++g;c==123&&(d=true);if(c==125||g>=6&&!d){d=false;g=0}Ukc(i,QRb(a));c=PRb(a,a.d)?lkc(a.e.a,a.d):0}h=i.a;if(e){h=WRb(h);if(h==null){XRb(a,
ORb(a,a.d),"Invalid escape sequence",QC(LC(kS,1),NAc,1,5,[]));return LRb(a,(MUb(),mTb),b)}}f=h.charCodeAt(0);if(!ASb(f)){XRb(a,LOb(a.e.b,b),"Character '%c' (U+%04X) is not a valid identifier start char",QC(LC(kS,1),NAc,1,5,[Kic(f),Hjc(f)]));return LRb(a,(MUb(),mTb),b)}BOb();if(co(bOb,h))return new ANb(co(bOb,h).a,MOb(a.e.b,b,a.d));return new CNb(MOb(a.e.b,b,a.d),(Yzc(h),h))}function uQb(a){var b,c,d,e,f,g,h,i,j;f=VRb(a.j,0).b.b;iRb(a,0,(MUb(),uTb))&&qkc(VRb(a.j,0).a,KCc)&&(c=VRb(a.j,1).b.b.b>VRb(a.j,
0).b.a.b,!(c||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&iRb(a,1,sTb)?e=APb(a):iRb(a,0,sTb)?e=(g=VRb(a.j,0).b.b,YOb(a,(BOb(),WNb).a),h=!!aPb(a,nUb),i=ZVb(new bWb((gWb(),eWb)),(j=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),j)||!a.b.b&&GOb(j)?$Ob(a):null)),dQb(a,i,h),SVb(i,new fZb(g,a.g))):e=IQb(a);while(iRb(a,0,TTb)||iRb(a,0,YTb)||iRb(a,0,NTb)||iRb(a,0,vUb))switch(VRb(a.j,0).c.f){case 49:YOb(a,TTb);d=kPb(a,1);YOb(a,YSb);e=new vWb(new fZb(f,a.g),e,d);break;case 51:YOb(a,YTb);
b=$Ob(a);e=new uWb(new fZb(f,a.g),e,b);break;case 107:case 104:e=XQb(a,e);break;default:throw BU(new TB(DIc));}return e}function Bhc(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;if(b.Ci())return a;a.e=a.e||b.wi();a.c=a.c||b.Ki();i=DD(b,200);a.f=a.f||i;i&&(a.b=a.b&&b.xi());if(!a.e&&!a.f)if(b.Si()){n=b.Si();d=ehc(n);for(h=0;h<d.size();h++){o=d.getAtIndex(h);Bhc(a,o,false)}}else{if(a.a.a.length>a.g)return a;if(!!b.Oi()&&a.d!=-1){k=Hoc(a.a,a.d).Oi();m=lbc(b.Oi(),k,true);Moc(a.a,a.d,m);a.j=null;return a}f=0;j=new kpc(a.a);
while(j.a<j.c.a.length){l=false;e=ipc(j);if(b.Ji()||e.Ji()||b.Bi()||e.Bi()||x8b(b)||x8b(e)){g=c?new gcc(true):new gcc(false);if(u8b(b,e,0,g))return a}else{b.Ri();e.Ri();if(Fhc(b,e,c))return a;else Fhc(e,b,c)&&(l=true)}if(l){jpc(j);if(f==a.d)a.d=-1;else if(f<a.d){--a.d;--f}}++f}if(b.Oi()){oe(a.d==-1);a.d=a.a.a.length}Eoc(a.a,b);a.j=null}else a.j=null;return a}function eAb(a,b,c,d){var e,f,g,h,i,j;ie(b);!d&&(d=(Mm(),Mm(),Lm));switch(b.j.f){case 144:return cAb(a,b,c,d);case 79:return a.a.G;case 78:return a.a.B;
case 143:quc(a.i,leb(b,rzb,QC(LC(pS,1),yAc,2,6,[])));return a.a.G;case 31:return aAb(a,b,c,d);case 136:{i=a.a.b;for(e=b.b;e;e=e.d){f=eAb(a,e,c,d);if(wAc==f.$h())return a.a.G;g=gzb(i,f);if(0==g.$h()){quc(a.i,leb(b,Nzb,QC(LC(pS,1),yAc,2,6,[Tyb(f,new dlc).a,Tyb(i,new dlc).a])));return a.a.G}i=g}return i}case 141:{h=eAb(a,b.b,c,d);h.$h()==1&&quc(a.i,leb(b,szb,QC(LC(pS,1),yAc,2,6,[])));return Pyb(h,a.a.j)}case 139:{e=b.b;return!e?a.a.G:gzb(a.a.j,eAb(a,e,c,d))}case 137:return a.a.u;case 65:return j=new qyb(a.a),
Szb(a,b,c,d,j),DAb(a.a,pyb(j));default:throw BU(new Geb("Unsupported type exp: "+b.j+" "+P3b(b)));}}function _db(a,b,c){var d,e,f,g,h,i,j;if(a.a&&Y2b(c,40)!=null){_kc(b,Y2b(c,40));return}if(c.j==(f8b(),B5b)){b.a+="!";_db(a,b,c.b)}else if(c.j==i6b){_db(a,b,c.b);b.a+="="}else if(c.j==s7b){b.a+="(";g=c.b?c.b.f:null;for(d=c.b;d;d=d.d){_db(a,b,d);d!=g&&(b.a+="|",b)}b.a+=")"}else if(c.j==c6b){b.a+=LCc;!!c.b&&c.b.j!=d6b&&_db(a,b,c.b)}else if(c.j==I7b)b.a+="*";else if(c.j==w7b){b.a+="?";!!c.b&&_db(a,b,c.b)}else if(c.j==
r6b)$db(a,b,c);else if(c.j==R6b){b.a+="{";i=c.b;h=i.b?i.b.f:null;for(e=i.b;e;e=e.d){if(e.b){_kc(_kc(b,e.b.hi()),":");_db(a,b,e.b?e.b.f:null)}else _kc(b,e.hi());e!=h&&(b.a+=",",b)}b.a+="}"}else if(c.j==a8b)b.a+=aDc;else if(c.b){_kc(_kc(b,c.hi()),"<");d=c.b;f=d.b?d.b.f:null;for(j=d.b;j;j=j.d){_db(a,b,j);j!=f&&(b.a+=",",b)}b.a+=">"}else _kc(b,c.hi())}function Yxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a||!b)return null;else if(b==b.a.v||b==b.a.g||Cxb(a,b))return a;else if(a==a.a.v||a==a.a.g)return b;if(a.c||
b.c)return Xxb(a,b);if(!a.n.isEmpty()&&Hxb(a,b,true,new GEb((BBb(),BBb(),ABb)),null))return a;else if(!b.n.isEmpty()&&Hxb(b,a,true,new GEb((BBb(),BBb(),ABb)),null))return b;!a.n.isEmpty()&&(a=Uxb(a));!b.n.isEmpty()&&(b=Uxb(b));d=a.a;c=new qyb(d);h=Xjc(a.i.size(),b.i.size());for(f=0;f<h;f++)kyb(c,mzb(Dxb(a,f),Dxb(b,f)));g=Wjc(a.i.size()+a.e.size(),b.i.size()+b.e.size());for(e=h;e<g;e++){i=mzb(Dxb(a,e),Dxb(b,e));if(0==i.$h())return d.c;gyb(c,i)}if(!!a.j||!!b.j){j=mzb(a.j,b.j);if(0==j.$h())return d.c;
lyb(c,j)}k=jzb(a.k,b.k);if(0==k.$h())return d.c;myb(c,k);fyb(c,Zxb(a.d,b.d));jyb(c,Wxb(a.g,b.g));return pyb(c)}function _fc(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(b.Pi()){q=b.Pi();f=new kgc(a.u);f.a=false;h=Kdc(a.u,(tdc(),Lcc));for(o=a.r.b.keySet().Md();o.Ed();){m=o.Fd();s=R9b(a,m);l=null;if(Jdc(q.u,Icc)==q||U9b(q)||!!ofc(q.r,m)){p=R9b(q,m);l=s.si(p);if(u8b(l,h,0,new gcc(true)))return h}else l=s;igc(f,m,l,(i=ofc(a.r,m),!i?null:i.d))}for(n=q.r.b.keySet().Md();n.Ed();){m=n.Fd();Jdc(a.u,Icc)==
a||U9b(a)||!!ofc(a.r,m)||igc(f,m,R9b(q,m),(i=ofc(q.r,m),!i?null:i.d))}return jgc(f)}g=Ldc(a.u,(tdc(),Jcc));r=Ldc(a.u,Ycc).si(b);if(!(r.Ci()||r.Ai()||r.Bi()||Ldc(r.u,Icc)==r))for(k=a.r.b.keySet().Md();k.Ed();){j=k.Fd();l=R9b(a,j);f=new Hhc(a.u);for(d=Idc(a.u,j).Md();d.Ed();){c=d.Fd();e=c.bj(j);!!e&&!u8b(c,a,0,new gcc(true))&&c.Hi(b)&&e.Hi(l)&&Bhc(f,c,false)}g=g.ti(Chc(f))}return g}function LPb(a,b){var c,d,e,f,g,h,i,j,k,l;h=!!aPb(a,(MUb(),nUb));l=VRb(a.j,0).c;if(uTb==l||(BOb(),BOb(),!!co(cOb,l))){k=
null;j=$Ob(a)}else{if(a.b.c&&iRb(a,0,TTb)&&iRb(a,1,uTb)&&iRb(a,2,ZSb)){g=mQb(a);bPb(a);return g}k=NPb(a);j=null}if(!a.b.c||jRb(a,STb)||jRb(a,QTb)){if(!k){i=(gWb(),fWb);c=b.a}else{i=(gWb(),eWb);c=null}if(b.b){f=vQb(a,b.d,j,b.c,h,b.a);bPb(a)}else{d=TVb(aWb(ZVb(new bWb(i),j),b.c),c);dQb(a,d,h);f=SVb(d,dPb(a,b.d))}return i==(gWb(),fWb)?f:new zVb(dPb(a,b.d),b.a,k,f)}else{h&&CRb(a,"Member variable cannot be prefixed by '*' (generator function)",QC(LC(kS,1),NAc,1,5,[]));e=fPb(a);jRb(a,jTb)&&CRb(a,"Member variable initializers ('=') are not supported",
QC(LC(kS,1),NAc,1,5,[]));bPb(a);return!k?new wWb(dPb(a,b.d),j,b.c,false,b.a,e):new yVb(dPb(a,b.d),k,b.c,b.a,e)}}function BW(a,b){var c,d,e,f,g,h,i,j,k,l;switch(b.j.f){case 84:yW((f8b(),y6b),b);c=h8b(b.j);c!=-1&&(d=T2b(b),c!=d&&$W(YBc+c+ZBc+d,b));DW(b);e=b.b;fW(a,e,false);e.b.hi().length==0||$W(iCc,b);f=e.b.d;!!f.b&&$W("get methods must not have parameters.",b);return;case 85:yW((f8b(),E7b),b);g=h8b(b.j);g!=-1&&(h=T2b(b),g!=h&&$W(YBc+g+ZBc+h,b));DW(b);i=b.b;fW(a,i,false);i.b.hi().length==0||$W(iCc,
b);j=i.b.d;!!j.b&&!j.b.d||$W("set methods must have exactly one parameter.",b);return;case 89:CW(a,b);return;case 96:VV(a,b,false);W2b(b,58)!=0&&$W("Keys in an object literal should not be static.",b);return;case 112:yW((f8b(),S5b),b);k=h8b(b.j);k!=-1&&(l=T2b(b),k!=l&&$W(YBc+k+ZBc+l,b));dW(a,b.b);dW(a,b.b?b.b.f:null);return;default:$W("Expected object literal key expression but was "+b.j,b)}}function F5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;i=c;n=b;if(c.j!=(f8b(),J5b)){i=c.e;n=c}if(i.j!=J5b||i.b!=
n||i.b.j==w6b){Q0(a.a,leb(b,(F8(),B8),QC(LC(pS,1),yAc,2,6,["Only calls to super or to a method of super are supported."])));return}h=(Shb(),gib(b,new Njb(O5b)));p=h.b.d;if(!g3b(p))return;j=gib(b,new K5);if(qkc(j.hi(),nEc)&&c.j==J5b&&c.b==b){k=Y2b(b,51);if(!!k&&k.Kh()||(g=(l=dib(h),!l?null:Y2b(l,29)),!!g&&((g.a&512)!=0||(g.a&iEc)!=0))){Q2b(gib(b,Rhb));R0(a.a)}return}if(W2b(j,58)!=0){Q2b(n);if(n==b){n=v$b(O2b(p,false),R$b(j.hi()));o=s3b(i,i.g,50);o!=i.g&&(i.g=o)}else t3b(n,b,O2b(p,false));f=v$b(n,new U4b(J7b,
mEc));I2b(i,f);F2b(i,new U3b(S7b),f);T3b(i,i);R0(a.a);return}e=r3b(i);e.j==N7b?m=j.hi():m=(e.b?e.b.f:null).hi();d=E5(a,Z2b(p),m,q3b(i));T3b(d,i);t3b(i.e,i,d);R0(a.a)}function iub(){iub=aV;fub=new k5("JSC_REFERENCE_BEFORE_DECLARE",(YX(),XX),new Hlc("Variable referenced before declaration: {0}"));gub=new k5("JSC_REDECLARED_VARIABLE",XX,new Hlc("Redeclared variable: {0}"));eub=new k5("AMBIGUOUS_FUNCTION_DECL",VX,new Hlc("Ambiguous use of a named function: {0}."));new k5("JSC_REFERENCE_BEFORE_DECLARE_ERROR",
VX,new Hlc("Illegal variable reference before declaration: {0}"));new k5("JSC_REASSIGNED_CONSTANT",VX,new Hlc("Constant reassigned: {0}"));new k5("JSC_REDECLARED_VARIABLE_ERROR",VX,new Hlc("Illegal redeclared variable: {0}"));new k5("JSC_DECLARATION_NOT_DIRECTLY_IN_BLOCK",VX,new Hlc("Block-scoped declaration not directly within block: {0}"));hub=new k5("JSC_UNUSED_LOCAL_ASSIGNMENT",WX,new Hlc("Value assigned to local variable {0} is never read"))}function Vxb(a,b){var c,d,e,f,g,h,i,j,k;if(!a)return b;
else if(!b||Cxb(a,b))return a;else if(a==a.a.s||b==b.a.s)return a.a.s;else if(a==a.a.v||a==a.a.g||b==b.a.v||b==b.a.g)return a.a.v;if(a.c||b.c)return Xxb(a,b);if(!a.n.isEmpty()&&Hxb(b,a,true,new GEb((BBb(),BBb(),ABb)),null))return a;else if(!b.n.isEmpty()&&Hxb(a,b,true,new GEb((BBb(),BBb(),ABb)),null))return b;!a.n.isEmpty()&&(a=Uxb(a));!b.n.isEmpty()&&(b=Uxb(b));d=a.a;c=new qyb(d);g=Wjc(a.i.size(),b.i.size());for(f=0;f<g;f++){k=_xb(Dxb(a,f),Dxb(b,f));if(!k)return d.c;kyb(c,k)}h=Wjc(a.i.size()+a.e.size(),
b.i.size()+b.e.size());for(e=g;e<h;e++){j=_xb(Dxb(a,e),Dxb(b,e));if(!j)return d.c;gyb(c,j)}if(!!a.j&&!!b.j){i=_xb(a.j,b.j);if(!i)return d.c;lyb(c,i)}myb(c,gzb(a.k,b.k));fyb(c,Wxb(a.d,b.d));jyb(c,Zxb(a.g,b.g));return pyb(c)}function JCb(a,b,c){var d,e,f,g,h,i;oe(a.c||b.c);if(b==b.a._)return true;if(a.c)for(h=(e=(new Kmc(a.g)).a.oe().Md(),new Qmc(e));h.a.Ed();){g=(d=h.a.Fd(),d.ye());i=new XDb(g);f=GCb(b,i);if(!!f&&(i.a.size()==1||Oyb(f.d,(ae(i.a.size()!=1),new WDb(i.a.Se(1,i.a.size())))))&&!Iyb(HCb(a,
i),HCb(b,i),c))return false}else for(h=(e=(new Kmc(b.g)).a.oe().Md(),new Qmc(e));h.a.Ed();){g=(d=h.a.Fd(),d.ye());i=new XDb(g);if((a.f.a&1)!=0){f=GCb(a,i);if(!(!!f&&(i.a.size()==1||Oyb(f.d,(ae(i.a.size()!=1),new WDb(i.a.Se(1,i.a.size()))))))||!Iyb(HCb(a,i),HCb(b,i),c))return false}else{f=GCb(a,i);if(!!f&&(i.a.size()==1||Oyb(f.d,(ae(i.a.size()!=1),new WDb(i.a.Se(1,i.a.size())))))&&!Iyb(HCb(a,i),HCb(b,i),c))return false}}if(!b.b)return!a.b||vEb(b.d.a)||b.c;else if(!a.b)return a.c;return Gxb(a.b,b.b)}
function mjc(a){var b,c,d,e,f,g,h,i,j,k,l;if(a==null)throw BU(new gkc(FAc));j=a;f=a.length;i=false;if(f>0){b=a.charCodeAt(0);if(b==45||b==43){a=a.substr(1,a.length-1);--f;i=b==45}}if(f==0)throw BU(new gkc(eJc+j+'"'));while(a.length>0&&a.charCodeAt(0)==48){a=a.substr(1,a.length-1);--f}if(f>(fkc(),dkc)[10])throw BU(new gkc(eJc+j+'"'));for(e=0;e<f;e++)if(Aic(a.charCodeAt(e),10)==-1)throw BU(new gkc(eJc+j+'"'));l=0;g=bkc[10];k=ckc[10];h=LU(ekc[10]);c=true;d=f%g;if(d>0){l=-fAc(a.substr(0,d),10);a=a.substr(d,
a.length-d);f-=d;c=false}while(f>=g){d=fAc(a.substr(0,g),10);a=a.substr(g,a.length-g);f-=g;if(c)c=false;else{if(DU(l,h)<0)throw BU(new gkc(eJc+j+'"'));l=KU(l,k)}l=OU(l,d)}if(DU(l,0)>0)throw BU(new gkc(eJc+j+'"'));if(!i){l=LU(l);if(DU(l,0)<0)throw BU(new gkc(eJc+j+'"'));}return l}function Lwb(a,b,c){var d,e,f,g,h,i,j,k;if(c&&a.f.size()+a.d.size()+(!a.g?0:1)==b.f.size()+b.d.size()+(!b.g?0:1)){i=!b.c?null:Dyb(b.c);k=!a.e?null:Dyb(a.e);return new Mwb(a.a,b.f,b.d,b.g,b.i,!i?null:!i.a.p.isEmpty()&&!i.b.d.d.isEmpty()?
azb(mDb(i.a.t,i,null,null,null,false,i.a.i)):i.a.q,!k?null:!k.a.p.isEmpty()&&!k.b.d.d.isEmpty()?azb(mDb(k.a.t,k,null,null,null,false,k.a.i)):k.a.q,b.j,false)}d=new qyb(a.a);h=0;for(g=a.f.Md();g.Ed();){e=g.Fd();kyb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}for(f=a.d.Md();f.Ed();){e=f.Fd();gyb(d,e?e:(j=b.f.size(),h<j?b.f.getAtIndex(h):h<j+b.d.size()?b.d.getAtIndex(h-j):b.g));++h}a.g?lyb(d,a.g):!!b.g&&lyb(d,b.g);myb(d,a.i?a.i:b.i);fyb(d,a.c);jyb(d,a.e);a.j.isEmpty()?
b.j.isEmpty()||nyb(d,b.j):nyb(d,a.j);return oyb(d)}function pLb(a,b){var c,d,e,f,g,h;if(!fLb(a,b,(jMb(),WLb)))return false;if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){KLb(a,(d=WLb.d,fe(b.j==J5b,THc,b),S2b(b,1),d));return false}if((fe(b.j==J5b,THc,b),S2b(b,2)).j!=r6b){JLb(a,(e=ZHc,fe(b.j==J5b,THc,b),S2b(b,2),e));KLb(a,(d=WLb.d,fe(b.j==J5b,THc,b),S2b(b,2),d));return false}f=(fe(b.j==J5b,THc,b),S2b(b,2));h=(fe(f.j==r6b,$Hc,f),T2b(f.b.d));if(h<2){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[ZHc]),EHc+f5b(_Hc,
c)),a.b.Hg(),a.d,a.c);KLb(a,(d=WLb.d,fe(b.j==J5b,THc,b),S2b(b,2),d));return false}if(h>2){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[ZHc]),EHc+f5b(aIc,c)),a.b.Hg(),a.d,a.c);KLb(a,(d=WLb.d,fe(b.j==J5b,THc,b),S2b(b,2),d));return false}g=(fe(f.j==r6b,$Hc,f),S2b(f,2));if(!ELb(a,g)){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[bIc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function qLb(a,b){var c,d,e,f,g,h;if(!fLb(a,b,(jMb(),XLb)))return false;if(!ELb(a,(fe(b.j==(f8b(),J5b),THc,b),S2b(b,1)))){KLb(a,(d=XLb.d,fe(b.j==
J5b,THc,b),S2b(b,1),d));return false}if((fe(b.j==J5b,THc,b),S2b(b,2)).j!=r6b){JLb(a,(e=ZHc,fe(b.j==J5b,THc,b),S2b(b,2),e));KLb(a,(d=XLb.d,fe(b.j==J5b,THc,b),S2b(b,2),d));return false}f=(fe(b.j==J5b,THc,b),S2b(b,2));h=(fe(f.j==r6b,$Hc,f),T2b(f.b.d));if(h<1){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[ZHc]),EHc+f5b(_Hc,c)),a.b.Hg(),a.d,a.c);KLb(a,(d=XLb.d,fe(b.j==J5b,THc,b),S2b(b,2),d));return false}if(h>1){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[ZHc]),EHc+f5b(aIc,c)),a.b.Hg(),a.d,a.c);KLb(a,(d=XLb.d,fe(b.j==J5b,THc,b),
S2b(b,2),d));return false}g=(fe(f.j==r6b,$Hc,f),S2b(f,2));if(!ELb(a,g)){a.a.jh((c=QC(LC(kS,1),NAc,1,5,[bIc]),EHc+f5b(XHc,c)),a.b.Hg(),a.d,a.c);return false}return true}function Mcb(a,b,c,d,e){var f,g,h,i,j,k,l,m;oe(!c||g3b(c));if(!d)return;if((d.a&2)!=0||(d.a&512)!=0||(d.a&iEc)!=0){if(!c){mhb(a.b.t,leb(b,(ecb(),Bbb),QC(LC(pS,1),yAc,2,6,[])));c=G$b(GFc+n4(a.b.j));Q3b(c,b)}i=Z2b(c);f=(Mm(),new iq);for(l=I_b(d).Md();l.Ed();){k=l.Fd();gq(f,YEb(a.b.s,k))}m=Um(f.a);h=(d.a&OBc)!=0?(xCb(),uCb):(d.a&hFc)!=
0?(xCb(),tCb):(xCb(),vCb);if((d.a&2)!=0)j=new zEb(a.b.d,b,i,m,0,h,(d.a&IFc)!=0);else if((d.a&iEc)!=0)j=EEb(a.b.d,b,i,m,h);else{oe((d.a&512)!=0||(d.a&iEc)!=0);j=DEb(a.b.d,b,i,m,h)}qvc(a.b.n,b,j);if(e)return;g=c.b;if(c.j==(f8b(),_6b)||hgb(a.a,g)||Jcb(a,g)||Kcb(a,g)){c.j==x6b?n3b(b.e.b,76,true):!a.a.r&&Lcb(a,i,j);Mfb(a.a,c,j)}}else(d.a&OBc)!=0&&mhb(a.b.t,leb(b,(ecb(),_bb),QC(LC(pS,1),yAc,2,6,[])));(d.a&hFc)!=0&&(d.a&2)==0&&mhb(a.b.t,leb(b,(ecb(),Jbb),QC(LC(pS,1),yAc,2,6,[])))}function Hxb(a,b,c,d,e){var f,
g,h,i,j,k,l;if(b==b.a.v||b==b.a.g||b==b.a.s||a==a.a.s)return true;if(a==a.a.v||a==a.a.g)return false;oe(!a.c&&!b.c);if(!a.n.isEmpty()){if(Cxb(a,b))return true;return Hxb(Uxb(a),b,c,d,e)}if(!(b.i.isEmpty()&&b.e.isEmpty()&&!!b.j&&wAc==b.j.$h())){if(a.i.size()>b.i.size())return false;j=b.i.size()+b.e.size();for(h=0;h<j;h++){k=Dxb(a,h);i=Dxb(b,h);if(!!k&&wAc!=k.$h()&&wAc!=i.$h()&&!Iyb(i,k,d))return false}if(b.j){l=a.i.size()+a.e.size();!!a.j&&++l;for(g=j;g<l;g++){k=Dxb(a,g);i=Dxb(b,g);if(!!k&&wAc!=k.$h()&&
wAc!=i.$h()&&!Iyb(i,k,d))return false}}}if(!a.d&&!!b.d||!!a.d&&!b.d||!!a.d&&!!b.d&&!Iyb(a.d,b.d,d))return false;if(c){if(!a.a.H&&!!a.g&&!b.g)return false;if(!!a.g&&!!b.g&&!Iyb(b.g,a.g,d)&&!Iyb(a.g,b.g,d))return false}f=wAc==a.k.$h()||wAc==b.k.$h()||Iyb(a.k,b.k,d);return f}function eob(a){$nb();this.a=a;this.b=nq(new qq,rzc(vGc),Ynb).ff(bob('Duplicate parameter name "{0}"'),Lnb).ff(rzc("^invalid param name.*"),Qnb).ff(bob(f5b(wGc,null)),Knb).ff(rzc("^"+szc(xGc)),Rnb).ff(rzc("^Keywords and reserved words are not allowed as unquoted property.*"),
Onb).ff(rzc("^Too many template parameters"),Xnb).ff(rzc("^Bad type annotation\\. Type annotations should have curly braces.*"),Snb).ff(rzc("Missing type declaration\\."),Tnb).ff(rzc("^Bad type annotation.*(?!Type annotations should have curly braces\\.)"),Znb).ff(rzc("Too deep recursion while parsing"),Wnb).ff(rzc("^Octal .*literal.*"),Pnb).ff(rzc("^this language feature is only supported for ECMASCRIPT6 mode.*"),Mnb).ff(rzc("^type syntax is only supported in ES6 typed mode.*"),Nnb).ff(rzc("^Can only have JSDoc or inline type.*"),
Unb).ef()}function k9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B;k=u9(c,b);h=(Shb(),Xhb(k,false,a.a));e=t9(k);p=new w9;p.b=h;p.a=e;for(g=null,d=k,m=d.e;m!=b;g=d,d=m,m=d.e){n=m.j;oe(!v9(m)||d==m.b);if(n==(f8b(),n5b))if(p9(a,m,p.b));else{i=m.b;q=i.j;if(i!=d){oe(i.j==x6b||i.j==w6b);q==w6b&&i9(a,i.b?i.b.f:null,null,p);i9(a,i.b,null,p)}}else if(n==J5b&&Sib(m.b)){f=m.b;i9(a,f.d,d,p);if(o9(a,f,p.b)&&f.b!=g){pe(false,"Object method calls can not be decomposed.");p.b=true;o=(ae(m.j==J5b),r=m.b,
ae(r.j==x6b||r.j==w6b),s=m9(a,r,p.a),p.a=s,t=s.b.b,ae(t.j==x6b||t.j==w6b),u=m9(a,t.b,p.a),p.a=u,v=u.b,w=s.b,A=Q3b(j$b(v$b(w.fi(false),new U4b(J7b,mEc)),QC(LC(WQ,1),uCc,7,0,[v.fi(false)])),m),r3b(m),!!m.b&&K2b(A,q3b(m)),B=m.e,t3b(B,m,A),A);m=o}}else n==m7b?h9(a,m.b,d,p):i9(a,m.b,d,p)}if(k==c);else{l=k.e;j=l.j!=(f8b(),n6b);l9(a,k,e,j)}}function SCb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;k=a.g;if(b.a.size()==1){p=b.a.getAtIndex(0);f=FCb(a,b);!c&&(c=f);if(f){d=true;(ae(b.a.size()==1),q=GCb(a,b),!!q&&
q.a==(TDb(),QDb))&&(e=true);!!c&&!Iyb(c,f,new GEb((BBb(),BBb(),ABb)))&&(c=f)}if(!c&&!f)k=EBb(k,p);else if(!xyb(c,f)){d&&!f&&(f=c);h=null;(ae(b.a.size()==1),r=GCb(a,b),!!r)&&(h=GCb(a,b).c);k=DBb(k,p,e?new IDb(h,c,f,(TDb(),QDb)):new IDb(h,c,d?f:null,(TDb(),SDb)))}}else{l=b.a.getAtIndex(0);n=new XDb(l);o=GCb(a,n);if(!(!!o&&(n.a.size()==1||Oyb(o.d,(ae(n.a.size()!=1),new WDb(n.a.Se(1,n.a.size()))))))){we(!c,b,a,l);return a}j=(ae(b.a.size()!=1),new WDb(b.a.Se(1,b.a.size())));m=GCb(a,n);i=!c?Xyb(m.d,j):
Wyb(m.d,j,c);g=m.b;xyb(i,g)||(k=DBb(k,l,m.a==(TDb(),RDb)?new IDb(null,i,g,RDb):new IDb(null,i,g,SDb)))}if(k==a.g)return a;return mDb(a.a,a.d,k,a.b,a.e,a.c,a.f)}function JQb(a){var b,c,d,e,f,g;f=VRb(a.j,0).c;if(f==(MUb(),nUb))return KQb(a);else if(f==sUb||f==PTb||f==uTb||(BOb(),!!co(cOb,f)))return iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"get")&&(tRb(a,1)||VRb(a.j,1).c==TTb)?fQb(a,new KRb(VRb(a.j,0).b.b)):iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"set")&&(tRb(a,1)||VRb(a.j,1).c==TTb)?QQb(a,new KRb(VRb(a.j,0).b.b)):iRb(a,
0,uTb)&&qkc(VRb(a.j,0).a,KCc)&&(c=VRb(a.j,1).b.b.b>VRb(a.j,0).b.a.b,!(c||iRb(a,1,jUb)||iRb(a,1,WSb)||iRb(a,1,hTb)))&&(tRb(a,1)||VRb(a.j,1).c==TTb)?BPb(a,new KRb(VRb(a.j,0).b.b)):VRb(a.j,1).c==STb?LPb(a,new KRb(VRb(a.j,0).b.b)):LQb(a);else if(f==TTb){e=VRb(a.j,0).b.b;d=NPb(a);if(jRb(a,ZSb)){YOb(a,ZSb);g=xPb(a,1);return new wVb(new fZb(e,a.g),d,g)}else{b=new bWb((gWb(),eWb));dQb(a,b,false);g=SVb(b,new fZb(e,a.g));return new zVb(new fZb(e,a.g),null,d,g)}}else throw BU(new TB(DIc));}function Fdb(a,b,
c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;be(b.j==(f8b(),x6b)||b.j==K7b||b.j==y6b||b.j==E7b,b);ae(hgb(a.a,c));b.j==y6b?d=(vyb(),JFc+d):b.j==E7b&&(d=(vyb(),KFc+d));if(b.j==K7b&&hgb(a.a,b.b))return;f=(e=Sfb(a.a,YDb(c),false),!e?null:DD(e.c,160)?e.c:null);if(!!f&&f.c.contains(d))return;k=Wfb(a.a,YDb(c));i=(Shb(),j=dib(b),!j?null:Y2b(j,29));g=tib(b);p=bdb(a,i,g,null);n=p.a;o=p.b;h=ocb(a.c,b);if(!!n||h){m=(l=hh(Yg(k.C,d,false)),!l?null:l.b);if(!!axb(k,new XDb(d))||bxb(k,d)&&!!m&&!zdb(i,n,m)){mhb(a.c.t,leb(b,
(ecb(),Zbb),QC(LC(pS,1),yAc,2,6,[d,"namespace "+k])));n3b(b.e,76,true);return}!n&&(n=idb(a,b));Vwb(k,d,b,n,h);r=s3b(b,b.g,76);r!=b.g&&(b.g=r);b.g=new x4b(76,1,b.g);b.j==x6b&&h&&(q=s3b(b,b.g,77),q!=b.g&&(b.g=q),b.g=new x4b(77,1,b.g))}else if(o)Xwb(k,d,b,o);else{s=!g?null:udb(a,g);!s&&(s=a.c.d.G);Xwb(k,d,b,s)}}function e0(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;f=!c&&a.H.$c;if(ovc(a.q,b)||f)return a.w;k=lnb("js/"+b+pDc);d=(!a.H&&C0(a,new v2),p=new $1((Sob(),new fpb((new cpb,qDc+b+"] "),k))),N0(a,p.f,p),
S1(p,a));for(j=d.b;!!j&&j.j==(f8b(),n6b)&&j.b.j==(f8b(),J7b);j=d.b){e=j.b.hi();o=Ef(Bf(Jf(new nc(32))),e);switch(o.a.getAtIndex(0)){case "use":break;case "require":e0(a,o.a.getAtIndex(1),c);break;case fDc:n=p$b(G$b(o.a.getAtIndex(1)),(f8b(),_7b));h=new x2b(false);f_b(h.a);h.d=true;A3b(n,h1b(h,false));H2b(S1((!a.S&&(a.S=F0(a,"{SyntheticVarsAtEnd}",1)),a.S),a),n);break;default:throw BU(new TB("Bad directive: "+e));}p3b(d,j)}kV(a.Y)&&(gkb(),Ihb(a,d,new xkb(a,false)),Ihb(a,d,new kfb(new xfb(g0(a),(m=
a,new E1(m)),"jscomp_"+b+"_"))));i=d.b?d.b.f:null;g=q3b(d);if(!g)return a.w;l=m0(a);!a.w?L2b(l,g):J2b(l,g,a.w);a.w=i;qvc(a.q,b,i);R0(a);return i}function Uyb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;ie(b);if(wAc==a.$h()||-1==a.$h())return true;else if(a.$h()==1&&c.contains(a.ai())){qzb(d,a.ai(),b);return true}else if(wAc==b.$h()||512==b.$h()||8==b.$h())return true;else if(-1==b.$h())return false;s=(lm(),lx(),kx);if(!b.Zh().isEmpty()){s=new Xvc;for(g=b.Zh().Md();g.Ed();){f=g.Fd();Iyb(izb(f.t,4,
tyb,null,new cy(f)),a,new GEb((BBb(),BBb(),ABb)))||s.add(f)}}t=new Zvc(b._h());for(n=a._h().Md();n.Ed();){m=n.Fd();for(l=b._h().Md();l.Ed();){k=l.Fd();QCb(m,k,c,d,e)&&t.a.remove(k)!=null}}r=a.ai();j=b.ai();if(r==null||!c.contains(r))return t.a.size()==0&&s.isEmpty()&&(j==null||qkc(j,r))&&a.$h()==(a.$h()|b.$h()&-5);else{q=a.$h()&-3&-2;o=b.$h()&~q;t.a.size()==0&&(o&=-3);if(o==0)return t.a.size()==0&&s.isEmpty();p=izb(a.e,nzb(o),(i=t,yo(i)),j,(h=s,yo(h)));qzb(d,a.ai(),p);return true}}function Ysb(){Ysb=
aV;Ssb=(t8b(),"(Proxy)");Wsb=new k5("JSC_MALFORMED_TYPEDEF",(YX(),XX),new Hlc("Typedef for {0} does not have any type information"));Tsb=new k5("JSC_ENUM_INITIALIZER_NOT_ENUM",XX,new Hlc("enum initializer must be an object literal or an enum"));Rsb=new k5("JSC_CTOR_INITIALIZER_NOT_CTOR",XX,new Hlc("Constructor {0} must be initialized at declaration"));Usb=new k5("JSC_IFACE_INITIALIZER_NOT_IFACE",XX,new Hlc("Interface {0} must be initialized at declaration"));Qsb=new k5("JSC_REFLECT_CONSTRUCTOR_EXPECTED",
XX,new Hlc("Constructor expected as first argument"));Xsb=new k5("JSC_UNKNOWN_LENDS",XX,new Hlc("Variable {0} not declared before @lends annotation."));Vsb=new k5("JSC_LENDS_ON_NON_OBJECT",XX,new Hlc("May only lend properties to object types. {0} has type {1}."));new F4(Ssb,QC(LC(qJ,1),NAc,5,0,[Wsb,Tsb,Rsb,Usb,Qsb,Xsb,Vsb]))}function Yuc(){function e(){this.obj=this.createObject()}e.prototype.createObject=function(a){return Object.create(null)};e.prototype.get=function(a){return this.obj[a]};e.prototype.set=
function(a,b){this.obj[a]=b};e.prototype[qIc]=function(a){delete this.obj[a]};e.prototype.keys=function(){return Object.getOwnPropertyNames(this.obj)};e.prototype.entries=function(){var b=this.keys();var c=this;var d=0;return{next:function(){if(d>=b.length)return{done:true};var a=b[d++];return{value:[a,c.get(a)],done:false}}}};if(!Wuc()){e.prototype.createObject=function(){return{}};e.prototype.get=function(a){return this.obj[":"+a]};e.prototype.set=function(a,b){this.obj[":"+a]=b};e.prototype[qIc]=
function(a){delete this.obj[":"+a]};e.prototype.keys=function(){var a=[];for(var b in this.obj)b.charCodeAt(0)==58&&a.push(b.substring(1));return a}}return e}function gcb(a,b,c,d,e,f){var g,h,i,j,k,l,m,n,o,p,q;j=WBb(c,d);if(!j)return;c.a.g!=0?i=lcb(a,c,d):i=(lm(),new cy(kcb(a,c,d)));if(c.a.g!=0&&b.g==0&&!nEb(b,d)){mhb(a.t,leb(i.Md().Fd().a,Rbb,QC(LC(pS,1),yAc,2,6,[d,MBb(c,new dlc).a,gEb(b,new dlc).a])));return}k=Cp(a.o,b,d);l=!k?null:kEb(b,d);if(!!k&&c.a.g==0&&!!l&&!!zyb(l)&&(m=nEb(c.a,d),!!m&&m.a==
(TDb(),QDb))){mhb(a.t,leb(k.a,Ebb,QC(LC(pS,1),yAc,2,6,[d])));return}if(!l&&c.a.g!=0)ug(f,d,j);else if(!!l&&!ucb(k)&&!(n=(o=l.$h()==2&&l._h().size()==1?js(l._h().Md()):null,!o?null:o.b),p=(q=j.$h()==2&&j._h().size()==1?js(j._h().Md()):null,!q?null:q.b),!n?Iyb(l,j,new GEb((BBb(),BBb(),ABb))):!!p&&Hxb(n,p,false,new GEb((BBb(),BBb(),ABb)),null)))mhb(a.t,leb(k.a,Tbb,QC(LC(pS,1),yAc,2,6,[d,Tyb(j,new dlc).a,Tyb(l,new dlc).a])));else if(!!l&&!!k.c)for(h=i.Md();h.Ed();){g=h.Fd();!!g.c&&ug(e,d,Iwb(g.c,c))}}
function pmb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o;i=(c.b?c.b.f:null).hi();j=qkc(i.substr(0,5),"goog:");j?k=i.substr(5,i.length-5):k=cvb(bvb(U1((!b.d&&(b.d=l0(b.c,b.f)),b.d)),i));for(f=(!c.b?(bqc(),bqc(),aqc):new O4b(c.b)).Md();f.Ed();){e=f.Fd();if(e.j==(f8b(),d6b)||e.j==J7b)continue;else if(e.j==_6b){l=j?"":NCc;Qlc(a.g,e.hi(),new ymb(k,l))}else if(e.j==F6b)for(h=(!e.b?(bqc(),bqc(),aqc):new O4b(e.b)).Md();h.Ed();){g=h.Fd();m=g.b.hi();T2b(g)==2?Qlc(a.g,(g.b?g.b.f:null).hi(),new ymb(k,m)):Qlc(a.g,m,new ymb(k,
m))}else{te(e.j==G6b,"Expected an IMPORT_STAR node, but was: %s",e);j&&Q0(a.c,uhb(c,kmb,QC(LC(pS,1),yAc,2,6,[e.hi(),k])));Qlc(a.g,e.hi(),new ymb(k,""))}}o=(Shb(),gib(d,new Njb((f8b(),D7b))));if(quc(a.a,k)){n=q$b(j$b(yjb(a.c,BCc),QC(LC(WQ,1),uCc,7,0,[new U4b(J7b,k)])));T3b(n,c);F2b(o,n,a.f);a.f=n;Q1((!b.d&&(b.d=l0(b.c,b.f)),b.d),k)}p3b(d,c);R0(a.c)}function Ajb(a){Shb();switch(a.f){case 1:return"|";case 61:return"||";case 2:return"^";case 62:return"&&";case 3:return"&";case 36:return"===";case 4:return"==";
case 19:return"!";case 5:return"!=";case 37:return"!==";case 10:return"<<";case 40:return"in";case 7:return"<=";case 6:return"<";case 12:return">>>";case 11:return">>";case 9:return">=";case 8:return">";case 15:return"*";case 16:return"/";case 17:return"%";case 18:return"**";case 20:return"~";case 13:case 21:return"+";case 14:case 22:return"-";case 47:return"=";case 48:return"|=";case 49:return"^=";case 50:return"&=";case 51:return"<<=";case 52:return">>=";case 53:return">>>=";case 54:return"+=";
case 55:return"-=";case 56:return"*=";case 59:return"**=";case 57:return"/=";case 58:return"%=";case 78:return aDc;case 25:return eGc;case 41:return fGc;default:return null}}function VPb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;l=VRb(a.j,0).b.b;f=false;g=false;h=false;k=true;YOb(a,(MUb(),nTb));c=null;d=null;switch(VRb(a.j,0).c.f){case 65:g=true;n=URb(a.j);a.g=n.b.a;break;case 14:c=b?oPb(a):cQb(a);k=b;break;case 29:c=IPb(a,false,b);k=false;break;case 37:c=nQb(a);k=false;break;case 31:c=RPb(a);k=false;
break;case 110:case 111:c=xQb(a,b);k=false;break;case 109:c=mPb(a);k=false;break;case 8:f=true;m=URb(a.j);a.g=m.b.a;c=kPb(a,1);k=false;break;case 45:h=true;d=XPb(a);break;case 108:c=ZQb(a);break;default:case 25:case 38:case 30:c=b?rPb(a):fRb(a,1)}j=null;if(g||h&&iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,OCc)){cPb(a,OCc);j=YOb(a,sUb)}else if(h)for(p=d.Md();p.Ed();){o=p.Fd();e=o.b;FOb(e.a)&&ARb(a,e,CIc,QC(LC(kS,1),NAc,1,5,[e.a]))}(k||(i=VRb(a.j,0).b.b.b>a.g.b,i||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)))&&bPb(a);
return new JVb(new fZb(l,a.g),f,g,c,d,j)}function X_(){X_=aV;jV();V_=new k5("JSC_MODULE_DEPENDENCY_ERROR",(YX(),VX),new Hlc("Bad dependency: {0} -> {1}. Modules must be listed in dependency order."));new k5(lDc,VX,new Hlc('required entry point "{0}" never provided'));new k5(lDc,VX,new Hlc('unknown module "{0}" specified in entry point spec'));new k5(mDc,VX,new Hlc("Exceeded max number of optimization iterations: {0}"));new k5(mDc,VX,new Hlc("Exceeded max number of code motion iterations: {0}"));W_=
Uyc(Wyc(),"com.google.javascript.jscomp");new Wc(_hc);T_=new k5("JSC_EMPTY_MODULE_LIST_ERROR",VX,new Hlc("At least one module must be provided"));U_=new k5("JSC_EMPTY_ROOT_MODULE_ERROR",VX,new Hlc("Root module ''{0}'' must contain at least one source code input"));S_=new k5("JSC_DUPLICATE_INPUT",VX,new Hlc("Duplicate input: {0}"));R_=new k5("JSC_DUPLICATE_EXTERN_INPUT",VX,new Hlc("Duplicate extern input: {0}"))}function U8(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;ae(b.j==(f8b(),m7b));k=new Poc;d=
b.b;while(d)if(W2b(d,73)!=0||W2b(d,74)!=0){Q0(a.a,leb(d,B8,QC(LC(pS,1),yAc,2,6,["computed getter/setter in an object literal"])));return}else if(d.j==y6b||d.j==E7b)d=d.d;else{f=d.d;p3b(b,d);k.add(d);d=f}g="$jscomp$compprop"+(""+(m=a.a,new E1(m)).a.W++);k=DD(k,113)?Om(k):DD(k,167)?k.a:DD(k,76)?new jv(k):new $u(k);l=(te(tkc(g,Nkc(46))==-1,tCc,g),new U4b(_6b,g));for(i=k.Md();i.Ed();){h=i.Fd();if(h.j==S5b){j=r3b(h);q=r3b(h);l=m$b(f$b(u$b((te(tkc(g,Nkc(46))==-1,tCc,g),new U4b(_6b,g)),j),q),l)}else{if(!h.b){e=
S3b(G$b(h.hi()),h);H2b(h,e)}p=r3b(h);J3b(h,J7b);o=h.ji()?w6b:x6b;c=new Y3b(o,(te(tkc(g,Nkc(46))==-1,tCc,g),new U4b(_6b,g)),h);l=m$b(f$b(c,p),l)}}n=b;while(Shb(),!jjb(n.e))n=n.e;T3b(l,b);t3b(b.e,b,l);r=o$b((te(tkc(g,Nkc(46))==-1,tCc,g),new U4b(_6b,g)),b,_7b);T3b(r,n);G2b(n.e,r,n);R0(a.a)}function udb(a,b){var c,d,e,f,g,h,i,j;switch(b.j.f){case 38:return PAb(a.c.d);case 90:return pvc(a.c.c,b);case 42:{if(!b.b)return EAb(a.c.d);d=b.b;c=udb(a,d);if(!c)return null;while(d=d.d)if(!xyb(c,udb(a,d)))return null;
return FAb(a.c.d,c)}case 35:return a.c.d.w;case 34:return a.c.d.e;case 33:return Ufb(a.a,UCc);case 29:return tdb(a,Tfb(a.a,b.hi(),false));case 43:{f=IAb(a.c.d);for(h=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();h.Ed();){g=h.Fd();i=udb(a,g.b);if(!i)return null;f=Wyb(f,new XDb(pib(g)),i)}return f}case 26:return xdb(a,b.b,(b.b?b.b.f:null).hi());case 27:return wdb(a,b);case 46:case 47:return udb(a,b.b?b.b.f:null);case 28:case 23:return sdb(a,b);case 62:case 61:return rdb(a,b);case 60:{e=udb(a,b.b.d);j=
udb(a,b.b?b.b.f:null);return!e||!j?null:gzb(e,j)}default:switch(lib(b)){case 1:return a.c.d.j;case 2:return a.c.d.B;case 3:return a.c.d.q;case 4:return a.c.d.t;case 5:return a.c.d.a;default:return null}}}function Tyb(a,b){var c,d,e,f,g,h,i,j,k;switch(a.$h()){case 0:return b.a+="bottom",b;case -1:return b.a+="*",b;case wAc:return b.a+="?",b;default:k=a.$h();f=true;for(j=1;j!=512;j<<=1)if((k&j)!=0){f||(b.a+="|",b);f=false;switch(j){case 8:case 16:b.a+=sAc;k&=-25;continue;case 32:b.a+=FAc;k&=-33;continue;
case 64:b.a+=tAc;k&=-65;continue;case 128:b.a+=vAc;k&=-129;continue;case 256:b.a+=EEc;k&=-257;continue;case 1:_kc(b,_Eb(a.ai()));k&=-2;continue;case 2:{if(a._h().size()==1)BCb(js(a._h().Md()),b);else{i=new byc;for(h=a._h().Md();h.Ed();){g=h.Fd();_xc(i,BCb(g,new dlc).a)}Rc(uyb,b,(e=(new Jnc(i.a)).a.oe().b.Cj(),new Pnc(e)))}k&=-3;continue}case 4:{if(a.Zh().size()==1)$kc(b,js(a.Zh().Md()));else{i=new byc;for(d=a.Zh().Md();d.Ed();){c=d.Fd();_xc(i,c.w)}Rc(uyb,b,(e=(new Jnc(i.a)).a.oe().b.Cj(),new Pnc(e)))}k&=
-5;continue}}}return k==0?b:k==512?(b.a+="truthy",b):k==lFc?(b.a+="falsy",b):Wkc((b.a+="Unrecognized type: ",b),k)}}function _Ab(a){var b,c,d;c=Zyb(this);this.a=ie(pvc(c,"BOOLEAN"));this.b=ie(pvc(c,"BOTTOM"));this.e=ie(pvc(c,NGc));this.f=ie(pvc(c,"FALSY"));this.j=ie(pvc(c,OGc));this.q=ie(pvc(c,PGc));this.t=ie(pvc(c,QGc));this.u=ie(pvc(c,"TOP"));ie(pvc(c,RGc));this.w=ie(pvc(c,"TRUE_TYPE"));this.A=ie(pvc(c,SGc));this.B=ie(pvc(c,"UNDEFINED"));this.G=ie(pvc(c,TGc));this.C=ie(pvc(c,UGc));this.D=ie(pvc(c,
VGc));this.F=ie(pvc(c,WGc));this.k=ie(pvc(c,XGc));this.n=ie(pvc(c,YGc));this.o=ie(pvc(c,ZGc));this.p=ie(pvc(c,$Gc));this.r=ie(pvc(c,_Gc));b=(d=new tvc,qvc(d,bHc,$xb(this,null,null,this.G,this.G,null,null,null,null,true,false)),qvc(d,cHc,$xb(this,null,null,null,this.b,null,null,null,null,false,false)),qvc(d,MGc,new Qxb(this,false)),qvc(d,LGc,new Qxb(this,true)),d);this.s=ie(pvc(b,bHc));this.c=ie(pvc(b,cHc));this.v=ie(pvc(b,MGc));this.g=ie(pvc(b,LGc));this.d=CBb(new IDb(null,this.b,this.b,(TDb(),SDb)));
this.H=a;this.Q=a;this.J=a;this.i=new dBb(this)}function R8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;s=r3b(b);n=r3b(b);d=r3b(b);l=G$b("$jscomp$iter$"+(""+(r=a.a,new E1(r)).a.W++));q=s3b(l,l.g,85);q!=l.g&&(l.g=q);l.g=new x4b(85,1,l.g);h=j$b(v$b(O2b(l,false),new U4b((f8b(),J7b),OEc)),QC(LC(WQ,1),uCc,7,0,[]));if(s.j==_6b){f=_6b;t=Z2b(s)}else{te((Shb(),!!s&&(s.j==_7b||s.j==T6b||s.j==T5b)),"Expected var, let, or const. Got %s",s);f=s.j;t=Z2b(s.b)}m=(te(tkc(mFc+t,Nkc(46))==-1,tCc,mFc+t),new U4b(_6b,
mFc+t));p=s3b(m,m.g,85);p!=m.g&&(m.g=p);m.g=new x4b(85,1,m.g);j=o$b(O2b(l,false),$8(a.a,n),_7b);k=O2b(m,false);I2b(k,O2b(h,false));H2b(j,k);e=I$b(v$b(O2b(m,false),new U4b(J7b,UEc)));i=f$b(O2b(m,false),O2b(h,false));if(f==_6b)g=q$b(f$b(Q3b((te(tkc(t,Nkc(46))==-1,tCc,t),new U4b(_6b,t)),s),v$b(O2b(m,false),new U4b(J7b,PEc))));else{g=new W3b(f,Q3b((te(tkc(t,Nkc(46))==-1,tCc,t),new U4b(_6b,t)),s.b));H2b(g.b,v$b(O2b(m,false),new U4b(J7b,PEc)))}I2b(d,g);o=s$b(j,e,i,d);T3b(o,b);t3b(c,b,o);R0(a.a)}function UX(){UX=
aV;TX=new k5("JSC_MISPLACED_MSG_ANNOTATION",(YX(),WX),new Hlc("Misplaced message annotation. @desc, @hidden, and @meaning annotations should onlybe on message nodes."));SX=new k5("JSC_MISPLACED_ANNOTATION",XX,new Hlc("Misplaced {0} annotation. {1}"));MX=new k5("JSC_ANNOTATION_DEPRECATED",XX,new Hlc("The {0} annotation is deprecated. {1}"));PX=new k5("JSC_DISALLOWED_MEMBER_JSDOC",XX,new Hlc("Class level JSDocs (@interface, @extends, etc.) are not allowed on class members"));NX=new k5("JSC_ARROW_FUNCTION_AS_CONSTRUCTOR",
VX,new Hlc("Arrow functions cannot be used as constructors"));OX=new k5("JSC_DEFAULT_PARAM_MUST_BE_MARKED_OPTIONAL",VX,new Hlc("Inline JSDoc on default parameters must be marked as optional"));RX=new k5("JSC_INVALID_NO_SIDE_EFFECT_ANNOTATION",VX,new Hlc("@nosideeffects may only appear in externs files."));QX=new k5("JSC_INVALID_MODIFIES_ANNOTATION",VX,new Hlc("@modifies may only appear in externs files."))}function hV(){var a,b,c;b=$doc.compatMode;a=QC(LC(pS,1),yAc,2,6,[SBc]);for(c=0;c<a.length;c++)if(qkc(a[c],
b))return;a.length==1&&qkc(SBc,a[0])&&qkc("BackCompat",b)?"GWT no longer supports Quirks Mode (document.compatMode=' BackCompat').<br>Make sure your application's host HTML page has a Standards Mode (document.compatMode=' CSS1Compat') doctype,<br>e.g. by using &lt;!doctype html&gt; at the start of your application's HTML page.<br><br>To continue using this unsupported rendering mode and risk layout problems, suppress this message by adding<br>the following line to your*.gwt.xml module file:<br>&nbsp;&nbsp;&lt;extend-configuration-property name=\"document.compatMode\" value=\""+
b+'"/&gt;':"Your *.gwt.xml module configuration prohibits the use of the current document rendering mode (document.compatMode=' "+b+"').<br>Modify your application's host HTML page doctype, or update your custom "+"'document.compatMode' configuration property settings."}function l9(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;n=b.e;q=a.e+qFc+(""+a.c.a.W++);i=b.b;p=i.d;m=b.b?b.b.f:null;R2b(b);g=null;s=Q3b((f=new U3b((f8b(),G5b)),f),b);h=Q3b((e=new U3b(G5b),e),b);switch(b.j.f){case 60:g=i;I2b(s,wjb(d?
R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),p),p):p));I2b(h,wjb(d?R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),m),m):m));break;case 62:g=d?R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),i),i):i;I2b(s,wjb(d?R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),m),m):m));break;case 61:g=d?R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),i),i):i;I2b(h,wjb(d?R3b(f$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),m),m):m));break;default:throw BU(new sjc(rFc));}h.b?k=(oe(C$b(g)),
oe(s.j==G5b),oe(h.j==G5b),new Z3b(B6b,g,s,h)):k=y$b(g,s);S3b(k,b);if(d){r=T3b(zjb(q,null),b);l=c.e;G2b(l,r,c);F2b(l,k,r);o=(te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q));t3b(n,b,o)}else{ae(n.j==n6b);j=n.e;t3b(j,n,k)}return k}function Yzb(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s,t;r=(Mm(),new iq);q=(null,Lm);k=d.e;i=false;if(b){if(e)hq(r,e.p);else for(p=I_b(b).Md();p.Ed();){n=p.Fd();gq(r,YEb(a.d,n))}for(o=N_b(b).Xe().Md();o.Ed();){n=o.Fd();gq(r,YEb(a.d,n))}q=Um(r.a);if(!q.isEmpty())if(k.j==(f8b(),
E7b)||k.j==y6b){i=true;b=null;quc(a.i,leb(d,Lzb,QC(LC(pS,1),yAc,2,6,[])))}else nyb(h,q)}if(f){hq(r,f.p);q=Um(r.a)}Rzb(a,b,d,q,g,h,i);Tzb(a,b,d,k,q,g,h,i);if(!b)return oyb(h);l=_zb(a,b,c,d,q,g);j=$zb(a,b,g,q,true);if(!e&&((b.a&2)!=0||(b.a&512)!=0||(b.a&iEc)!=0))return oyb(h);else(b.a&2)!=0?hAb(a,c,d,e,l,j,h):(b.a&512)!=0||(b.a&iEc)!=0?(j.isEmpty()||quc(a.i,leb(d,wzb,QC(LC(pS,1),yAc,2,6,[c]))),s=$zb(a,b,g,q,false),t=_Db(e,s.isEmpty()?new cy(OAb(a.a)):s),t||quc(a.i,leb(d,Hzb,QC(LC(pS,1),yAc,2,6,[gEb(e,
new dlc).a]))),fyb(h,e.q),undefined):j.isEmpty()||quc(a.i,leb(d,Gzb,QC(LC(pS,1),yAc,2,6,[c])));if(b.g){m=b.g.a;oe(m.j==(f8b(),B5b));jyb(h,dAb(a,m.b,g,q))}(b.a&2)!=0||dyb(h,(b.a&IFc)!=0);return oyb(h)}function lib(a){Shb();var b,c,d;switch(a.j.f){case 90:return lib(a.b);case 47:case 46:return lib(a.b?a.b.f:null);case 62:case 61:return Uhb(lib(a.b),lib(a.b?a.b.f:null));case 60:return Uhb(lib(a.b.d),lib(a.b?a.b.f:null));case 13:{c=lib(a.b?a.b.f:null);if(c==4)return 4;b=lib(a.b);if(b==4)return 4;if(b==
6||c==6)return 0;if(!tjb(b)&&!tjb(c))return 3;return 0}case 54:{c=lib(a.b?a.b.f:null);if(c==4)return 4;return 0}case 29:d=a.hi();if(qkc(d,EEc))return 2;if(qkc(d,"NaN"))return 3;if(qkc(d,dGc))return 3;return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 55:case 56:case 59:case 57:case 58:case 20:case 1:case 2:case 3:case 10:case 11:case 12:case 14:case 15:case 17:case 16:case 18:case 63:case 64:case 21:case 22:case 30:return 3;case 35:case 34:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 40:case 41:case 19:case 24:return 5;
case 25:case 31:return 4;case 32:return 1;case 78:return 2;case 65:case 23:case 42:case 43:case 38:return 6;default:return 0}}function gdb(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p;k=null;l=null;n=null;i=(Shb(),j=dib(d),!j?null:Y2b(j,29));if(!!e&&e.j==(f8b(),r6b)){k=Ddb(a,e,b);l=k.c;d.j==(f8b(),y6b)?c=(vyb(),JFc+c):d.j==E7b&&(c=(vyb(),KFc+c))}else!!i&&(g=(i.a&fFc)==kFc&&((fFc&i.a)==kFc?i.i:null).a.j==(f8b(),r6b),g||(i.a&fFc)==fBc||!!i.g||D_b(i)>0||(i.a&2)!=0||(i.a&EFc)!=0&&(i.a&fFc)!=kFc)&&d.j!=(f8b(),
K7b)&&(l=Zcb(a,i,c,d,b,a.a));!!i&&(i.a&fFc)==kFc?n=Wzb(a.c.q,i,b,a.a):!!l&&(n=DAb(a.c.d,Jwb(l)));if(d.j==(f8b(),y6b)){f=(m=n.$h()==2&&n._h().size()==1?js(n._h().Md()):null,!m?null:m.b);!!f&&(n=(ae(!(f==f.a.v||f==f.a.g)),f.k))}up(a.c.o,b,c,new Odb(d,l,k));!!l&&l.b&&!b.e&&(b.g==0?mhb(a.c.t,leb(d,(ecb(),ybb),QC(LC(pS,1),yAc,2,6,[b.w]))):b.g!=0&&mhb(a.c.t,leb(d,(ecb(),zbb),QC(LC(pS,1),yAc,2,6,[]))));h=ocb(a.c,d);if(!!n||h){if(kdb(a,b,c,d,n))return;!n&&(n=idb(a,d));bEb(b,c,d,n,h);if(d.j==x6b){p=s3b(d,
d.g,76);p!=d.g&&(d.g=p);d.g=new x4b(76,1,d.g);h&&(o=s3b(d,d.g,77),o!=d.g&&(d.g=o),d.g=new x4b(77,1,d.g))}}else fEb(b,c,d)}function jMb(){jMb=aV;NLb=new kMb("ALL",0,"all",0,0,0);OLb=new kMb("COND",1,"cond",3,3,1);PLb=new kMb("EQ",2,"eq",2,2,3);RLb=new kMb("ISCTOR",3,"isCtor",1,1,3);SLb=new kMb("ISDEFINED",4,"isDefined",1,1,4);TLb=new kMb("ISRECORD",5,"isRecord",1,1,3);ULb=new kMb("ISTEMPLATIZED",6,"isTemplatized",1,1,3);VLb=new kMb("ISUNKNOWN",7,"isUnknown",1,1,3);QLb=new kMb(dIc,8,"instanceOf",1,
1,1);XLb=new kMb("MAPUNION",9,"mapunion",2,2,1);WLb=new kMb("MAPRECORD",10,"maprecord",2,2,1);YLb=new kMb("NONE",11,"none",0,0,0);ZLb=new kMb("PRINTTYPE",12,"printType",2,2,1);$Lb=new kMb("PROPTYPE",13,"propType",2,2,1);_Lb=new kMb("RAWTYPEOF",14,"rawTypeOf",1,1,0);cMb=new kMb("SUB",15,"sub",2,2,3);bMb=new kMb("STREQ",16,"streq",2,2,2);aMb=new kMb("RECORD",17,"record",1,wAc,0);dMb=new kMb("TEMPLATETYPEOF",18,"templateTypeOf",2,2,0);eMb=new kMb(qHc,19,eDc,2,wAc,0);fMb=new kMb("TYPEEXPR",20,"typeExpr",
1,1,0);gMb=new kMb("TYPEOFVAR",21,"typeOfVar",1,1,1);hMb=new kMb("UNION",22,"union",2,wAc,0);iMb=new kMb(TGc,23,eIc,0,0,0)}function g$(a,b,c,d,e,f,g,h){var i,j,k;k=new elc;for(j=0;j<b.length;j++){i=b.charCodeAt(j);switch(i){case 0:k.a+="\\x00";break;case 11:g?(k.a+="\\v",k):(k.a+="\\x0B",k);break;case 8:k.a+="\\b";break;case 12:k.a+="\\f";break;case 10:k.a+="\\n";break;case 13:k.a+="\\r";break;case 9:k.a+="\\t";break;case 92:k.a+=f;break;case 34:k.a+=c;break;case 39:k.a+=d;break;case 96:k.a+=e;break;
case 8232:k.a+="\\u2028";break;case 8233:k.a+="\\u2029";break;case 61:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x3d",k);break;case 38:a.j||h?(k.a+=String.fromCharCode(i),k):(k.a+="\\x26",k);break;case 62:if(!a.j&&!h){k.a+="\\x3e";break}j>=2&&(b.charCodeAt(j-1)==45&&b.charCodeAt(j-2)==45||b.charCodeAt(j-1)==93&&b.charCodeAt(j-2)==93)?(k.a+="\\x3e",k):(k.a+=String.fromCharCode(i),k);break;case 60:if(!a.j&&!h){k.a+="\\x3c";break}ykc(b,true,j+1,"/script",0,7)?(k.a+="\\x3c",k):ykc(b,false,j+1,"!--",
0,3)?(k.a+="\\x3c",k):(k.a+=String.fromCharCode(i),k);break;default:i>31&&i<127?(k.a+=String.fromCharCode(i),k):JB(k,i)}}return k.a}function Ttb(){Ttb=aV;Ptb=new k5("JSC_UNDEFINED_VARIABLE",(YX(),VX),new Hlc("variable {0} is undeclared"));Stb=new k5("JSC_VIOLATED_MODULE_DEPENDENCY",VX,new Hlc("module {0} cannot reference {2}, defined in module {1}, since {1} loads after {0}"));Ltb=new k5("JSC_MISSING_MODULE_DEPENDENCY",XX,new Hlc("missing module dependency; module {0} should depend on module {1} because it references {2}"));
Ntb=new k5("JSC_STRICT_MODULE_DEPENDENCY",WX,new Hlc(oCc));Mtb=new k5("JSC_NAME_REFERENCE_IN_EXTERNS",XX,new Hlc("accessing name {0} in externs has no effect. Perhaps you forgot to add a var keyword?"));Otb=new k5("JSC_UNDEFINED_EXTERN_VAR_ERROR",XX,new Hlc("name {0} is not defined in the externs."));Rtb=new k5("JSC_VAR_MULTIPLY_DECLARED_ERROR",VX,new Hlc("Variable {0} first declared in {1}"));Qtb=new k5("JSC_VAR_ARGUMENTS_SHADOWED_ERROR",VX,new Hlc('Shadowing "arguments" is not allowed'));Ktb=new k5("JSC_LET_CONST_CLASS_MULTIPLY_DECLARED_ERROR",
VX,new Hlc("Duplicate let / const / class declaration in the same scope is not allowed."))}function zHb(a){GGb();switch(a.f){case 74:return f8b(),E5b;case 75:return f8b(),F5b;case 73:return f8b(),C5b;case 59:return f8b(),h6b;case 60:return f8b(),d7b;case 54:return f8b(),V6b;case 56:return f8b(),S6b;case 55:return f8b(),z6b;case 57:return f8b(),t6b;case 70:return f8b(),U6b;case 71:return f8b(),C7b;case 72:return f8b(),$7b;case 63:return f8b(),g5b;case 64:return f8b(),M7b;case 65:return f8b(),$6b;case 94:return f8b(),
a6b;case 67:return f8b(),Y6b;case 66:return f8b(),j6b;case 61:return f8b(),F7b;case 62:return f8b(),G7b;case 16:return f8b(),H6b;case 17:return f8b(),K6b;case 53:return f8b(),R5b;case 82:return f8b(),n5b;case 92:return f8b(),q5b;case 93:return f8b(),r5b;case 91:return f8b(),p5b;case 88:return f8b(),u5b;case 89:return f8b(),x5b;case 90:return f8b(),z5b;case 83:return f8b(),o5b;case 84:return f8b(),y5b;case 85:return f8b(),w5b;case 86:return f8b(),t5b;case 95:return f8b(),s5b;case 87:return f8b(),v5b;
case 79:return f8b(),p7b;case 78:return f8b(),h5b;default:throw BU(new sjc(!a?FAc:a.a==null?(BOb(),co(cOb,a)).b:a.a));}}function $Pb(a){var b,c,d,e;d=VRb(a.j,0).b.b;YOb(a,(MUb(),rTb));YOb(a,STb);if(zRb(a)){e=fRb(a,0);if(jRb(a,yTb)){e.b.size()>1&&CRb(a,"for-in statement may not have more than one variable declaration",QC(LC(kS,1),NAc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&(a.b.a?CRb(a,"for-in statement may not have initializer",QC(LC(kS,1),NAc,1,5,[])):aLb(a.c,b.o.b,"for-in statement should not have initializer",
QC(LC(kS,1),NAc,1,5,[])));return YPb(a,d,e)}else if(iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"of")){e.b.size()>1&&CRb(a,"for-of statement may not have more than one variable declaration",QC(LC(kS,1),NAc,1,5,[]));b=e.b.getAtIndex(0);!!b.b&&CRb(a,"for-of statement may not have initializer",QC(LC(kS,1),NAc,1,5,[]));return ZPb(a,d,e)}else{WOb(a,e);return _Pb(a,d,e)}}if(jRb(a,jUb))return _Pb(a,d,null);c=kPb(a,0);if(jRb(a,yTb)||jRb(a,jTb)||iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"of")){c=DRb(a,c);TUb(c)||CRb(a,zIc,QC(LC(kS,
1),NAc,1,5,[]))}if(jRb(a,yTb)||iRb(a,0,uTb)&&qkc(VRb(a.j,0).a,"of"))if(c.p!=(vYb(),PWb)&&c.p!=XWb)return jRb(a,yTb)?YPb(a,d,c):ZPb(a,d,c);return _Pb(a,d,c)}function Cjb(a){Shb();switch(a.f){case 46:return 0;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 59:case 57:case 58:case 47:return 1;case 100:return 2;case 60:return 3;case 61:return 4;case 62:return 5;case 1:return 6;case 2:return 7;case 3:return 8;case 4:case 5:case 36:case 37:return 9;case 6:case 8:case 7:case 9:case 41:case 40:return 10;
case 10:case 11:case 12:return 11;case 14:case 13:return 12;case 15:case 17:case 16:return 13;case 18:return 14;case 101:case 23:case 24:case 25:case 78:case 19:case 20:case 21:case 22:return 15;case 63:case 64:return 16;case 28:case 27:case 26:case 42:case 91:case 116:case 93:case 79:case 34:case 65:case 94:case 146:case 29:case 32:case 30:case 43:case 92:case 38:case 110:case 111:case 31:case 89:case 154:case 155:case 156:case 33:case 97:case 35:case 113:case 114:case 123:return 17;case 121:return 18;
case 132:case 122:return 19;case 118:case 120:case 119:case 124:case 130:case 125:case 128:case 131:case 133:return 20;case 90:return 21;default:throw BU(new sjc("Unknown precedence for "+a));}}function Lab(a,b,c){var d,e,f,g,h,i,j,k,l;g=c.e;e=false;i=(jbb(),hbb);switch(c.j.f){case 84:case 85:case 89:case 96:f=null;!!g&&g.j==(f8b(),m7b)?f=Nab(a,c):!!g&&g.j==(f8b(),P5b)&&(f=(j=c.e,oe(j.j==(f8b(),P5b)),k=(Shb(),l=nib(j.e),!l?null:Z2b(l)),k==null?null:k+"."+c.hi()));if(f==null)return;e=true;switch(c.j.f){case 96:case 89:i=
Pab(a,c.b);break;case 84:i=fbb;break;case 85:i=ibb;break;default:throw BU(new sjc("unexpected:"+c));}break;case 29:if(g)switch(g.j.f){case 75:case 98:case 86:e=true;h=c.b;i=!h?hbb:Pab(a,h);break;case 47:if(g.b==c){e=true;i=Pab(a,c.d)}break;case 26:return;case 65:d=g.e;if(!d||(Shb(),g.j==(f8b(),r6b)&&!jjb(g.e)))return;e=true;i=ebb;break;case 77:case 63:case 64:e=true;i=hbb;break;case 94:e=true;i=dbb;break;default:if(Bib(g)&&g.b==c){e=true;i=hbb}}f=c.hi();break;case 26:if(g)switch(g.j.f){case 47:if(g.b==
c){e=true;i=Pab(a,c.d)}break;case 63:case 64:e=true;i=hbb;break;case 26:return;default:if(Bib(g)&&g.b==c){e=true;i=hbb}}f=Z2b(c);if(f==null)return;break;default:return}if(!Jab(a.a,f,b))return;b=b.wh();e?b.Fh()?Sab(a,c,g,f,i):Tab(a,c,g,f):Qab(a,c,g,f)}function J0(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;b=a.H._!=(C2(),z2);R2b(a.n);R2b(a.u);if(a.H.nd!=(F3(),C3)){a.U=new ilb(a.n,a.u,a.H.nd);Y_(a,a.U.d)}q=(a.H.nd!=C3&&!!a.U&&glb(a.U,xDc,true),new Fqb);try{for(e=new kpc(a.j);e.a<e.c.a.length;){c=ipc(e);
k=S1(c,a);if(a.f.c>0)return null;H2b(a.n,k)}if(s2(a.H)){a.C=new Lub(a,a.H.bc,a.s);s2(a.H)&&M0(a,a.s,false);h=new luc;for(f=a.s.Md();f.Ed();){c=f.Fd();if(a2(c.c?c.c.Ig():(Mm(),Mm(),Lm),c.d).isEmpty()){j=Hfb(c.a.Kg().c);Qlc(h,j.a,c)}}i=new luc;for(g=a.s.Md();g.Ed();){c=g.Fd();for(m=a2(c.c?c.c.Jg():(Mm(),Mm(),Lm),c.e).Md();m.Ed();){l=m.Fd();(l==null?!!Luc(h.d,null):$uc(h.e,l))&&!(l==null?!!Luc(i.d,null):$uc(i.e,l))&&Qlc(i,l,l==null?hh(Luc(h.d,null)):_uc(h.e,l))}}i.d.c+i.e.c==0||M0(a,new Roc(new Umc(i)),
true)}else a.C=(Jub(),Fub);I0(a);if(a.f.c>0)return null;for(d=a.s.Md();d.Ed();){c=d.Fd();k=S1(c,a);if(!k)continue;if(b){lob(new pob(a),a.n,a.u);if(a.f.c>0)return null}if(a.H.kb){o=new gpb(c.f.a,a.H._!=z2);ohb();p=new Hhb(a,o,new p8(a));Bhb(p,k)}H2b(a.u,k)}if(a.f.c>0)return null;return a.g}finally{$_(a);n=OU(HU(Hzc()),q.a);a.H.nd!=C3&&!!a.U&&hlb(a.U,xDc,n)}}function N8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;ae(b.j==(f8b(),J5b)||b.j==k5b||b.j==f7b);k=new Poc;h=null;e=b.j==k5b?null:r3b(b);g=r3b(b);while(g){if(g.j==
H7b){if(h){k.a[k.a.length]=h;h=null}Eoc(k,Y8(a.a,r3b(g)))}else{!h&&(h=e$b(QC(LC(WQ,1),uCc,7,0,[])));H2b(h,g)}g=r3b(b)}!!h&&(k.a[k.a.length]=h,true);n=null;i=b.j==f7b?e$b(QC(LC(WQ,1),uCc,7,0,[new U3b(i7b)])):e$b(QC(LC(WQ,1),uCc,7,0,[]));l=j$b(v$b(i,new U4b(J7b,"concat")),Ooc(k,NC(WQ,uCc,7,0,0,1)));if(b.j==k5b)n=l;else if(b.j==J5b){Shb();if(Xhb(e,false,null)&&e.j==x6b){p=b;while(!jjb(p.e))p=p.e;j=G$b("$jscomp$spread$args"+(""+(o=a.a,new E1(o)).a.W++));m=p$b(O2b(j,false),_7b);T3b(m,p);G2b(p.e,m,p);I2b(e,
f$b(O2b(j,false),r3b(e)));n=j$b(v$b(e,new U4b(J7b,jEc)),QC(LC(WQ,1),uCc,7,0,[j,l]))}else{f=e.j==x6b?O2b(e.b,false):new U3b(i7b);n=j$b(v$b(e,new U4b(J7b,jEc)),QC(LC(WQ,1),uCc,7,0,[f,l]))}}else{r2(a.a.H)==(o3(),c3)&&Q0(a.a,leb(b,A8,QC(LC(pS,1),yAc,2,6,['"..." passed to a constructor (consider using --language_out=ES5)'])));d=yjb(a.a,"Function.prototype.bind.apply");n=H$b(j$b(d,QC(LC(WQ,1),uCc,7,0,[e,l])),QC(LC(WQ,1),uCc,7,0,[]))}T3b(n,b);t3b(c,b,n);R0(a.a)}function hIb(a,b){var c,d,e,f,g,h,i,j,k,l,
m,n,o,p,q,r,s,t,u;g=b.j==(gWb(),dWb);i=b.j==fWb;e=b.j==cWb;f=b.e;h=b.f;j=b.c.p==(vYb(),kXb);h&&OHb(a,b,(wNb(),YMb));i&&OHb(a,b,(wNb(),eNb));e&&OHb(a,b,(wNb(),JMb));f&&OHb(a,b,(wNb(),KMb));l=b.k;if(l)m=(s=KGb(a.a,l.b),QHb(a,l),t=XGb(a.a,(f8b(),_6b),l.a),!!s&&(u=s3b(t,t.g,29),u!=t.g&&(t.g=u),!!s&&(t.g=new H4b(29,s,t.g)),t),gHb(t,l.b.b,l.b.a),t);else{if(g||i){a.a.d.ih("unnamed function statement",a.a.r,(GGb(),b.o.b.b+1),b.o.b.a);m=XGb(a.a,(f8b(),_6b),"__missing_name__")}else m=XGb(a.a,(f8b(),_6b),"");
b4b(m.i)==-1&&gHb(m,b.o.b,b.o.a)}n=SGb(a.a,(f8b(),r6b));i&&m.mi("");H2b(n,m);KHb(a,n.b,b.d);H2b(n,iHb(a.a,b.b));LHb(a,n,b.n);d=iHb(a.a,b.c);if(!e&&!j&&d.j!=G5b){oe(a.a.a.b==1);d=(c=new U3b(G5b),c)}SHb(d);H2b(n,d);p=s3b(n,n.g,59);p!=n.g&&(n.g=p);(h?1:0)!=0&&(n.g=new x4b(59,h?1:0,n.g));q=s3b(n,n.g,60);q!=n.g&&(n.g=q);(e?1:0)!=0&&(n.g=new x4b(60,e?1:0,n.g));r=s3b(n,n.g,61);r!=n.g&&(n.g=r);(f?1:0)!=0&&(n.g=new x4b(61,f?1:0,n.g));n3b(n,80,b.g);if(b.j==fWb){b4b(n.i)==-1&&gHb(n,b.o.b,b.o.a);k=XGb(a.a,W6b,
l.a);H2b(k,n);H3b(k,b.i);JHb(k,b.a);x3b(n,Y2b(n,78));o=k}else o=n;return o}function h8b(a){f8b();switch(a.f){case 135:case 42:case 141:case 80:case 73:case 28:case 145:case 86:case 74:case 87:case 140:case 138:case 142:case 72:case 66:case 143:case 144:case 23:case 43:case 45:case 136:case 139:case 38:case 0:case 83:case 137:case 89:case 67:case 114:case 44:case 75:case 100:return-1;case 79:case 34:case 105:case 88:case 154:case 29:case 32:case 30:case 31:case 33:case 35:return 0;case 20:case 156:case 90:case 64:case 69:case 24:case 82:case 84:case 63:case 155:case 96:case 128:case 22:case 19:case 21:case 110:case 85:case 111:case 115:case 39:case 25:case 152:case 78:return 1;
case 13:case 62:case 47:case 54:case 50:case 48:case 49:case 57:case 51:case 58:case 56:case 59:case 52:case 55:case 53:case 3:case 1:case 2:case 68:case 77:case 46:case 112:case 116:case 16:case 71:case 149:case 4:case 18:case 9:case 27:case 26:case 8:case 40:case 41:case 81:case 7:case 10:case 6:case 17:case 15:case 157:case 5:case 61:case 11:case 36:case 37:case 14:case 113:case 12:case 70:case 76:return 2;case 94:case 99:case 65:case 60:case 102:case 146:return 3;default:throw BU(new sjc("No arity defined for "+
a));}}function Xhb(a,b,c){Shb();var d,e,f,g,h,i;switch(a.j.f){case 39:case 100:return true;case 43:if(b)return true;for(h=a.b;h;h=h.d)for(f=h.b;f;f=f.d)if(Xhb(f,b,c))return true;return false;case 42:case 38:if(b)return true;break;case 75:case 29:if(a.b)return true;break;case 65:return b||!(a.j==(f8b(),r6b)&&!jjb(a.e));case 94:return b||a.j==(f8b(),O5b)&&Jib(a.e)||Xhb(a.b.d,b,c)||Xhb(a.b?a.b.f:null,b,c);case 95:for(i=a.b;i;i=i.d)if(i.j==(f8b(),S5b)&&Xhb(i.b,b,c))return true;return false;case 23:if(b)return true;
if(!Yhb(a))break;return true;case 28:if(!bib(a,c))break;return true;case 113:return bib(a,c);case 90:case 62:case 80:case 82:case 60:case 66:case 40:case 45:case 30:case 61:case 33:case 35:case 34:case 32:case 31:case 89:case 67:case 115:case 44:case 79:case 114:break;default:if(hjb(a.j))break;if(Bib(a)){d=a.b;if(d.j==(f8b(),_6b))return true;if(Xhb(a.b,b,c)||Xhb(a.b?a.b.f:null,b,c))return true;if(d.j==x6b||d.j==w6b){g=d.b;if(aib(g,(ze(),ef(),af)))return false;while(g.j==x6b||g.j==w6b)g=g.b;return!Yib(g,
true)}else return!Yib(d,true)}return true}for(e=a.b;e;e=e.d)if(Xhb(e,b,c))return true;return false}function bSb(a,b){switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 98:case 66:QRb(a);FSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)>=0||YRb(a,"Binary Integer Literal must contain at least one digit",QC(LC(kS,1),NAc,1,5,[]));fSb(a);return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d));case 111:case 79:QRb(a);GSb(PRb(a,a.d)?lkc(a.e.a,a.d):0)>=0||YRb(a,"Octal Integer Literal must contain at least one digit",QC(LC(kS,
1),NAc,1,5,[]));mSb(a);((PRb(a,a.d)?lkc(a.e.a,a.d):0)==56||(PRb(a,a.d)?lkc(a.e.a,a.d):0)==57)&&YRb(a,xHc,QC(LC(kS,1),NAc,1,5,[]));return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d));case 120:case 88:QRb(a);Aic(PRb(a,a.d)?lkc(a.e.a,a.d):0,16)>=0||YRb(a,"Hex Integer Literal must contain at least one digit",QC(LC(kS,1),NAc,1,5,[]));kSb(a);return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d));case 101:case 69:return $Rb(a,b);case 46:return _Rb(a,b);case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:iSb(a);
if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==46){QRb(a);iSb(a)}return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d));default:return new ROb((MUb(),PTb),Hkc(a.e.a,b,a.d),MOb(a.e.b,b,a.d))}}function omb(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;if(W2b(c,63)!=0){e=c.b;p=null;(e.j==(f8b(),r6b)||e.j==O5b)&&(p=(Shb(),r=nib(e),!r?null:Z2b(r)));if(p!=null){f=O2b(e,false);A3b(f,Y2b(e,29));t3b(d,c,f);qvc(a.d,NCc,new Amb(p,e))}else{v=o$b((te(tkc(kGc,Nkc(46))==-1,tCc,kGc),new U4b(_6b,kGc)),r3b(c),_7b);A3b(v,
Y2b(e,29));t=s3b(e,e.g,29);t!=e.g&&(e.g=t);T3b(v,c);t3b(d,c,v);qvc(a.d,NCc,new Amb(kGc,e))}}else if(W2b(c,64)!=0)Q0(a.c,leb(c,(F8(),B8),QC(LC(pS,1),yAc,2,6,["Wildcard export"])));else if(T2b(c)==2){n=c.b?c.b.f:null;l=new W3b((f8b(),D6b),n.fi(false));Q3b(l,c);G2b(d,l,c);nmb(a,b,l,d);o=cvb(bvb(U1((!b.d&&(b.d=l0(b.c,b.f)),b.d)),n.hi()));for(i=M2b(c.b).Md();i.Ed();){h=i.Fd();q=h.b.hi();j=(h.b?h.b.f:null).hi();qvc(a.d,j,new Amb(o+"."+q,h))}p3b(d,c)}else{if(c.b.j==(f8b(),m6b)){for(i=M2b(c.b).Md();i.Ed();){h=
i.Fd();s=h.b;qvc(a.d,T2b(h)==2?(h.b?h.b.f:null).hi():s.hi(),new Amb(s.hi(),h))}p3b(d,c)}else{g=c.b;k=g.b;for(m=k;m;m=m.d){if(m.j!=_6b)break;if(g.j==O5b&&m!=k)break;p=m.hi();u=rhb(b).Bh(p);(!u||u.Fh())&&qvc(a.d,p,new Amb(p,m));g.j==O5b&&quc(a.b,p);!!Y2b(g,29)&&(Y2b(g,29).a&fFc)==DBc&&quc(a.k,p)}t3b(d,c,Q2b(g))}R0(a.c)}}function qmb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;if(!a.i)return;oZ(b,c);be(a.j==1,"ProcessEs6Modules supports only one invocation per CompilerInput / script node");Ihb(a.c,c,
new umb(a));o=cvb(U1((!b.d&&(b.d=l0(b.c,b.f)),b.d)));for(g=new Tvc(new Kvc(a.d));g.b!=g.c.a.b;){f=Rvc(g);h=f.d;s=f.e.a;p=f.e.b;k=v$b((te(tkc(o,Nkc(46))==-1,tCc,o),new U4b((f8b(),_6b),o)),new U4b(J7b,h));if(ruc(a.k,h)){e=new x2b(true);r=new B2b(new U4b(J7b,h),(j=Y2b(c,51),!j?null:j.Hg()));q2b(e,r);m=h1b(e,false);q=s3b(k,k.g,29);q!=k.g&&(k.g=q);!!m&&(k.g=new H4b(29,m,k.g));i=T3b((oe(C$b(k)),new W3b(n6b,k)),p);H2b(c,i)}else{d=f$b(k,yjb(a.c,s));i=T3b((oe(C$b(d)),new W3b(n6b,d)),p);if(ruc(a.b,h)){e=new x2b(true);
s1b(e);m=h1b(e,false);q=s3b(d,d.g,29);q!=d.g&&(d.g=q);!!m&&(d.g=new H4b(29,m,d.g))}H2b(c,i)}}Ihb(a.c,c,new Dmb(a,o));if(Ulc(a.d.c)!=0||a.e){l=q$b(j$b(yjb(a.c,zCc),QC(LC(WQ,1),uCc,7,0,[new U4b((f8b(),J7b),o)])));I2b(c,T3b(l,c));P1((!b.d&&(b.d=l0(b.c,b.f)),b.d),o)}n=!Y2b(c,29)?new x2b(false):y2b(Y2b(c,29));n.d&&((n.a.a&4096)!=0||(n.a.a&tDc)!=0||(n.a.a&uDc)!=0)||F1b(n,"");j2b(n,(lm(),Ao(QC(LC(kS,1),NAc,1,5,[eEc,fEc]))));A3b(c,h1b(n,false));nvc(a.d);R0(a.c)}function bib(a,b){var c,d,e,f;pe(a.j==(f8b(),
J5b)||a.j==P7b,a);if((W2b(a,42)&15)==15)return false;if((W2b(a,42)&15&11)==11&&Thb(a))return false;c=a.b;if(c.j==_6b){e=c.hi();if(Khb.contains(e))return false}else if(c.j==x6b){if(!!a.b&&!a.b.d&&Ohb.contains((c.b?c.b.f:null).hi()))return false;if((W2b(a,42)&15&13)==13&&aib(c.b,(ze(),ef(),af)))return false;if(c.b.j==_6b&&g3b(c)&&qkc(c.b.hi(),"Math"))switch((c.b?c.b.f:null).hi()){case "abs":case "acos":case "acosh":case "asin":case "asinh":case "atan":case "atanh":case "atan2":case "cbrt":case "ceil":case "cos":case "cosh":case "exp":case "expm1":case "floor":case "hypot":case "log":case "log10":case "log1p":case "log2":case "max":case "min":case "pow":case "round":case "sign":case "sin":case "sinh":case "sqrt":case "tan":case "tanh":case "trunc":return false;
case "random":return!(!!a.b&&!a.b.d)}if(!!b&&!b.Jf())if(c.b.j==y7b&&Phb.contains((c.b?c.b.f:null).hi()))return false;else if(ljb(c.b,b)){d=(c.b?c.b.f:null).hi();f=c.d;if(f)if(f.j==J7b){if(Qhb.contains(d))return false}else if(f.j==y7b)if(qkc("replace",d))return f.d.j!=J7b;else if(Qhb.contains(d))return false}}return true}function Jmb(){Jmb=aV;var a,b,c,d;new Hc(new Hc(new cc(97,122),new cc(65,90)),new Ub);Imb=new k5("JSC_UNKNOWN_TWEAK_WARNING",(YX(),XX),new Hlc("no tweak registered with ID {0}"));
new k5("JSC_TWEAK_MULTIPLY_REGISTERED_ERROR",VX,new Hlc("Tweak {0} has already been registered."));new k5("JSC_NON_LITERAL_TWEAK_ID_ERROR",VX,new Hlc("tweak ID must be a string literal"));Fmb=new k5("JSC_INVALID_TWEAK_DEFAULT_VALUE_WARNING",XX,new Hlc("tweak {0} registered with {1} must have a default value that is a literal of type {2}"));new k5("JSC_NON_GLOBAL_TWEAK_INIT_ERROR",VX,new Hlc("tweak declaration {0} must occur in the global scope"));new k5("JSC_TWEAK_OVERRIDE_AFTER_REGISTERED_ERROR",
VX,new Hlc("Cannot override the default value of tweak {0} after it has been registered"));Hmb=new k5("JSC_TWEAK_WRONG_GETTER_TYPE_WARNING",XX,new Hlc("tweak getter function {0} used for tweak registered using {1}"));new k5("JSC_INVALID_TWEAK_ID_ERROR",VX,new Hlc("tweak ID contains illegal characters. Only letters, numbers, _ and . are allowed"));Gmb=new luc;for(b=(Smb(),QC(LC(KL,1),SAc,101,0,[Pmb,Qmb,Rmb,Omb,Lmb,Kmb,Mmb,Nmb])),c=0,d=b.length;c<d;++c){a=b[c];Qlc(Gmb,a.a,a)}}function osb(){osb=aV;
ksb=new k5("JSC_INVALID_CAST",(YX(),XX),new Hlc("invalid cast - must be a subtype or supertype\nfrom: {0}\nto  : {1}"));new k5("JSC_UNNECESSARY_CAST",WX,new Hlc("unnecessary cast\nfrom: {0}\nto  : {1}"));msb=new k5("JSC_TYPE_MISMATCH",XX,new Hlc(WDc));lsb=new k5("JSC_MISSING_EXTENDS_TAG",XX,new Hlc("Missing @extends tag on type {0}"));fsb=new k5("JSC_DUP_VAR_DECLARATION",XX,new Hlc("variable {0} redefined, original definition at {1}:{2}"));gsb=new k5("JSC_DUP_VAR_DECLARATION_TYPE_MISMATCH",XX,new Hlc("variable {0} redefined with type {1}, original definition at {2}:{3} with type {4}"));
jsb=new k5("JSC_INTERFACE_METHOD_NOT_IMPLEMENTED",XX,new Hlc(zFc));hsb=new k5("JSC_HIDDEN_INTERFACE_PROPERTY_MISMATCH",XX,new Hlc("mismatch of the {0} property type and the type of the property it overrides from interface {1}\noriginal: {2}\noverride: {3}"));dsb=new k5("JSC_ABSTRACT_METHOD_NOT_IMPLEMENTED",XX,new Hlc("property {0} on abstract class {1} is not implemented by type {2}"));nsb=new k5("JSC_UNKNOWN_TYPEOF_VALUE",XX,new Hlc(bGc));isb=new k5("JSC_ILLEGAL_PROPERTY_ACCESS",XX,new Hlc(aGc));
esb=new G4(QC(LC(qJ,1),NAc,5,0,[dsb,ksb,msb,lsb,fsb,gsb,jsb,hsb,nsb,isb]))}function ZGb(a,b){var c,d,e,f,g,h;h=b.a;f=b.b;e=h.length;oe(e>0);oe(h.charCodeAt(0)!=45&&h.charCodeAt(0)!=43);if(h.charCodeAt(0)==46)return cAc(kjc("0"+h));else if(h.charCodeAt(0)==48&&e>1)switch(h.charCodeAt(1)){case 46:case 101:case 69:return cAc(kjc(h));case 98:case 66:{a.e=BMb(a.e,(wNb(),LMb).a);QGb(a,LMb)||a.d.jh("Binary integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<
e)g=g*2+sHb(h.charCodeAt(c));return g}case 111:case 79:{a.e=BMb(a.e,(wNb(),jNb).a);QGb(a,jNb)||a.d.jh("Octal integer literals are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);g=0;c=1;while(++c<e)g=g*8+xHb(h.charCodeAt(c));return g}case 120:case 88:{g=0;c=1;while(++c<e)g=g*16+uHb(h.charCodeAt(c));return g}case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:if(a.a.e==0){a.d.jh(wHc,a.r,f.b.b+1,f.b.a);return cAc(kjc(h))}else{g=0;c=0;while(++c<e){d=h.charCodeAt(c);if(d>=48&&
d<=55)g=g*8+xHb(d);else{a.d.ih(xHc,a.r,f.b.b+1,f.b.a);return 0}}a.d.jh(wHc,a.r,f.b.b+1,f.b.a);return g}case 56:case 57:a.d.ih(xHc,a.r,f.b.b+1,f.b.a);return 0;default:throw BU(new sjc("Unexpected character in number literal: "+BD(h.charCodeAt(1))));}else return cAc(kjc(h))}function XZb(a,b){var c,d,e,f,g,h,i,j,k,l,m;c=false;e=false;f=true;g=false;i=false;j=false;l=false;h=true;k=true;d=true;switch(a.b){case 99:case 67:case 116:case 84:h=false;break;case 103:case 71:c=e=g=j=l=true;break;case 102:c=
e=g=i=j=true;l=true;break;case 101:case 69:c=g=i=j=l=true;break;case 97:case 65:c=i=j=l=true;break;case 100:c=e=g=j=l=true;h=false;break;case 111:case 120:case 88:i=l=true;b==null&&(c=g=j=true);h=false;break;case 110:f=false;d=h=k=false;break;case 37:d=false;h=false;break;case 115:case 83:case 98:case 66:case 104:case 72:break;default:throw BU(new TB("unknownFormatConversionException"));}m=null;!c&&a.d?m="+":!e&&a.e?m=",":!f&&a.f?m="-":!g&&a.g?m="(":!i&&a.i?m="#":!j&&a.j?m=" ":!l&&a.k&&(m="0");if(m!=
null)if(a.b==110)throw BU(new TB("IllegalFormatFlagsException:"+m));else throw BU(new TB("FormatFlagsConversionMismatchException:"+m+","+BD(a.b)));if((a.f||a.k)&&a.p==-1)throw BU(new tZb("-"+BD(a.b)));if(!d&&a.a!=-1)throw BU(new pZb(a.o?a.o.a:""));if(!h&&a.n!=-1)throw BU(new qZb(a.n));if(!k&&a.p!=-1)throw BU(new rZb(a.p));if(a.d&&a.j)throw BU(new pZb("the '+' and ' ' flags are incompatible"));if(a.f&&a.k)throw BU(new pZb("the '-' and '0' flags are incompatible"));}function IKb(a){var b,c,d,e;a.p=
0;for(;;){for(;;){a.a=-1;b=FKb(a);if(b==-1)return BKb(),mKb;else if(b==10)return BKb(),nKb;else if(!(b<=127?b==32||b==9||b==12||b==11:b==160))break}switch(b){case 64:do{b=FKb(a);if(b<=90?65<=b:97<=b&&b<=122)EKb(a,b);else{a.q[a.r++]=b;--a.b;a.n=(e=Skc(a.o,0,a.p),Yzc(e),e);a.p=0;return BKb(),gKb}}while(true);case 42:return KKb(a)?(BKb(),lKb):(BKb(),zKb);case 44:return BKb(),jKb;case 62:return BKb(),vKb;case 40:return BKb(),rKb;case 41:return BKb(),xKb;case 123:return BKb(),qKb;case 125:return BKb(),
wKb;case 91:return BKb(),sKb;case 93:return BKb(),yKb;case 63:return BKb(),uKb;case 33:return BKb(),hKb;case 58:return BKb(),iKb;case 61:return BKb(),oKb;case 124:return BKb(),tKb;case 60:return BKb(),pKb;case 46:b=FKb(a);if(b==60)return BKb(),pKb;else{if(b==46){b=FKb(a);if(b==46)return BKb(),kKb;else EKb(a,46)}a.q[a.r++]=b;b=46}default:{c=b;EKb(a,b);d=FKb(a);if(PKb(d)){do{c=d;d=FKb(a);if(c==46&&d==60){a.q[a.r++]=d;--a.b;a.q[a.r++]=c;--a.b;a.n=(e=Skc(a.o,0,a.p),Yzc(e),e);a.p=0;return BKb(),AKb}else if(PKb(d))EKb(a,
c);else{a.q[a.r++]=d;--a.b;EKb(a,c);a.n=(e=Skc(a.o,0,a.p),Yzc(e),e);a.p=0;return BKb(),AKb}}while(true)}else{a.q[a.r++]=d;--a.b;a.n=(e=Skc(a.o,0,a.p),Yzc(e),e);a.p=0;return BKb(),AKb}}}}}function $nb(){$nb=aV;Vnb=new k5("JSC_PARSE_ERROR",(YX(),VX),new Hlc(sGc));Znb=new k5("JSC_TYPE_PARSE_ERROR",XX,new Hlc(WDc));Snb=new k5("JSC_JSDOC_MISSING_BRACES_WARNING",WX,new Hlc(WDc));Tnb=new k5("JSC_JSDOC_MISSING_TYPE_WARNING",WX,new Hlc(WDc));Xnb=new k5("JSC_TOO_MANY_TEMPLATE_PARAMS",WX,new Hlc(WDc));Ynb=new k5("JSC_TRAILING_COMMA",
VX,new Hlc("Parse error. IE8 (and below) will parse trailing commas in array and object literals incorrectly. If you are targeting newer versions of JS, set the appropriate language_in option."));Lnb=new k5("JSC_DUPLICATE_PARAM",VX,new Hlc(sGc));Qnb=new k5("JSC_INVALID_PARAM",XX,new Hlc(sGc));Knb=new k5("JSC_BAD_JSDOC_ANNOTATION",XX,new Hlc(sGc));Rnb=new k5("JSC_JSDOC_IN_BLOCK_COMMENT",XX,new Hlc(sGc));Onb=new k5("JSC_INVALID_ES3_PROP_NAME",XX,new Hlc(tGc));Wnb=new k5("PARSE_TREE_TOO_DEEP",VX,new Hlc("Parse tree too deep."));
Pnb=new k5("INVALID_OCTAL_LITERAL",XX,new Hlc("This style of octal literal is not supported in strict mode."));Mnb=new k5("ES6_FEATURE",VX,new Hlc("{0}. Use --language_in=ECMASCRIPT6 or ECMASCRIPT6_STRICT or higher to enable ES6 features."));Nnb=new k5("ES6_TYPED",VX,new Hlc("{0}. Use --language_in=ECMASCRIPT6_TYPED to enable ES6 typed features."));Unb=new k5("MISPLACED_TYPE_SYNTAX",VX,new Hlc(uGc))}function jab(){jab=aV;$9=new k5("JSC_EXTENDS_WITHOUT_TYPEDEF",(YX(),XX),new Hlc("@extends used without @constructor or @interface for {0}"));
Z9=new k5("JSC_EXTENDS_NON_OBJECT",XX,new Hlc("{0} @extends non-object type {1}"));cab=new k5("JSC_RESOLVED_TAG_EMPTY",XX,new Hlc("Could not resolve type in {0} tag of {1}"));_9=new k5("JSC_IMPLEMENTS_WITHOUT_CONSTRUCTOR",XX,new Hlc(tFc));Y9=new k5("JSC_CONSTRUCTOR_REQUIRED",XX,new Hlc("{0} used without @constructor for {1}"));iab=new k5("JSC_VAR_ARGS_MUST_BE_LAST",XX,new Hlc("variable length argument must be last"));bab=new k5("JSC_OPTIONAL_ARG_AT_END",XX,new Hlc("optional arguments must be at the end"));
aab=new k5("JSC_INEXISTENT_PARAM",XX,new Hlc(uFc));hab=new k5("JSC_TYPE_REDEFINITION",XX,new Hlc("attempted re-definition of type {0}\nfound   : {1}\nexpected: {2}"));eab=new k5("JSC_TEMPLATE_TYPE_DUPLICATED",XX,new Hlc("Only one parameter type must be the template type"));fab=new k5("JSC_TEMPLATE_TYPE_EXPECTED",XX,new Hlc("The template type must be a parameter type"));gab=new k5("JSC_THIS_TYPE_NON_OBJECT",XX,new Hlc("@this type of a function must be an object\nActual type: {0}"));dab=new k5("JSC_SAME_INTERFACE_MULTIPLE_IMPLEMENTS",
XX,new Hlc("Cannot @implement the same interface more than once\nRepeated interface: {0}"));X9=new G4(QC(LC(qJ,1),NAc,5,0,[$9,Z9,cab,_9,Y9,iab,bab,aab,hab,eab,fab,gab,dab]))}function blb(b){var c,d,e,f,g,h;_kb(b);f=new Poc;Goc(f,Bn(b.I));bqc();Noc(f,new jlb);Sc(new Wc(BBc),"\nTOTAL:","Start time(ms): "+SU(b.H),QC(LC(kS,1),NAc,1,5,["End time(ms): "+SU(b.i),"Wall time(ms): "+SU(OU(b.i,b.H)),"Passes runtime(ms): "+b.F,"Max mem usage (measured after each pass)(MB): "+b.C,"#Runs: "+b.G,"#Changing runs: "+
b.c,"#Loopable runs: "+b.B,"#Changing loopable runs: "+b.A,"Estimated AST reduction(#nodes): "+b.a,"Estimated Reduction(bytes): "+b.g,"Estimated GzReduction(bytes): "+b.p,"Estimated AST size(#nodes): "+b.b,"Estimated Size(bytes): "+b.e,"Estimated GzSize(bytes): "+b.o]));Sc(new Wc(BBc),"\n\nInputs:","JS lines:   "+b.t,QC(LC(kS,1),NAc,1,5,["JS sources: "+b.v,"Extern lines:   "+b.j,"Extern sources: "+b.k+"\n\n"]));for(d=new kpc(f);d.a<d.c.a.length;){c=ipc(d);e=c.ye();g=c.ze();LZb("%s,%d,%d,%d,%d,%d,%d,%d\n",
QC(LC(kS,1),NAc,1,5,[e,Tjc(g.n),Hjc(g.a),Hjc(g.k),Hjc(g.d),Hjc(g.b),Hjc(g.e),Hjc(g.f)]))}Sc(new Wc(BBc),"Log:","pass,runtime,allocMem,codeChanged,astReduction,reduction,gzReduction,astSize,size,gzSize\n",QC(LC(kS,1),NAc,1,5,[]));for(h=new kpc(b.w);h.a<h.c.a.length;){g=ipc(h);LZb("%s,%d,%d,%b,%d,%d,%d,%d,%d,%d\n",QC(LC(kS,1),NAc,1,5,[g.j,Tjc(g.n),Hjc(g.a),(tic(),g.d==1?true:false),Hjc(g.b),Hjc(g.e),Hjc(g.f),Hjc(g.c),Hjc(g.o),Hjc(g.g)]))}try{null.Kj()}catch(a){a=AU(a);if(DD(a,90))throw BU(new TB("Unreachable."));
else throw BU(a);}}function O3(a){if(a.v!=(YX(),WX)&&!a.u)throw BU(new P3("Cannot check use of goog.getCssName because of empty blacklist.",QC(LC(kS,1),NAc,1,5,[])));if(a.Kc&&!a.Jc)throw BU(new P3("remove_unused_prototype_props_in_externs requires remove_unused_prototype_props to be turned on.",QC(LC(kS,1),NAc,1,5,[])));if(q3(r2(a))&&!a.$c)throw BU(new P3("ES6 is only supported for transpilation to a lower ECMAScript version. Set --language_out to ES3, ES5, or ES5_STRICT.",QC(LC(kS,1),NAc,1,5,[])));
if(!a.Cb&&a.ac!=-1)throw BU(new P3("max_function_size_after_inlining has no effect if inlining is disabled.",QC(LC(kS,1),NAc,1,5,[])));if(a.sd){a.t=WX;if(a.r!=(I2(),G2))throw BU(new P3("check_eventful_object_disposal is not supported with the new type inference.",QC(LC(kS,1),NAc,1,5,[])));}if(a.Tb&&a.D)throw BU(new P3("The jQuery pass and the Closure pass cannot both be enabled.",QC(LC(kS,1),NAc,1,5,[])));if(a.V){if(!p3(r2(a)))throw BU(new P3("Dart requires --language_out=ES5 or higher.",QC(LC(kS,
1),NAc,1,5,[])));a.f=false;a.cb=false}if(a.Kc&&a.ib)throw BU(new P3("remove_unused_prototype_props_in_externs and export_local_property_definitions cannot be used together.",QC(LC(kS,1),NAc,1,5,[])));if((o3(),h3)==a.Vb){jnb();if(knb(inb,"/javascript/tools/jscompiler/allow-type-syntax.txt")==null)throw BU(new P3("type syntax is not yet generally available, please contact jscomp-team@",QC(LC(kS,1),NAc,1,5,[])));}}function z0b(a,b){var c,d,e,f,g,h,i,j;if(!a&&!b)return true;if(!a||!b)return false;if(!Ewc(F_b(a),
F_b(b)))return false;for(h=F_b(a).Md();h.Ed();){g=h.Fd();if(!Ewc(G_b(a,g),G_b(b,g)))return false}if((!a.b||!a.b.d?(Mm(),Mm(),Lm):a.b.d).size()!=(!b.b||!b.b.d?(Mm(),Mm(),Lm):b.b.d).size())return false;c=(!a.b||!a.b.d?(Mm(),Mm(),Lm):a.b.d).Md();d=(!b.b||!b.b.d?(Mm(),Mm(),Lm):b.b.d).Md();while(c.Ed())if(!O0b(c.Fd(),d.Fd()))return false;return Ewc(!a.b?null:a.b.a,!b.b?null:b.b.a)&&Ewc(!a.d?null:a.d.a,!b.d?null:b.d.a)&&Ewc(!a.b?null:a.b.b,!b.b?null:b.b.b)&&Ewc(!a.b?null:a.b.c,!b.b?null:b.b.c)&&Ewc(z_b(a),
z_b(b))&&Ewc((fFc&a.a)==sFc?a.i:null,(fFc&b.a)==sFc?b.i:null)&&Ewc(x_b(a),x_b(b))&&Ewc(!a.d?null:a.d.g,!b.d?null:b.d.g)&&Ewc(!a.d?null:a.d.i,!b.d?null:b.d.i)&&Ewc(!a.d?null:a.d.j,!b.d?null:b.d.j)&&Ewc((f=!a.d?null:a.d.k,!f?(bqc(),bqc(),aqc):f),(e=!b.d?null:b.d.k,!e?(bqc(),bqc(),aqc):e))&&Ewc(!a.b?null:a.b.i,!b.b?null:b.b.i)&&Ewc(!a.d?null:Hjc(a.d.o),!b.d?null:Hjc(b.d.o))&&Ewc(!a.b?null:a.b.g,!b.b?null:b.b.g)&&Ewc(!a.b?null:a.b.f,!b.b?null:b.b.f)&&Ewc((fFc&a.a)==fBc?a.i:null,(fFc&b.a)==fBc?b.i:null)&&
Ewc((j=!a.d?null:a.d.p,!j?(bqc(),bqc(),aqc):j),(i=!b.d?null:b.d.p,!i?(bqc(),bqc(),aqc):i))&&Ewc(I_b(a),I_b(b))&&Ewc(a.g,b.g)&&Ewc(J_b(a),J_b(b))&&Ewc((fFc&a.a)==DBc?a.i:null,(fFc&b.a)==DBc?b.i:null)&&Ewc((fFc&a.a)==kFc?a.i:null,(fFc&b.a)==kFc?b.i:null)&&Ewc(!a.b?null:a.b.k,!b.b?null:b.b.k)&&Ewc(a.j,b.j)&&a.a==b.a}function F7(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;t=a.d.b;d=t.d;if(d.b){j=r3b(d.b);e=r3b(d.b)}else{j=(te(tkc(ZEc,Nkc(46))==-1,tCc,ZEc),new U4b((f8b(),_6b),ZEc));e=h$b(V$b(O2b(j,false)));
y3b(e.b)}l=d.d;i=s7++;h=M7(i);k=G$b("$jscomp$generator$"+j.hi());I2b(a.j,h);F2b(a.j,e,h);b=f$b((te(tkc($Ec,Nkc(46))==-1,tCc,$Ec),new U4b((f8b(),_6b),$Ec)),O2b(k,false));s=i$b(QC(LC(WQ,1),uCc,7,0,[(oe(C$b(b)),new W3b(n6b,b)),q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(i))),L7()]));r=(oe(k.j==_6b),oe(s.j==G5b),new Y3b(N5b,k,s));Doc(a.b,0,new Y7(i,r));if(l){o=G$b("$jscomp$generator$finally"+(""+a.f.a.W++));q=s7++;p=M7(q);n=s7++;m=M7(n);Ihb(a.a,t,new R7(o,q));Ihb(a.a,e,new R7(o,
q));I2b(a.j,Q2b(t));F2b(a.j,p,e);F2b(a.j,Q2b(l),p);F2b(a.j,m,l);I2b(a.j,p$b(O2b(o,false),_7b));H2b(l,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),O2b(o,false))));H2b(l,L7());H2b(t,q$b(f$b(O2b(o,false),new C4b(n))));H2b(t,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(q))));H2b(t,L7());H2b(e,q$b(f$b(O2b(o,false),new C4b(n))))}else{g=s7++;f=M7(g);F2b(a.j,f,e);H2b(t,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(g))));H2b(t,L7());I2b(a.j,Q2b(t))}I2b(e,
o$b(j,(te(tkc($Ec,Nkc(46))==-1,tCc,$Ec),new U4b(_6b,$Ec)),_7b));a.e.e.j==V7b&&(a.e=U2b(a.e));H2b(a.e,W$b((c=new U3b(G5b),c),r));a.e=X2b(a.e).b;if(!a.g){a.g=true;F2b(a.i.e,p$b((te(tkc($Ec,Nkc(46))==-1,tCc,$Ec),new U4b(_6b,$Ec)),_7b),a.i)}}function i7(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r;Shb();if(!!d&&(d.j==(f8b(),_7b)||d.j==T6b||d.j==T5b)&&!Mib(d.e)){o=c.d;n=d}else if(d.j==(f8b(),n5b)){o=c.d;n=d.e;oe(n.j==n6b)}else if(d.j==l5b||d.j==z7b||d.j==Z5b||d.j==K7b)return;else if(d.j==q6b||d.j==p6b&&T2b(d)==
3||Mib(d.e)){k7(a,c);return}else if(d.j==N5b){j7(a,c);return}else throw BU(new sjc("Unexpected ARRAY_PATTERN parent: "+d));q=NEc+a.b++;p=o$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b((f8b(),_6b),q)),$8(a.a,Q2b(o)),_7b);T3b(p,c);G2b(n.e,p,n);g=false;for(f=c.b;f;f=k){k=f.d;if(f.j==d6b){l=q$b(j$b(v$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),new U4b(J7b,OEc)),QC(LC(WQ,1),uCc,7,0,[])));T3b(l,f);G2b(n.e,l,n);continue}if(f.j==Z5b){m=NEc+a.b++;r=o$b((te(tkc(m,Nkc(46))==-1,tCc,m),new U4b(_6b,m)),v$b(j$b(v$b((te(tkc(q,
Nkc(46))==-1,tCc,q),new U4b(_6b,q)),new U4b(J7b,OEc)),QC(LC(WQ,1),uCc,7,0,[])),new U4b(J7b,PEc)),_7b);T3b(r,f);G2b(n.e,r,n);h=Q2b(f.b);j=o7((te(tkc(m,Nkc(46))==-1,tCc,m),new U4b(_6b,m)),Q2b(f.b?f.b.f:null))}else if(f.j==z7b){h=Q2b(f.b);j=j$b(yjb(a.a,"$jscomp.arrayFromIterator"),QC(LC(WQ,1),uCc,7,0,[(te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q))]));g=true}else{h=Q2b(f);j=v$b(j$b(v$b((te(tkc(q,Nkc(46))==-1,tCc,q),new U4b(_6b,q)),new U4b(J7b,OEc)),QC(LC(WQ,1),uCc,7,0,[])),new U4b(J7b,PEc))}if(d.j==n5b){e=
f$b(h,j);i=(oe(C$b(e)),new W3b(n6b,e))}else i=o$b(h,j,d.j);T3b(i,c);G2b(n.e,i,n);h7(a,b,h,h.e)}Q2b(n);g&&e0(a.a,"es6/util/arrayfromiterator",false);R0(a.a)}function psb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;u=DD(b.k,21)?b.k:null;oe(b.j==(f8b(),r6b)||!!u.Oi());if(!u||u.Ji())return"";e=u.Oi();if(Q8b(u,a.b.gh((tdc(),Ecc))))return"/** @type {!Function} */\n";r=new glc("/**\n");p=null;!!b&&b.j==r6b&&(p=(Shb(),ae(b.j==r6b),b.b.d).b);f=0;for(n=(o=e.a.a,o?!o.b?(bqc(),bqc(),aqc):new O4b(o.b):
(bqc(),bqc(),aqc)).Md();n.Ed();){m=n.Fd();r.a+=" * ";usb(r,"param",(v=DD(m.k,21)?m.k:null,W2b(m,37)!=0?w=B8b(rsb(a,v))+"=":W2b(m,30)!=0?w=LCc+B8b(rsb(a,v)):w=!v.Ji()&&!v.Qi()&&!v.Pi()&&!v.Oi()&&v.Fi()?"!"+v.Ti(true):v.Ti(true),w));_kc(_kc((r.a+=" ",r),!p?"p"+f:p.hi()),BBc);p?p=p.d:++f}q=e.a.b;if(!!q&&!(q.Ci()||q.Ai()||q.Bi()||Ldc(q.u,Icc)==q)&&e.e!=2&&!(e.lj()&&q.Ki())){r.a+=" * ";usb(r,ICc,!q.Ji()&&!q.Qi()&&!q.Pi()&&!q.Oi()&&q.Fi()?"!"+q.Ti(true):q.Ti(true));r.a+=BBc}if(e.lj()||e.e==2){s=hbc(e);
if(s){t=ebc(hbc(e));if(!qkc(t.Ti(false),AEc)){r.a+=" * ";usb(r,RCc,t.Ti(true));r.a+=BBc}}if(e.e==2)for(h=rs(new urc(e.b.a.b.Md()));h.Ed();){g=h.Fd();r.a+=" * ";usb(r,RCc,g.Ti(true));r.a+=BBc}i=new byc;for(l=dbc(e).Md();l.Ed();){j=l.Fd();_xc(i,j.Ti(true))}for(k=(d=(new Jnc(i.a)).a.oe().b.Cj(),new Pnc(d));k.a.Ed();){j=(c=k.a.Fd(),c.ye());r.a+=" * ";_kc(_kc(_kc(_kc((r.a+="@",r),SCc)," {"),j),"}");r.a+=BBc}e.lj()?(r.a+=" * @constructor\n",r):e.e==2&&e.d?(r.a+=" * @record\n",r):e.e==2&&(r.a+=" * @interface\n",
r)}if(!e.v.d.isEmpty()){r.a+=" * @template ";Rc(new Wc(","),r,e.v.d.Md());r.a+=BBc}r.a+=" */\n";return r.a}function Ppb(){Ppb=aV;Opb=new k5("JSC_USE_OF_WITH",(YX(),XX),new Hlc("The 'with' statement cannot be used in ES5 strict mode."));Lpb=new k5("JSC_EVAL_DECLARATION",XX,new Hlc('"eval" cannot be redeclared in ES5 strict mode'));Kpb=new k5("JSC_EVAL_ASSIGNMENT",XX,new Hlc('the "eval" object cannot be reassigned in ES5 strict mode'));Gpb=new k5("JSC_ARGUMENTS_DECLARATION",XX,new Hlc('"arguments" cannot be redeclared in ES5 strict mode'));
Dpb=new k5("JSC_ARGUMENTS_ASSIGNMENT",XX,new Hlc('the "arguments" object cannot be reassigned in ES5 strict mode'));Epb=new k5("JSC_ARGUMENTS_CALLEE_FORBIDDEN",XX,new Hlc('"arguments.callee" cannot be used in ES5 strict mode'));Fpb=new k5("JSC_ARGUMENTS_CALLER_FORBIDDEN",XX,new Hlc('"arguments.caller" cannot be used in ES5 strict mode'));Npb=new k5("JSC_FUNCTION_CALLER_FORBIDDEN",XX,new Hlc("A function''s \"caller\" property cannot be used in ES5 strict mode"));Mpb=new k5("JSC_FUNCTION_ARGUMENTS_PROP_FORBIDDEN",
XX,new Hlc("A function''s \"arguments\" property cannot be used in ES5 strict mode"));Ipb=new k5("JSC_DELETE_VARIABLE",XX,new Hlc("variables, functions, and arguments cannot be deleted in ES5 strict mode"));Jpb=new k5("JSC_DUPLICATE_OBJECT_KEY",VX,new Hlc('Object literal contains illegal duplicate key "{0}", disallowed in ES5 strict mode'));new k5("JSC_DUPLICATE_CLASS_METHODS",VX,new Hlc('Class contain duplicate method name "{0}"'));Hpb=new k5("JSC_BAD_FUNCTION_DECLARATION",VX,new Hlc("functions can only be declared at top level or immediately within another function in ES5 strict mode"))}
function V8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F;l=c.d;B=V2b(c,b);A=b.b.hi();u=(te(tkc(A,Nkc(46))==-1,tCc,A),new U4b((f8b(),_6b),A));C=s3b(u,u.g,30);C!=u.g&&(u.g=C);u.g=new x4b(30,1,u.g);A3b(u,Y2b(b,29));t3b(c,b,u);D=null;o=Y2b(b,29);if(o)D=(fFc&o.a)==kFc?o.i:null;else{m=(Shb(),q=dib(c.e),!q?null:Y2b(q,29));!!m&&(D=G_b(m,A))}!!D&&D.a.j!=c6b&&Q0(a.a,leb(b,z8,QC(LC(pS,1),yAc,2,6,[])));if(!l.b){R0(a.a);return}w=Q3b((e=new U3b(G5b),e),l);t=(te(tkc(A,Nkc(46))==-1,tCc,A),new U4b(_6b,
A));r=T3b(o$b(t,(te(tkc(oFc,Nkc(46))==-1,tCc,oFc),new U4b(_6b,oFc)),T6b),l);I2b(w,r);for(i=(!l.b?(bqc(),bqc(),aqc):new O4b(l.b)).Md();i.Ed();){h=i.Fd();H2b(w,Q2b(h))}if(D){d=new U4b(J7b,uEc);F=D.a;s=F.j==c6b?O2b(F.b,false):O2b(F,false);I2b(d,S3b(new W3b(G5b,s),F));g=new x2b(false);o2b(g,new B2b(new W3b(B5b,d),(k=Y2b(b,51),!k?null:k.Hg())));A3b(t,h1b(g,false))}v=o$b((te(tkc(oFc,Nkc(46))==-1,tCc,oFc),new U4b(_6b,oFc)),e$b(QC(LC(WQ,1),uCc,7,0,[])),_7b);I2b(l,T3b(v,b));p=o$b((te(tkc(pFc,Nkc(46))==-1,
tCc,pFc),new U4b(_6b,pFc)),new C4b(B),_7b);j=B$b((te(tkc(pFc,Nkc(46))==-1,tCc,pFc),new U4b(_6b,pFc)),v$b((te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc)),new U4b(J7b,"length")));n=A$b((te(tkc(pFc,Nkc(46))==-1,tCc,pFc),new U4b(_6b,pFc)),false);f=h$b(q$b(f$b(u$b((te(tkc(oFc,Nkc(46))==-1,tCc,oFc),new U4b(_6b,oFc)),U$b((te(tkc(pFc,Nkc(46))==-1,tCc,pFc),new U4b(_6b,pFc)),new C4b(B))),u$b((te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc)),(te(tkc(pFc,Nkc(46))==-1,tCc,pFc),new U4b(_6b,pFc))))));F2b(l,
T3b(s$b(p,j,n,f),b),v);H2b(l,w);R0(a.a)}function $Gb(a,b,c){var d,e,f,g,h,i,j,k,l;l=b.a;c&&(l=Bkc(l,"\r\n?",BBc));k=c?0:1;e=tkc(l,Nkc(92));if(e==-1)return c?l:Hkc(l,1,l.length-1);j=new dlc;while(e!=-1){e-k>0&&(j.a+=""+Hkc(l==null?FAc:(Yzc(l),l),k,e),j);e+=1;d=l.charCodeAt(e);switch(d){case 39:case 34:case 92:j.a+=String.fromCharCode(d);break;case 98:j.a+="\b";break;case 102:j.a+="\f";break;case 110:j.a+=BBc;break;case 114:j.a+="\r";break;case 116:j.a+="\t";break;case 118:j.a+="\x0B";break;case 10:a.e=
BMb(a.e,(wNb(),qNb).a);AMb(a.a.c.a,(zMb(),qMb))?a.d.jh("String continuations are not recommended. See https://google.github.io/styleguide/javascriptguide.xml?showone=Multiline_string_literals#Multiline_string_literals",a.r,b.b.b.b+1,b.b.b.a):a.d.ih("String continuations are not supported in this language mode.",a.r,b.b.b.b+1,b.b.b.a);break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:h=l.charCodeAt(e+1);if(a.a.e==0)if(d==48&&!(h>=48&&h<=55));else a.d.jh("Octal literals in strings are not supported in this language mode.",
a.r,b.b.b.b+1,b.b.b.a);if(h>=48&&h<=55){i=l.charCodeAt(e+2);if(i>=48&&i<=55){Ukc(j,64*xHb(d)+8*xHb(h)+xHb(i)&DAc);e+=2}else{Ukc(j,8*xHb(d)+xHb(h)&DAc);e+=1}}else Ukc(j,xHb(d)&DAc);break;case 120:Ukc(j,uHb(l.charCodeAt(e+1))*16+uHb(l.charCodeAt(e+2))&DAc);e+=2;break;case 117:if(l.charCodeAt(e+1)!=123){f=e+5;g=l.substr(e+1,f-(e+1))}else{f=e+2;while(Aic(l.charCodeAt(f),16)>=0)++f;g=l.substr(e+2,f-(e+2));++f}alc(j,Hic(ljc(g)));e=f-1;break;default:j.a+=String.fromCharCode(d)}k=e+1;e=ukc(l,Nkc(92),k)}Zkc(j,
l,k,c?l.length:l.length-1);return j.a}function BOb(){BOb=aV;var a,b,c,d,e,f;ENb=new COb("BREAK",0,"break",(MUb(),PSb));FNb=new COb("CASE",1,"case",SSb);GNb=new COb(nIc,2,"catch",TSb);JNb=new COb(oIc,3,ZCc,aTb);KNb=new COb(pIc,4,_Cc,bTb);MNb=new COb(DGc,5,NCc,dTb);NNb=new COb("DELETE",6,qIc,eTb);ONb=new COb("DO",7,"do",fTb);PNb=new COb("ELSE",8,"else",gTb);UNb=new COb(rIc,9,HCc,qTb);VNb=new COb("FOR",10,"for",rTb);WNb=new COb(yFc,11,uAc,sTb);XNb=new COb("IF",12,"if",vTb);$Nb=new COb("IN",13,"in",yTb);
_Nb=new COb(dIc,14,fGc,zTb);gOb=new COb("NEW",15,"new",KTb);mOb=new COb(oHc,16,ICc,gUb);pOb=new COb(sIc,17,"switch",uUb);qOb=new COb(pHc,18,UCc,yUb);rOb=new COb("THROW",19,"throw",zUb);tOb=new COb("TRY",20,"try",CUb);vOb=new COb(tIc,21,eGc,EUb);wOb=new COb("VAR",22,"var",HUb);xOb=new COb("VOID",23,aDc,IUb);yOb=new COb("WHILE",24,TCc,JUb);zOb=new COb("WITH",25,"with",KUb);HNb=new COb(xFc,26,QCc,USb);INb=new COb("CONST",27,cEc,_Sb);QNb=new COb(fHc,28,cDc,iTb);RNb=new COb(hHc,29,MCc,nTb);SNb=new COb(gHc,
30,RCc,oTb);ZNb=new COb(uIc,31,PCc,xTb);oOb=new COb(fIc,32,VCc,tUb);YNb=new COb(iHc,33,SCc,wTb);aOb=new COb(jHc,34,bDc,ATb);dOb=new COb("LET",35,"let",ETb);iOb=new COb(kHc,36,rHc,VTb);jOb=new COb(lHc,37,sHc,bUb);kOb=new COb(mHc,38,tHc,cUb);lOb=new COb(nHc,39,uHc,dUb);nOb=new COb("STATIC",40,vHc,rUb);AOb=new COb("YIELD",41,"yield",LUb);hOb=new COb(OGc,42,FAc,OTb);sOb=new COb(ODc,43,YCc,BUb);TNb=new COb(NDc,44,XCc,pTb);LNb=new COb(vIc,45,fDc,cTb);uOb=new COb(qHc,46,eDc,DUb);eOb=new COb("MODULE",47,
BDc,ITb);fOb=new COb(wIc,48,dDc,JTb);a=new qq;b=new ttc(pO);for(d=JOb(),e=0,f=d.length;e<f;++e){c=d[e];nq(a,c.b,c);ptc(b,c.a,c)}bOb=On(a.b);cOb=Ev(b)}function jwb(){jwb=aV;awb=new k5("JSC_INVALID_SUPPRESS",(YX(),WX),new Hlc("@suppress annotation not allowed here. See https://github.com/google/closure-compiler/wiki/@suppress-annotations"));Zvb=new k5("JSC_CONSTRUCTOR_DISALLOWED_JSDOC",WX,new Hlc("Visibility annotations on constructors are not supported.\nPlease mark the visibility on the class instead."));
Yvb=new k5("JSC_CLASS_DISALLOWED_JSDOC",WX,new Hlc("@constructor annotations are redundant on classes."));bwb=new k5("JSC_MISSING_JSDOC",WX,new Hlc("Function must have JSDoc."));cwb=new k5("JSC_MISSING_PARAMETER_JSDOC",WX,new Hlc("Parameter must have JSDoc."));ewb=new k5("JSC_MIXED_PARAM_JSDOC_STYLES",WX,new Hlc("Functions may not use both @param annotations and inline JSDoc"));dwb=new k5("JSC_MISSING_RETURN_JSDOC",WX,new Hlc("Function with non-trivial return must have @return JSDoc or inline return JSDoc."));
fwb=new k5("JSC_MUST_BE_PRIVATE",WX,new Hlc("Property {0} must be marked @private"));gwb=new k5("JSC_MUST_HAVE_TRAILING_UNDERSCORE",WX,new Hlc("Private property {0} should end with ''_''"));hwb=new k5("JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",WX,new Hlc("Parameter {0} is optional so its type must end with ="));iwb=new k5("JSC_WRONG_NUMBER_OF_PARAMS",WX,new Hlc("Wrong number of @param annotations"));_vb=new k5("JSC_INCORRECT_PARAM_NAME",WX,new Hlc("Incorrect param name. Are your @param annotations in the wrong order?"));
$vb=new k5("JSC_EXTERNS_FILES_SHOULD_BE_ANNOTATED",WX,new Hlc("Externs files should be annotated with @externs in the @fileoverview block."));Xvb=new G4(QC(LC(qJ,1),NAc,5,0,[awb,Yvb,Zvb,bwb,cwb,ewb,dwb,fwb,gwb,hwb,iwb,_vb,$vb]))}function l7(a,b,c,d){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;Shb();if(!!d&&(d.j==(f8b(),_7b)||d.j==T6b||d.j==T5b)&&!Mib(d.e)){r=c.d;q=d}else if(d.j==(f8b(),n5b)&&d.e.j==n6b){r=d.b?d.b.f:null;q=d.e}else if(d.j==z7b||d.j==K7b||d.j==l5b||d.j==Z5b)return;else if(d.j==q6b||d.j==
p6b&&T2b(d)==3||Mib(d.e)){k7(a,c);return}else if(d.j==N5b){j7(a,c);return}else throw BU(new sjc("Unexpected OBJECT_PATTERN parent: "+d));t=NEc+a.b++;s=T3b(o$b((te(tkc(t,Nkc(46))==-1,tCc,t),new U4b((f8b(),_6b),t)),Q2b(r),_7b),c);if(d.j==T5b){k=new x2b(false);s1b(k);A3b(s,h1b(k,false))}G2b(q.e,s,q);for(e=c.b;e;e=p){p=e.d;if(e.j==K7b){if(!e.b){l=G$b(e.hi());S3b(l,e);H2b(e,l)}h=new Y3b(e.ji()?w6b:x6b,(te(tkc(t,Nkc(46))==-1,tCc,t),new U4b(_6b,t)),R$b(e.hi()));u=r3b(e);if(u.j==Z5b){m=r3b(u);f=r3b(u);o=
x$b(P$b(h,(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc))),f,O2b(h,false))}else{m=u;o=h}}else if(e.j==S5b)if((e.b?e.b.f:null).j==Z5b){m=r3b(e.b?e.b.f:null);g=u$b((te(tkc(t,Nkc(46))==-1,tCc,t),new U4b(_6b,t)),r3b(e));j=NEc+a.b++;i=o$b((te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j)),g,_7b);T3b(i,e);G2b(q.e,i,q);o=o7((te(tkc(j,Nkc(46))==-1,tCc,j),new U4b(_6b,j)),r3b(e.b?e.b.f:null))}else{o=u$b((te(tkc(t,Nkc(46))==-1,tCc,t),new U4b(_6b,t)),r3b(e));m=r3b(e)}else if(e.j==Z5b){m=r3b(e);f=r3b(e);h=v$b((te(tkc(t,
Nkc(46))==-1,tCc,t),new U4b(_6b,t)),R$b(m.hi()));o=x$b(P$b(h,(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc))),f,O2b(h,false))}else throw BU(new sjc("Unexpected OBJECT_PATTERN child: "+e));if(!!d&&(d.j==_7b||d.j==T6b||d.j==T5b))n=o$b(m,o,d.j);else if(d.j==n5b)n=q$b(f$b(m,o));else throw BU(new sjc("not reached"));T3b(n,e);G2b(q.e,n,q);h7(a,b,m,m.e)}Q2b(q);R0(a.a)}function dW(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;switch(b.j.f){case 34:case 117:case 32:case 97:case 33:case 35:d=T2b(b);0!=d&&$W(XBc+d,b);
return;case 24:case 21:case 22:case 19:case 63:case 64:case 25:case 78:case 20:case 90:e=h8b(b.j);e!=-1&&(c=T2b(b),e!=c&&$W(YBc+e+ZBc+c,b));dW(a,b.b);return;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 59:NV(a,b);return;case 60:f=h8b(b.j);f!=-1&&(g=T2b(b),f!=g&&$W(YBc+f+ZBc+g,b));h=b.b;dW(a,h);dW(a,h.d);dW(a,b.b?b.b.f:null);return;case 31:PW(b);return;case 30:zW(b);return;case 29:sW(b);return;case 27:case 46:case 61:case 62:case 1:case 2:case 3:case 4:case 5:case 36:case 37:case 6:case 8:case 7:case 9:case 41:case 40:case 10:case 11:case 12:case 14:case 13:case 15:case 17:case 16:case 18:i=
h8b(b.j);i!=-1&&(j=T2b(b),i!=j&&$W(YBc+i+ZBc+j,b));dW(a,b.b);dW(a,b.b?b.b.f:null);return;case 26:gW(a,b);return;case 42:LV(a,b);return;case 43:AW(a,b);return;case 38:JW(b);return;case 28:QV(a,b);return;case 111:MW(b);return;case 23:xW(a,b);return;case 65:fW(a,b,false);return;case 94:UV(a,b,false);return;case 114:TW(a,b);return;case 113:q3(a.a.v)||$W(dCc,b);yW((f8b(),P7b),b);k=h8b(b.j);k!=-1&&(l=T2b(b),k!=l&&$W(YBc+k+ZBc+l,b));dW(a,b.b);TW(a,b.b?b.b.f:null);return;case 100:q3(a.a.v)||$W("Feature 'yield' is only allowed in ES6 mode.",
b);yW((f8b(),e8b),b);m=T2b(b);(m<0||m>1)&&$W(eCc+m,b);!!b.b&&dW(a,b.b);return;case 101:q3(a.a.v)||$W("Feature 'async function' is only allowed in ES6 mode.",b);yW((f8b(),A5b),b);n=(Shb(),gib(b,new Njb(r6b)));(!n||W2b(n,61)==0)&&$W("'await' expression is not within an async function",b);return;default:$W("Expected expression but was "+b.j,b)}}function h4b(a){switch(a){case 30:return"var_args_name";case 29:return"jsdoc_info";case 32:return"incrdecr";case 36:return"quoted";case 37:return"opt_arg";case 38:return"synthetic";
case 39:return"added_block";case 40:return"originalname";case 42:return"side_effect_flags";case 43:return"is_constant_name";case 46:return"is_namespace";case 48:return"directives";case 49:return"direct_eval";case 50:return"free_call";case 51:return"source_file";case 53:return"input_id";case 54:return"slash_v";case 55:return"inferred";case 56:return"change_time";case 57:return"reflected_object";case 58:return"static_member";case 59:return"generator_fn";case 60:return"arrow_fn";case 61:return"async_fn";
case 62:return"yield_for";case 63:return"export_default";case 64:return"export_all_from";case 65:return"is_constant_var";case 66:return"is_generator_marker";case 67:return"is_generator_safe";case 71:return"raw_string_value";case 72:return"computed_prop_method";case 73:return"computed_prop_getter";case 74:return"computed_prop_setter";case 75:return"computed_prop_variable";case 76:return"analyzed_during_gti";case 77:return"constant_property_def";case 78:return"declared_type_expr";case 79:return"type_before_cast";
case 80:return"opt_es6_typed";case 81:return"generic_type";case 82:return SCc;case 83:return"construct_signature";case 84:return"access_modifier";case 85:return"non_indexable";case 86:return"parse_results";case 87:return"goog_module";case 88:return"goog_module_require";case 89:return"feature_set";case 90:return"is_module_name";case 91:return"was_previously_provided";case 92:return"is_es6_class";case 93:return"transpiled";default:throw BU(new sjc("unexpected prop id "+a));}}function _6(a){var b,c,
d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N;if(Ulc(a.c.c)==0)return;for(o=(B=(new Kmc(a.c)).a.oe().Md(),new Qmc(B));o.a.Ed();){n=(f=o.a.Fd(),f.ye());q=pvc(a.c,n);t=J$b(QC(LC(WQ,1),uCc,7,0,[]));for(N=(C=(new Kmc(q.b.a)).a.oe().Md(),new Qmc(C));N.a.Ed();){L=(e=N.a.Fd(),e.ye());H2b(t,T$b(L.d,v$b(G$b(q.a),R$b(L.d))))}K=f$b(G$b(q.a),t);s=R3b(o$b(G$b(q.a),J$b(QC(LC(WQ,1),uCc,7,0,[])),(f8b(),_7b)),n);Q6(s,n);Shb();if(n.j==p6b&&T2b(n)==4){m=n.b;t3b(n,m,new U3b(d6b));if(m.j!=d6b){!!m&&
(m.j==_7b||m.j==T6b||m.j==T5b)||(m=Q3b((oe(C$b(m)),new W3b(n6b,m)),m));Q6(m,n)}l=S2b(n,2);if(l.j==d6b)t3b(n,l,T3b(K,n));else{D=new U3b(d6b);t3b(n,l,D);t3b(n,D,T3b(g$b(R5b,K,l),n))}}else n.j==b6b?H2b(n.b,T3b((oe(C$b(K)),new W3b(n6b,K)),n)):H2b(n.b?n.b.f:null,T3b((oe(C$b(K)),new W3b(n6b,K)),n));for(M=(A=(new Kmc(q.b.a)).a.oe().Md(),new Qmc(A));M.a.Ed();){L=(e=M.a.Fd(),e.ye());for(G=tg(a.d,L).Md();G.Ed();){F=G.Fd();if((n.j==q6b||n.j==p6b&&T2b(n)==3)&&n.b==F.e)I2b(n.b?n.b.f:null,T3b(q$b(f$b(v$b(G$b(q.a),
R$b(L.d)),L.Nh().fi(false))),F));else{if($ib(F.e)){d=F.e;i=d.e;S6(d,i);d=F.e;if(F.b){p=F.fi(false);b=f$b(p,r3b(F));R6(d,F,d);T6(d,i,F,d);A3b(b,Y2b(d,29));H=T3b((oe(C$b(b)),new W3b(n6b,b)),d);t3b(i,d,H);F=p}else p3b(i,d);suc(a.e.b,d);R0(a.e.a)}F.e.j==J5b&&F.e.b==F&&n3b(F.e,50,false);u3b(F,T3b(v$b(G$b(q.a),R$b(L.d)),F))}}}}for(h=dt(a.b).Md();h.Ed();){g=h.Fd();J=new U3b((f8b(),B7b));w=tg(a.b,g);u=NC(WQ,uCc,7,w.size(),0,1);v=NC(WQ,uCc,7,w.size(),0,1);j=0;for(r=w.Md();r.Ed();){q=r.Fd();u[j]=G$b(q.a);v[j]=
G$b(q.a);++j}k=t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,"")),M$b(u),h$b(J));c=j$b(k,v);I=s3b(c,c.g,50);I!=c.g&&(c.g=I);c.g=new x4b(50,1,c.g);Shb();g.j==r6b&&Jib(g.e)?H=T3b(o$b(G$b(g.b.hi()),c,_7b),g):H=T3b(c,g);t3b(g.e,g,H);I2b(J,g)}}function fcb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,M;if(b.f)return;D=b.o;m=(M=new Xvc,ad(M,new Kmc(b.b)),ad(M,new Kmc(b.j)),M);!!D&&!D.a.f&&fcb(a,(oe(!D.a.f),D.a));for(H=(!b.d?(lm(),lx(),kx):b.d).Md();H.Ed();){F=H.Fd();F.a.f||fcb(a,
(oe(!F.a.f),F.a))}v=new et;w=new et;if(D){oe(D.a.f);for(q=iEb(D.a).Md();q.Ed();){o=q.Fd();D.a.e&&rEb(D.a,o)&&!b.e&&!mEb(b,o)&&mhb(a.t,leb(b.u,Abb,QC(LC(pS,1),yAc,2,6,[o,D.a.w])));m.a.remove(o)!=null;gcb(a,b,D,o,v,w)}}for(G=(!b.d?(lm(),lx(),kx):b.d).Md();G.Ed();){F=G.Fd();oe(F.a.f);for(q=jEb(F.a).Md();q.Ed();){o=q.Fd();m.a.remove(o)!=null;gcb(a,b,F,o,v,w)}}for(r=(B=v.g,!B?v.g=new oi(v,v.c):B).Md();r.Ed();){o=r.Fd();l=tg(v,o);oe(!l.isEmpty());k=Cp(a.o,b,o);I=Pwb(l);j=k.c;e=ucb(k);if(!I){I=l.Md().Fd();
mhb(a.t,leb(k.a,acb,QC(LC(pS,1),yAc,2,6,[b.w,o,dV(l)])))}else e&&(j.g?wAc:j.f.size()+j.d.size())>(I.g?wAc:I.f.size()+I.d.size())&&mhb(a.t,leb(k.a,Tbb,QC(LC(pS,1),yAc,2,6,[o,Axb(Jwb(I),new dlc).a,Axb(Jwb(j),new dlc).a])));J=Lwb(j,I,e);k.c=J;!!k.b&&ogb(k.b,J);ug(w,o,DAb(a.d,Jwb(J)))}L:for(s=(A=w.g,!A?w.g=new oi(w,w.c):A).Md();s.Ed();){o=s.Fd();c=tg(w,o);oe(!c.isEmpty());C=a.d.u;for(g=c.Md();g.Ed();){f=g.Fd();C=jzb(C,f);if(0==C.$h()){mhb(a.t,leb(b.u,acb,QC(LC(pS,1),yAc,2,6,[b.w,o,dV(c)])));continue L}else C=
f}bEb(b,o,null,C,false)}if(!BEb(b.w,BFc,b.u)&&uEb(b)){K=b.q;!Byb(K)?mhb(a.t,leb(b.u,acb,QC(LC(pS,1),yAc,2,6,[b.w,CFc,"the keys K have types that can't be joined."]))):!Cyb(K)&&mhb(a.t,leb(b.u,acb,QC(LC(pS,1),yAc,2,6,[b.w,CFc,"the values V should have a common subtype."])))}for(p=(n=(new Kmc(m.a)).a.oe().Md(),new Qmc(n));p.a.Ed();){o=(d=p.a.Fd(),d.ye());t=Cp(a.o,b,o);oe(!!t||qkc(b.w,DFc));if(t){u=t.a;h=(Shb(),i=dib(u),!i?null:Y2b(i,29));!!h&&(h.a&64)!=0&&mhb(a.t,leb(u,bcb,QC(LC(pS,1),yAc,2,6,[o,b.w])))}}hEb(b)}
function T5(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=c.a;o=c.b;if(o.a.length==0)return;f=Y2b(d,51);if(!!f&&f.Kh()){for(m=new kpc(o);m.a<m.c.a.length;){l=ipc(m);Q2b((Shb(),gib(l,Rhb)))}R0(a.a)}else{p=P5(d);if(qkc(p,AEc)&&(j=rhb(b).Bh(p),!(!!j&&!j.Sh()))){for(m=new kpc(o);m.a<m.c.a.length;){l=ipc(m);u3b(l,Q3b(new U3b((f8b(),S7b)),l))}R0(a.a)}else if(S5(b,p))Q0(a.a,leb(d,(F8(),A8),QC(LC(pS,1),yAc,2,6,["extending native class: "+p])));else if(R5(b,p))for(m=new kpc(o);m.a<m.c.a.length;){l=
ipc(m);i=N5(a,p,l);q=(Shb(),gib(l,Rhb));r=q.e;pe(r.j==(f8b(),G5b),r);s=T3b(p$b((te(tkc(BEc,Nkc(46))==-1,tCc,BEc),new U4b(_6b,BEc)),_7b),l);G2b(r,s,q);t=f$b((te(tkc(BEc,Nkc(46))==-1,tCc,BEc),new U4b(_6b,BEc)),i);u=f$b(v$b(new U3b(S7b),new U4b(J7b,CEc)),v$b((te(tkc(BEc,Nkc(46))==-1,tCc,BEc),new U4b(_6b,BEc)),new U4b(J7b,CEc)));v=d$b(z$b(new U4b(J7b,zBc),(te(tkc(BEc,Nkc(46))==-1,tCc,BEc),new U4b(_6b,BEc))),f$b(v$b(new U3b(S7b),new U4b(J7b,zBc)),v$b((te(tkc(BEc,Nkc(46))==-1,tCc,BEc),new U4b(_6b,BEc)),
new U4b(J7b,zBc))));w=T3b(m$b(m$b(g$b(R5b,t,u),v),new U3b(S7b)),l);t3b(l.e,l,w)}else if(Q5(a,p))for(m=new kpc(o);m.a<m.c.a.length;){l=ipc(m);i=N5(a,p,l);n=l.e;!!n.b&&!n.b.d&&(Shb(),jjb(n.e))?t3b(n,l,i):t3b(n,l,Q3b(m$b(i,Q3b(new U3b((f8b(),S7b)),l)),l))}else{e=ie(S2b(d,2));g=e.b;h=(Xzc(0,o.a.length),o.a[0]);if(!!e.b&&!e.b.d&&g.j==(f8b(),n6b)&&!!g.b&&!g.b.d&&g.b==h){pe(o.a.length==1,d);t3b(e,g,T3b(O$b(K$b(N5(a,p,(Xzc(0,o.a.length),o.a[0])),new U3b((f8b(),S7b)))),g))}else{k=new Y5(o);Ihb(a.a,e,k);I2b(e,
R3b(p$b((te(tkc(DEc,Nkc(46))==-1,tCc,DEc),new U4b((f8b(),_6b),DEc)),_7b),e));H2b(e,R3b(O$b((te(tkc(DEc,Nkc(46))==-1,tCc,DEc),new U4b(_6b,DEc))),e));for(m=new kpc(o);m.a<m.c.a.length;){l=ipc(m);i=N5(a,p,l);u3b(l,T3b(f$b((te(tkc(DEc,Nkc(46))==-1,tCc,DEc),new U4b(_6b,DEc)),K$b(i,new U3b(S7b))),l))}}R0(a.a)}}}function yX(){yX=aV;rX=new k5("JSC_DEPRECATED_VAR",(YX(),WX),new Hlc("Variable {0} has been deprecated."));sX=new k5("JSC_DEPRECATED_VAR_REASON",WX,new Hlc("Variable {0} has been deprecated: {1}"));
tX=new k5("JSC_DEPRECATED_PROP",WX,new Hlc("Property {0} of type {1} has been deprecated."));uX=new k5("JSC_DEPRECATED_PROP_REASON",WX,new Hlc("Property {0} of type {1} has been deprecated: {2}"));pX=new k5("JSC_DEPRECATED_CLASS",WX,new Hlc("Class {0} has been deprecated."));qX=new k5("JSC_DEPRECATED_CLASS_REASON",WX,new Hlc("Class {0} has been deprecated: {1}"));iX=new k5("JSC_BAD_PACKAGE_PROPERTY_ACCESS",VX,new Hlc("Access to package-private property {0} of {1} not allowed here."));jX=new k5("JSC_BAD_PRIVATE_GLOBAL_ACCESS",
VX,new Hlc("Access to private variable {0} not allowed outside file {1}."));kX=new k5("JSC_BAD_PRIVATE_PROPERTY_ACCESS",XX,new Hlc("Access to private property {0} of {1} not allowed here."));lX=new k5("JSC_BAD_PROTECTED_PROPERTY_ACCESS",XX,new Hlc("Access to protected property {0} of {1} not allowed here."));new k5("JSC_BAD_PROPERTY_OVERRIDE_IN_FILE_WITH_FILEOVERVIEW_VISIBILITY",VX,new Hlc("Overridden property {0} in file with fileoverview visibility {1} must explicitly redeclare superclass visibility"));
wX=new k5("JSC_PRIVATE_OVERRIDE",XX,new Hlc("Overriding private property of {0}."));vX=new k5("JSC_EXTEND_FINAL_CLASS",VX,new Hlc("{0} is not allowed to extend final class {1}."));xX=new k5("JSC_VISIBILITY_MISMATCH",XX,new Hlc("Overriding {0} property of {1} with {2} property."));nX=new k5("JSC_CONSTANT_PROPERTY_REASSIGNED_VALUE",XX,new Hlc("constant property {0} assigned a value more than once"));mX=new k5("JSC_CONSTANT_PROPERTY_DELETED",XX,new Hlc("constant property {0} cannot be deleted"));oX=
new k5("JSC_CONVENTION_MISMATCH",XX,new Hlc("Declared access conflicts with access convention."))}function A7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;e0(a.a,VEc,false);a.g=false;i=Q2b(X2b(K0(a.a,Sc(new Wc(String.fromCharCode(10)),"function generatorBody() {","  var $jscomp$generator$state = "+s7+";",QC(LC(kS,1),NAc,1,5,["  function $jscomp$generator$impl($jscomp$generator$next$arg, ","      $jscomp$generator$throw$arg) {","    while (1) switch ($jscomp$generator$state) {","      case "+s7+":","      default:",
"        return {value: undefined, done: true};","    }","  }","  var iterator = /** @type {!Generator<?>} */ ({","    next: function(arg) { return $jscomp$generator$impl(arg, undefined); },","    throw: function(arg) { return $jscomp$generator$impl(undefined, arg); },","    return: function(arg) { throw Error('Not yet implemented'); },","  });","  $jscomp.initSymbolIterator();","  /** @this {!Generator<?>} */","  iterator[Symbol.iterator] = function() { return this; };","  return iterator;","}"]))).b));
++s7;a.j=b.b?b.b.f:null;t3b(b,a.j,i);o=s3b(b,b.g,59);o!=b.g&&(b.g=o);g=z2b(Y2b(b,29));j2b(g,(lm(),new cy(bEc)));j=h1b(g,false);n=s3b(b,b.g,29);n!=b.g&&(b.g=n);!!j&&(b.g=new H4b(29,j,b.g));H2b(a.j,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b((f8b(),_6b),TEc)),new C4b(-1))));a.e=X2b(v7(a,i,L5b));a.i=i.b;Shb();_ib(a.j,WEc,(ze(),ef(),bf))&&F2b(a.i.e,o$b((te(tkc(WEc,Nkc(46))==-1,tCc,WEc),new U4b(_6b,WEc)),(te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc)),_7b),a.i);_ib(a.j,XEc,(null,bf))&&F2b(a.i.e,
o$b((te(tkc(XEc,Nkc(46))==-1,tCc,XEc),new U4b(_6b,XEc)),new U3b(S7b),_7b),a.i);while(a.j.b){a.d=r3b(a.j);d=x7(a);if(d){if(W2b(a.d,66)!=0)h=KD(a.d.b.gi());else{h=s7;++s7}m=a.e.e;k=k$b(new C4b(h),(f=new U3b(G5b),f));a.e=k.b?k.b.f:null;if(m.j==V7b){m=!m.e?null:m.e.e;if(a.b.a.length!=0){l=W$b((e=new U3b(G5b),e),O2b(Hoc(a.b,0).a,false));H2b(k.b?k.b.f:null,l);a.e=X2b(k.b?k.b.f:null).b}}F2b(m.e,k,m)}}T3b(c,c);R0(a.a)}function O8(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;J8(a,b);r=f9(b,c);if(!r||r.f==
null)throw BU(new sjc("Can only convert classes that are declarations or the right hand side of a simple assignment: "+b));if(r.k.j!=(f8b(),d6b)&&!g3b(r.k)){Q0(a.a,leb(r.k,E8,QC(LC(pS,1),yAc,2,6,[])));return}te((Shb(),jjb(r.g.e)),"insertion point must be a statement: %s",r.g);f=null;g=null;e=b.b?b.b.f:null;for(q=(!e.b?(bqc(),bqc(),aqc):new O4b(e.b)).Md();q.Ed();){p=q.Fd();if(p.j==S5b&&(W2b(p,73)!=0||W2b(p,74)!=0)||p.j==y6b||p.j==E7b)Q8(a,p,r);else if(p.j==W6b&&qkc(p.hi(),nEc)){g=Y2b(p,29);f=Q2b(p.b);
r.a||t3b(f,f.b,r.c.fi(false))}else if(p.j==d6b);else{te(p.j==W6b||p.j==S5b,"Unexpected class member:",p);te(W2b(p,75)==0,"Member variables should have been transpiled earlier:",p);P8(a,p,r)}}if(r.e.b){e0(a.a,iFc,false);i=q$b(j$b(yjb(a.a,jFc),QC(LC(WQ,1),uCc,7,0,[yjb(a.a,r.f+eFc),r.e])));T3b(i,b);F2b(r.g.e,i,r.g);r.g=i;T8(a,r.e)}if(r.d.b){e0(a.a,iFc,false);i=q$b(j$b(yjb(a.a,jFc),QC(LC(WQ,1),uCc,7,0,[yjb(a.a,r.f),r.d])));T3b(i,b);F2b(r.g.e,i,r.g);r.g=i;T8(a,r.d)}ie(f);d=(o=dib(b),!o?null:Y2b(o,29));
s=z2b(d);t1b(s);j=gib(b,Rhb);if(r.k.j!=d6b){u=Z2b(r.k);if(S_b(s.a))D1b(s,new B2b(new W3b(B5b,new U4b(J7b,u)),(k=Y2b(r.k,51),!k?null:k.Hg())));else{l=Y2b(b,51);if(!(!!l&&l.Kh())){m=j$b(yjb(a.a,jDc),QC(LC(WQ,1),uCc,7,0,[yjb(a.a,r.f),yjb(a.a,u)]));n=(oe(C$b(m)),new W3b(n6b,m));e0(a.a,"es6/util/inherits",false);T3b(n,b);F2b(j.e,n,j)}p1b(s,new B2b(new W3b(B5b,new U4b(J7b,u)),(k=Y2b(r.k,51),!k?null:k.Hg())))}}H8(a,r,j);M8(g,s);if(jjb(b.e)){f.b.mi("");h=o$b(r.c.fi(false),f,T6b);T3b(h,b);t3b(c,b,h)}else t3b(c,
b,f);if(jjb(f.e))A3b(f,h1b(s,false));else if(c.j==_6b){v=c.e;A3b(v,h1b(s,false))}else if(f.e.j==_6b){v=!f.e?null:f.e.e;A3b(v,h1b(s,false))}else if(c.j==n5b)A3b(c,h1b(s,false));else throw BU(new sjc("Unexpected parent node "+c));t=s3b(f,f.g,92);t!=f.g&&(f.g=t);f.g=new x4b(92,1,f.g);R0(a.a)}function tdc(){tdc=aV;scc=new udc(IIc,0);rcc=new udc("ARRAY_FUNCTION_TYPE",1);vcc=new udc(ZIc,2);ucc=new udc("BOOLEAN_OBJECT_TYPE",3);tcc=new udc("BOOLEAN_OBJECT_FUNCTION_TYPE",4);wcc=new udc("CHECKED_UNKNOWN_TYPE",
5);ycc=new udc("DATE_TYPE",6);xcc=new udc("DATE_FUNCTION_TYPE",7);zcc=new udc("ERROR_FUNCTION_TYPE",8);Acc=new udc("ERROR_TYPE",9);Bcc=new udc("EVAL_ERROR_FUNCTION_TYPE",10);Ccc=new udc("EVAL_ERROR_TYPE",11);Dcc=new udc("FUNCTION_FUNCTION_TYPE",12);Ecc=new udc("FUNCTION_INSTANCE_TYPE",13);Fcc=new udc("FUNCTION_PROTOTYPE",14);Mcc=new udc("NULL_TYPE",15);Scc=new udc($Ic,16);Pcc=new udc("NUMBER_OBJECT_TYPE",17);Occ=new udc("NUMBER_OBJECT_FUNCTION_TYPE",18);Ycc=new udc("OBJECT_TYPE",19);Ucc=new udc("OBJECT_FUNCTION_TYPE",
20);Xcc=new udc("OBJECT_PROTOTYPE",21);Zcc=new udc("RANGE_ERROR_FUNCTION_TYPE",22);$cc=new udc("RANGE_ERROR_TYPE",23);_cc=new udc("REFERENCE_ERROR_FUNCTION_TYPE",24);adc=new udc("REFERENCE_ERROR_TYPE",25);cdc=new udc("REGEXP_TYPE",26);bdc=new udc("REGEXP_FUNCTION_TYPE",27);edc=new udc("STRING_OBJECT_TYPE",28);ddc=new udc("STRING_OBJECT_FUNCTION_TYPE",29);fdc=new udc(YIc,30);hdc=new udc("SYNTAX_ERROR_FUNCTION_TYPE",31);idc=new udc("SYNTAX_ERROR_TYPE",32);ldc=new udc("TYPE_ERROR_FUNCTION_TYPE",33);
mdc=new udc("TYPE_ERROR_TYPE",34);pdc=new udc("UNKNOWN_TYPE",35);qdc=new udc("URI_ERROR_FUNCTION_TYPE",36);rdc=new udc("URI_ERROR_TYPE",37);sdc=new udc("VOID_TYPE",38);jdc=new udc("TOP_LEVEL_PROTOTYPE",39);gdc=new udc("STRING_VALUE_OR_OBJECT_TYPE",40);Tcc=new udc("NUMBER_VALUE_OR_OBJECT_TYPE",41);qcc=new udc("ALL_TYPE",42);Lcc=new udc("NO_TYPE",43);Jcc=new udc("NO_OBJECT_TYPE",44);Kcc=new udc("NO_RESOLVED_TYPE",45);Gcc=new udc("GLOBAL_THIS",46);ndc=new udc("U2U_CONSTRUCTOR_TYPE",47);odc=new udc("U2U_FUNCTION_TYPE",
48);Icc=new udc("LEAST_FUNCTION_TYPE",49);Hcc=new udc("GREATEST_FUNCTION_TYPE",50);Ncc=new udc("NULL_VOID",51);Vcc=new udc("OBJECT_NUMBER_STRING",52);Wcc=new udc("OBJECT_NUMBER_STRING_BOOLEAN",53);Rcc=new udc("NUMBER_STRING_BOOLEAN",54);Qcc=new udc("NUMBER_STRING",55);kdc=new udc(SGc,56)}function v2(){n2();this.mc=(pGb(),oGb);this.$=new x4;this.bc=(Mm(),new _x("./"));this.sb=(null,Lm);this.pb=(null,Lm);this.vd=new Z3(QC(LC(RM,1),NAc,178,0,[]));this.ad=(lpb(),jpb);this.bd=(upb(),spb);this.cd=(bqc(),
bqc(),_pc);this.N=(null,Lm);this.Vb=(o3(),c3);this.Wb=n3;this.fb=(N2(),L2);this.$c=false;this._=(C2(),z2);this.q=false;this.A=false;this.w=false;this.B=false;this.s=(YX(),WX);this.o=VX;this.t=WX;this.v=WX;this.u=null;this.M=false;this.p=false;this.mb=null;this.r=(I2(),G2);this.rb=false;this.F=false;this.W=false;this.Bb=false;this.Cb=false;this.ac=-1;this.Eb=false;this.n=false;this.k=false;this.Gb=false;this.P=false;this.lc=false;this.R=false;this.Db=false;this.Hb=false;this.Fb=false;this._c=false;
this.nb=false;this.Ec=false;this.ob=(T2(),Q2);this.Jc=false;this.Kc=false;this.Gc=false;this.Hc=false;this.Lc=false;this.Ic=false;this.K=false;this.H=false;this.e=(null,aqc);this.d="";this.b=false;this.kc=false;this.O=false;this.Wc=false;this.gc=false;this.hc=false;this.ud=(mub(),lub);this.yc=(_mb(),$mb);this.Ub=false;this.wb=false;this.Zc=false;this.qc=false;this.Mc=null;this.J=false;this.I=false;this.ab=false;this.cb=false;this.f=false;this.i=(HV(),FV);this.jb=false;this.Y=true;this.dc=new q4;this.Xc=
false;this.Yc=null;this.ld=null;this.kd=null;this.Zb=null;this.$b=false;this.D=false;this.rc=false;this.Tb=false;this.g=false;this.nc=false;this.V=false;this.Sb=(_2(),Y2);this.Cc=false;this.Fc=false;this.Dc=false;this.hd=(null,aqc);this.fd=(null,aqc);this.ed=(null,aqc);this.gd=(null,aqc);this.U=null;this._b=false;this.Z=new luc;this.pd=(L3(),J3);this.qd=new luc;this.cc=false;this.j="";this.Bc=false;this.C=false;this.jc=(x3(),v3);this.ub=false;this.vb=true;this.ib=false;this.S=null;this.T=null;this.wc=
false;this.xb=(dx(),cx);this.Qc=(null,_pc);this.Sc="";this.Tc=(null,aqc);this.xc=new luc;this.Lb=cx;this.Pb=null;this.Ob=false;this.Nb=false;this.Qb="";this.sc=false;this.uc=false;this.tc=false;this.Xb=false;this.oc=false;this.Uc=null;this.nd=(F3(),C3);this.L=false;this.gb=(v5(),t5);this.X=null;this.kb=false;this.c=m2;this.hb=null;this.vc=false;this.rd=false}function NW(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C;switch(b.j.f){case 81:yW((f8b(),O6b),b);e=h8b(b.j);e!=-1&&(f=T2b(b),e!=
f&&$W(YBc+e+ZBc+f,b));oW(b.b);NW(a,b.b?b.b.f:null,false);return;case 80:PV(a,b);return;case 65:c?fW(a,b,true):(yW((f8b(),r6b),b),g=h8b(b.j),g!=-1&&(h=T2b(b),g!=h&&$W(YBc+g+ZBc+h,b)),sW(b.b),GW(a,b.b.d),PV(a,b.b?b.b.f:null),undefined);return;case 76:yW((f8b(),d8b),b);i=h8b(b.j);i!=-1&&(j=T2b(b),i!=j&&$W(YBc+i+ZBc+j,b));dW(a,b.b);PV(a,b.b?b.b.f:null);return;case 72:eW(a,b);return;case 99:yW((f8b(),q6b),b);k=h8b(b.j);k!=-1&&(l=T2b(b),k!=l&&$W(YBc+k+ZBc+l,b));WW(a,b.b);dW(a,b.b.d);PV(a,b.b?b.b.f:null);
return;case 70:yW((f8b(),c8b),b);m=h8b(b.j);m!=-1&&(n=T2b(b),m!=n&&$W(YBc+m+ZBc+n,b));dW(a,b.b);PV(a,b.b?b.b.f:null);return;case 71:yW((f8b(),b6b),b);o=h8b(b.j);o!=-1&&(p=T2b(b),o!=p&&$W(YBc+o+ZBc+p,b));PV(a,b.b);dW(a,b.b?b.b.f:null);return;case 67:QW(a,b);return;case 66:yW((f8b(),B6b),b);q=T2b(b);(q<2||q>3)&&$W(jCc+q,b);dW(a,b.b);PV(a,b.b.d);T2b(b)==3&&PV(a,b.b?b.b.f:null);return;case 75:case 98:case 86:tW(a,b.j,b);return;case 82:yW((f8b(),n6b),b);r=h8b(b.j);r!=-1&&(s=T2b(b),r!=s&&$W(YBc+r+ZBc+s,
b));dW(a,b.b);return;case 0:yW((f8b(),B7b),b);pW(b);!!b.b&&dW(a,b.b);return;case 39:yW((f8b(),T7b),b);t=h8b(b.j);t!=-1&&(u=T2b(b),t!=u&&$W(YBc+t+ZBc+u,b));dW(a,b.b);return;case 44:UW(a,b);return;case 73:yW((f8b(),I5b),b);pW(b);!!b.b&&oW(b.b);return;case 74:yW((f8b(),U5b),b);pW(b);!!b.b&&oW(b.b);return;case 79:case 87:d=T2b(b);0!=d&&$W(XBc+d,b);return;case 94:UV(a,b,c);sW(b.b);return;case 102:hW(a,b);return;case 106:aW(a,b,c);return;case 146:a.a.v==(o3(),h3)||$W("Feature 'interface' is only allowed in ES6 Typed mode.",
b);yW((f8b(),L6b),b);v=h8b(b.j);v!=-1&&(w=T2b(b),v!=w&&$W(YBc+v+ZBc+w,b));A=b.b;sW(A);B=A.d;B.j==d6b?(C=T2b(B),0!=C&&$W(XBc+C,B)):kW(B);mW(a,b.b?b.b.f:null);return;case 149:$V(a,b);return;case 152:VW(a,b);return;case 153:a.a.v==(o3(),h3)||$W("Feature 'ambient declaration' is only allowed in ES6 Typed mode.",b);yW((f8b(),X5b),b);KV(a,b.b);return;case 157:uW(a,b,c);return;default:$W("Expected statement but was "+b.j+".",b)}}function ceb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;d=false;h=new Poc;h.a[h.a.length]=
"/**";(b.a&lFc)!=0?(h.a[h.a.length]="@export",true):!!b.j&&b.j!=(b1b(),Y0b)&&Eoc(h,"@"+Re(b.j).toLowerCase());(b.a&IFc)!=0&&(h.a[h.a.length]="@abstract",true);(!b.d?null:b.d.g)!=null&&Eoc(h,"@lends {"+(!b.d?null:b.d.g)+"}");(b.a&37)!=0&&(b.a&4)==0&&(b.a&32)==0&&(h.a[h.a.length]="@const",true);(b.a&32)!=0&&(h.a[h.a.length]="@final",true);(b.a&hFc)!=0&&(h.a[h.a.length]="@dict",true);(b.a&OBc)!=0&&(h.a[h.a.length]="@struct",true);(b.a&gFc)!=0&&(h.a[h.a.length]="@unrestricted ",true);(b.a&2)!=0&&(h.a[h.a.length]=
"@constructor",true);((b.a&512)!=0||(b.a&iEc)!=0)&&(b.a&iEc)==0&&(h.a[h.a.length]="@interface",true);((b.a&512)!=0||(b.a&iEc)!=0)&&(b.a&iEc)!=0&&(h.a[h.a.length]="@record",true);if(!b.d?null:b.d.a){d=true;o=deb((!b.d?null:b.d.a).a);Eoc(h,aeb(a,RCc,o))}for(n=x_b(b).Md();n.Ed();){l=n.Fd();d=true;o=deb(l.a);Eoc(h,aeb(a,RCc,o))}for(m=z_b(b).Md();m.Ed();){l=m.Fd();d=true;o=deb(l.a);Eoc(h,aeb(a,SCc,o))}if(b.g){d=true;o=deb(b.g.a);Eoc(h,aeb(a,UCc,o))}if(D_b(b)>0){d=true;for(f=F_b(b).Md();f.Ed();){e=f.Fd();
Eoc(h,"@param "+beb(a,e,G_b(b,e)))}}if((b.a&fFc)==fBc){d=true;Eoc(h,aeb(a,ICc,((fFc&b.a)==fBc?b.i:null).a))}J_b(b).isEmpty()||Eoc(h,aeb(a,SFc,J_b(b).getAtIndex(0).a));g=I_b(b);if(!g.isEmpty()){Eoc(h,"@template "+Tc(new Wc(String.fromCharCode(44)),g.Md()));d=true}(b.a&64)!=0&&(h.a[h.a.length]="@override",true);(b.a&fFc)==kFc&&(b.a&4)==0&&(b.e?Eoc(h,eeb(a,((fFc&b.a)==kFc?b.i:null).a)):Eoc(h,aeb(a,eDc,((fFc&b.a)==kFc?b.i:null).a)));(b.a&4)!=0&&Eoc(h,aeb(a,"define",((fFc&b.a)==kFc?b.i:null).a));(b.a&
fFc)==DBc&&Eoc(h,aeb(a,TFc,((fFc&b.a)==DBc?b.i:null).a));(b.a&fFc)==sFc&&Eoc(h,aeb(a,cDc,((fFc&b.a)==sFc?b.i:null).a));k=(j=!b.d?null:b.d.p,!j?(bqc(),bqc(),aqc):j);if(!k.isEmpty()){c=k.Nd(NC(pS,yAc,2,0,6,1));Kpc(c,(Rw(),Qw));Eoc(h,"@suppress {"+Tc(new Wc(String.fromCharCode(44)),new tmc(new Upc(c)))+"}");d=true}if((b.a&256)!=0){Eoc(h,"@deprecated "+(!b.d?null:b.d.b));d=true}h.a[h.a.length]="*/";i=new dlc;d?Rc(new Wc("\n "),i,new kpc(h)):Rc(new Wc(" "),i,new kpc(h));i.a+=d?BBc:" ";return i.a}function wNb(){wNb=
aV;UMb=new xNb("ES3_KEYWORDS_AS_IDENTIFIERS",0,"ES3 keywords as identifiers",(zMb(),qMb));$Mb=new xNb("GETTER",1,"getters",qMb);cNb=new xNb("KEYWORDS_AS_PROPERTIES",2,"reserved words as properties",qMb);oNb=new xNb("SETTER",3,"setters",qMb);qNb=new xNb("STRING_CONTINUATION",4,"string continuation",qMb);tNb=new xNb("TRAILING_COMMA",5,"trailing comma",qMb);JMb=new xNb("ARROW_FUNCTIONS",6,"arrow function",sMb);LMb=new xNb("BINARY_LITERALS",7,"binary literal",sMb);jNb=new xNb("OCTAL_LITERALS",8,"octal literal",
sMb);NMb=new xNb("CLASSES",9,QCc,sMb);OMb=new xNb("COMPUTED_PROPERTIES",10,"computed property",sMb);WMb=new xNb("EXTENDED_OBJECT_LITERALS",11,"extended object literal",sMb);XMb=new xNb("FOR_OF",12,"for-of loop",sMb);YMb=new xNb("GENERATORS",13,"generator",sMb);dNb=new xNb("LET_DECLARATIONS",14,"let declaration",sMb);eNb=new xNb("MEMBER_DECLARATIONS",15,"member declaration",sMb);mNb=new xNb("REGEXP_FLAG_Y",16,"RegExp flag 'y'",sMb);nNb=new xNb("REST_PARAMETERS",17,"rest parameter",sMb);pNb=new xNb("SPREAD_EXPRESSIONS",
18,"spread expression",sMb);rNb=new xNb(fIc,19,VCc,sMb);sNb=new xNb("TEMPLATE_LITERALS",20,"template literal",sMb);QMb=new xNb("CONST_DECLARATIONS",21,"const declaration",rMb);SMb=new xNb("DESTRUCTURING",22,"destructuring",rMb);iNb=new xNb(gIc,23,WCc,rMb);lNb=new xNb("REGEXP_FLAG_U",24,"RegExp flag 'u'",rMb);RMb=new xNb("DEFAULT_PARAMETERS",25,"default parameter",rMb);gNb=new xNb("MODULES",26,"modules",tMb);VMb=new xNb("EXPONENT_OP",27,"exponent operator (**)",uMb);KMb=new xNb("ASYNC_FUNCTIONS",28,
gDc,wMb);IMb=new xNb(hIc,29,"ambient declaration",yMb);MMb=new xNb(iIc,30,"call signature",yMb);PMb=new xNb("CONSTRUCTOR_SIGNATURE",31,"constructor signature",yMb);TMb=new xNb(fHc,32,cDc,yMb);ZMb=new xNb("GENERICS",33,"generics",yMb);_Mb=new xNb(iHc,34,SCc,yMb);aNb=new xNb(jIc,35,"index signature",yMb);bNb=new xNb(jHc,36,bDc,yMb);fNb=new xNb("MEMBER_VARIABLE_IN_CLASS",37,"member variable in class",yMb);hNb=new xNb(kIc,38,"namespace declaration",yMb);kNb=new xNb(lIc,39,"optional parameter",yMb);uNb=
new xNb(mIc,40,"type alias",yMb);vNb=new xNb("TYPE_ANNOTATION",41,"type annotation",yMb)}function nZ(){nZ=aV;new k5("JSC_GOOG_MODULE_INVALID_MODULE_NAMESPACE",(YX(),VX),new Hlc("goog.module parameter must be string literals"));new k5("JSC_GOOG_MODULE_INVALID_PROVIDE_NAMESPACE",VX,new Hlc("goog.provide parameter must be a string literal."));new k5("JSC_GOOG_MODULE_INVALID_REQUIRE_NAMESPACE",VX,new Hlc("goog.require parameter must be a string literal."));new k5("JSC_GOOG_MODULE_INVALID_FORWARD_DECLARE_NAMESPACE",
VX,new Hlc("goog.forwardDeclare parameter must be a string literal."));new k5("JSC_GOOG_MODULE_INVALID_GET_NAMESPACE",VX,new Hlc("goog.module.get parameter must be a string literal."));new k5("JSC_GOOG_MODULE_INVALID_PROVIDE_CALL",VX,new Hlc("goog.provide can not be called in goog.module."));new k5("JSC_GOOG_MODULE_INVALID_GET_CALL_SCOPE",VX,new Hlc("goog.module.get can not be called in global scope."));new k5("JSC_GOOG_MODULE_INVALID_GET_ALIAS",VX,new Hlc("goog.module.get should not be aliased."));
new k5("JSC_GOOG_MODULE_INVALID_EXPORT_COMPUTED_PROPERTY",VX,new Hlc("Computed properties are not yet supported in goog.module exports."));lZ=new k5("JSC_USELESS_USE_STRICT_DIRECTIVE",WX,new Hlc("'use strict' is unnecessary in goog.module files."));new k5("JSC_DUPLICATE_MODULE",VX,new Hlc("Duplicate module: {0}"));new k5("JSC_DUPLICATE_NAMESPACE",VX,new Hlc("Duplicate namespace: {0}"));kZ=new k5("JSC_MISSING_MODULE_OR_PROVIDE",VX,new Hlc('Required namespace "{0}" never defined.'));jZ=new k5(FCc,VX,
new Hlc('Required namespace "{0}" not provided yet.'));new k5("JSC_IMPORT_INLINING_SHADOWS_VAR",VX,new Hlc('Inlining of reference to import "{1}" shadows var "{0}".'));new k5("JSC_QUALIFIED_REFERENCE_TO_GOOG_MODULE",VX,new Hlc("Fully qualified reference to name ''{0}'' provided by a goog.module.\nEither use short import syntax or convert module to use goog.module.declareLegacyNamespace."));new k5("JSC_ILLEGAL_DESTRUCTURING_DEFAULT_EXPORT",VX,new Hlc("Destructuring import cannot refer to a module with default export. Please use standard (non-destructuring) import instead."));
new k5("JSC_ILLEGAL_DESTRUCTURING_NOT_EXPORTED",VX,new Hlc('Destructuring import reference to name "{0}" was not exported in module {1}'));mZ=(lm(),new cy(GCc))}function x7(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o;if(a.d.j==(f8b(),_7b)){G7(a);return false}else if(W2b(a.d,66)!=0){a.c.a.length!=0&&Hoc(a.c,0).a==a.d.b.gi()&&Koc(a.c,0);a.b.a.length!=0&&Hoc(a.b,0).b==a.d.b.gi()&&Koc(a.b,0);return true}else if(a.d.j==r6b){F2b(a.i.e,a.d,a.i);return false}else if(a.d.j==G5b){y7(a);return false}else if(t7(a,a.d))switch(a.d.j.f){case 70:case 71:case 72:if(Pib(a.d)){b=
r3b(a.d);c=r3b(a.d);d=r3b(a.d);e=""+a.f.a.W++;f=(te(tkc(QEc+e,Nkc(46))==-1,tCc,QEc+e),new U4b(_6b,QEc+e));g=(te(tkc(REc+e,Nkc(46))==-1,tCc,REc+e),new U4b(_6b,REc+e));h=(te(tkc(SEc+e,Nkc(46))==-1,tCc,SEc+e),new U4b(_6b,SEc+e));b.j==_7b&&(b=r3b(b));I2b(d,y$b(I$b(z$b(O2b(b,false),O2b(h,false))),h$b(new U3b(U5b))));I2b(d,o$b(O2b(b,false),u$b(O2b(f,false),O2b(g,false)),_7b));F2b(a.i.e,p$b(O2b(f,false),_7b),a.i);F2b(a.i.e,p$b(O2b(g,false),_7b),a.i);F2b(a.i.e,p$b(O2b(h,false),_7b),a.i);i=q$b(f$b(O2b(f,false),
e$b(QC(LC(WQ,1),uCc,7,0,[]))));j=q$b(f$b(O2b(h,false),c));k=r$b(O2b(b,false),h,h$b(q$b(j$b(v$b(O2b(f,false),new U4b(J7b,"push")),QC(LC(WQ,1),uCc,7,0,[b])))));l=s$b(f$b(O2b(g,false),new C4b(0)),B$b(O2b(g,false),v$b(f,new U4b(J7b,"length"))),A$b(g,true),d);H2b(a.e,i);H2b(a.e,j);H2b(a.e,k);I2b(a.j,l);return false}D7(a,null);return false;case 81:C7(a);return false;case 67:E7(a);return false;case 66:if(W2b(a.d,67)==0){B7(a);return false}break;case 44:F7(a);return false;case 82:if(a.d.b.j==e8b){H2b(a.e,
q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(s7))));m=a.d.b;n=m.b?r3b(m):(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc));H2b(a.e,O$b(J$b(QC(LC(WQ,1),uCc,7,0,[N$b(new U4b(K7b,PEc),n),N$b(new U4b(K7b,UEc),new U3b(o6b))]))));return true}break;case 0:H2b(a.e,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(-1))));H2b(a.e,O$b(K7(a.d.b?r3b(a.d):(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc)))));return false;case 74:oe(Hoc(a.c,0).b!=-1);a.d.b?o=u7(a,r3b(a.d).hi()).b:
o=Hoc(a.c,0).b;H2b(a.e,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(o))));H2b(a.e,L7());return false;case 73:if(W2b(a.d,67)==0){z7(a);return false}break;case 39:H2b(a.e,q$b(f$b((te(tkc(TEc,Nkc(46))==-1,tCc,TEc),new U4b(_6b,TEc)),new C4b(-1))));H2b(a.e,a.d);return false;default:throw BU(new TB("Untranslatable control-exiting statement in generator function: "+a.d.j));}H2b(a.e,a.d);return false}function DY(){DY=aV;new k5(rCc,(YX(),VX),new Hlc("@export has no effect here"));xY=
new k5(rCc,WX,new Hlc("@export is not allowed here in a non-legacy goog.module. Consider using goog.exportSymbol instead."));new k5("JSC_GOOG_MODULE_REFERENCES_THIS",VX,new Hlc("The body of a goog.module cannot reference 'this'."));new k5("JSC_GOOG_MODULE_USES_THROW",VX,new Hlc("The body of a goog.module cannot use 'throw'."));new k5("JSC_GOOG_MODULE_USES_GOOG_MODULE_GET",VX,new Hlc("It's illegal to use a 'goog.module.get' at the module top-level. Did you mean to use goog.require instead?"));new k5("JSC_INVALID_DESTRUCTURING_REQUIRE",
VX,new Hlc("Destructuring goog.require must be a simple object pattern."));AY=new k5("JSC_LET_GOOG_REQUIRE",WX,new Hlc("Module imports must be constant. Please use 'const' instead of 'let'."));new k5("JSC_MULTIPLE_MODULES_IN_FILE",VX,new Hlc("There should only be a single goog.module() statement per file."));new k5("JSC_MODULE_AND_PROVIDES",VX,new Hlc("A file using goog.module() may not also use goog.provide() statements."));new k5("JSC_ONE_REQUIRE_PER_DECLARATION",VX,new Hlc("There may only be one goog.require() per var/let/const declaration."));
new k5("JSC_EXPORT_NOT_A_MODULE_LEVEL_STATEMENT",VX,new Hlc("Exports must be a statement at the top-level of a module"));new k5("JSC_EXPORT_REPEATED_ERROR",VX,new Hlc("Name cannot be exported multiple times. Previous export on line {0}."));new k5("JSC_REFERENCE_TO_MODULE_GLOBAL_NAME",VX,new Hlc("References to the global name of a module are not allowed. Perhaps you meant exports?"));BY=new k5("JSC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",WX,new Hlc("Reference to fully qualified import name ''{0}''. Imports in goog.module should use the return value of goog.require instead."));
CY=new k5("JSC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",WX,new Hlc("Reference to fully qualified import name ''{0}''. Please use the short name ''{1}'' instead."));yY=new k5("JSC_JSDOC_REFERENCE_TO_FULLY_QUALIFIED_IMPORT_NAME",WX,new Hlc("Reference to fully qualified import name ''{0}'' in JSDoc. Imports in goog.module should use the return value of goog.require instead."));zY=new k5("JSC_JSDOC_REFERENCE_TO_SHORT_IMPORT_BY_LONG_NAME_INCLUDING_SHORT_NAME",WX,new Hlc("Reference to fully qualified import name ''{0}'' in JSDoc. Please use the short name ''{1}'' instead."));
new k5("JSC_REQUIRE_NOT_AT_TOP_LEVEL",VX,new Hlc("goog.require() must be called at file scope."))}function WQb(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;switch(VRb(a.j,0).c.f){case 45:return FPb(a);case 30:case 25:return gRb(a);case 52:return QPb(a);case 15:return iQb(a);case 10:return c=VRb(a.j,0).b.b,YOb(a,(MUb(),fTb)),d=SQb(a),YOb(a,JUb),YOb(a,STb),e=kPb(a,1),YOb(a,XSb),jRb(a,jUb)&&YOb(a,jUb),new GVb(new fZb(c,a.g),d,e);case 27:return f=VRb(a.j,0).b.b,
YOb(a,(MUb(),JUb)),YOb(a,STb),g=kPb(a,1),YOb(a,XSb),h=SQb(a),new XYb(new fZb(f,a.g),g,h);case 13:return $Pb(a);case 6:return i=VRb(a.j,0).b.b,YOb(a,(MUb(),aTb)),j=null,k=VRb(a.j,0).b.b.b>a.g.b,k||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)||(j=(l=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),l)||!a.b.b&&GOb(l)?$Ob(a):null)),bPb(a),new CVb(new fZb(i,a.g),j);case 3:return m=VRb(a.j,0).b.b,YOb(a,(MUb(),PSb)),n=null,o=VRb(a.j,0).b.b.b>a.g.b,o||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)||
(n=(p=VRb(a.j,0).c,Xtc(Ttc(uTb,QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),p)||!a.b.b&&GOb(p)?$Ob(a):null)),bPb(a),new dVb(new fZb(m,a.g),n);case 19:return q=VRb(a.j,0).b.b,YOb(a,(MUb(),gUb)),r=null,s=VRb(a.j,0).b.b.b>a.g.b,s||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)||(r=kPb(a,1)),bPb(a),new CYb(new fZb(q,a.g),r);case 28:return t=VRb(a.j,0).b.b,YOb(a,(MUb(),KUb)),YOb(a,STb),u=kPb(a,1),YOb(a,XSb),v=SQb(a),new YYb(new fZb(t,a.g),u,v);case 20:return w=VRb(a.j,0).b.b,YOb(a,(MUb(),uUb)),YOb(a,STb),A=kPb(a,
1),YOb(a,XSb),YOb(a,RTb),B=HPb(a),YOb(a,WSb),new GYb(new fZb(w,a.g),A,B);case 22:return C=VRb(a.j,0).b.b,YOb(a,(MUb(),zUb)),D=null,F=VRb(a.j,0).b.b.b>a.g.b,F||iRb(a,0,jUb)||iRb(a,0,WSb)||iRb(a,0,hTb)?CRb(a,"semicolon/newline not allowed after 'throw'",QC(LC(kS,1),NAc,1,5,[])):D=kPb(a,1),bPb(a),new LYb(new fZb(C,a.g),D);case 23:return G=VRb(a.j,0).b.b,YOb(a,(MUb(),CUb)),H=FPb(a),I=null,jRb(a,TSb)&&(I=(P=VRb(a.j,0).b.b,YOb(a,TSb),YOb(a,STb),iRb(a,0,TTb)||iRb(a,0,RTb)?Q=FQb(a,0):Q=hQb(a),YOb(a,XSb),
R=FPb(a),new hVb(new fZb(P,a.g),Q,R))),J=null,jRb(a,qTb)&&(J=(S=VRb(a.j,0).b.b,YOb(a,qTb),T=FPb(a),new MVb(new fZb(S,a.g),T))),!I&&!J&&CRb(a,"'catch' or 'finally' expected.",QC(LC(kS,1),NAc,1,5,[])),new MYb(new fZb(G,a.g),H,I,J);case 7:return K=VRb(a.j,0).b.b,YOb(a,(MUb(),bTb)),bPb(a),new DVb(new fZb(K,a.g));default:{b=VRb(a.j,0).c;if((Xtc(Ttc((MUb(),uTb),QC(LC(pO,1),SAc,13,0,[DUb,cTb,ITb,JTb])),b)||!a.b.b&&GOb(b))&&iRb(a,1,ZSb))return L=VRb(a.j,0).b.b,M=ZOb(a),YOb(a,ZSb),new sWb(new fZb(L,a.g),M,
SQb(a))}return N=VRb(a.j,0).b.b,O=kPb(a,1),bPb(a),new LVb(new fZb(N,a.g),O)}}function Pzb(){Pzb=aV;Izb=new k5("JSC_NTI_INVALID_GENERICS_INSTANTIATION",(YX(),XX),new Hlc("Invalid generics instantiation{0}.\nExpected {1} type argument(s), but found {2}"));Czb=new k5("JSC_NTI_EXTENDS_NON_OBJECT",XX,new Hlc("{0} extends non-object type {1}.\n"));Dzb=new k5("JSC_NTI_EXTENDS_NOT_ON_CTOR_OR_INTERF",XX,new Hlc("@extends used without @constructor or @interface for {0}.\n"));Hzb=new k5("JSC_NTI_INHERITANCE_CYCLE",
XX,new Hlc("Cycle detected in inheritance chain of type {0}"));xzb=new k5("JSC_NTI_DICT_IMPLEMENTS_INTERF",XX,new Hlc("Class {0} is a dict. Dicts can't implement interfaces"));Gzb=new k5("JSC_NTI_IMPLEMENTS_WITHOUT_CONSTRUCTOR",XX,new Hlc(tFc));vzb=new k5("JSC_NTI_CONFLICTING_EXTENDED_TYPE",XX,new Hlc(FGc));wzb=new k5("JSC_NTI_CONFLICTING_IMPLEMENTED_TYPE",XX,new Hlc(GGc));Nzb=new k5("JSC_NTI_UNION_IS_UNINHABITABLE",XX,new Hlc("Union of {0} with {1} would create an impossible type"));Kzb=new k5("JSC_NTI_NEW_EXPECTS_OBJECT_OR_TYPEVAR",
XX,new Hlc('The "new:" annotation only accepts object types and type variables; found {0}'));rzb=new k5("JSC_NTI_BAD_ARRAY_TYPE_SYNTAX",XX,new Hlc("The [] type syntax is not supported. Please use Array<T> instead"));szb=new k5("JSC_NTI_CANNOT_MAKE_TYPEVAR_NON_NULL",XX,new Hlc("Cannot use ! to restrict type variable type.\nPrefer to make type argument non-nullable and add null explicitly where needed (e.g. through ?T or T|null)"));tzb=new k5("JSC_NTI_CIRCULAR_TYPEDEF_ENUM",XX,new Hlc("Circular typedefs/enums are not allowed"));
Azb=new k5("JSC_NTI_ENUM_WITH_TYPEVARS",XX,new Hlc("An enum type cannot include type variables"));yzb=new k5("JSC_NTI_ENUM_IS_TOP",XX,new Hlc("An enum type cannot be *. Use ? if you do not want the elements checked"));zzb=new k5("JSC_NTI_ENUM_IS_UNION",XX,new Hlc("An enum type cannot be a union type"));Ozb=new k5("JSC_NTI_WRONG_PARAMETER_ORDER",XX,new Hlc("Wrong parameter order: required parameters are first, then optional, then varargs"));Fzb=new k5("JSC_NTI_IMPLEMENTS_NON_INTERFACE",XX,new Hlc("Cannot implement non-interface {0}"));
Bzb=new k5("JSC_NTI_EXTENDS_NON_INTERFACE",XX,new Hlc("Cannot extend non-interface {0}"));Ezb=new k5("JSC_NTI_FUNCTION_WITH_NONFUNC_JSDOC",XX,new Hlc("The function is annotated with a non-function jsdoc. Ignoring jsdoc"));Lzb=new k5("JSC_NTI_TEMPLATED_GETTER_SETTER",XX,new Hlc("@template can't be used with getters/setters"));Mzb=new k5("JSC_NTI_TWO_JSDOCS",XX,new Hlc("Found two JsDoc comments for {0}"));uzb=new G4(QC(LC(qJ,1),NAc,5,0,[rzb,tzb,vzb,wzb,Bzb,Czb,Dzb,Fzb,Gzb,Hzb,Kzb,Lzb,Mzb,Ozb]));Jzb=
new G4(QC(LC(qJ,1),NAc,5,0,[szb,xzb,yzb,zzb,Azb,Ezb,Izb,Nzb]))}function gGb(){gGb=aV;FFb=new hGb("NG_INJECT",0);aFb=new hGb("ABSTRACT",1);bFb=new hGb("AUTHOR",2);cFb=new hGb("CONSISTENTIDGENERATOR",3);dFb=new hGb("CONSTANT",4);eFb=new hGb("CONSTRUCTOR",5);TFb=new hGb("RECORD",6);fFb=new hGb("DEFINE",7);gFb=new hGb("DEPRECATED",8);hFb=new hGb("DESC",9);iFb=new hGb("DICT",10);jFb=new hGb("DISPOSES",11);kFb=new hGb(fHc,12);nFb=new hGb(gHc,13);oFb=new hGb("EXTERNS",14);lFb=new hGb(hHc,15);mFb=new hGb("EXPOSE",
16);pFb=new hGb("FILE_OVERVIEW",17);qFb=new hGb("FINAL",18);rFb=new hGb("HIDDEN",19);sFb=new hGb("IDGENERATOR",20);tFb=new hGb(iHc,21);uFb=new hGb("IMPLICIT_CAST",22);vFb=new hGb("INHERIT_DOC",23);wFb=new hGb(jHc,24);xFb=new hGb("JAGGER_INJECT",25);yFb=new hGb("JAGGER_MODULE",26);zFb=new hGb("JAGGER_PROVIDE",27);AFb=new hGb("JAGGER_PROVIDE_PROMISE",28);BFb=new hGb("LENDS",29);CFb=new hGb("LICENSE",30);DFb=new hGb("MEANING",31);EFb=new hGb("MODIFIES",32);HFb=new hGb("NO_ALIAS",33);IFb=new hGb("NO_COLLAPSE",
34);JFb=new hGb("NO_COMPILE",35);KFb=new hGb("NO_SIDE_EFFECTS",36);GFb=new hGb("NOT_IMPLEMENTED",37);LFb=new hGb("OVERRIDE",38);MFb=new hGb(kHc,39);NFb=new hGb("PARAM",40);OFb=new hGb("POLYMER_BEHAVIOR",41);PFb=new hGb("PRESERVE",42);QFb=new hGb(lHc,43);RFb=new hGb(mHc,44);SFb=new hGb(nHc,45);UFb=new hGb(oHc,46);VFb=new hGb("SEE",47);WFb=new hGb("STABLEIDGENERATOR",48);XFb=new hGb("STRUCT",49);YFb=new hGb("SUPPRESS",50);ZFb=new hGb("TEMPLATE",51);$Fb=new hGb(pHc,52);_Fb=new hGb("THROWS",53);aGb=new hGb(qHc,
54);bGb=new hGb("TYPEDEF",55);cGb=new hGb("UNRESTRICTED",56);dGb=new hGb("VERSION",57);eGb=new hGb("WIZACTION",58);fGb=nq(new qq,"ngInject",FFb).ff("abstract",aFb).ff("argument",NFb).ff("author",bFb).ff("consistentIdGenerator",cFb).ff(cEc,dFb).ff("constant",dFb).ff(nEc,eFb).ff("copyright",CFb).ff("define",fFb).ff($Dc,gFb).ff("desc",hFb).ff("dict",iFb).ff("disposes",jFb).ff(cDc,kFb).ff(MCc,lFb).ff("expose",mFb).ff(RCc,nFb).ff("externs",oFb).ff("fileoverview",pFb).ff("final",qFb).ff("hidden",rFb).ff("idGenerator",
sFb).ff(SCc,tFb).ff("implicitCast",uFb).ff("inheritDoc",vFb).ff(bDc,wFb).ff("record",TFb).ff("jaggerInject",xFb).ff("jaggerModule",yFb).ff("jaggerProvidePromise",AFb).ff("jaggerProvide",zFb).ff("lends",BFb).ff("license",CFb).ff("meaning",DFb).ff("modifies",EFb).ff("noalias",HFb).ff("nocollapse",IFb).ff("nocompile",JFb).ff("nosideeffects",KFb).ff("override",LFb).ff("owner",bFb).ff(rHc,MFb).ff("param",NFb).ff("polymerBehavior",OFb).ff("preserve",PFb).ff(sHc,QFb).ff(tHc,RFb).ff(uHc,SFb).ff(ICc,UFb).ff("returns",
UFb).ff("see",VFb).ff("stableIdGenerator",WFb).ff("struct",XFb).ff("suppress",YFb).ff("template",ZFb).ff(UCc,$Fb).ff(SFc,_Fb).ff(eDc,aGb).ff(TFc,bGb).ff("unrestricted",cGb).ff("version",dGb).ff("wizaction",eGb).ef()}function dmb(){dmb=aV;new k5("JSC_NULL_ARGUMENT_ERROR",(YX(),VX),new Hlc('method "{0}" called without an argument'));new k5("JSC_EXPECTED_OBJECTLIT_ERROR",VX,new Hlc('method "{0}" expected an object literal argument'));new k5("JSC_EXPECTED_STRING_ERROR",VX,new Hlc('method "{0}" expected an object string argument'));
new k5("JSC_INVALID_ARGUMENT_ERROR",VX,new Hlc('method "{0}" called with invalid argument'));new k5("JSC_INVALID_CSS_NAME_MAP_STYLE_ERROR",VX,new Hlc("Invalid CSS name map style {0}"));new k5("JSC_TOO_MANY_ARGUMENTS_ERROR",VX,new Hlc('method "{0}" called with more than one argument'));new k5("JSC_DUPLICATE_NAMESPACE_ERROR",VX,new Hlc('namespace "{0}" cannot be provided twice'));new k5("JSC_WEAK_NAMESPACE_TYPE",XX,new Hlc("Provided symbol declared with type Object. This is rarely useful. For more information see https://github.com/google/closure-compiler/wiki/A-word-about-the-type-Object"));
new k5("JSC_CLASS_NAMESPACE_ERROR",VX,new Hlc("\"{0}\" cannot be both provided and declared as a class. Try var {0} = class '{'...'}'"));new k5("JSC_FUNCTION_NAMESPACE_ERROR",VX,new Hlc('"{0}" cannot be both provided and declared as a function'));new k5("JSC_MISSING_PROVIDE_ERROR",VX,new Hlc('required "{0}" namespace never provided'));bmb=new k5(FCc,VX,new Hlc('required "{0}" namespace not provided yet'));amb=new k5("JSC_INVALID_PROVIDE_ERROR",VX,new Hlc('"{0}" is not a valid {1} qualified name'));
new k5("JSC_INVALID_DEFINE_NAME_ERROR",VX,new Hlc('"{0}" is not a valid JS identifier name'));new k5("JSC_INVALID_MISSING_DEFINE_ANNOTATION",VX,new Hlc("Missing @define annotation"));new k5("JSC_XMODULE_REQUIRE_ERROR",XX,new Hlc('namespace "{0}" is required in module {2} but provided in module {1}. Is module {2} missing a dependency on module {1}?'));_lb=new k5("JSC_INVALID_CLOSURE_CALL_ERROR",VX,new Hlc("Closure dependency methods(goog.provide, goog.require, etc) must be called at file scope."));
new k5("JSC_NON_STRING_PASSED_TO_SET_CSS_NAME_MAPPING_ERROR",VX,new Hlc("goog.setCssNameMapping only takes an object literal with string values"));new k5("INVALID_CSS_RENAMING_MAP",XX,new Hlc("Invalid entries in css renaming map: {0}"));new k5(iGc,VX,new Hlc("incorrect use of goog.base: {0}"));new k5(iGc,VX,new Hlc("incorrect use of {0}.base: {1}"));new k5("JSC_CLOSURE_DEFINES_ERROR",VX,new Hlc("Invalid CLOSURE_DEFINES definition"));new k5("JSC_INVALID_FORWARD_DECLARE",VX,new Hlc("Malformed goog.forwardDeclaration"));
cmb=new k5("JSC_USE_OF_GOOG_BASE",WX,new Hlc("goog.base is not compatible with ES5 strict mode.\nPlease use an alternative.\nFor EcmaScript classes use the super keyword, for traditional Closure classes\nuse the class specific base method instead. For example, for the constructor MyClass:\n   MyClass.base(this, 'constructor')"))}function j8b(a){var b,c,d,e;d=false;e=a;f:{b=null;g:switch(e.length){case 2:c=e.charCodeAt(1);if(c==102){if(e.charCodeAt(0)==105){d=true;break f}}else if(c==110){if(e.charCodeAt(0)==
105){d=true;break f}}else if(c==111)if(e.charCodeAt(0)==100){d=true;break f}break g;case 3:switch(e.charCodeAt(0)){case 102:if(e.charCodeAt(2)==114&&e.charCodeAt(1)==111){d=true;break f}break g;case 105:if(e.charCodeAt(2)==116&&e.charCodeAt(1)==110){d=true;break f}break g;case 110:if(e.charCodeAt(2)==119&&e.charCodeAt(1)==101){d=true;break f}break g;case 116:if(e.charCodeAt(2)==121&&e.charCodeAt(1)==114){d=true;break f}break g;case 118:if(e.charCodeAt(2)==114&&e.charCodeAt(1)==97){d=true;break f}break g}break g;
case 4:switch(e.charCodeAt(0)){case 98:b="byte";d=true;break g;case 99:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==97){d=true;break f}}else if(c==114)if(e.charCodeAt(2)==97&&e.charCodeAt(1)==104){d=true;break f}break g;case 101:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==115&&e.charCodeAt(1)==108){d=true;break f}}else if(c==109)if(e.charCodeAt(2)==117&&e.charCodeAt(1)==110){d=true;break f}break g;case 103:b="goto";d=true;break g;case 108:b="long";d=true;break g;case 110:b=
FAc;d=true;break g;case 116:c=e.charCodeAt(3);if(c==101){if(e.charCodeAt(2)==117&&e.charCodeAt(1)==114){d=true;break f}}else if(c==115)if(e.charCodeAt(2)==105&&e.charCodeAt(1)==104){d=true;break f}break g;case 118:b=aDc;d=true;break g;case 119:b="with";d=true;break g}break g;case 5:switch(e.charCodeAt(2)){case 97:b=QCc;d=true;break g;case 101:b="break";d=true;break g;case 105:b=TCc;d=true;break g;case 108:b=XCc;d=true;break g;case 110:c=e.charCodeAt(0);if(c==99){b=cEc;d=true}else if(c==102){b="final";
d=true}break g;case 111:c=e.charCodeAt(0);if(c==102){b="float";d=true}else if(c==115){b="short";d=true}break g;case 112:b=VCc;d=true;break g;case 114:b="throw";d=true;break g;case 116:b="catch";d=true;break g}break g;case 6:switch(e.charCodeAt(1)){case 97:b="native";d=true;break g;case 101:c=e.charCodeAt(0);if(c==100){b=qIc;d=true}else if(c==114){b=ICc;d=true}break g;case 104:b=SFc;d=true;break g;case 109:b=PCc;d=true;break g;case 111:b="double";d=true;break g;case 116:b=vHc;d=true;break g;case 117:b=
uHc;d=true;break g;case 119:b="switch";d=true;break g;case 120:b=MCc;d=true;break g;case 121:b=eGc;d=true;break g}break g;case 7:switch(e.charCodeAt(1)){case 97:b=rHc;d=true;break g;case 101:b=NCc;d=true;break g;case 105:b=HCc;d=true;break g;case 111:b=sAc;d=true;break g;case 114:b=sHc;d=true;break g;case 120:b=RCc;d=true;break g}break g;case 8:switch(e.charCodeAt(0)){case 97:b="abstract";d=true;break g;case 99:b=ZCc;d=true;break g;case 100:b=_Cc;d=true;break g;case 102:b=uAc;d=true;break g;case 118:b=
"volatile";d=true;break g}break g;case 9:c=e.charCodeAt(0);if(c==105){b=bDc;d=true}else if(c==112){b=tHc;d=true}else if(c==116){b="transient";d=true}break g;case 10:c=e.charCodeAt(1);if(c==109){b=SCc;d=true}else if(c==110){b=fGc;d=true}break g;case 12:b="synchronized";d=true;break g}if(b!=null&&b!=e&&!qkc(b,e))return false}return d}function vYb(){vYb=aV;VXb=new wYb("PROGRAM",0);uXb=new wYb("FUNCTION_DECLARATION",1);QWb=new wYb("BLOCK",2);rYb=new wYb("VARIABLE_STATEMENT",3);pYb=new wYb("VARIABLE_DECLARATION",
4);kXb=new wYb("EMPTY_STATEMENT",5);oXb=new wYb("EXPRESSION_STATEMENT",6);zXb=new wYb("IF_STATEMENT",7);jXb=new wYb("DO_WHILE_STATEMENT",8);sYb=new wYb("WHILE_STATEMENT",9);rXb=new wYb("FOR_IN_STATEMENT",10);tXb=new wYb("FOR_STATEMENT",11);qYb=new wYb("VARIABLE_DECLARATION_LIST",12);fXb=new wYb("CONTINUE_STATEMENT",13);RWb=new wYb("BREAK_STATEMENT",14);ZXb=new wYb("RETURN_STATEMENT",15);tYb=new wYb("WITH_STATEMENT",16);UWb=new wYb("CASE_CLAUSE",17);hXb=new wYb("DEFAULT_CLAUSE",18);bYb=new wYb("SWITCH_STATEMENT",
19);EXb=new wYb("LABELLED_STATEMENT",20);gYb=new wYb("THROW_STATEMENT",21);VWb=new wYb(nIc,22);hYb=new wYb("TRY_STATEMENT",23);gXb=new wYb("DEBUGGER_STATEMENT",24);fYb=new wYb("THIS_EXPRESSION",25);yXb=new wYb("IDENTIFIER_EXPRESSION",26);FXb=new wYb("LITERAL_EXPRESSION",27);KWb=new wYb("ARRAY_LITERAL_EXPRESSION",28);QXb=new wYb("OBJECT_LITERAL_EXPRESSION",29);YWb=new wYb("COMPREHENSION",30);$Wb=new wYb("COMPREHENSION_IF",31);ZWb=new wYb("COMPREHENSION_FOR",32);xXb=new wYb("GET_ACCESSOR",33);$Xb=new wYb("SET_ACCESSOR",
34);WXb=new wYb("PROPERTY_NAME_ASSIGNMENT",35);_Wb=new wYb("COMPUTED_PROPERTY_DEFINITION",36);aXb=new wYb("COMPUTED_PROPERTY_GETTER",37);cXb=new wYb("COMPUTED_PROPERTY_METHOD",38);dXb=new wYb("COMPUTED_PROPERTY_SETTER",39);JXb=new wYb("MISSING_PRIMARY_EXPRESSION",40);XWb=new wYb("COMMA_EXPRESSION",41);PWb=new wYb("BINARY_OPERATOR",42);eXb=new wYb("CONDITIONAL_EXPRESSION",43);mYb=new wYb("UNARY_EXPRESSION",44);oYb=new wYb("UPDATE_EXPRESSION",45);GXb=new wYb("MEMBER_EXPRESSION",46);NXb=new wYb("NEW_EXPRESSION",
47);JWb=new wYb("ARGUMENT_LIST",48);SWb=new wYb("CALL_EXPRESSION",49);WWb=new wYb("CLASS_DECLARATION",50);DXb=new wYb("INTERFACE_DECLARATION",51);LXb=new wYb(kIc,52);MXb=new wYb("NAMESPACE_NAME",53);lXb=new wYb("ENUM_DECLARATION",54);HXb=new wYb("MEMBER_LOOKUP_EXPRESSION",55);UXb=new wYb("PAREN_EXPRESSION",56);pXb=new wYb(rIc,57);aYb=new wYb("SUPER_EXPRESSION",58);LWb=new wYb(GIc,59);NWb=new wYb("ASSIGNMENT_REST_ELEMENT",60);RXb=new wYb(HIc,61);qXb=new wYb("FORMAL_PARAMETER_LIST",62);_Xb=new wYb("SPREAD_EXPRESSION",
63);PXb=new wYb(OGc,64);YXb=new wYb("REST_PARAMETER",65);KXb=new wYb("MODULE_IMPORT",66);mXb=new wYb("EXPORT_DECLARATION",67);nXb=new wYb("EXPORT_SPECIFIER",68);AXb=new wYb("IMPORT_DECLARATION",69);BXb=new wYb("IMPORT_SPECIFIER",70);sXb=new wYb("FOR_OF_STATEMENT",71);uYb=new wYb("YIELD_EXPRESSION",72);iXb=new wYb("DEFAULT_PARAMETER",73);cYb=new wYb("TEMPLATE_LITERAL_EXPRESSION",74);dYb=new wYb("TEMPLATE_LITERAL_PORTION",75);eYb=new wYb("TEMPLATE_SUBSTITUTION",76);kYb=new wYb("TYPE_NAME",77);lYb=new wYb("TYPE_QUERY",
78);iYb=new wYb("TYPED_PARAMETER",79);SXb=new wYb(lIc,80);TXb=new wYb("PARAMETERIZED_TYPE_TREE",81);MWb=new wYb(IIc,82);XXb=new wYb(JIc,83);nYb=new wYb(KIc,84);vXb=new wYb(LIc,85);wXb=new wYb(MIc,86);IXb=new wYb("MEMBER_VARIABLE",87);bXb=new wYb("COMPUTED_PROPERTY_MEMBER_VARIABLE",88);jYb=new wYb(mIc,89);IWb=new wYb(hIc,90);CXb=new wYb(jIc,91);TWb=new wYb(iIc,92);OXb=new wYb("NEW_TARGET_EXPRESSION",93);OWb=new wYb("AWAIT_EXPRESSION",94)}function MUb(){MUb=aV;hTb=new PUb("END_OF_FILE",0,"End of File");
mTb=new PUb(UBc,1,"error");uTb=new PUb("IDENTIFIER",2,"identifier");PSb=new OUb("BREAK",3);SSb=new OUb("CASE",4);TSb=new OUb(nIc,5);aTb=new OUb(oIc,6);bTb=new OUb(pIc,7);dTb=new OUb(DGc,8);eTb=new OUb("DELETE",9);fTb=new OUb("DO",10);gTb=new OUb("ELSE",11);qTb=new OUb(rIc,12);rTb=new OUb("FOR",13);sTb=new OUb(yFc,14);vTb=new OUb("IF",15);yTb=new OUb("IN",16);zTb=new OUb(dIc,17);KTb=new OUb("NEW",18);gUb=new OUb(oHc,19);uUb=new OUb(sIc,20);yUb=new OUb(pHc,21);zUb=new OUb("THROW",22);CUb=new OUb("TRY",
23);EUb=new OUb(tIc,24);HUb=new OUb("VAR",25);IUb=new OUb("VOID",26);JUb=new OUb("WHILE",27);KUb=new OUb("WITH",28);USb=new OUb(xFc,29);_Sb=new OUb("CONST",30);iTb=new OUb(fHc,31);nTb=new OUb(hHc,32);oTb=new OUb(gHc,33);xTb=new OUb(uIc,34);tUb=new OUb(fIc,35);wTb=new OUb(iHc,36);ATb=new OUb(jHc,37);ETb=new OUb("LET",38);VTb=new OUb(kHc,39);bUb=new OUb(lHc,40);cUb=new OUb(mHc,41);dUb=new OUb(nHc,42);rUb=new OUb("STATIC",43);LUb=new OUb("YIELD",44);RTb=new PUb("OPEN_CURLY",45,"{");WSb=new PUb("CLOSE_CURLY",
46,"}");STb=new PUb("OPEN_PAREN",47,"(");XSb=new PUb("CLOSE_PAREN",48,")");TTb=new PUb("OPEN_SQUARE",49,"[");YSb=new PUb("CLOSE_SQUARE",50,"]");YTb=new PUb("PERIOD",51,".");jUb=new PUb("SEMI_COLON",52,";");$Sb=new PUb("COMMA",53,",");QTb=new PUb("OPEN_ANGLE",54,"<");VSb=new PUb("CLOSE_ANGLE",55,">");DTb=new PUb("LESS_EQUAL",56,"<=");tTb=new PUb("GREATER_EQUAL",57,">=");LSb=new PUb("ARROW",58,"=>");kTb=new PUb("EQUAL_EQUAL",59,"==");LTb=new PUb("NOT_EQUAL",60,"!=");lTb=new PUb("EQUAL_EQUAL_EQUAL",
61,"===");MTb=new PUb("NOT_EQUAL_EQUAL",62,"!==");ZTb=new PUb("PLUS",63,"+");FTb=new PUb("MINUS",64,"-");nUb=new PUb("STAR",65,"*");pUb=new PUb("STAR_STAR",66,"**");WTb=new PUb("PERCENT",67,"%");_Tb=new PUb("PLUS_PLUS",68,"++");HTb=new PUb("MINUS_MINUS",69,"--");BTb=new PUb("LEFT_SHIFT",70,"<<");hUb=new PUb("RIGHT_SHIFT",71,">>");FUb=new PUb("UNSIGNED_RIGHT_SHIFT",72,">>>");ISb=new PUb("AMPERSAND",73,"&");NSb=new PUb("BAR",74,"|");QSb=new PUb("CARET",75,"^");MSb=new PUb("BANG",76,"!");AUb=new PUb("TILDE",
77,"~");KSb=new PUb("AND",78,"&&");UTb=new PUb("OR",79,"||");eUb=new PUb("QUESTION",80,"?");ZSb=new PUb("COLON",81,":");jTb=new PUb("EQUAL",82,"=");$Tb=new PUb("PLUS_EQUAL",83,"+=");GTb=new PUb("MINUS_EQUAL",84,"-=");oUb=new PUb("STAR_EQUAL",85,"*=");qUb=new PUb("STAR_STAR_EQUAL",86,"**=");XTb=new PUb("PERCENT_EQUAL",87,"%=");CTb=new PUb("LEFT_SHIFT_EQUAL",88,"<<=");iUb=new PUb("RIGHT_SHIFT_EQUAL",89,">>=");GUb=new PUb("UNSIGNED_RIGHT_SHIFT_EQUAL",90,">>>=");JSb=new PUb("AMPERSAND_EQUAL",91,"&=");
OSb=new PUb("BAR_EQUAL",92,"|=");RSb=new PUb("CARET_EQUAL",93,"^=");kUb=new PUb("SLASH",94,"/");lUb=new PUb("SLASH_EQUAL",95,"/=");aUb=new PUb("POUND",96,"#");OTb=new OUb(OGc,97);BUb=new OUb(ODc,98);pTb=new OUb(NDc,99);PTb=new PUb(PGc,100,"number literal");sUb=new PUb(QGc,101,"string literal");fUb=new PUb("REGULAR_EXPRESSION",102,"regular expression literal");mUb=new PUb("SPREAD",103,LCc);vUb=new PUb("TEMPLATE_HEAD",104,"template head");wUb=new PUb("TEMPLATE_MIDDLE",105,"template middle");xUb=new PUb("TEMPLATE_TAIL",
106,"template tail");NTb=new PUb("NO_SUBSTITUTION_TEMPLATE",107,"no substitution template");DUb=new OUb(qHc,108);cTb=new OUb(vIc,109);ITb=new OUb("MODULE",110);JTb=new OUb(wIc,111)}function dSb(a){var b,c;hSb(a);b=a.d;if(!PRb(a,a.d))return LRb(a,(MUb(),hTb),b);c=QRb(a);switch(c){case 123:return LRb(a,(MUb(),RTb),b);case 125:return LRb(a,(MUb(),WSb),b);case 40:return LRb(a,(MUb(),STb),b);case 41:return LRb(a,(MUb(),XSb),b);case 91:return LRb(a,(MUb(),TTb),b);case 93:return LRb(a,(MUb(),YSb),b);case 46:if(ySb(PRb(a,
a.d)?lkc(a.e.a,a.d):0))return iSb(a),$Rb(a,b);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==46&&(PRb(a,a.d+1)?lkc(a.e.a,a.d+1):0)==46){QRb(a);QRb(a);return LRb(a,(MUb(),mUb),b)}return LRb(a,(MUb(),YTb),b);case 59:return LRb(a,(MUb(),jUb),b);case 44:return LRb(a,(MUb(),$Sb),b);case 126:return LRb(a,(MUb(),AUb),b);case 63:return LRb(a,(MUb(),eUb),b);case 58:return LRb(a,(MUb(),ZSb),b);case 60:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 60:QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),CTb),
b)}return LRb(a,(MUb(),BTb),b);case 61:QRb(a);return LRb(a,(MUb(),DTb),b);default:return LRb(a,(MUb(),QTb),b)}case 62:if(a.f>0)return LRb(a,(MUb(),VSb),b);switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 62:QRb(a);switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 61:QRb(a);return LRb(a,(MUb(),iUb),b);case 62:QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),GUb),b)}return LRb(a,(MUb(),FUb),b);default:return LRb(a,(MUb(),hUb),b)}case 61:QRb(a);return LRb(a,(MUb(),tTb),b);default:return LRb(a,
(MUb(),VSb),b)}case 61:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 61:QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),lTb),b)}return LRb(a,(MUb(),kTb),b);case 62:QRb(a);return LRb(a,(MUb(),LSb),b);default:return LRb(a,(MUb(),jTb),b)}case 33:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),MTb),b)}return LRb(a,(MUb(),LTb),b)}return LRb(a,(MUb(),MSb),b);case 42:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,
(MUb(),oUb),b)}else if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==42){QRb(a);if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),qUb),b)}else return LRb(a,(MUb(),pUb),b)}return LRb(a,(MUb(),nUb),b);case 37:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),XTb),b)}return LRb(a,(MUb(),WTb),b);case 94:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),RSb),b)}return LRb(a,(MUb(),QSb),b);case 47:if((PRb(a,a.d)?lkc(a.e.a,a.d):0)==61){QRb(a);return LRb(a,(MUb(),lUb),b)}return LRb(a,
(MUb(),kUb),b);case 43:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 43:QRb(a);return LRb(a,(MUb(),_Tb),b);case 61:QRb(a);return LRb(a,(MUb(),$Tb),b);default:return LRb(a,(MUb(),ZTb),b)}case 45:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 45:QRb(a);return LRb(a,(MUb(),HTb),b);case 61:QRb(a);return LRb(a,(MUb(),GTb),b);default:return LRb(a,(MUb(),FTb),b)}case 38:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 38:QRb(a);return LRb(a,(MUb(),KSb),b);case 61:QRb(a);return LRb(a,(MUb(),JSb),b);default:return LRb(a,(MUb(),
ISb),b)}case 124:switch(PRb(a,a.d)?lkc(a.e.a,a.d):0){case 124:QRb(a);return LRb(a,(MUb(),UTb),b);case 61:QRb(a);return LRb(a,(MUb(),OSb),b);default:return LRb(a,(MUb(),NSb),b)}case 35:return LRb(a,(MUb(),aUb),b);case 48:return bSb(a,b);case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return iSb(a),_Rb(a,b);case 34:case 39:return cSb(a,b,c);case 96:return!PRb(a,a.d)&&XRb(a,LOb(a.e.b,b),FIc,QC(LC(kS,1),NAc,1,5,[])),TRb(a,(MUb(),NTb),vUb);default:return aSb(a,b,c)}}function Ndc(a){var b,
c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb;g=new J9b(a);Qdc(a,(tdc(),vcc),g);w=new Vec(a);Qdc(a,Mcc,w);G=new _ec(a);Qdc(a,Scc,G);V=new mgc(a);Qdc(a,fdc,V);db=new Jhc(a,false);Qdc(a,pdc,db);hb=new Jhc(a,true);Qdc(a,wcc,hb);gb=new Uhc(a);Qdc(a,sdc,gb);b=new n9b(a);Qdc(a,qcc,b);a.f=new qgc(a,"IObject#KEY1");a.e=new qgc(a,"IObject#VALUE");a.a=new qgc(a,"T");Z=new Gac(a,null,null,true,null);Qdc(a,jdc,Z);I=new nbc(a,AEc,new y9b(a,
Ddc(a,QC(LC(oR,1),NAc,21,0,[b])),null),null,Gdc(a,(Mm(),new gx(cn(QC(LC(kS,1),NAc,1,5,[a.f,a.e])))),null),true,true);I.a.b=(te(I.e==1||I.e==2,bJc,I),D8b(I.j));ibc(I,Z,null);Qdc(a,Ucc,I);M=(te(I.e==1||I.e==2,bJc,I),D8b(I.j));Qdc(a,Ycc,M);L=fbc(I);Qdc(a,Xcc,L);n=new nbc(a,wEc,new y9b(a,Fdc(a,true,QC(LC(oR,1),NAc,21,0,[b])),db),null,null,true,true);jbc(n,M,null);Qdc(a,Dcc,n);o=fbc(n);Qdc(a,Fcc,o);v=new Gec(a);Qdc(a,Lcc,v);t=new sec(a);Qdc(a,Jcc,t);u=new Oec(a);Qdc(a,Kcc,u);c=new nbc(a,uEc,new y9b(a,
Fdc(a,true,QC(LC(oR,1),NAc,21,0,[b])),null),null,ygc(Gdc(a,new _x(a.a),null),Gdc(a,new _x(a.e),new _x(a.a))),true,true);c.a.b=(te(c.e==1||c.e==2,bJc,c),D8b(c.j));fbc(c);Qdc(a,rcc,c);d=(te(c.e==1||c.e==2,bJc,c),D8b(c.j));Qdc(a,scc,d);e=new nbc(a,vEc,new y9b(a,Ddc(a,QC(LC(oR,1),NAc,21,0,[b])),g),null,null,true,true);fbc(e);Qdc(a,tcc,e);f=(te(e.e==1||e.e==2,bJc,e),D8b(e.j));Qdc(a,ucc,f);h=new nbc(a,"Date",new y9b(a,Ddc(a,QC(LC(oR,1),NAc,21,0,[db,db,db,db,db,db,db])),V),null,null,true,true);fbc(h);Qdc(a,
xcc,h);i=(te(h.e==1||h.e==2,bJc,h),D8b(h.j));Qdc(a,ycc,i);j=new Dbc(a,qEc);Qdc(a,zcc,j);k=(te(j.e==1||j.e==2,bJc,j),D8b(j.j));Qdc(a,Acc,k);l=new Dbc(a,"EvalError");jbc(l,k,null);Qdc(a,Bcc,l);m=(te(l.e==1||l.e==2,bJc,l),D8b(l.j));Qdc(a,Ccc,m);N=new Dbc(a,rEc);jbc(N,k,null);Qdc(a,Zcc,N);O=(te(N.e==1||N.e==2,bJc,N),D8b(N.j));Qdc(a,$cc,O);P=new Dbc(a,sEc);jbc(P,k,null);Qdc(a,_cc,P);Q=(te(P.e==1||P.e==2,bJc,P),D8b(P.j));Qdc(a,adc,Q);X=new Dbc(a,tEc);jbc(X,k,null);Qdc(a,hdc,X);Y=(te(X.e==1||X.e==2,bJc,
X),D8b(X.j));Qdc(a,idc,Y);$=new Dbc(a,"TypeError");jbc($,k,null);Qdc(a,ldc,$);ab=(te($.e==1||$.e==2,bJc,$),D8b($.j));Qdc(a,mdc,ab);eb=new Dbc(a,"URIError");jbc(eb,k,null);Qdc(a,qdc,eb);fb=(te(eb.e==1||eb.e==2,bJc,eb),D8b(eb.j));Qdc(a,rdc,fb);B=new nbc(a,xEc,new y9b(a,Ddc(a,QC(LC(oR,1),NAc,21,0,[b])),G),null,null,true,true);fbc(B);Qdc(a,Occ,B);C=(te(B.e==1||B.e==2,bJc,B),D8b(B.j));Qdc(a,Pcc,C);R=new nbc(a,yEc,new y9b(a,Ddc(a,QC(LC(oR,1),NAc,21,0,[b,b])),null),null,null,true,true);R.a.b=(te(R.e==1||
R.e==2,bJc,R),D8b(R.j));fbc(R);Qdc(a,bdc,R);S=(te(R.e==1||R.e==2,bJc,R),D8b(R.j));Qdc(a,cdc,S);T=new nbc(a,HBc,new y9b(a,Ddc(a,QC(LC(oR,1),NAc,21,0,[b])),V),null,null,true,true);fbc(T);Qdc(a,ddc,T);U=(te(T.e==1||T.e==2,bJc,T),D8b(T.j));Qdc(a,edc,U);A=Hdc(a,QC(LC(oR,1),NAc,21,0,[w,gb]));Qdc(a,Ncc,A);J=Hdc(a,QC(LC(oR,1),NAc,21,0,[M,G,V]));Qdc(a,Vcc,J);K=Hdc(a,QC(LC(oR,1),NAc,21,0,[M,G,V,g]));Qdc(a,Wcc,K);F=Hdc(a,QC(LC(oR,1),NAc,21,0,[G,V,g]));Qdc(a,Rcc,F);D=Hdc(a,QC(LC(oR,1),NAc,21,0,[G,V]));Qdc(a,
Qcc,D);W=Hdc(a,QC(LC(oR,1),NAc,21,0,[U,V]));Qdc(a,gdc,W);H=Hdc(a,QC(LC(oR,1),NAc,21,0,[C,G]));Qdc(a,Tcc,H);cb=ydc(a,db,QC(LC(oR,1),NAc,21,0,[db]));Qdc(a,odc,cb);bb=new Wdc(a,new y9b(a,Fdc(a,true,QC(LC(oR,1),NAc,21,0,[db])),db),db);Qdc(a,ndc,bb);Qdc(a,Ecc,bb);n.j=bb;oe(!(!!bb.f||!bb.s));bb.n=o;s=Adc(a,v,QC(LC(oR,1),NAc,21,0,[b]));Qdc(a,Icc,s);q=new nbc(a,"global this",new y9b(a,Fdc(a,false,QC(LC(oR,1),NAc,21,0,[b])),G),null,null,true,true);p=(te(q.e==1||q.e==2,bJc,q),D8b(q.j));Qdc(a,Gcc,p);r=Adc(a,
b,QC(LC(oR,1),NAc,21,0,[v]));Qdc(a,Hcc,r);Rdc(a,CCc,I)}function csb(){csb=aV;new k5("JSC_INTERNAL_ERROR_UNEXPECTED_TOKEN",(YX(),VX),new Hlc("Internal Error: TypeCheck doesn''t know how to handle {0}"));Brb=new k5("JSC_DETERMINISTIC_TEST",XX,new Hlc("condition always evaluates to {2}\nleft : {0}\nright: {1}"));Nrb=new k5("JSC_INEXISTENT_ENUM_ELEMENT",XX,new Hlc("element {0} does not exist on this enum"));Orb=new k5(EGc,XX,new Hlc($Fc));Zrb=new k5("JSC_POSSIBLE_INEXISTENT_PROPERTY",WX,new Hlc($Fc));
Prb=new k5(EGc,WX,new Hlc("Property {0} never defined on {1}. Did you mean {2}?"));Xrb=new k5("JSC_NOT_A_CONSTRUCTOR",XX,new Hlc("cannot instantiate non-constructor"));Qrb=new k5("JSC_INSTANTIATE_ABSTRACT_CLASS",XX,new Hlc("cannot instantiate abstract class"));xrb=new k5("JSC_BAD_TYPE_FOR_BIT_OPERATION",XX,new Hlc("operator {0} cannot be applied to {1}"));Yrb=new k5("JSC_NOT_FUNCTION_TYPE",XX,new Hlc("{0} expressions are not callable"));Arb=new k5("JSC_CONSTRUCTOR_NOT_CALLABLE",XX,new Hlc(XFc));urb=
new k5("JSC_ABSTRACT_METHOD_NOT_CALLABLE",XX,new Hlc(cGc));Frb=new k5("JSC_FUNCTION_MASKS_VARIABLE",XX,new Hlc("function {0} masks variable (IE bug)"));Vrb=new k5("JSC_MULTIPLE_VAR_DEF",XX,new Hlc("declaration of multiple variables with shared type information"));Crb=new k5("JSC_ENUM_DUP",VX,new Hlc("enum element {0} already defined"));Trb=new k5("JSC_INVALID_INTERFACE_MEMBER_DECLARATION",XX,new Hlc("interface members can only be empty property declarations, empty functions{0}"));Rrb=new k5("JSC_INTERFACE_METHOD_NOT_EMPTY",
XX,new Hlc(AFc));yrb=new k5("JSC_CONFLICTING_EXTENDED_TYPE",XX,new Hlc(FGc));Drb=new k5("JSC_ES5_CLASS_EXTENDING_ES6_CLASS",XX,new Hlc("ES5 class {0} cannot extend ES6 class {1}"));new k5("JSC_INTERFACE_EXTENDS_LOOP",XX,new Hlc("extends loop involving {0}, loop: {1}"));zrb=new k5("JSC_CONFLICTING_IMPLEMENTED_TYPE",XX,new Hlc(GGc));wrb=new k5("JSC_IMPLEMENTS_NON_INTERFACE",XX,new Hlc("can only implement interfaces"));Hrb=new k5("JSC_HIDDEN_SUPERCLASS_PROPERTY",WX,new Hlc("property {0} already defined on superclass {1}; use @override to override it"));
Grb=new k5("JSC_HIDDEN_INTERFACE_PROPERTY",WX,new Hlc("property {0} already defined on interface {1}; use @override to override it"));Irb=new k5("JSC_HIDDEN_SUPERCLASS_PROPERTY_MISMATCH",XX,new Hlc("mismatch of the {0} property type and the type of the property it overrides from superclass {1}\noriginal: {2}\noverride: {3}"));_rb=new k5("JSC_UNKNOWN_OVERRIDE",XX,new Hlc("property {0} not defined on any superclass of {1}"));Srb=new k5("JSC_INTERFACE_METHOD_OVERRIDE",XX,new Hlc("property {0} is already defined by the {1} extended interface"));
$rb=new k5("JSC_UNKNOWN_EXPR_TYPE",WX,new Hlc("could not determine the type of this expression"));asb=new k5("JSC_UNRESOLVED_TYPE",XX,new Hlc("could not resolve the name {0} to a type"));bsb=new k5("JSC_WRONG_ARGUMENT_COUNT",XX,new Hlc(_Fc));Jrb=new k5("JSC_ILLEGAL_IMPLICIT_CAST",XX,new Hlc("Illegal annotation on {0}. @implicitCast may only be used in externs."));Mrb=new k5("JSC_INCOMPATIBLE_EXTENDED_PROPERTY_TYPE",XX,new Hlc("Interface {0} has a property {1} with incompatible types in its super interfaces {2} and {3}"));
Erb=new k5("JSC_EXPECTED_THIS_TYPE",XX,new Hlc('"{0}" must be called with a "this" type'));Urb=new k5("JSC_IN_USED_WITH_STRUCT",XX,new Hlc(ZFc));Lrb=new k5("JSC_ILLEGAL_PROPERTY_CREATION",XX,new Hlc("Cannot add a property to a struct instance after it is constructed. (If you already declared the property, make sure to give it a type.)"));Krb=new k5("JSC_ILLEGAL_OBJLIT_KEY",XX,new Hlc(YFc));Wrb=new k5("JSC_NON_STRINGIFIABLE_OBJECT_KEY",XX,new Hlc('Object type "{0}" contains non-stringifiable key and it may lead to an error. Please use ES6 Map instead or implement your own Map structure.'));
trb=new k5("JSC_ABSTRACT_METHOD_IN_CONCRETE_CLASS",XX,new Hlc("Abstract methods can only appear in abstract classes. Please declare the class as @abstract"));vrb=new G4(QC(LC(qJ,1),NAc,5,0,[Brb,Nrb,Orb,Zrb,Prb,Xrb,Qrb,xrb,Yrb,Arb,Frb,Vrb,Crb,Trb,Rrb,yrb,zrb,wrb,Irb,_rb,Srb,asb,bsb,Jrb,Mrb,Erb,Urb,Lrb,Krb,Wrb,trb,urb,Drb,($nb(),Znb),(Ysb(),Xsb),Vsb,Rsb,Usb,(jab(),gab)]))}function f8b(){f8b=aV;B7b=new g8b(oHc,0);E5b=new g8b("BITOR",1);F5b=new g8b("BITXOR",2);C5b=new g8b("BITAND",3);h6b=new g8b("EQ",
4);d7b=new g8b("NE",5);V6b=new g8b("LT",6);S6b=new g8b("LE",7);z6b=new g8b("GT",8);t6b=new g8b("GE",9);U6b=new g8b("LSH",10);C7b=new g8b("RSH",11);$7b=new g8b("URSH",12);g5b=new g8b("ADD",13);M7b=new g8b("SUB",14);$6b=new g8b("MUL",15);a6b=new g8b("DIV",16);Y6b=new g8b("MOD",17);j6b=new g8b("EXPONENT",18);h7b=new g8b("NOT",19);D5b=new g8b("BITNOT",20);v7b=new g8b("POS",21);e7b=new g8b("NEG",22);f7b=new g8b("NEW",23);$5b=new g8b("DELPROP",24);W7b=new g8b(tIc,25);x6b=new g8b("GETPROP",26);w6b=new g8b("GETELEM",
27);J5b=new g8b("CALL",28);_6b=new g8b("NAME",29);k7b=new g8b(PGc,30);J7b=new g8b(QGc,31);i7b=new g8b(OGc,32);S7b=new g8b(pHc,33);o6b=new g8b(NDc,34);U7b=new g8b(ODc,35);F7b=new g8b("SHEQ",36);G7b=new g8b("SHNE",37);y7b=new g8b("REGEXP",38);T7b=new g8b("THROW",39);H6b=new g8b("IN",40);K6b=new g8b(dIc,41);k5b=new g8b("ARRAYLIT",42);m7b=new g8b("OBJECTLIT",43);V7b=new g8b("TRY",44);r7b=new g8b("PARAM_LIST",45);R5b=new g8b("COMMA",46);n5b=new g8b("ASSIGN",47);q5b=new g8b("ASSIGN_BITOR",48);r5b=new g8b("ASSIGN_BITXOR",
49);p5b=new g8b("ASSIGN_BITAND",50);u5b=new g8b("ASSIGN_LSH",51);x5b=new g8b("ASSIGN_RSH",52);z5b=new g8b("ASSIGN_URSH",53);o5b=new g8b("ASSIGN_ADD",54);y5b=new g8b("ASSIGN_SUB",55);w5b=new g8b("ASSIGN_MUL",56);s5b=new g8b("ASSIGN_DIV",57);v5b=new g8b("ASSIGN_MOD",58);t5b=new g8b("ASSIGN_EXPONENT",59);A6b=new g8b("HOOK",60);p7b=new g8b("OR",61);h5b=new g8b("AND",62);I6b=new g8b("INC",63);W5b=new g8b("DEC",64);r6b=new g8b(yFc,65);B6b=new g8b("IF",66);O7b=new g8b(sIc,67);L5b=new g8b("CASE",68);Y5b=
new g8b("DEFAULT_CASE",69);c8b=new g8b("WHILE",70);b6b=new g8b("DO",71);p6b=new g8b("FOR",72);I5b=new g8b("BREAK",73);U5b=new g8b(oIc,74);_7b=new g8b("VAR",75);d8b=new g8b("WITH",76);N5b=new g8b(nIc,77);a8b=new g8b("VOID",78);d6b=new g8b("EMPTY",79);G5b=new g8b("BLOCK",80);O6b=new g8b("LABEL",81);n6b=new g8b("EXPR_RESULT",82);D7b=new g8b("SCRIPT",83);y6b=new g8b("GETTER_DEF",84);E7b=new g8b("SETTER_DEF",85);T5b=new g8b("CONST",86);V5b=new g8b(pIc,87);P6b=new g8b("LABEL_NAME",88);K7b=new g8b("STRING_KEY",
89);M5b=new g8b("CAST",90);l5b=new g8b(GIc,91);n7b=new g8b(HIc,92);_5b=new g8b("DESTRUCTURING_LHS",93);O5b=new g8b(xFc,94);P5b=new g8b("CLASS_MEMBERS",95);W6b=new g8b("MEMBER_FUNCTION_DEF",96);N7b=new g8b(fIc,97);T6b=new g8b("LET",98);q6b=new g8b("FOR_OF",99);e8b=new g8b("YIELD",100);A5b=new g8b("AWAIT",101);D6b=new g8b(uIc,102);F6b=new g8b("IMPORT_SPECS",103);E6b=new g8b("IMPORT_SPEC",104);G6b=new g8b("IMPORT_STAR",105);k6b=new g8b(hHc,106);m6b=new g8b("EXPORT_SPECS",107);l6b=new g8b("EXPORT_SPEC",
108);Z6b=new g8b("MODULE_BODY",109);z7b=new g8b("REST",110);H7b=new g8b("SPREAD",111);S5b=new g8b("COMPUTED_PROP",112);P7b=new g8b("TAGGED_TEMPLATELIT",113);Q7b=new g8b("TEMPLATELIT",114);R7b=new g8b("TEMPLATELIT_SUB",115);Z5b=new g8b("DEFAULT_VALUE",116);g7b=new g8b(gIc,117);L7b=new g8b(YIc,118);H5b=new g8b(ZIc,119);l7b=new g8b($Ic,120);s6b=new g8b(LIc,121);q7b=new g8b("PARAMETERIZED_TYPE",122);Z7b=new g8b(KIc,123);j5b=new g8b("ANY_TYPE",124);j7b=new g8b("NULLABLE_TYPE",125);b8b=new g8b("VOID_TYPE",
126);A7b=new g8b("REST_PARAMETER_TYPE",127);a7b=new g8b("NAMED_TYPE",128);o7b=new g8b(lIc,129);x7b=new g8b(JIc,130);Y7b=new g8b("UNDEFINED_TYPE",131);m5b=new g8b(IIc,132);u6b=new g8b("GENERIC_TYPE",133);v6b=new g8b(MIc,134);i5b=new g8b(RHc,135);s7b=new g8b("PIPE",136);I7b=new g8b("STAR",137);g6b=new g8b("EOC",138);w7b=new g8b("QMARK",139);c6b=new g8b("ELLIPSIS",140);B5b=new g8b("BANG",141);i6b=new g8b("EQUALS",142);Q6b=new g8b("LB",143);R6b=new g8b("LC",144);Q5b=new g8b("COLON",145);L6b=new g8b(jHc,
146);M6b=new g8b("INTERFACE_EXTENDS",147);N6b=new g8b("INTERFACE_MEMBERS",148);e6b=new g8b(fHc,149);f6b=new g8b("ENUM_MEMBERS",150);C6b=new g8b(iHc,151);X7b=new g8b(mIc,152);X5b=new g8b(vIc,153);X6b=new g8b("MEMBER_VARIABLE_DEF",154);J6b=new g8b(jIc,155);K5b=new g8b(iIc,156);b7b=new g8b(wIc,157);c7b=new g8b("NAMESPACE_ELEMENTS",158);t7b=new g8b("PLACEHOLDER1",159);u7b=new g8b("PLACEHOLDER2",160)}function ecb(){ecb=aV;Kbb=new k5("JSC_NTI_DUPLICATE_JSDOC",(YX(),XX),new Hlc("Found two JsDoc comments for variable: {0}.\n"));
Zbb=new k5("JSC_NTI_REDECLARED_PROPERTY",XX,new Hlc("Found two declarations for property {0} on {1}.\n"));Tbb=new k5("JSC_NTI_INVALID_PROP_OVERRIDE",XX,new Hlc("Invalid redeclaration of property {0}.\ninherited type  : {1}\noverriding type : {2}\n"));Ibb=new k5("JSC_NTI_CTOR_IN_DIFFERENT_SCOPE",XX,new Hlc("Modifying the prototype is only allowed if the constructor is in the same scope\n"));ccb=new k5("JSC_NTI_UNRECOGNIZED_TYPE_NAME",XX,new Hlc("Type annotation references non-existent type {0}."));
_bb=new k5("JSC_NTI_STRUCT_WITHOUT_CTOR_OR_INTERF",XX,new Hlc("@struct used without @constructor, @interface, or @record."));Jbb=new k5("JSC_NTI_DICT_WITHOUT_CTOR",XX,new Hlc("@dict used without @constructor."));Mbb=new k5("JSC_NTI_EXPECTED_CONSTRUCTOR",XX,new Hlc("Expected constructor name but found {0}."));Nbb=new k5("JSC_NTI_EXPECTED_INTERFACE",XX,new Hlc("Expected interface name but found {0}."));Pbb=new k5("JSC_NTI_INEXISTENT_PARAM",XX,new Hlc(uFc));Gbb=new k5("JSC_NTI_CONST_WITHOUT_INITIALIZER",
XX,new Hlc("Constants must be initialized when they are defined."));Hbb=new k5("JSC_NTI_COULD_NOT_INFER_CONST_TYPE",XX,new Hlc("All constants must be typed. The compiler could not infer the type of constant {0}. Please use an explicit type annotation. For more information, see:\nhttps://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)#warnings-about-uninferred-constants"));Wbb=new k5("JSC_NTI_MISPLACED_CONST_ANNOTATION",XX,new Hlc("This property cannot be @const. The @const annotation is only allowed for properties of namespaces, prototype properties, static properties of constructors, and properties of the form this.prop declared inside constructors and prototype methods."));
Ebb=new k5("JSC_NTI_CANNOT_OVERRIDE_FINAL_METHOD",XX,new Hlc("Final method {0} cannot be overriden."));Dbb=new k5("JSC_NTI_CANNOT_INIT_TYPEDEF",XX,new Hlc("A typedef variable represents a type name; it cannot be assigned a value."));Bbb=new k5("JSC_NTI_ANONYMOUS_NOMINAL_TYPE",XX,new Hlc("Must specify a name when defining a class or interface."));Vbb=new k5("JSC_NTI_MALFORMED_ENUM",XX,new Hlc("An enum must be initialized to a non-empty object literal."));Lbb=new k5("JSC_NTI_DUPLICATE_PROP_IN_ENUM",
XX,new Hlc("Property {0} appears twice in the enum declaration."));Ubb=new k5("JSC_NTI_LENDS_ON_BAD_TYPE",XX,new Hlc("May only lend properties to namespaces, constructors and their prototypes. Found {0}."));Obb=new k5("JSC_NTI_FUNCTION_CONSTRUCTOR_NOT_DEFINED",VX,new Hlc("You must provide externs that define the built-in Function constructor."));Sbb=new k5("JSC_NTI_INVALID_INTERFACE_PROP_INITIALIZER",XX,new Hlc("Invalid initialization of interface property."));$bb=new k5("JSC_NTI_SETTER_WITH_RETURN",
XX,new Hlc("Cannot declare a return type on a setter."));dcb=new k5("JSC_NTI_WRONG_PARAMETER_COUNT",XX,new Hlc("Function definition does not have the declared number of parameters.\nExpected: {0}\nFound: {1}"));Cbb=new k5("JSC_NTI_CANNOT_ADD_PROPERTIES_TO_TYPEDEF",XX,new Hlc("A typedef should only be used in type annotations, not as a value. Adding properties to typedefs is not allowed."));acb=new k5("JSC_NTI_SUPER_INTERFACES_HAVE_INCOMPATIBLE_PROPERTIES",XX,new Hlc("Interface {0} has a property {1} with incompatible types in its super interfaces: {2}"));
Ybb=new k5("JSC_NTI_ONE_TYPE_FOR_MANY_VARS",XX,new Hlc("Having one type annotation for multiple variables is not allowed."));bcb=new k5("JSC_NTI_UNKNOWN_OVERRIDE",XX,new Hlc("property {0} not defined on any supertype of {1}"));Rbb=new k5("JSC_NTI_INTERFACE_METHOD_NOT_IMPLEMENTED",XX,new Hlc(zFc));Qbb=new k5("JSC_NTI_INTERFACE_METHOD_NOT_EMPTY",XX,new Hlc(AFc));ybb=new k5("JSC_NTI_ABSTRACT_METHOD_IN_CONCRETE_CLASS",XX,new Hlc("Abstract methods can only appear in abstract classes. Please declare class {0} as @abstract"));
zbb=new k5("JSC_NTI_ABSTRACT_METHOD_IN_INTERFACE",XX,new Hlc("Abstract methods cannot appear in interfaces"));Abb=new k5("JSC_NTI_ABSTRACT_METHOD_NOT_IMPLEMENTED_IN_CONCRETE_CLASS",XX,new Hlc("Abstract method {0} from superclass {1} not implemented"));Fbb=new G4(QC(LC(qJ,1),NAc,5,0,[ybb,Ebb,Jbb,Lbb,Mbb,Nbb,Obb,Pbb,Rbb,Qbb,Sbb,Tbb,Ubb,Ybb,Zbb,_bb,acb,bcb,ccb,dcb]));Xbb=new G4(QC(LC(qJ,1),NAc,5,0,[zbb,Abb,Bbb,Cbb,Dbb,Gbb,Hbb,Ibb,Kbb,Vbb,Wbb,$bb]))}function f5(){f5=aV;b5=new k5("JSC_UNUSED",(YX(),XX),
new Hlc(WDc));lm();Ao(QC(LC(kS,1),NAc,1,5,[XDc,YDc,ZDc]));e5=new luc;i5("commonJsModuleLoad",QC(LC(qJ,1),NAc,5,0,[(gmb(),emb)]));W4=i5("globalThis",QC(LC(qJ,1),NAc,5,0,[(LX(),KX)]));S4=i5($Dc,QC(LC(qJ,1),NAc,5,0,[(yX(),rX),sX,tX,uX,pX,qX]));i5("underscore",QC(LC(qJ,1),NAc,5,0,[(jwb(),fwb),gwb]));d5=i5("visibility",QC(LC(qJ,1),NAc,5,0,[jX,kX,iX,lX,vX,wX,xX,oX]));h5("accessControls",QC(LC(pJ,1),NAc,54,0,[S4,d5]));i5("nonStandardJsDocs",QC(LC(qJ,1),NAc,5,0,[($nb(),Knb),Qnb,Rnb]));i5("invalidCasts",QC(LC(qJ,
1),NAc,5,0,[(osb(),ksb)]));g5(_Dc,new F4(_Dc,QC(LC(qJ,1),NAc,5,0,[b5])));g5(aEc,new F4(aEc,QC(LC(qJ,1),NAc,5,0,[b5])));i5("strictModuleDepCheck",QC(LC(qJ,1),NAc,5,0,[(Ttb(),Ntb),(JX(),HX)]));i5("violatedModuleDep",QC(LC(qJ,1),NAc,5,0,[Stb]));i5("externsValidation",QC(LC(qJ,1),NAc,5,0,[Mtb,Otb]));i5("ambiguousFunctionDecl",QC(LC(qJ,1),NAc,5,0,[(iub(),eub),(Ppb(),Hpb)]));i5("unknownDefines",QC(LC(qJ,1),NAc,5,0,[(imb(),hmb)]));i5("tweakValidation",QC(LC(qJ,1),NAc,5,0,[(Jmb(),Fmb),Hmb,Imb]));i5("missingOverride",
QC(LC(qJ,1),NAc,5,0,[(csb(),Grb),Hrb]));i5("missingProperties",QC(LC(qJ,1),NAc,5,0,[Orb,Prb,Zrb]));i5("j2clChecks",QC(LC(qJ,1),NAc,5,0,[(Zdb(),Ydb)]));i5("missingReturn",QC(LC(qJ,1),NAc,5,0,[(aY(),_X)]));i5("internetExplorerChecks",QC(LC(qJ,1),NAc,5,0,[Ynb]));i5("undefinedVars",QC(LC(qJ,1),NAc,5,0,[Ptb]));i5("undefinedNames",QC(LC(qJ,1),NAc,5,0,[IX]));i5("checkDebuggerStatement",QC(LC(qJ,1),NAc,5,0,[(BX(),AX)]));i5("checkRegExp",QC(LC(qJ,1),NAc,5,0,[(fY(),eY),dY]));$4=h5("oldCheckTypes",QC(LC(pJ,
1),NAc,54,0,[esb,vrb]));Y4=h5("newCheckTypesCompatibility",QC(LC(pJ,1),NAc,54,0,[(Pzb(),uzb),(ecb(),Fbb),(lhb(),Agb)]));Z4=h5("newCheckTypesExtraChecks",QC(LC(pJ,1),NAc,54,0,[Jzb,Xbb,$gb]));X4=h5("newCheckTypes",QC(LC(pJ,1),NAc,54,0,[Y4,Z4]));Q4=h5(DDc,QC(LC(pJ,1),NAc,54,0,[$4,X4]));i5("newCheckTypesAllChecks",QC(LC(qJ,1),NAc,5,0,[chb]));i5("newCheckTypesClosureClean",QC(LC(qJ,1),NAc,5,0,[vzb,wzb,xzb,Czb,Dzb,Gzb,Hzb,Nzb,ybb,Bbb,Dbb,Ebb,Gbb,Ibb,Jbb,Kbb,Lbb,Mbb,Nbb,Pbb,Rbb,Ubb,Vbb,Wbb,Ybb,_bb,acb,bcb,
ccb,tgb,vgb,ygb,Egb,Bgb,Fgb,Igb,Lgb,Xgb,Sgb,Tgb,Ugb,Wgb,Ygb,ghb,jhb]));i5("checkEventfulObjectDisposal",QC(LC(qJ,1),NAc,5,0,[(GX(),CX),DX,EX,FX]));_4=i5(ZDc,QC(LC(qJ,1),NAc,5,0,[$rb]));i5(XDc,QC(LC(qJ,1),NAc,5,0,[$rb,hhb]));R4=i5("checkVars",QC(LC(qJ,1),NAc,5,0,[Ptb,Rtb,fub,gub]));i5(bEc,QC(LC(qJ,1),NAc,5,0,[(mY(),lY),(uY(),tY)]));i5(cEc,QC(LC(qJ,1),NAc,5,0,[mX,nX,(h4(),g4),Egb,Dgb,Cgb]));O4=i5("accessControlsConst",QC(LC(qJ,1),NAc,5,0,[mX,nX]));i5("constantProperty",QC(LC(qJ,1),NAc,5,0,[mX,nX,Dgb,
Cgb]));i5("typeInvalidation",QC(LC(qJ,1),NAc,5,0,[(q5(),o5),p5]));i5(dEc,QC(LC(qJ,1),NAc,5,0,[Rtb,fsb,gsb,gub,Zbb]));i5(CDc,QC(LC(qJ,1),NAc,5,0,[Onb,Ynb]));V4=i5("es5StrictUncommon",QC(LC(qJ,1),NAc,5,0,[Pnb,Lnb,Opb,Lpb,Kpb,Gpb,Dpb,Ipb,Jpb,Hpb]));U4=i5("es5StrictReflection",QC(LC(qJ,1),NAc,5,0,[Epb,Fpb,Npb,Mpb]));T4=h5("es5Strict",QC(LC(pJ,1),NAc,54,0,[V4,U4]));i5(eEc,QC(LC(qJ,1),NAc,5,0,[(cY(),bY),(nZ(),kZ)]));i5(fEc,QC(LC(qJ,1),NAc,5,0,[(kY(),jY)]));a5=i5("strictMissingRequire",QC(LC(qJ,1),NAc,5,
0,[jY,iY,hY]));i5("legacyGoogScopeRequire",QC(LC(qJ,1),NAc,5,0,[iY,gY]));i5("extraRequire",QC(LC(qJ,1),NAc,5,0,[gY]));i5("misplacedTypeAnnotation",QC(LC(qJ,1),NAc,5,0,[(UX(),NX),OX,PX,RX,QX,SX,TX]));i5("suspiciousCode",QC(LC(qJ,1),NAc,5,0,[(Mvb(),Lvb),(sY(),rY),nY,pY,oY,qY,Brb,fmb]));i5("functionParams",QC(LC(qJ,1),NAc,5,0,[(jab(),bab)]));i5("deprecatedAnnotations",QC(LC(qJ,1),NAc,5,0,[MX]));c5=i5("unusedPrivateMembers",QC(LC(qJ,1),NAc,5,0,[(wY(),vY)]));i5("unusedLocalVariables",QC(LC(qJ,1),NAc,5,
0,[hub]));h5("lintChecks",QC(LC(pJ,1),NAc,54,0,[Xvb,new G4(QC(LC(qJ,1),NAc,5,0,[(Ovb(),Nvb),(Tvb(),Pvb),Qvb,Rvb,Svb,(Wvb(),Uvb),Vvb,(DY(),xY),(lwb(),kwb),(rwb(),pwb),qwb,(twb(),swb),(ywb(),uwb),xwb,wwb,vwb,(Awb(),zwb),(Cwb(),Bwb),AY,yY,zY,BY,CY,lZ,Snb,Tnb,Xnb,hub]))]));i5("strictModuleChecks",QC(LC(qJ,1),NAc,5,0,[xY,AY,yY,zY,BY,CY]));P4=i5("analyzerChecksInternal",QC(LC(qJ,1),NAc,5,0,[(Kvb(),Jvb),(owb(),mwb),nwb,(Xdb(),Wdb)]));h5(YDc,QC(LC(pJ,1),NAc,54,0,[P4,c5]));i5("useOfGoogBase",QC(LC(qJ,1),NAc,
5,0,[(dmb(),cmb)]));i5("closureDepMethodUsageChecks",QC(LC(qJ,1),NAc,5,0,[_lb]));i5("transitionalSuspiciousCodeWarnings",QC(LC(qJ,1),NAc,5,0,[($kb(),Ykb),Zkb,Xkb]));i5("lateProvide",QC(LC(qJ,1),NAc,5,0,[bmb,jZ]));i5("missingPolyfill",QC(LC(qJ,1),NAc,5,0,[(wnb(),vnb)]));i5("invalidProvide",QC(LC(qJ,1),NAc,5,0,[amb]));i5("es6Typed",QC(LC(qJ,1),NAc,5,0,[Unb]));i5("duplicateZipContents",QC(LC(qJ,1),NAc,5,0,[(Sob(),Rob)]));g5(gEc,new F4(gEc,QC(LC(qJ,1),NAc,5,0,[b5])))}function lhb(){lhb=aV;Zgb=new k5("JSC_NTI_MISTYPED_ASSIGN_RHS",
(YX(),XX),new Hlc("The right side in the assignment is not a subtype of the left side.\n{0}"));Vgb=new k5("JSC_NTI_INVALID_OPERAND_TYPE",XX,new Hlc("Invalid type(s) for operator {0}.\n{1}"));fhb=new k5("JSC_NTI_RETURN_NONDECLARED_TYPE",XX,new Hlc("Returned type does not match declared return type.\n{0}"));Tgb=new k5("JSC_NTI_INVALID_INFERRED_RETURN_TYPE",XX,new Hlc("Function called in context that expects incompatible type.\n{0}"));Qgb=new k5("JSC_NTI_INVALID_ARGUMENT_TYPE",XX,new Hlc("Invalid type for parameter {0} of function {1}.\n{2}"));
Fgb=new k5("JSC_NTI_CROSS_SCOPE_GOTCHA",XX,new Hlc("Variable {0} typed inconsistently across scopes.\nIn outer scope : {1}\nIn inner scope : {2}\n"));dhb=new k5("JSC_NTI_POSSIBLY_INEXISTENT_PROPERTY",XX,new Hlc("Property {0} may not be present on {1}."));ehb=new k5("JSC_NTI_PROPERTY_ACCESS_ON_NONOBJECT",XX,new Hlc("Cannot access property {0} of non-object type {1}."));bhb=new k5("JSC_NTI_NOT_UNIQUE_INSTANTIATION",XX,new Hlc("When instantiating a polymorphic function, you can only specify one type for each type variable.\n Found {0} types for type variable {1}: {2},\n when instantiating type: {3}"));
Ggb=new k5("JSC_NTI_FAILED_TO_UNIFY",XX,new Hlc("Could not instantiate type {0} with {1}."));Sgb=new k5("JSC_NTI_INVALID_INDEX_TYPE",XX,new Hlc("Invalid type for index.\n{0}"));wgb=new k5("JSC_NTI_BOTTOM_INDEX_TYPE",XX,new Hlc("This IObject {0} cannot be accessed with a valid type.\n Usually the result of a bad union type.\n"));Ugb=new k5("JSC_NTI_INVALID_OBJLIT_PROPERTY_TYPE",XX,new Hlc("Invalid type for object-literal property.\n{0}"));Hgb=new k5("JSC_NTI_FORIN_EXPECTS_OBJECT",XX,new Hlc("For/in expects an object, found type {0}."));
Igb=new k5("JSC_NTI_FORIN_EXPECTS_STRING_KEY",XX,new Hlc("For/in creates string keys, but variable has declared type {1}."));Egb=new k5("JSC_NTI_CONST_REASSIGNED",XX,new Hlc("Cannot change the value of a constant."));Dgb=new k5("JSC_NTI_CONST_PROPERTY_REASSIGNED",XX,new Hlc("Cannot change the value of a constant property."));Cgb=new k5("JSC_NTI_CONSTANT_PROPERTY_DELETED",XX,new Hlc("Constant property {0} cannot be deleted"));_gb=new k5("JSC_NTI_NOT_A_CONSTRUCTOR",XX,new Hlc("Expected a constructor but found type {0}."));
zgb=new k5("JSC_NTI_CANNOT_INSTANTIATE_ABSTRACT_CLASS",XX,new Hlc("Cannot instantiate abstract class {0}."));new k5("JSC_UNDEFINED_SUPER_CLASS",XX,new Hlc("Undefined super class for {0}."));vgb=new k5("JSC_NTI_ASSERT_FALSE",XX,new Hlc("Assertion is always false. Please use a throw or fail() instead."));ghb=new k5("JSC_NTI_UNKNOWN_ASSERTION_TYPE",XX,new Hlc("Assert with unknown asserted type."));Wgb=new k5("JSC_NTI_INVALID_THIS_TYPE_IN_BIND",XX,new Hlc("Invalid type for the first argument to bind.\n{0}"));
ygb=new k5("JSC_NTI_CANNOT_BIND_CTOR",XX,new Hlc("We do not support using .bind on constructor functions."));Kgb=new k5("JSC_NTI_GOOG_BIND_EXPECTS_FUNCTION",XX,new Hlc("The first argument to goog.bind/goog.partial must be a function, found: {0}"));xgb=new k5("JSC_NTI_BOTTOM_PROP",XX,new Hlc("Property {0} of {1} cannot have a valid type.Maybe the result of a union of incompatible types?"));Rgb=new k5("JSC_NTI_INVALID_CAST",XX,new Hlc("invalid cast - the types do not have a common subtype\nfrom: {0}\nto  : {1}"));
Jgb=new k5("JSC_NTI_USED_GLOBAL_THIS",XX,new Hlc("Dangerous use of the global THIS object"));Ygb=new k5("JSC_NTI_MISSING_RETURN_STATEMENT",XX,new Hlc(pCc));Bgb=new k5("JSC_NTI_CONSTRUCTOR_NOT_CALLABLE",XX,new Hlc(XFc));Lgb=new k5("JSC_NTI_ILLEGAL_OBJLIT_KEY",XX,new Hlc(YFc));Ngb=new k5("JSC_NTI_ILLEGAL_PROPERTY_CREATION",XX,new Hlc("Cannot add property {0} to a struct instance after it is constructed."));Xgb=new k5("JSC_NTI_IN_USED_WITH_STRUCT",XX,new Hlc(ZFc));ugb=new k5("JSC_NTI_ADDING_PROPERTY_TO_NON_OBJECT",
XX,new Hlc("Cannot create property {0} on non-object type {1}."));Pgb=new k5("JSC_NTI_INEXISTENT_PROPERTY",XX,new Hlc($Fc));ahb=new k5("JSC_NTI_NOT_FUNCTION_TYPE",XX,new Hlc("Cannot call non-function type {0}"));khb=new k5("JSC_NTI_WRONG_ARGUMENT_COUNT",XX,new Hlc(_Fc));Mgb=new k5("JSC_NTI_ILLEGAL_PROPERTY_ACCESS",XX,new Hlc(aGc));jhb=new k5("JSC_NTI_UNKNOWN_TYPEOF_VALUE",XX,new Hlc(bGc));ihb=new k5("JSC_NTI_UNKNOWN_NAMESPACE_PROPERTY",XX,new Hlc("Cannot determine the type of namespace property {0}. Maybe a prefix of the property name has been redefined?"));
Ogb=new k5("JSC_INCOMPATIBLE_STRICT_COMPARISON",XX,new Hlc("Cannot perform strict equality / inequality comparisons on incompatible types:\nleft : {0}\nright: {1}"));tgb=new k5("JSC_NTI_ABSTRACT_METHOD_NOT_CALLABLE",XX,new Hlc(cGc));chb=new k5("JSC_NTI_NULLABLE_DEREFERENCE",WX,new Hlc("Attempt to use nullable type {0}."));hhb=new k5("JSC_NTI_UNKNOWN_EXPR_TYPE",WX,new Hlc("This {0} expression has the unknown type."));Agb=new G4(QC(LC(qJ,1),NAc,5,0,[tgb,vgb,ygb,zgb,Cgb,Dgb,Egb,Bgb,Ggb,Igb,Jgb,Kgb,Lgb,
Mgb,Ngb,Xgb,Pgb,Qgb,Rgb,Sgb,Ugb,Ygb,Zgb,_gb,ahb,dhb,fhb,ghb,jhb,khb]));$gb=new G4(QC(LC(qJ,1),NAc,5,0,[ugb,wgb,xgb,Fgb,Hgb,Ogb,Tgb,Vgb,Wgb,bhb,ehb,ihb]))}function THb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb,kb;switch(b.p.f){case 42:return(b.b.c==(MUb(),pUb)||b.b.c==qUb)&&OHb(a,b,(wNb(),VMb)),PGb(a.a,b.c.o)?UGb(a.a,zHb(b.b.c),iHb(a.a,b.a),iHb(a.a,b.c)):XHb(a,b);case 28:return UHb(a,b);case 74:return EIb(a,
b);case 75:return FIb(a,b.a);case 76:return TGb(a.a,(f8b(),R7b),iHb(a.a,b.a));case 44:return JIb(a,b);case 2:return YHb(a,b);case 14:return ZHb(a,b);case 49:return iIb(a,b);case 17:return BIb(a,b);case 18:return CIb(a,b);case 22:return UGb(a.a,(f8b(),N5b),iHb(a.a,b.b),jHb(a.a,b.a));case 13:return aIb(a,b);case 8:return UGb(a.a,(f8b(),b6b),jHb(a.a,b.a),iHb(a.a,b.b));case 5:return SGb((d=a,b,d).a,(f8b(),d6b));case 6:return eIb(a,b);case 24:return SGb((e=a,b,e).a,(f8b(),V5b));case 25:return SGb((f=a,
b,f).a,(f8b(),S7b));case 11:return fIb(a,b);case 10:return h=iHb(a.a,b.c),i=(lm(),Ao(QC(LC(kS,1),NAc,1,5,[(f8b(),k5b),m7b]))),i.contains(h.j)&&a.a.d.ih("Invalid LHS for a for-in loop",a.a.r,(GGb(),b.c.o.b.b+1),b.c.o.b.a),VGb(a.a,p6b,h,iHb(a.a,b.b),jHb(a.a,b.a));case 1:return hIb(a,b);case 55:return UGb(a.a,(f8b(),w6b),iHb(a.a,b.b),iHb(a.a,b.a));case 46:return j=iHb(a.a,b.b),k=b.a,l=sIb(a,k),!l.ji()&&!a.a.c&&PHb(a,l),UGb(a.a,(f8b(),x6b),j,l);case 43:return VGb(a.a,(f8b(),A6b),iHb(a.a,b.a),iHb(a.a,
b.b),iHb(a.a,b.c));case 7:return lIb(a,b);case 20:return UGb(a.a,(f8b(),O6b),OIb(a,b.a),iHb(a.a,b.b));case 56:return FHb(a,b),iHb(a.a,b.a);case 26:return oIb(a,b.a,false);case 47:return rIb(a,b);case 29:return tIb(a,b);case 36:return OHb(a,b,(wNb(),OMb)),UGb(a.a,(f8b(),S5b),iHb(a.a,b.a),iHb(a.a,b.b));case 37:return OHb(a,b,(wNb(),OMb)),m=iHb(a.a,b.c),n=iHb(a.a,b.a),o=t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b((f8b(),_6b),"")),new U3b(r7b),n),T3b(o,n),p=UGb(a.a,S5b,m,o),q=s3b(p,p.g,73),q!=p.g&&(p.g=
q),p.g=new x4b(73,1,p.g),n3b(p,58,b.b),p;case 88:return OHb(a,b,(wNb(),OMb)),RHb(a,b,OMb),r=TGb(a.a,(f8b(),S5b),iHb(a.a,b.d)),LHb(a,r,b.b),s=s3b(r,r.g,75),s!=r.g&&(r.g=s),r.g=new x4b(75,1,r.g),o3b(r,84,b.a),H3b(r,b.c),JHb(r,b.a),r;case 38:return OHb(a,b,(wNb(),OMb)),t=UGb(a.a,(f8b(),S5b),iHb(a.a,b.c),iHb(a.a,b.b)),u=s3b(t,t.g,72),u!=t.g&&(t.g=u),t.g=new x4b(72,1,t.g),b.b.i&&(v=s3b(t,t.g,58),v!=t.g&&(t.g=v),t.g=new x4b(58,1,t.g)),JHb(t,b.a),t;case 39:return OHb(a,b,(wNb(),OMb)),w=iHb(a.a,b.d),A=iHb(a.a,
b.a),B=L$b(NIb(a,b.c)),C=t$b((te(tkc("",Nkc(46))==-1,tCc,""),new U4b((f8b(),_6b),"")),B,A),T3b(C,A),D=UGb(a.a,S5b,w,C),F=s3b(D,D.g,74),F!=D.g&&(D.g=F),D.g=new x4b(74,1,D.g),n3b(D,58,b.b),D;case 15:return yIb(a,b);case 45:return G=DHb(b.b.c),H=iHb(a.a,b.a),GHb(a,G,b.c==1,H);case 0:return WHb(a,b);case 27:return nIb(a,b);case 19:return DIb(a,b);case 21:return TGb(a.a,(f8b(),T7b),iHb(a.a,b.a));case 23:return GIb(a,b);case 3:return THb(a.a.u,b.a);case 12:return MIb(a,b);case 4:return LIb(a,b);case 9:return UGb(a.a,
(f8b(),c8b),iHb(a.a,b.b),jHb(a.a,b.a));case 16:return UGb(a.a,(f8b(),d8b),iHb(a.a,b.b),jHb(a.a,b.a));case 41:return _Hb(a,b);case 64:return SGb((g=a,b,g).a,(f8b(),d6b));case 57:return jHb(a.a,b.a);case 40:return XGb((c=a,b,c).a,(f8b(),_6b),BHc);case 35:return I=sIb(a,b.a),J3b(I,(f8b(),K7b)),!!b.b&&I2b(I,iHb(a.a,b.b)),I;case 33:return J=sIb(a,b.c),J3b(J,(f8b(),y6b)),K=iHb(a.a,b.a),L=(te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,"")),fHb(L,b.a),M=new U3b(r7b),fHb(M,b.a),N=VGb(a.a,r6b,L,M,K),fHb(N,b.a),
I2b(J,N),LHb(a,N,b.d),H3b(J,b.b),J;case 34:return O=sIb(a,b.d),J3b(O,(f8b(),E7b)),P=iHb(a.a,b.a),Q=(te(tkc("",Nkc(46))==-1,tCc,""),new U4b(_6b,"")),eHb(Q,b.d),R=L$b(NIb(a,b.c)),eHb(R,b.c),LHb(a,R.b,b.e),S=VGb(a.a,r6b,Q,R,P),fHb(S,b.a),I2b(O,S),H3b(O,b.b),O;case 62:return gIb(a,b);case 50:return $Hb(a,b);case 58:return OHb(a,b,(wNb(),rNb)),SGb(a.a,(f8b(),N7b));case 93:return OHb(a,b,(wNb(),iNb)),SGb(a.a,(f8b(),g7b));case 72:return T=SGb(a.a,(f8b(),e8b)),!!b.a&&H2b(T,iHb(a.a,b.a)),M3b(T,b.b),T;case 94:return OHb(a,
b,(wNb(),KMb)),U=SGb(a.a,(f8b(),A5b)),H2b(U,iHb(a.a,b.a)),U;case 71:return OHb(a,b,(wNb(),XMb)),V=iHb(a.a,b.c),W=(lm(),Ao(QC(LC(kS,1),NAc,1,5,[(f8b(),k5b),m7b]))),W.contains(V.j)&&a.a.d.ih("Invalid LHS for a for-of loop",a.a.r,(GGb(),b.c.o.b.b+1),b.c.o.b.a),VGb(a.a,q6b,V,iHb(a.a,b.b),jHb(a.a,b.a));case 67:return cIb(a,b);case 68:return dIb(a,b);case 69:return OHb(a,b,(wNb(),gNb)),X=RIb(a,b.a,b),Y=b.d?XGb(a.a,(f8b(),G6b),b.d.a):QIb(a,(f8b(),F6b),b.b),b4b(Y.i)==-1&&gHb(Y,b.o.b,b.o.a),Z=zIb(a,b.c),VGb(a.a,
(f8b(),D6b),X,Y,Z);case 70:return $=oIb(a,b.b,true),J3b($,(f8b(),_6b)),ab=TGb(a.a,E6b,$),!!b.a&&H2b(ab,oIb(a,b.a,false)),ab;case 59:return VHb(a,b);case 61:return uIb(a,b);case 60:return TGb(a.a,(f8b(),z7b),kHb(a.a,b.a));case 32:case 31:case 30:return a.a.d.ih("unsupported language feature: array/generator comprehensions",a.a.r,(GGb(),b.o.b.b+1),b.o.b.a),XGb(a.a,(f8b(),_6b),BHc);case 73:return OHb(a,b,(wNb(),RMb)),UGb(a.a,(f8b(),Z5b),iHb(a.a,b.b),iHb(a.a,b.a));case 65:return OHb(a,b,(wNb(),nNb)),
bb=kHb(a.a,b.a),(bb.j==(f8b(),n7b)||bb.j==l5b)&&OHb(a,b.a,SMb),TGb(a.a,z7b,bb);case 63:return OHb(a,b,(wNb(),pNb)),TGb(a.a,(f8b(),H7b),iHb(a.a,b.a));case 77:return HIb(a,b);case 79:return cb=iHb(a.a,b.a),LHb(a,cb,b.b),cb;case 80:return RHb(a,b,(wNb(),kNb)),db=iHb(a.a,b.a),eb=s3b(db,db.g,80),eb!=db.g&&(db.g=eb),db.g=new x4b(80,1,db.g),db;case 81:return vIb(a,b);case 82:return HGb(a.a,l8b(iHb(a.a,b.a)));case 83:return wIb(a,b);case 84:return KIb(a,b);case 85:return jIb(a,b);case 78:return IIb(a,b);
case 86:return kIb(a,b);case 87:return fb=XGb(a.a,(f8b(),X6b),b.e.a),LHb(a,fb,b.b),H3b(fb,b.d),n3b(fb,80,b.c),JHb(fb,b.a),fb;case 51:return mIb(a,b);case 54:return bIb(a,b);case 89:return RHb(a,b,(wNb(),uNb)),gb=XGb(a.a,(f8b(),X7b),b.a.a),I2b(gb,iHb(a.a,b.b)),gb;case 90:return RHb(a,b,(wNb(),IMb)),TGb(a.a,(f8b(),X5b),iHb(a.a,b.a));case 52:return pIb(a,b);case 91:return RHb(a,b,(wNb(),aNb)),hb=iHb(a.a,b.b),ib=Y2b(hb,78),ib.j!=(f8b(),l7b)&&ib.j!=L7b&&a.a.d.ih("Index signature parameter type must be 'string' or 'number'",
a.a.r,(GGb(),b.b.o.b.b+1),b.b.o.b.a),jb=TGb(a.a,J6b,hb),LHb(a,jb,b.a),jb;case 92:return RHb(a,b,b.c?(wNb(),PMb):(wNb(),MMb)),kb=TGb(a.a,(f8b(),K5b),iHb(a.a,b.a)),LHb(a,kb,b.d),KHb(a,kb,b.b),n3b(kb,83,b.c),kb}return a.a.d.ih("Unsupported syntax: "+b.p,a.a.r,(GGb(),b.o.b.b+1),0),SGb(a.a,(f8b(),d6b))}function RZ(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb;if(a.g&&!!Y2b(b,29)){G=ceb(a.e,Y2b(b,29));qkc(G,"/** */ ")||pZ(a.c,G)}bb=
b.j;N=Ajb(bb);p=T2b(b);t=b.b;H=b.b?b.b.f:null;if(N!=null&&t!=H){ue(p==2,N,p);O=Cjb(bb);X=c==3?3:4;K=c==2&&t.j==(f8b(),n7b);b.j==(f8b(),n5b)&&K&&pZ(a.c,"(");if(Bib(b)||bb==j6b){WZ(a,t,O+1,c);rZ(a.c,N,true);WZ(a,H,O,X)}else h$(a,b,bb,N,c,X,O,O+1);b.j==n5b&&K&&pZ(a.c,")");return}a.c.Ag(b);switch(bb.f){case 44:{oe(t.d.j==(f8b(),G5b)&&!c3b(t.d));oe(p>=2&&p<=3);pZ(a.c,"try");a.Bg(t,4);n=t.d.b;!!n&&a.Bg(n,4);if(p==3){a.c.wg();pZ(a.c,HCc);a.Bg(H,4)}break}case 77:oe(p==2);a.c.wg();pZ(a.c,"catch");a.c.wg();
pZ(a.c,"(");a.Bg(t,4);pZ(a.c,")");a.Bg(H,4);break;case 39:oe(p==1);pZ(a.c,"throw");a.c.wg();a.Bg(t,4);a.c.sg(true);break;case 0:pZ(a.c,ICc);if(p==1){a.c.wg();a.Bg(t,4)}else oe(p==0);a.c.sg(false);break;case 75:pZ(a.c,"var ");$Z(a,t,false,c==3?3:4,",");(!b.e||(Shb(),jjb(b.e)))&&a.c.sg(false);break;case 86:pZ(a.c,"const ");$Z(a,t,false,c==3?3:4,",");(!b.e||(Shb(),jjb(b.e)))&&a.c.sg(false);break;case 98:pZ(a.c,"let ");$Z(a,t,false,c==3?3:4,",");(!b.e||(Shb(),jjb(b.e)))&&a.c.sg(false);break;case 88:oe(b.hi().length!=
0);YZ(a,b.hi());break;case 93:a.Bg(t,4);if(t!=H){oe(p==2);rZ(a.c,"=",true);a.Bg(H,4)}break;case 29:a.k&&Y2b(b,40)!=null?YZ(a,Y2b(b,40)):YZ(a,b.hi());W2b(b,80)!=0&&pZ(a.c,"?");e$(a,b);if(!!t&&t.j!=(f8b(),d6b)){oe(p==1);rZ(a.c,"=",true);t.j==(f8b(),R5b)?WZ(a,t,Cjb(n5b),4):WZ(a,t,0,c==3?3:4)}break;case 42:pZ(a.c,"[");UZ(a,t);pZ(a.c,"]");break;case 91:pZ(a.c,"[");UZ(a,t);pZ(a.c,"]");e$(a,b);break;case 45:pZ(a.c,"(");$Z(a,t,true,4,",");pZ(a.c,")");break;case 116:a.Bg(t,4);e$(a,b);rZ(a.c,"=",true);a.Bg(t.d,
4);break;case 46:oe(p==2);h$(a,b,(f8b(),R5b),",",c,c==3?3:4,0,0);break;case 30:oe(p==0);a.c.gg(b.gi(),b);break;case 25:case 78:case 19:case 20:case 21:{oe(p==1);rZ(a.c,Bjb(bb),false);WZ(a,t,Cjb(bb),4);break}case 22:{oe(p==1);if(b.b.j==(f8b(),k7b))a.c.gg(-b.b.gi(),b.b);else{rZ(a.c,Bjb(bb),false);WZ(a,t,Cjb(bb),4)}break}case 60:{oe(p==3);O=Cjb(bb);X=c==3?3:4;WZ(a,t,O+1,c);rZ(a.c,"?",true);WZ(a,t.d,1,X);rZ(a.c,":",true);WZ(a,H,1,X);break}case 38:if(t.j!=(f8b(),J7b)||H.j!=J7b)throw BU(new nic("Expected children to be strings"));
V="/"+g$(a,t.hi(),'"',"'","`","\\",false,true)+"/";if(p==2)SZ(a,V+H.hi());else{oe(p==1);pZ(a.c,V)}break;case 65:{if(b.Hj!=WQ)throw BU(new nic(JCc));oe(p==3);W2b(b,60)!=0?(oe(t.hi().length==0),cb=(db=b.e,!!db&&(Shb(),Cib(db.j)||njb(db.j)||pjb(db.j)||db.j==(f8b(),P7b)||db.j==(f8b(),x6b)||(db.j==(f8b(),w6b)||db.j==J5b||db.j==A6b)&&(eb=b.e,!!eb&&b==eb.b))),cb&&pZ(a.c,"("),fb=Y2b(t,81),!!fb&&a.Bg(fb,4),W2b(b,61)!=0&&pZ(a.c,KCc),a.Bg(t.d,4),e$(a,b),rZ(a.c,"=>",true),H.j==(f8b(),G5b)?a.Bg(H,4):WZ(a,H,Cjb(R5b)+
1,c),a.c.pg(c==0),cb&&pZ(a.c,")"),undefined):XZ(a,b,t,H,c);break}case 110:pZ(a.c,LCc);a.Bg(t,4);e$(a,b);break;case 111:pZ(a.c,LCc);a.Bg(b.b,4);break;case 106:pZ(a.c,MCc);W2b(b,63)!=0&&pZ(a.c,NCc);if(W2b(b,64)!=0){pZ(a.c,"*");oe(!!t&&t.j==(f8b(),d6b))}else a.Bg(t,4);if(p==2){pZ(a.c,OCc);a.Bg(H,4)}f$(a,t,c);break;case 102:pZ(a.c,PCc);Y=t.d;if(t.j!=(f8b(),d6b)){a.Bg(t,4);Y.j==d6b||a.c.ug()}Y.j==d6b||a.Bg(Y,4);(t.j!=d6b||Y.j!=d6b)&&pZ(a.c,OCc);a.Bg(H,4);a.c.sg(false);break;case 107:case 103:pZ(a.c,"{");
for(j=t;j;j=j.d){j!=t&&a.c.ug();a.Bg(j,4)}pZ(a.c,"}");break;case 108:case 104:a.Bg(t,4);if(t!=H){pZ(a.c,"as");a.Bg(H,4)}break;case 105:pZ(a.c,"*");pZ(a.c,"as");SZ(a,b.hi());break;case 94:{oe(p==3);q=c==2;q&&pZ(a.c,"(");J=t;Z=t.d;I=H;pZ(a.c,QCc);J.j==(f8b(),d6b)||a.Bg(J,4);A=Y2b(t,81);!!A&&a.Bg(A,4);if(Z.j!=d6b){pZ(a.c,RCc);a.Bg(Z,4)}D=Y2b(b,82);if(D){pZ(a.c,SCc);o=D.b;a.Bg(o,4);while(o=o.d){pZ(a.c,",");a.c.wg();a.Bg(o,4)}}a.Bg(I,4);uZ(a.c,c==0);q&&pZ(a.c,")")}break;case 95:case 148:case 158:sZ(a.c);
for(k=t;k;k=k.d){a.Bg(k,4);f$(a,k,c);a.c.qg()}tZ(a.c,false);break;case 150:sZ(a.c);for(l=t;l;l=l.d){a.Bg(l,4);!!l.d&&pZ(a.c,",");a.c.qg()}tZ(a.c,false);break;case 84:case 85:case 96:case 154:{P3b(b.e);oe(b.e.j==(f8b(),m7b)||b.e.j==P5b||b.e.j==N6b||b.e.j==x7b||b.e.j==J6b);e=Y2b(b,84);!!e&&SZ(a,(e.e!=null?e.e:""+e.f).toLowerCase()+" ");W2b(b,58)!=0&&pZ(a.c,"static ");if(b.j!=X6b&&W2b(b.b,59)!=0){oe(bb==W6b);pZ(a.c,"*")}b.j==W6b&&W2b(b.b,61)!=0&&pZ(a.c,"async ");switch(bb.f){case 84:oe(!t.b.d.b);pZ(a.c,
"get ");break;case 85:oe(d3b(t.b.d));pZ(a.c,"set ")}J=b.hi();if(b.j==X6b){SZ(a,b.hi());W2b(b,80)!=0&&pZ(a.c,"?");e$(a,b)}else{oe(p==1);oe(t.j==r6b);oe(t.b.hi().length==0);u=t;P=u.b.d;h=u.b?u.b.f:null;if(!b.ji()&&k8b(J)&&Wib(J)){pZ(a.c,J);d$(a,u.b)}else{r=n$(J);isNaN(r)?ZZ(a,b):a.c.gg(r,b)}W2b(u,80)!=0&&pZ(a.c,"?");a.Bg(P,4);e$(a,u);a.Bg(h,4)}break}case 83:case 109:case 80:{if(b.Hj!=WQ)throw BU(new nic(JCc));U=b.j==(f8b(),G5b)&&W2b(b,38)==0;U&&sZ(a.c);T=bb==D7b||bb==G5b&&!U&&!!b.e&&b.e.j==D7b;for(m=
t;m;m=m.d){a.Bg(m,0);(m.j==r6b||m.j==O5b)&&a.c.xg();T&&a.c.yg()}U&&tZ(a.c,a.c.mg(b,c==0));break}case 72:if(p==4){pZ(a.c,"for");a.c.wg();pZ(a.c,"(");Shb();!!t&&(t.j==(f8b(),_7b)||t.j==T6b||t.j==T5b)?a.Bg(t,3):WZ(a,t,0,3);pZ(a.c,";");a.Bg(t.d,4);pZ(a.c,";");a.Bg(t.d.d,4);pZ(a.c,")");_Z(a,H,c==1?1:4,false)}else{oe(p==3);pZ(a.c,"for");a.c.wg();pZ(a.c,"(");a.Bg(t,4);pZ(a.c,"in");a.Bg(t.d,4);pZ(a.c,")");_Z(a,H,c==1?1:4,false)}break;case 99:oe(p==3);pZ(a.c,"for");a.c.wg();pZ(a.c,"(");a.Bg(t,4);pZ(a.c,"of");
a.Bg(t.d,4);pZ(a.c,")");_Z(a,H,c==1?1:4,false);break;case 71:oe(p==2);pZ(a.c,"do");_Z(a,t,4,false);a.c.wg();pZ(a.c,TCc);a.c.wg();pZ(a.c,"(");a.Bg(H,4);pZ(a.c,")");a.c.sg(false);break;case 70:oe(p==2);pZ(a.c,TCc);a.c.wg();pZ(a.c,"(");a.Bg(t,4);pZ(a.c,")");_Z(a,H,c==1?1:4,false);break;case 79:oe(p==0);break;case 26:{if(a.k&&Y2b(b,40)!=null){l3b(b.b,"$jscomp.scope")&&b.e.j==(f8b(),n5b)&&pZ(a.c,"var ");YZ(a,Y2b(b,40));break}qe(p==2,"Bad GETPROP: expected 2 children, but got %s",p);pe(H.j==(f8b(),J7b),
"Bad GETPROP: RHS should be STRING");K=t.j==k7b;K&&pZ(a.c,"(");WZ(a,t,Cjb(bb),c);K&&pZ(a.c,")");if(a.i&&j8b(H.hi())){pZ(a.c,"[");a.Bg(H,4);pZ(a.c,"]")}else{pZ(a.c,".");YZ(a,H.hi())}break}case 27:se(p==2,p,b);WZ(a,t,Cjb(bb),c);pZ(a.c,"[");a.Bg(t.d,4);pZ(a.c,"]");break;case 76:oe(p==2);pZ(a.c,"with(");a.Bg(t,4);pZ(a.c,")");_Z(a,H,c==1?1:4,false);break;case 63:case 64:{oe(p==1);M=bb==(f8b(),I6b)?"++":"--";R=W2b(b,32)!=0;if(R){WZ(a,t,Cjb(bb),c);rZ(a.c,M,false)}else{rZ(a.c,M,false);a.Bg(t,4)}break}case 28:if(t.j==
(f8b(),_6b)&&qkc("eval",t.hi())&&W2b(t,49)==0||W2b(b,50)!=0&&(Shb(),t.j==x6b||t.j==w6b)){pZ(a.c,"(0,");WZ(a,t,Cjb(R5b),4);pZ(a.c,")")}else WZ(a,t,Cjb(bb),c);g=t.d;pZ(a.c,"(");$Z(a,g,true,4,",");pZ(a.c,")");break;case 66:oe(p==2||p==3);B=p==3;f=c==1&&!B;f&&sZ(a.c);pZ(a.c,"if");a.c.wg();pZ(a.c,"(");a.Bg(t,4);pZ(a.c,")");if(B){_Z(a,t.d,1,false);a.c.wg();pZ(a.c,"else");_Z(a,H,c==1?1:4,false)}else _Z(a,t.d,4,false);f&&tZ(a.c,false);break;case 32:oe(p==0);pZ(a.c,FAc);break;case 33:oe(p==0);pZ(a.c,UCc);
break;case 97:oe(p==0);pZ(a.c,VCc);break;case 117:oe(p==0);pZ(a.c,WCc);break;case 100:pZ(a.c,"yield");if(W2b(b,62)!=0){ie(t);pZ(a.c,"*")}if(t){a.c.wg();WZ(a,t,Cjb(bb),4)}break;case 101:pZ(a.c,"await ");WZ(a,t,Cjb(bb),4);break;case 34:oe(p==0);pZ(a.c,XCc);break;case 35:oe(p==0);pZ(a.c,YCc);break;case 74:oe(p<=1);pZ(a.c,ZCc);if(p==1){if(t.j!=(f8b(),P6b))throw BU(new nic($Cc));pZ(a.c," ");a.Bg(t,4)}a.c.sg(false);break;case 87:oe(p==0);pZ(a.c,_Cc);a.c.sg(false);break;case 73:oe(p<=1);pZ(a.c,"break");
if(p==1){if(t.j!=(f8b(),P6b))throw BU(new nic($Cc));pZ(a.c," ");a.Bg(t,4)}a.c.sg(false);break;case 82:oe(p==1);a.Bg(t,2);a.c.sg(false);break;case 23:pZ(a.c,"new ");S=Cjb(bb);Zhb(t,(f8b(),J5b),(Shb(),Mhb))&&(S=Cjb(t.j)+1);WZ(a,t,S,4);L=t.d;if(L){pZ(a.c,"(");$Z(a,L,true,4,",");pZ(a.c,")")}break;case 89:b$(a,b);break;case 31:pe(p==0,"A string may not have children");ZZ(a,b);break;case 24:oe(p==1);pZ(a.c,"delete ");a.Bg(t,4);break;case 43:{K=c==2;K&&pZ(a.c,"(");pZ(a.c,"{");for(m=t;m;m=m.d){m!=t&&a.c.ug();
oe(m.j==(f8b(),S5b)||m.j==y6b||m.j==E7b||m.j==K7b||m.j==W6b);a.Bg(m,4)}pZ(a.c,"}");K&&pZ(a.c,")");break}case 112:d=Y2b(b,84);!!d&&SZ(a,(d.e!=null?d.e:""+d.f).toLowerCase()+" ");W2b(b,58)!=0&&pZ(a.c,"static ");W2b(b,73)!=0?pZ(a.c,"get "):W2b(b,74)!=0?pZ(a.c,"set "):W2b(H,59)!=0?pZ(a.c,"*"):W2b(H,61)!=0&&pZ(a.c,KCc);pZ(a.c,"[");a.Bg(t,4);pZ(a.c,"]");e$(a,b);if(W2b(b,72)!=0||W2b(b,73)!=0||W2b(b,74)!=0){v=t.d;Q=v.b.d;h=v.b?v.b.f:null;a.Bg(Q,4);a.Bg(h,4)}else{F=b.e.j==(f8b(),P5b);C=t.d;if(C){pe(!F,"initializers should only exist in object literals, not classes");
rZ(a.c,":",false);a.Bg(C,4)}else pe(W2b(b,75)!=0,b)}break;case 92:a$(a,b);e$(a,b);break;case 67:pZ(a.c,"switch(");a.Bg(t,4);pZ(a.c,")");sZ(a.c);TZ(a,t.d);tZ(a.c,c==0);break;case 68:oe(p==2);pZ(a.c,"case ");a.Bg(t,4);VZ(a,H);break;case 69:oe(p==1);pZ(a.c,NCc);VZ(a,t);break;case 81:oe(p==2);if(t.j!=(f8b(),P6b))throw BU(new nic($Cc));a.Bg(t,4);pZ(a.c,":");H.j==G5b||a.c.wg();_Z(a,H,c==1?1:4,true);break;case 90:pZ(a.c,"(");a.Bg(t,4);pZ(a.c,")");break;case 113:a.Bg(t,2);a.Bg(t.d,4);break;case 114:pZ(a.c,
"`");for(i=t;i;i=i.d)if(i.j==(f8b(),J7b))SZ(a,g$(a,i.hi(),'"',"'","\\`",xAc,false,false));else{a.c.hg("${");a.Bg(i.b,2);pZ(a.c,"}")}pZ(a.c,"`");break;case 118:pZ(a.c,vAc);break;case 119:pZ(a.c,sAc);break;case 120:pZ(a.c,tAc);break;case 124:pZ(a.c,"any");break;case 126:pZ(a.c,aDc);break;case 128:a.Bg(t,4);break;case 132:WZ(a,t,Cjb((f8b(),m5b)),c);pZ(a.c,"[]");break;case 121:W=t;pZ(a.c,"(");$Z(a,t.d,true,4,",");pZ(a.c,")");rZ(a.c,"=>",true);a.Bg(W,4);break;case 123:$Z(a,t,true,4,"|");break;case 130:pZ(a.c,
"{");$Z(a,t,false,4,",");pZ(a.c,"}");break;case 122:a.Bg(t,4);pZ(a.c,"<");$Z(a,t.d,true,4,",");pZ(a.c,">");break;case 134:pZ(a.c,"<");$Z(a,t,false,0,",");pZ(a.c,">");break;case 133:YZ(a,b.hi());if(b.b){pZ(a.c,RCc);a.c.wg();a.Bg(b.b,4)}break;case 146:{oe(p==3);J=t;ab=t.d;I=H;pZ(a.c,bDc);a.Bg(J,4);A=Y2b(J,81);!!A&&a.Bg(A,4);if(ab.j!=(f8b(),d6b)){pZ(a.c,RCc);$=ab.b;a.Bg($,4);while($=$.d){pZ(a.c,",");a.c.wg();a.Bg($,4)}}a.Bg(I,4)}break;case 149:{oe(p==2);J=t;I=H;pZ(a.c,cDc);a.Bg(J,4);a.Bg(I,4);break}case 157:{oe(p==
2);J=t;s=H;pZ(a.c,dDc);a.Bg(J,4);a.Bg(s,4);break}case 152:pZ(a.c,eDc);SZ(a,b.hi());rZ(a.c,"=",true);a.Bg(H,4);a.c.sg(true);break;case 153:pZ(a.c,fDc);a.Bg(t,4);f$(a,b,c);break;case 155:pZ(a.c,"[");a.Bg(t,4);pZ(a.c,"]");e$(a,b);a.c.sg(true);break;case 156:W2b(b,83)!=0&&pZ(a.c,"new ");w=Y2b(b,81);!!w&&a.Bg(w,4);a.Bg(t,4);e$(a,b);a.c.sg(true);break;default:throw BU(new TB("Unknown type "+bb+BBc+P3b(b)));}a.c.rg(b)}function tJb(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A,B,C,D,F,G,H,I,J,K,L,
M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,ab,bb,cb,db,eb,fb,gb,hb,ib,jb;w=a.j.g;k=HKb(a.j);e=a.j.n;d=co(a.a,e);if(!d||e.length==0)_Ib(a,wGc,e,a.j.g,HKb(a.j));else{k1b(a.e,e,w,k);switch(d.f){case 0:X_b(a.e.a)?ZIb(a,"msg.jsdoc.nginject.extra",a.j.g,HKb(a.j)):W1b(a.e);return gJb(a,!a.o?IKb(a.j):eJb(a));case 25:T_b(a.e.a)?ZIb(a,"msg.jsdoc.jaggerInject.extra",a.j.g,HKb(a.j)):N1b(a.e);return gJb(a,!a.o?IKb(a.j):eJb(a));case 26:U_b(a.e.a)?ZIb(a,"msg.jsdoc.jaggerModule.extra",a.j.g,HKb(a.j)):O1b(a.e);return gJb(a,!a.o?
IKb(a.j):eJb(a));case 27:V_b(a.e.a)?ZIb(a,"msg.jsdoc.jaggerProvide.extra",a.j.g,HKb(a.j)):P1b(a.e);return gJb(a,!a.o?IKb(a.j):eJb(a));case 28:W_b(a.e.a)?ZIb(a,"msg.jsdoc.jaggerProvidePromise.extra",a.j.g,HKb(a.j)):Q1b(a.e);return gJb(a,!a.o?IKb(a.j):eJb(a));case 1:o1b(a.e)||aJb(a,GHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 2:if(a.e.c){i=jJb(a);h=i.a;h.length==0?ZIb(a,"msg.jsdoc.authormissing",a.j.g,HKb(a.j)):e1b(a.e,h);b=i.b}else b=gJb(a,!a.o?IKb(a.j):eJb(a));return b;case 3:r1b(a.e)||
ZIb(a,"msg.jsdoc.consistidgen",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 56:r2b(a.e)||aJb(a,GHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 49:i2b(a.e)||aJb(a,GHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 10:y1b(a.e)||aJb(a,GHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 5:t1b(a.e)||(S_b(a.e.a)?aJb(a,HHc,a.j.g,HKb(a.j)):aJb(a,GHc,a.j.g,HKb(a.j)));return gJb(a,!a.o?IKb(a.j):eJb(a));case 6:L1b(a.e)||aJb(a,"msg.jsdoc.record",a.j.g,HKb(a.j));return gJb(a,
!a.o?IKb(a.j):eJb(a));case 8:v1b(a.e)||ZIb(a,"msg.jsdoc.deprecated",a.j.g,HKb(a.j));L=iJb(a,b,a.f?0:2,false);K=L.a;K.length>0&&w1b(a.e,K);b=L.b;return b;case 24:M1b(a.e)||((a.e.a.a&2)!=0?aJb(a,HHc,a.j.g,HKb(a.j)):aJb(a,GHc,a.j.g,HKb(a.j)));return gJb(a,!a.o?IKb(a.j):eJb(a));case 9:if(v_b(a.e.a)!=null){ZIb(a,"msg.jsdoc.desc.extra",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a))}else{m=iJb(a,b,a.f?0:2,false);l=m.a;x1b(a.e,l);b=m.b;return b}case 17:n="";if(a.e.c&&!lJb(a,64)){o=iJb(a,b,a.f?0:1,false);
n=o.a;b=o.b}else b=gJb(a,!a.o?IKb(a.j):eJb(a));F1b(a.e,n)||ZIb(a,"msg.jsdoc.fileoverview.extra",a.j.g,HKb(a.j));return b;case 30:case 42:J=iJb(a,b,0,true);I=J.a;I.length>0&&!!a.c&&f1b(a.c,I);b=J.b;return b;case 12:b=!a.o?IKb(a.j):eJb(a);w=a.j.g;k=HKb(a.j);Y=null;if(b!=(BKb(),nKb)&&b!=lKb){bb=sJb(a,b,a.j.g,HKb(a.j),b==qKb,false);if(!!bb&&bb.j==(f8b(),J7b)){Z=bb.hi();!qkc(Z,tAc)&&!qkc(Z,vAc)&&!qkc(Z,sAc)&&(bb=WJb(a,(f8b(),B5b),bb))}Y=!bb?null:new B2b(bb,!a.g?null:a.g.Hg())}else a.o=b;!Y&&(Y=dJb(a,pJb(a,
tAc,a.j.g,HKb(a.j))));A1b(a.e,Y)||a.b.jh(EHc+f5b(GHc,null)+FHc,!a.g?null:a.g.Hg(),w,k);return gJb(a,!a.o?IKb(a.j):eJb(a));case 16:C1b(a.e)||ZIb(a,"msg.jsdoc.expose",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 14:E1b(a.e)||ZIb(a,"msg.jsdoc.externs",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 13:case 21:UJb(a);b=!a.o?IKb(a.j):eJb(a);w=a.j.g;k=HKb(a.j);A=false;if(b==(BKb(),qKb)){b=!a.o?IKb(a.j):eJb(a);A=true}if(b==AKb){bb=sJb(a,b,w,k,A,true);w=a.j.g;k=HKb(a.j);bb=WJb(a,(f8b(),
B5b),bb);Y=!bb?null:new B2b(bb,!a.g?null:a.g.Hg());if(d==(gGb(),nFb))Eoc(c,new $Jb(Y,a.j.g,HKb(a.j)));else{oe(d==tFb);J1b(a.e,Y)||a.b.jh(EHc+f5b("msg.jsdoc.implements.duplicate",null)+FHc,!a.g?null:a.g.Hg(),w,k)}b=!a.o?IKb(a.j):eJb(a);A?b!=wKb?aJb(a,IHc,a.j.g,HKb(a.j)):b=!a.o?IKb(a.j):eJb(a):b!=nKb&&b!=mKb&&b!=lKb&&aJb(a,"msg.end.annotation.expected",a.j.g,HKb(a.j))}else a.b.jh(EHc+f5b("msg.no.type.name",null)+FHc,!a.g?null:a.g.Hg(),w,k);b=gJb(a,b);return b;case 19:H1b(a.e)||ZIb(a,"msg.jsdoc.hidden",
a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 29:UJb(a);A=false;if(mJb(a,(BKb(),qKb))){b=!a.o?IKb(a.j):eJb(a);A=true}if(mJb(a,AKb)){b=!a.o?IKb(a.j):eJb(a);R1b(a.e,a.j.n)||aJb(a,"msg.jsdoc.lends.incompatible",a.j.g,HKb(a.j))}else aJb(a,"msg.jsdoc.lends.missing",a.j.g,HKb(a.j));A&&!mJb(a,wKb)&&aJb(a,IHc,a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 31:C=iJb(a,b,a.f?0:2,false);B=C.a;b=C.b;U1b(a.e,B)||ZIb(a,"msg.jsdoc.meaning.extra",a.j.g,HKb(a.j));return b;case 33:X1b(a.e)||ZIb(a,
"msg.jsdoc.noalias",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 35:Z1b(a.e)||ZIb(a,"msg.jsdoc.nocompile",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 34:Y1b(a.e)||ZIb(a,"msg.jsdoc.nocollapse",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 37:return gJb(a,!a.o?IKb(a.j):eJb(a));case 23:case 38:b2b(a.e)||aJb(a,"msg.jsdoc.override",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 41:Y_b(a.e.a)?ZIb(a,"msg.jsdoc.polymerBehavior.extra",a.j.g,HKb(a.j)):e2b(a.e);return gJb(a,
!a.o?IKb(a.j):eJb(a));case 53:{UJb(a);b=!a.o?IKb(a.j):eJb(a);w=a.j.g;k=HKb(a.j);Y=null;if(b==(BKb(),qKb)){Y=dJb(a,sJb(a,b,a.j.g,HKb(a.j),b==qKb,false));if(!Y)return gJb(a,!a.o?IKb(a.j):eJb(a))}b=eJb(a);n2b(a.e,Y);t=lJb(a,64);if(a.e.c&&!t){m=iJb(a,b,a.f?0:2,false);l=m.a;l.length>0&&m2b(a.e,Y,l);b=m.b}else b=gJb(a,!a.o?IKb(a.j):eJb(a));return b}case 40:UJb(a);b=!a.o?IKb(a.j):eJb(a);w=a.j.g;k=HKb(a.j);Y=null;q=false;if(b==(BKb(),qKb)){Y=dJb(a,(ae(b==qKb),gb=a.j.g,hb=HKb(a.j),ib=(ae(b==qKb),UJb(a),jb=
EJb(a,!a.o?IKb(a.j):eJb(a)),!!jb&&(mJb(a,wKb)?!a.o?IKb(a.j):eJb(a):(aJb(a,IHc,a.j.g,HKb(a.j)),null)),jb),RJb(a,gb,hb,ib,true),ib));if(!Y)return gJb(a,!a.o?IKb(a.j):eJb(a));UJb(a);b=!a.o?IKb(a.j):eJb(a);w=a.j.g;k=HKb(a.j);q=true}D=null;u=sKb==b;u&&(b=!a.o?IKb(a.j):eJb(a));if(AKb!=b)a.b.jh(EHc+f5b("msg.missing.variable.name",null)+FHc,!a.g?null:a.g.Hg(),w,k);else{q||YIb(a,a.j.g,HKb(a.j));D=a.j.n;if(u){b=!a.o?IKb(a.j):eJb(a);if(oKb==b){b=!a.o?IKb(a.j):eJb(a);AKb==b&&(b=!a.o?IKb(a.j):eJb(a))}yKb!=b?(aJb(a,
"msg.jsdoc.missing.rb",a.j.g,HKb(a.j)),null):!!Y&&(Y=Y.a.j==(f8b(),i6b)||Y.a.j==c6b?Y:new B2b(new W3b(i6b,Y.a),Y.b))}if(k8b(D))c2b(a.e,D,Y)||(i1b(a.e,D)?a.b.jh((g=QC(LC(kS,1),NAc,1,5,[D]),EHc+f5b("msg.dup.variable.name",g)+FHc),!a.g?null:a.g.Hg(),w,k):a.b.jh((f=QC(LC(kS,1),NAc,1,5,[D]),EHc+f5b(GHc,f)+FHc),!a.g?null:a.g.Hg(),w,k));else{a.b.jh((f=QC(LC(kS,1),NAc,1,5,[D]),f5b("msg.invalid.variable.name",f)),!a.g?null:a.g.Hg(),w,k);D=null}}if(D==null){b=gJb(a,b);return b}l1b(a.e,D,a.g,w,k);if(a.e.c&&
b!=gKb){H=iJb(a,b,a.f?0:2,false);G=H.a;G.length>0&&d2b(a.e,D,G);b=H.b}else b!=lKb&&b!=mKb&&(b=gJb(a,!a.o?IKb(a.j):eJb(a)));return b;case 36:$1b(a.e)||ZIb(a,"msg.jsdoc.nosideeffects",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 32:b=DJb(a,!a.o?IKb(a.j):eJb(a));return b;case 22:K1b(a.e)||aJb(a,"msg.jsdoc.implicitcast",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 47:if(a.e.c){N=jJb(a);M=N.a;M.length==0?ZIb(a,"msg.jsdoc.seemissing",a.j.g,HKb(a.j)):g1b(a.e,M);b=N.b}else b=gJb(a,!a.o?
IKb(a.j):eJb(a));return b;case 48:h2b(a.e)||ZIb(a,"msg.jsdoc.stableidgen",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));case 50:b=IJb(a,!a.o?IKb(a.j):eJb(a));return b;case 51:{S=a.j.g;Q=HKb(a.j);R=iJb(a,b,1,false);U=R.a;cb="";v=false;db=true;if(U.indexOf(":=")!=-1){X=U.indexOf(":=");T=U.substr(0,X);if(U.indexOf("=:")!=-1){v=true;V=U.indexOf("=:");cb=Lkc(U.substr(X+2,V-(X+2)))}else{db=false;a.b.jh(EHc+f5b("msg.jsdoc.typetransformation.missing.delimiter",null)+FHc,!a.g?null:a.g.Hg(),S,Q)}}else U.indexOf(BBc)!=
-1?T=Hkc(U,0,tkc(U,Nkc(10))):T=U;F=Ef(Gf(Jf(new nc(44)),(Mc(),Kc)),T);if(F.b.size()==1&&F.a.getAtIndex(0).length==0)a.b.jh(EHc+f5b("msg.jsdoc.templatemissing",null)+FHc,!a.g?null:a.g.Hg(),S,Q);else for($=new urc(F.b.Md());$.b.Ed();){Z=$.b.Fd();Z.length!=0&&xc((wc(),vc,Z.charCodeAt(0)))&&Ob(new Hc((rc(),qc),new nc(95)),Z)?v||k2b(a.e,Z)||a.b.jh(EHc+f5b(JHc,null)+FHc,!a.g?null:a.g.Hg(),S,Q):a.b.jh(EHc+f5b("msg.jsdoc.template.invalid.type.name",null)+FHc,!a.g?null:a.g.Hg(),S,Q)}if(v){F.b.size()>1&&a.b.jh(EHc+
f5b("msg.jsdoc.typetransformation.with.multiple.names",null)+FHc,!a.g?null:a.g.Hg(),S,Q);if(cb.length==0){db=false;a.b.jh(EHc+f5b("msg.jsdoc.typetransformation.expression.missing",null)+FHc,!a.g?null:a.g.Hg(),S,Q)}if(db){W=new MLb(cb,a.g,a.b,S,Q);kLb(W)&&!p2b(a.e,F.a.getAtIndex(0),W.e)&&a.b.jh(EHc+f5b(JHc,null)+FHc,!a.g?null:a.g.Hg(),S,Q)}}b=R.b;return b}case 20:b=BJb(a,!a.o?IKb(a.j):eJb(a));return b;case 58:u2b(a.e)||ZIb(a,"msg.jsdoc.wizaction",a.j.g,HKb(a.j));return gJb(a,!a.o?IKb(a.j):eJb(a));
case 11:{R=jJb(a);F=Ef(Gf(Jf(new nc(44)),(Mc(),Kc)),R.a);F.a.isEmpty()||F.a.getAtIndex(0).length==0?aJb(a,"msg.jsdoc.disposeparameter.missing",a.j.g,HKb(a.j)):z1b(a.e,F)||aJb(a,"msg.jsdoc.disposeparameter.error",a.j.g,HKb(a.j));b=R.b;return b}case 57:fb=jJb(a);eb=fb.a;eb.length==0?ZIb(a,"msg.jsdoc.versionmissing",a.j.g,HKb(a.j)):s2b(a.e,eb)||ZIb(a,"msg.jsdoc.extraversion",a.j.g,HKb(a.j));b=fb.b;return b;case 4:case 18:case 7:case 15:case 46:case 39:case 43:case 44:case 45:case 52:case 54:case 55:w=
a.j.g;k=HKb(a.j);ab=null;r=lJb(a,123);s=d==(gGb(),MFb)||d==QFb||d==RFb||d==SFb||d==dFb||d==qFb||d==lFb;j=s||d==UFb;Y=null;d==UFb&&!r&&YIb(a,a.j.g,HKb(a.j));if(r||!j){UJb(a);b=!a.o?IKb(a.j):eJb(a);ab=sJb(a,b,a.j.g,HKb(a.j),b==(BKb(),qKb),false);d==$Fb&&(ab=WJb(a,(f8b(),B5b),ab));Y=!ab?null:new B2b(ab,!a.g?null:a.g.Hg())}p=!Y&&!j;if(!p){(!!Y&&s||d==aGb)&&!o2b(a.e,Y)&&a.b.jh(EHc+f5b(GHc,null)+FHc,!a.g?null:a.g.Hg(),w,k);t=lJb(a,64);switch(d.f){case 4:s1b(a.e)||ZIb(a,"msg.jsdoc.const",a.j.g,HKb(a.j));
break;case 18:G1b(a.e)||aJb(a,"msg.jsdoc.final",a.j.g,HKb(a.j));break;case 7:u1b(a.e,Y)||a.b.jh(f5b("msg.jsdoc.define",null),!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 15:B1b(a.e)?t2b(a.e,(b1b(),a1b))||a.b.jh(f5b(KHc,null),!a.g?null:a.g.Hg(),w,k):a.b.jh(f5b("msg.jsdoc.export",null),!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 43:t2b(a.e,(b1b(),$0b))||a.b.jh(f5b(KHc,null),!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 39:t2b(a.e,(b1b(),Z0b))||a.b.jh(f5b(KHc,null),
!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 44:t2b(a.e,(b1b(),_0b))||a.b.jh(f5b(KHc,null),!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 45:t2b(a.e,(b1b(),a1b))||a.b.jh(f5b(KHc,null),!a.g?null:a.g.Hg(),w,k);if(!t)return QJb(a,b);break;case 46:!Y&&(Y=dJb(a,oJb(a,(f8b(),w7b))));if(!g2b(a.e,Y)){a.b.jh(EHc+f5b(GHc,null)+FHc,!a.g?null:a.g.Hg(),w,k);break}if(a.e.c&&!t){P=iJb(a,b,a.f?0:2,false);O=P.a;O.length>0&&f2b(a.e,O);b=P.b}else b=gJb(a,!a.o?IKb(a.j):eJb(a));return b;case 52:l2b(a.e,
Y)||a.b.jh(EHc+f5b(GHc,null)+FHc,!a.g?null:a.g.Hg(),w,k);break;case 55:q2b(a.e,Y)||a.b.jh(EHc+f5b(GHc,null)+FHc,!a.g?null:a.g.Hg(),w,k)}}return gJb(a,!a.o?IKb(a.j):eJb(a))}}return!a.o?IKb(a.j):eJb(a)}function mnb(){var a;a=new dlc;a.a+='{"externs/es3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview ECMAScript 3 Built-Ins. This include common extensions so this\\n * is actually ES3+Reality.\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n * @author nicksantos@google.com (Nick Santos)\\n * @author arv@google.com (Erik Arvidsson)\\n * @author johnlenz@google.com (John Lenz)\\n */\\n\\n\\n// START ES6 RETROFIT CODE\\n// symbol, Symbol and Symbol.iterator are actually ES6 types but some\\n// Some types require them to be part of their definition (such as Array).\\n\\n\\n// TODO(johnlenz): symbol should be a primitive type.\\n/** @typedef {?} */\\nvar symbol;\\n\\n/**\\n * @param {string=} opt_description\\n * @return {symbol}\\n */\\nfunction Symbol(opt_description) {}\\n\\n\\n/**\\n * @param {string} sym\\n * @return {symbol|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for\\n */\\nSymbol.for;\\n\\n\\n/**\\n * @param {symbol} sym\\n * @return {string|undefined}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/keyFor\\n */\\nSymbol.keyFor;\\n\\n\\n// Well known symbols\\n\\n/** @const {symbol} */\\nSymbol.iterator;\\n\\n/** @const {symbol} */\\nSymbol.toStringTag;\\n\\n/** @const {symbol} */\\nSymbol.unscopables;\\n\\n\\n/**\\n * @record\\n * @template VALUE\\n */\\nfunction IIterableResult() {};\\n\\n/** @type {boolean} */\\nIIterableResult.prototype.done;\\n\\n/** @type {VALUE} */\\nIIterableResult.prototype.value;\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n */\\nfunction Iterable() {}\\n\\n// TODO(johnlenz): remove this when the compiler understands \\"symbol\\" natively\\n/**\\n * @return {Iterator<VALUE>}\\n * @suppress {externsValidation}\\n */\\nIterable.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @interface\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/The_Iterator_protocol\\n */\\nfunction Iterator() {}\\n\\n/**\\n * @param {VALUE=} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nIterator.prototype.next;\\n\\n\\n/**\\n * Use this to indicate a type is both an Iterator and an Iterable.\\n * @interface\\n * @extends {Iterator<T>}\\n * @extends {Iterable<T>}\\n * @template T\\n */\\nfunction IteratorIterable() {}\\n\\n// END ES6 RETROFIT CODE\\n\\n\\n/**\\n * @interface\\n * @template KEY1, VALUE1\\n */\\nfunction IObject() {}\\n\\n/**\\n * @record\\n * @extends {IObject<number, VALUE2>}\\n * @template VALUE2\\n */\\nfunction IArrayLike() {}\\n\\n/** @type {number} */\\nIArrayLike.prototype.length;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments\\n */\\nfunction Arguments() {}\\n\\n/**\\n * @type {Function}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/callee\\n */\\nArguments.prototype.callee;\\n\\n/**\\n * Use the non-standard {@see Function.prototype.caller} property of a function\\n * object instead.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/arguments/caller\\n * @deprecated\\n */\\nArguments.prototype.caller;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments/length\\n */\\nArguments.prototype.length;\\n\\n/**\\n * Not actually a global variable, but we need it in order for the current type\\n * checker to typecheck the \\"arguments\\" variable in a function correctly.\\n * TODO(tbreisacher): When the old type checker is gone, delete this and add\\n * an \'arguments\' variable of type Array<string> in the d8 externs.\\n *\\n * @type {!Arguments}\\n * @see http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Functions_and_function_scope/arguments\\n */\\nvar arguments;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity\\n * @const\\n */\\nvar Infinity;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN\\n * @const\\n */\\nvar NaN;\\n\\n/**\\n * @type {undefined}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined\\n * @const\\n */\\nvar undefined;\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURI\\n */\\nfunction decodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent\\n */\\nfunction decodeURIComponent(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI\\n */\\nfunction encodeURI(uri) {}\\n\\n/**\\n * @param {string} uri\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent\\n */\\nfunction encodeURIComponent(uri) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction escape(str) {}\\n\\n/**\\n * Should only be used in browsers where encode/decodeURIComponent\\n * are not present, as the latter handle fancy Unicode characters.\\n * @param {string} str\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Predefined_Functions/escape_and_unescape_Functions\\n */\\nfunction unescape(str) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isFinite\\n */\\nfunction isFinite(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN\\n */\\nfunction isNaN(num) {}\\n\\n/**\\n * @param {*} num\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat\\n */\\nfunction parseFloat(num) {}\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {*} num\\n * @param {number|undefined} base\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt\\n */\\nfunction parseInt(num, base) {}\\n\\n/**\\n * @param {string} code\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval\\n */\\nfunction eval(code) {}\\n\\n\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {!Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object\\n */\\nfunction Object(opt_value) {}\\n\\n/**\\n * The constructor of the current object.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor\\n */\\nObject.prototype.constructor = function() {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when that property is\\n * looked up.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineGetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineGetter__ = function(sprop, fun) {};\\n\\n/**\\n * Binds an object\'s property to a function to be called when an attempt is made\\n * to set that property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop\\n * @param {Function} fun\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineSetter\\n * @return {undefined}\\n */\\nObject.prototype.__defineSetter__ = function(sprop, fun) {};\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nObject.prototype.hasOwnProperty = function(propertyName) {};\\n\\n/**\\n * Returns whether an object exists in another object\'s prototype chain.\\n *\\n * @param {Object} other\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf\\n */\\nObject.prototype.isPrototypeOf = function(other) {};\\n\\n/**\\n * Return the function bound as a getter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n * getter should be returned\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupGetter\\n */\\nObject.prototype.__lookupGetter__ = function(sprop) {};\\n\\n/**\\n * Return the function bound as a setter to the specified property.\\n * Mozilla-only.\\n *\\n * @param {string} sprop a string containing the name of the property whose\\n *     setter should be returned.\\n * @return {Function}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/lookupSetter\\n */\\nObject.prototype.__lookupSetter__ = function(sprop) {};\\n\\n/**\\n * Executes a function when a non-existent method is called on an object.\\n * Mozilla-only.\\n *\\n * @param {Function} fun\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/noSuchMethod\\n */\\nObject.prototype.__noSuchMethod__ = function(fun) {};\\n\\n/**\\n * Points to an object\'s context.  For top-level objects, this is the e.g. window.\\n * Mozilla-only.\\n *\\n * @type {Object}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/parent\\n */\\nObject.prototype.__parent__;\\n\\n/**\\n * Points to the object which was used as prototype when the object was instantiated.\\n * Mozilla-only.\\n *\\n * Will be null on Object.prototype.\\n *\\n * @type {Object}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto\\n */\\nObject.prototype.__proto__;\\n\\n/**\\n * Determine whether the specified property in an object can be enumerated by a\\n * for..in loop, with the exception of properties inherited through the\\n * prototype chain.\\n *\\n * @param {string} propertyName\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable\\n */\\nObject.prototype.propertyIsEnumerable = function(propertyName) {};\\n\\n/**\\n * Returns a localized string representing the object.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString\\n */\\nObject.prototype.toLocaleString = function() {};\\n\\n/**\\n * Returns a string representing the source code of the object.\\n * Mozilla-only.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toSource\\n */\\nObject.prototype.toSource = function() {};\\n\\n/**\\n * Returns a string representing the object.\\n * @this {*}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString\\n */\\nObject.prototype.toString = function() {};\\n\\n/**\\n * Removes a watchpoint set with the {@see Object.prototype.watch} method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/unwatch\\n * @return {undefined}\\n */\\nObject.prototype.unwatch = function(prop) {};\\n\\n/**\\n * Returns the object\'s {@code this} value.\\n * @return {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf\\n */\\nObject.prototype.valueOf = function() {};\\n\\n/**\\n * Sets a watchpoint method.\\n * Mozilla-only.\\n * @param {string} prop The name of a property of the object.\\n * @param {Function} handler A function to call.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/watch\\n * @return {undefined}\\n */\\nObject.prototype.watch = function(prop, handler) {};\\n\\n\\n/**\\n * @constructor\\n * @param {...*} var_args\\n * @throws {Error}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function\\n */\\nfunction Function(var_args) {}\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call\\n */\\nFunction.prototype.call = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {*}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply\\n */\\nFunction.prototype.apply = function(var_args) {};\\n\\nFunction.prototype.arguments;\\n\\n/**\\n * @type {number}\\n * @deprecated\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arity\\n */\\nFunction.prototype.arity;\\n\\n/**\\n * Nonstandard; Mozilla and JScript only.\\n * @type {Function}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller\\n */\\nFunction.prototype.caller;\\n\\n/**\\n * Nonstandard.\\n * @type {?}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName\\n */\\nFunction.prototype.displayName;\\n\\n/**\\n * Expected number of arguments.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length\\n */\\nFunction.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name\\n */\\nFunction.prototype.name;\\n\\n/**\\n * @this {Function}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nFunction.prototype.toString = function() {};\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array\\n */\\nfunction Array(var_args) {}\\n\\n/**\\n * @return {Iterator<T>}\\n * @suppress {externsValidation}\\n */\\nArray.prototype[Symbol.iterator] = function() {};\\n\\n// Functions:\\n\\n/**\\n * Returns a new array comprised of this array joined with other array(s)\\n * and/or value(s).\\n *\\n * @param {...*} var_args\\n * @return {!Array<?>}\\n * @this {*}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat\\n */\\nArray.prototype.concat = function(var_args) {};\\n\\n/**\\n * Joins all elements of an array into a string.\\n *\\n * @param {*=} opt_separator Specifies a string to separate each element of the\\n *     array. The separator is converted to a string if necessary. If omitted,\\n *     the array elements are separated with a co';
a.a+="mma.\\n * @return {string}\\n * @this {IArrayLike<?>|string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join\\n */\\nArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * Removes the last element from an array and returns that element.\\n *\\n * @return {T}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop\\n */\\nArray.prototype.pop = function() {};\\n\\n/**\\n * Mutates an array by appending the given elements and returning the new\\n * length of the array.\\n *\\n * @param {...T} var_args\\n * @return {number} The new length of the array.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push\\n */\\nArray.prototype.push = function(var_args) {};\\n\\n/**\\n * Transposes the elements of an array in place: the first array element becomes the\\n * last and the last becomes the first. The mutated array is also returned.\\n *\\n * @return {THIS} A reference to the original modified array.\\n * @this {THIS}\\n * @template THIS\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse\\n */\\nArray.prototype.reverse = function() {};\\n\\n/**\\n * Removes the first element from an array and returns that element. This\\n * method changes the length of the array.\\n *\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @return {T}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift\\n */\\nArray.prototype.shift = function() {};\\n\\n/**\\n * Extracts a section of an array and returns a new array.\\n *\\n * @param {*=} opt_begin Zero-based index at which to begin extraction.  A\\n *     non-number type will be auto-cast by the browser to a number.\\n * @param {*=} opt_end Zero-based index at which to end extraction.  slice\\n *     extracts up to but not including end.\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice\\n */\\nArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * Sorts the elements of an array in place.\\n *\\n * @param {function(T,T):number=} opt_compareFunction Specifies a function that\\n *     defines the sort order.\\n * @this {IArrayLike<T>}\\n * @template T\\n * @modifies {this}\\n * @return {!Array<T>}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\\n */\\nArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * Changes the content of an array, adding new elements while removing old\\n * elements.\\n *\\n * @param {*=} opt_index Index at which to start changing the array. If negative,\\n *     will begin that many elements from the end.  A non-number type will be\\n *     auto-cast by the browser to a number.\\n * @param {*=} opt_howMany An integer indicating the number of old array elements\\n *     to remove.\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>}\\n * @modifies {this}\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice\\n */\\nArray.prototype.splice = function(opt_index, opt_howMany, var_args) {};\\n\\n/**\\n * @return {string}\\n * @this {Object}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toSource\\n */\\nArray.prototype.toSource;\\n\\n/**\\n * @this {Array<?>}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nArray.prototype.toString = function() {};\\n\\n/**\\n * Adds one or more elements to the beginning of an array and returns the new\\n * length of the array.\\n *\\n * @param {...*} var_args\\n * @return {number} The new length of the array\\n * @this {IArrayLike<?>}\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift\\n */\\nArray.prototype.unshift = function(var_args) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * left-to-right) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce\\n */\\nArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * Apply a function simultaneously against two values of the array (from\\n * right-to-left) as to reduce it to a single value.\\n *\\n * @param {?function(?, T, number, !Array<T>) : R} callback\\n * @param {*=} opt_initialValue\\n * @return {R}\\n * @this {IArrayLike<T>|string}\\n * @template T,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight\\n */\\nArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every\\n */\\nArray.prototype.every = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<T>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\\n */\\nArray.prototype.filter = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\\n * @return {undefined}\\n */\\nArray.prototype.forEach = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.prototype.indexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @nosideeffects\\n * @template T\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.prototype.lastIndexOf = function(obj, opt_fromIndex) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_thisobj\\n * @return {!Array<R>}\\n * @this {IArrayLike<T>|string}\\n * @template T,S,R\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map\\n */\\nArray.prototype.map = function(callback, opt_thisobj) {};\\n\\n/**\\n * Available in ECMAScript 5, Mozilla 1.6+.\\n * @param {?function(this:S, T, number, !Array<T>): ?} callback\\n * @param {S=} opt_thisobj\\n * @return {boolean}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some\\n */\\nArray.prototype.some = function(callback, opt_thisobj) {};\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/index\\n */\\nArray.prototype.index;\\n\\n/**\\n * @type {?string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/input\\n */\\nArray.prototype.input;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/length\\n */\\nArray.prototype.length;\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.every = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {!Array<T>}\\n * @template T,S\\n */\\nArray.filter = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @template T,S\\n * @return {undefined}\\n */\\nArray.forEach = function(arr, callback, opt_context) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf\\n */\\nArray.indexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * Mozilla 1.6+ only.\\n * @param {IArrayLike<T>} arr\\n * @param {T} obj\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @template T\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf\\n */\\nArray.lastIndexOf = function(arr, obj, opt_fromIndex) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, !Array<T>): R} callback\\n * @param {S=} opt_context\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.map = function(arr, callback, opt_context) {};\\n\\n/**\\n * @param {IArrayLike<T>} arr\\n * @param {?function(this:S, T, number, ?) : ?} callback\\n * @param {S=} opt_context\\n * @return {boolean}\\n * @template T,S\\n */\\nArray.some = function(arr, callback, opt_context) {};\\n\\n/**\\n * Introduced in 1.8.5.\\n * @param {*} arr\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\\n */\\nArray.isArray = function(arr) {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean\\n */\\nfunction Boolean(opt_value) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/toSource\\n * @override\\n */\\nBoolean.prototype.toSource = function() {};\\n\\n/**\\n * @this {boolean|Boolean}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nBoolean.prototype.toString = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/valueOf\\n * @override\\n */\\nBoolean.prototype.valueOf = function() {};\\n\\n/**\\n * @constructor\\n * @param {*=} opt_value\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number\\n */\\nfunction Number(opt_value) {}\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_fractionDigits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toExponential\\n */\\nNumber.prototype.toExponential = function(opt_fractionDigits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {*=} opt_digits\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed\\n */\\nNumber.prototype.toFixed = function(opt_digits) {};\\n\\n/**\\n * @this {Number|number}\\n * @param {number=} opt_precision\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toPrecision\\n */\\nNumber.prototype.toPrecision = function(opt_precision) {};\\n\\n/**\\n * Returns a string representing the number.\\n * @this {Number|number}\\n * @param {(number|Number)=} opt_radix An optional radix.\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toString\\n * @override\\n */\\nNumber.prototype.toString = function(opt_radix) {};\\n\\n// Properties.\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE\\n */\\nNumber.MAX_VALUE;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE\\n */\\nNumber.MIN_VALUE;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NaN\\n */\\nNumber.NaN;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY\\n */\\nNumber.NEGATIVE_INFINITY;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY\\n */\\nNumber.POSITIVE_INFINITY;\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math\\n */\\nvar Math = {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs\\n */\\nMath.abs = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/acos\\n */\\nMath.acos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/asin\\n */\\nMath.asin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan\\n */\\nMath.atan = function(x) {};\\n\\n/**\\n * @param {?} y\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/atan2\\n */\\nMath.atan2 = function(y, x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil\\n */\\nMath.ceil = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/cos\\n */\\nMath.cos = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/exp\\n */\\nMath.exp = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor\\n */\\nMath.floor = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log\\n */\\nMath.log = function(x) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max\\n */\\nMath.max = function(var_args) {};\\n\\n/**\\n * @param {...?} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/min\\n */\\nMath.min = function(var_args) {};\\n\\n/**\\n * @param {?} x\\n * @param {?} y\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/pow\\n */\\nMath.pow = function(x, y) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random\\n */\\nMath.random = function() {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.m";
a.a+="ozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round\\n */\\nMath.round = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sin\\n */\\nMath.sin = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/sqrt\\n */\\nMath.sqrt = function(x) {};\\n\\n/**\\n * @param {?} x\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/tan\\n */\\nMath.tan = function(x) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/toSource\\n */\\nMath.toSource = function() {};\\n\\n// Properties:\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/E\\n */\\nMath.E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN2\\n */\\nMath.LN2;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LN10\\n */\\nMath.LN10;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG2E\\n */\\nMath.LOG2E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/LOG10E\\n */\\nMath.LOG10E;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/PI\\n */\\nMath.PI;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2\\n */\\nMath.SQRT1_2;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/SQRT2\\n */\\nMath.SQRT2;\\n\\n\\n/**\\n * @param {?=} opt_yr_num\\n * @param {?=} opt_mo_num\\n * @param {?=} opt_day_num\\n * @param {?=} opt_hr_num\\n * @param {?=} opt_min_num\\n * @param {?=} opt_sec_num\\n * @param {?=} opt_ms_num\\n * @constructor\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date\\n */\\nfunction Date(opt_yr_num, opt_mo_num, opt_day_num, opt_hr_num, opt_min_num,\\n    opt_sec_num, opt_ms_num) {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/now\\n */\\nDate.now = function() {};\\n\\n/**\\n * Parses a string representation of a date, and returns the number\\n * of milliseconds since January 1, 1970, 00:00:00, local time.\\n * @param {*} date\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse\\n */\\nDate.parse = function(date) {};\\n\\n/**\\n * @param {number} year\\n * @param {number} month\\n * @param {number=} opt_date\\n * @param {number=} opt_hours\\n * @param {number=} opt_minute\\n * @param {number=} opt_second\\n * @param {number=} opt_ms\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/UTC\\n */\\nDate.UTC = function(year, month,\\n                    opt_date, opt_hours, opt_minute, opt_second, opt_ms) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDate\\n */\\nDate.prototype.getDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay\\n */\\nDate.prototype.getDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMonth\\n */\\nDate.prototype.getMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear\\n */\\nDate.prototype.getFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear\\n */\\nDate.prototype.getYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getHours\\n */\\nDate.prototype.getHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMinutes\\n */\\nDate.prototype.getMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getSeconds\\n */\\nDate.prototype.getSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds\\n */\\nDate.prototype.getMilliseconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime\\n */\\nDate.prototype.getTime = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset\\n */\\nDate.prototype.getTimezoneOffset = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDate\\n */\\nDate.prototype.getUTCDate = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCDay\\n */\\nDate.prototype.getUTCDay = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth\\n */\\nDate.prototype.getUTCMonth = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear\\n */\\nDate.prototype.getUTCFullYear = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCHours\\n */\\nDate.prototype.getUTCHours = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes\\n */\\nDate.prototype.getUTCMinutes = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds\\n */\\nDate.prototype.getUTCSeconds = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds\\n */\\nDate.prototype.getUTCMilliseconds = function() {};\\n\\n/**\\n * Sets the day of the month for a specified date according to local time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\\n * @return {number}\\n */\\nDate.prototype.setDate = function(dayValue) {};\\n\\n/**\\n * Set the month for a specified date according to local time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\\n * @return {number}\\n */\\nDate.prototype.setMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setFullYear\\n * @return {number}\\n */\\nDate.prototype.setFullYear =\\n    function(yearValue, opt_monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the year for a specified date according to local time.\\n *\\n * @param {number} yearValue\\n * @deprecated\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setYear\\n * @return {number}\\n */\\nDate.prototype.setYear = function(yearValue) {};\\n\\n/**\\n * Sets the hours for a specified date according to local time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours\\n * @return {number}\\n */\\nDate.prototype.setHours = function(hoursValue, opt_minutesValue,\\n                                   opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to local time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMinutes\\n * @return {number}\\n */\\nDate.prototype.setMinutes =\\n    function(minutesValue, opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the seconds for a specified date according to local time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setSeconds\\n * @return {number}\\n */\\nDate.prototype.setSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to local time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * Sets the Date object to the time represented by a number of milliseconds\\n * since January 1, 1970, 00:00:00 UTC.\\n *\\n * @param {number} timeValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setTime\\n * @return {number}\\n */\\nDate.prototype.setTime = function(timeValue) {};\\n\\n/**\\n * Sets the day of the month for a specified date according to universal time.\\n *\\n * @param {number} dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCDate\\n * @return {number}\\n */\\nDate.prototype.setUTCDate = function(dayValue) {};\\n\\n/**\\n * Sets the month for a specified date according to universal time.\\n *\\n * @param {number} monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth\\n * @return {number}\\n */\\nDate.prototype.setUTCMonth = function(monthValue, opt_dayValue) {};\\n\\n/**\\n * Sets the full year for a specified date according to universal time.\\n *\\n * @param {number} yearValue\\n * @param {number=} opt_monthValue\\n * @param {number=} opt_dayValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear\\n * @return {number}\\n */\\nDate.prototype.setUTCFullYear = function(yearValue, opt_monthValue,\\n                                         opt_dayValue) {};\\n\\n/**\\n * Sets the hour for a specified date according to universal time.\\n *\\n * @param {number} hoursValue\\n * @param {number=} opt_minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours\\n * @return {number}\\n */\\nDate.prototype.setUTCHours = function(hoursValue, opt_minutesValue,\\n                                      opt_secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the minutes for a specified date according to universal time.\\n *\\n * @param {number} minutesValue\\n * @param {number=} opt_secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes\\n * @return {number}\\n */\\nDate.prototype.setUTCMinutes = function(minutesValue, opt_secondsValue,\\n                                        opt_msValue) {};\\n\\n\\n/**\\n * Sets the seconds for a specified date according to universal time.\\n *\\n * @param {number} secondsValue\\n * @param {number=} opt_msValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds\\n * @return {number}\\n */\\nDate.prototype.setUTCSeconds = function(secondsValue, opt_msValue) {};\\n\\n/**\\n * Sets the milliseconds for a specified date according to universal time.\\n *\\n * @param {number} millisecondsValue\\n * @modifies {this}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds\\n * @return {number}\\n */\\nDate.prototype.setUTCMilliseconds = function(millisecondsValue) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toSource\\n * @override\\n */\\nDate.prototype.toSource = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toDateString\\n */\\nDate.prototype.toDateString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toGMTString\\n */\\nDate.prototype.toGMTString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toTimeString\\n */\\nDate.prototype.toTimeString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString\\n */\\nDate.prototype.toUTCString = function() {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString\\n */\\nDate.prototype.toLocaleDateString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} formatString\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleFormat\\n */\\nDate.prototype.toLocaleFormat = function(formatString) {};\\n\\n/**\\n * @param {string|Array<string>=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.3.1\\n * @override\\n */\\nDate.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {(string|Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString\\n */\\nDate.prototype.toLocaleTimeString = function(opt_locales, opt_options) {};\\n\\n/**\\n * @this {Date}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nDate.prototype.toString = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf\\n */\\nDate.prototype.valueOf;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_str\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaSc";
a.a+="ript/Reference/Global_Objects/String\\n */\\nfunction String(opt_str) {}\\n\\n/**\\n * @param {...number} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode\\n */\\nString.fromCharCode = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/anchor\\n */\\nString.prototype.anchor = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/big\\n */\\nString.prototype.big = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/blink\\n */\\nString.prototype.blink = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/bold\\n */\\nString.prototype.bold = function() {};\\n\\n/**\\n * Returns the specified character from a string.\\n *\\n * @this {String|string}\\n * @param {number} index\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt\\n */\\nString.prototype.charAt = function(index) {};\\n\\n/**\\n * Returns a number indicating the Unicode value of the character at the given\\n * index.\\n *\\n * @this {String|string}\\n * @param {number=} opt_index\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\\n */\\nString.prototype.charCodeAt = function(opt_index) {};\\n\\n/**\\n * Combines the text of two or more strings and returns a new string.\\n *\\n * @this {String|string}\\n * @param {...*} var_args\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/concat\\n */\\nString.prototype.concat = function(var_args) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fixed\\n */\\nString.prototype.fixed = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} color\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontcolor\\n */\\nString.prototype.fontcolor = function(color) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} size\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fontsize\\n */\\nString.prototype.fontsize = function(size) {};\\n\\n/**\\n * Returns the index within the calling String object of the first occurrence\\n * of the specified value, starting the search at fromIndex, returns -1 if the\\n * value is not found.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf\\n */\\nString.prototype.indexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/italics\\n */\\nString.prototype.italics = function() {};\\n\\n/**\\n * Returns the index within the calling String object of the last occurrence of\\n * the specified value, or -1 if not found. The calling string is searched\\n * backward, starting at fromIndex.\\n *\\n * @this {String|string}\\n * @param {string|null} searchValue\\n * @param {(number|null)=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/lastIndexOf\\n */\\nString.prototype.lastIndexOf = function(searchValue, opt_fromIndex) {};\\n\\n/**\\n * @this {String|string}\\n * @param {string} hrefAttribute\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/link\\n */\\nString.prototype.link = function(hrefAttribute) {};\\n\\n/**\\n * Returns a number indicating whether a reference string comes before or after\\n * or is the same as the given string in sort order.\\n *\\n * @this {*}\\n * @param {?string} compareString\\n * @param {string|Array<string>=} locales\\n * @param {Object=} options\\n * @return {number}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/String/localeCompare\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.1.1\\n */\\nString.prototype.localeCompare = function(compareString, locales, options) {};\\n\\n/**\\n * Used to retrieve the matches when matching a string against a regular\\n * expression.\\n *\\n * @this {String|string}\\n * @param {*} regexp\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see Regexp.prototype.exec.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match\\n */\\nString.prototype.match = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/quote\\n */\\nString.prototype.quote = function() {};\\n\\n/**\\n * Finds a match between a regular expression and a string, and replaces the\\n * matched substring with a new substring.\\n *\\n * This may have side-effects if the replacement function has side-effects.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} regex\\n * @param {string|Function} str\\n * @param {string=} opt_flags\\n * @return {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace\\n */\\nString.prototype.replace = function(regex, str, opt_flags) {};\\n\\n/**\\n * Executes the search for a match between a regular expression and this String\\n * object.\\n *\\n * @this {String|string}\\n * @param {RegExp|string} regexp\\n * @return {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search\\n */\\nString.prototype.search = function(regexp) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice\\n */\\nString.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/small\\n */\\nString.prototype.small = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {*=} opt_separator\\n * @param {number=} opt_limit\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split\\n */\\nString.prototype.split = function(opt_separator, opt_limit) {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/strike\\n */\\nString.prototype.strike = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sub\\n */\\nString.prototype.sub = function() {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_length\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr\\n */\\nString.prototype.substr = function(start, opt_length) {};\\n\\n/**\\n * @this {String|string}\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {string} The specified substring.\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring\\n */\\nString.prototype.substring = function(start, opt_end) {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/sup\\n */\\nString.prototype.sup = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase\\n */\\nString.prototype.toLocaleUpperCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase\\n */\\nString.prototype.toLocaleLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase\\n */\\nString.prototype.toLowerCase = function() {};\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase\\n */\\nString.prototype.toUpperCase = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toSource\\n * @override\\n */\\nString.prototype.toSource = function() {};\\n\\n/**\\n * @this {string|String}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nString.prototype.toString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/valueOf\\n */\\nString.prototype.valueOf;\\n\\n/**\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length\\n */\\nString.prototype.length;\\n\\n/**\\n * @constructor\\n * @param {*=} opt_pattern\\n * @param {*=} opt_flags\\n * @return {!RegExp}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nfunction RegExp(opt_pattern, opt_flags) {}\\n\\n/**\\n * @param {*} pattern\\n * @param {*=} opt_flags\\n * @return {void}\\n * @modifies {this}\\n * @deprecated\\n * @see http://msdn.microsoft.com/en-us/library/x9cswe0z(v=VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/compile\\n */\\nRegExp.prototype.compile = function(pattern, opt_flags) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {Array<string>} This should really return an Array with a few\\n *     special properties, but we do not have a good way to model this in\\n *     our type system. Also see String.prototype.match.\\n * @see http://msdn.microsoft.com/en-us/library/z908hy33(VS.85).aspx\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec\\n */\\nRegExp.prototype.exec = function(str) {};\\n\\n/**\\n * @param {*} str The string to search.\\n * @return {boolean} Whether the string was matched.\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test\\n */\\nRegExp.prototype.test = function(str) {};\\n\\n/**\\n * @this {RegExp}\\n * @return {string}\\n * @nosideeffects\\n * @override\\n */\\nRegExp.prototype.toString = function() {};\\n\\n// Constructor properties:\\n\\n/**\\n * The string against which the last regexp was matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_input.html\\n */\\nRegExp.input;\\n\\n/**\\n * The last matched characters.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastMatch.html\\n */\\nRegExp.lastMatch;\\n\\n/**\\n * The last matched parenthesized substring, if any.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_lastParen.html\\n */\\nRegExp.lastParen;\\n\\n/**\\n * The substring of the input up to the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_leftContext.html\\n */\\nRegExp.leftContext;\\n\\n/**\\n * The substring of the input after the characters most recently matched.\\n * @type {string}\\n * @see http://www.devguru.com/Technologies/Ecmascript/Quickref/regexp_rightContext.html\\n */\\nRegExp.rightContext;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$1;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$2;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$3;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$4;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$5;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$6;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$7;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$8;\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp\\n */\\nRegExp.$9;\\n\\n// Prototype properties:\\n\\n/**\\n * Whether to test the regular expression against all possible matches\\n * in a string, or only against the first.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/global\\n */\\nRegExp.prototype.global;\\n\\n/**\\n * Whether to ignore case while attempting a match in a string.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/ignoreCase\\n */\\nRegExp.prototype.ignoreCase;\\n\\n/**\\n * The index at which to start the next match.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/lastIndex\\n */\\nRegExp.prototype.lastIndex;\\n\\n/**\\n * Whether or not to search in strings across multiple lines.\\n * @type {boolean}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multiline\\n */\\nRegExp.prototype.multiline;\\n\\n/**\\n * The text of the pattern.\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source\\n */\\nRegExp.prototype.source;\\n\\n\\n/**\\n * @constructor\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!Error}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error\\n */\\nfunction Error(opt_message, opt_file, opt_line) {}\\n\\n\\n/**\\n * Chrome/v8 specific, altering the maximum depth of the stack trace\\n * (10 by default).\\n * @type {number}\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n */\\nError.stackTraceLimit;\\n\\n\\n/**\\n * Chrome/v8 specific, adds a stack trace to the error object. The optional\\n * constructorOpt parameter allows you to pass in a function value. When\\n * collecting the stack trace all frames above the topmost call to this\\n * function, including that call, will be left out of the stack trace.\\n * @param {Object} error The object to add the stack trace to.\\n * @param {Function=} opt_constructor A function in the stack trace\\n * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi\\n * @return {undefined}\\n */\\nError.captureStackTrace = function(error, opt_construct";
a.a+='or){};\\n\\n\\n/**\\n * IE-only.\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/2w6a45b5.aspx\\n */\\nError.prototype.description;\\n\\n\\n/**\\n * Mozilla-only.\\n * @type {number}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/lineNumber\\n */\\nError.prototype.lineNumber;\\n\\n/**\\n * Mozilla-only\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/fileName\\n */\\nError.prototype.fileName;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/name\\n */\\nError.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/message\\n */\\nError.prototype.message;\\n\\n/**\\n * Doesn\'t seem to exist, but closure/debug.js references it.\\n */\\nError.prototype.sourceURL;\\n\\n/** @type {string} */\\nError.prototype.stack;\\n\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!EvalError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError\\n */\\nfunction EvalError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!RangeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError\\n */\\nfunction RangeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!ReferenceError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError\\n */\\nfunction ReferenceError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!SyntaxError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError\\n */\\nfunction SyntaxError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!TypeError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError\\n */\\nfunction TypeError(opt_message, opt_file, opt_line) {}\\n\\n/**\\n * @constructor\\n * @extends {Error}\\n * @param {*=} opt_message\\n * @param {*=} opt_file\\n * @param {*=} opt_line\\n * @return {!URIError}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError\\n */\\nfunction URIError(opt_message, opt_file, opt_line) {}\\n\\n\\n// JScript extensions.\\n// @see http://msdn.microsoft.com/en-us/library/894hfyb4(VS.80).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/7sw4ddf8.aspx\\n * @type {function(new:?, string, string=)}\\n */\\nfunction ActiveXObject(progId, opt_location) {}\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/9k34bww2(VS.80).aspx\\n */\\nfunction ScriptEngine() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/yf25ky07(VS.80).aspx\\n */\\nfunction ScriptEngineMajorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/wx3812cz(VS.80).aspx\\n */\\nfunction ScriptEngineMinorVersion() {}\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n * @see http://msdn.microsoft.com/en-us/library/e98hsk2f(VS.80).aspx\\n */\\nfunction ScriptEngineBuildVersion() {}\\n","externs/es5.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 5.\\n * @see https://es5.github.io/\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n\\n/**\\n * @param {Object|undefined} selfObj Specifies the object to which |this| should\\n *     point when the function is run. If the value is null or undefined, it\\n *     will default to the global object.\\n * @param {...*} var_args Additional arguments that are partially\\n *     applied to fn.\\n * @return {!Function} A partially-applied form of the Function on which\\n *     bind() was invoked as a method.\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind\\n */\\nFunction.prototype.bind = function(selfObj, var_args) {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/Trim\\n */\\nString.prototype.trim = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimLeft\\n */\\nString.prototype.trimLeft = function() {};\\n\\n\\n/**\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/TrimRight\\n */\\nString.prototype.trimRight = function() {};\\n\\n\\n/**\\n * A object property descriptor used by Object.create, Object.defineProperty,\\n * Object.defineProperties, Object.getOwnPropertyDescriptor.\\n *\\n * Note: not a real constructor.\\n * @constructor\\n * @template THIS\\n */\\nfunction ObjectPropertyDescriptor() {}\\n\\n/** @type {*} */\\nObjectPropertyDescriptor.prototype.value;\\n\\n/** @type {(function(this: THIS):?)|undefined} */\\nObjectPropertyDescriptor.prototype.get;\\n\\n/** @type {(function(this: THIS, ?):void)|undefined} */\\nObjectPropertyDescriptor.prototype.set;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.writable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.enumerable;\\n\\n/** @type {boolean|undefined} */\\nObjectPropertyDescriptor.prototype.configurable;\\n\\n\\n/**\\n * @param {Object} proto\\n * @param {Object=} opt_properties  A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/create\\n */\\nObject.create = function(proto, opt_properties) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @param {!Object} descriptor A ObjectPropertyDescriptor.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty\\n */\\nObject.defineProperty = function(obj, prop, descriptor) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {!Object} props A map of ObjectPropertyDescriptors.\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperties\\n */\\nObject.defineProperties = function(obj, props) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {!ObjectPropertyDescriptor|undefined}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor\\n */\\nObject.getOwnPropertyDescriptor = function(obj, prop) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys\\n */\\nObject.keys = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<string>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames\\n */\\nObject.getOwnPropertyNames = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf\\n */\\nObject.getPrototypeOf = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/preventExtensions\\n */\\nObject.preventExtensions = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/seal\\n */\\nObject.seal = function(obj) {};\\n\\n\\n/**\\n * @param {T} obj\\n * @return {T}\\n * @template T\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/freeze\\n */\\nObject.freeze = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isExtensible\\n */\\nObject.isExtensible = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isSealed\\n */\\nObject.isSealed = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/isFrozen\\n */\\nObject.isFrozen = function(obj) {};\\n\\n\\n/**\\n * @param {string=} opt_key The JSON key for this object.\\n * @return {*} The serializable representation of this object. Note that this\\n *     need not be a string. See http://goo.gl/PEUvs.\\n * @see https://es5.github.io/#x15.12.3\\n */\\nObject.prototype.toJSON = function(opt_key) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toISOString\\n * @return {string}\\n */\\nDate.prototype.toISOString = function() {};\\n\\n\\n/**\\n * @param {*=} opt_ignoredKey\\n * @return {string}\\n * @override\\n */\\nDate.prototype.toJSON = function(opt_ignoredKey) {};\\n\\n\\n/**\\n * A fake type to model the JSON object.\\n * @constructor\\n */\\nfunction JSONType() {}\\n\\n\\n/**\\n * @param {string} jsonStr The string to parse.\\n * @param {(function(string, *) : *)=} opt_reviver\\n * @return {*} The JSON object.\\n * @throws {Error}\\n */\\nJSONType.prototype.parse = function(jsonStr, opt_reviver) {};\\n\\n\\n/**\\n * @param {*} jsonObj Input object.\\n * @param {(Array<string>|(function(string, *) : *)|null)=} opt_replacer\\n * @param {(number|string)=} opt_space\\n * @return {string} JSON string which represents jsonObj.\\n * @throws {Error}\\n */\\nJSONType.prototype.stringify = function(jsonObj, opt_replacer, opt_space) {};\\n\\n\\n/**\\n * @type {!JSONType}\\n * @suppress {duplicate}\\n */\\nvar JSON;\\n","externs/es6.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6 and later.\\n * @see https://tc39.github.io/ecma262/\\n * @see https://www.khronos.org/registry/typedarray/specs/latest/\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator\\n * @implements {IteratorIterable<VALUE>}\\n * @template VALUE\\n */\\nfunction Generator() {}\\n\\n/**\\n * @param {?=} opt_value\\n * @return {!IIterableResult<VALUE>}\\n * @override\\n */\\nGenerator.prototype.next = function(opt_value) {};\\n\\n/**\\n * @param {VALUE} value\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.return = function(value) {};\\n\\n/**\\n * @param {?} exception\\n * @return {!IIterableResult<VALUE>}\\n */\\nGenerator.prototype.throw = function(exception) {};\\n\\n\\n// TODO(johnlenz): Array and Arguments should be Iterable.\\n\\n\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log10 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log2 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.log1p = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.expm1 = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.tanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.acosh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.asinh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.atanh = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.trunc = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.sign = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n */\\nMath.cbrt = function(value) {};\\n\\n/**\\n * @param {number} value1\\n * @param {...number} var_args\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/hypot\\n */\\nMath.hypot = function(value1, var_args) {};\\n\\n/**\\n * @param {number} value1\\n * @param {number} value2\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul\\n */\\nMath.imul = function(value1, value2) {};\\n\\n/**\\n * @param {number} value\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32\\n */\\nMath.clz32 = function(value) {};\\n\\n\\n/**\\n * @param {*} a\\n * @param {*} b\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n */\\nObject.is;\\n\\n\\n/**\\n * Returns a language-sensitive string representation of this number.\\n * @param {(string|!Array<string>)=} opt_locales\\n * @param {Object=} opt_options\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString\\n * @see http://www.ecma-international.org/ecma-402/1.0/#sec-13.2.1\\n * @override\\n */\\nNumber.prototype.toLocaleString = function(opt_locales, opt_options) {};\\n\\n\\n/**\\n * Repeats the string the given number of times.\\n *\\n * @param {number} count The number of times the string is repeated.\\n * @this {String|string}\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\\n */\\nString.prototype.repeat = function(count) {};\\n\\n/**\\n * @constructor\\n * @extends {Array<string>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\\n */\\nvar ITemplateArray = function() {};\\n\\n/**\\n * @type {!Array<string>}\\n */\\nITemplateArray.prototype.raw;\\n\\n/**\\n * @param {!ITemplateArray} template\\n * @param {...*} var_args Substitution values.\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/raw\\n */\\nString.raw = function(template, var_args) {};\\n\\n\\n/**\\n * @param {number} codePoint\\n * @param {...nu';
a.a+="mber} var_args Additional codepoints\\n * @return {string}\\n */\\nString.fromCodePoint = function(codePoint, var_args) {};\\n\\n\\n/**\\n * @param {number} index\\n * @return {number}\\n * @nosideeffects\\n */\\nString.prototype.codePointAt = function(index) {};\\n\\n\\n/**\\n * @param {string=} opt_form\\n * @return {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize\\n */\\nString.prototype.normalize = function(opt_form) {};\\n\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\\n */\\nString.prototype.startsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\\n */\\nString.prototype.endsWith = function(searchString, opt_position) {};\\n\\n/**\\n * @param {string} searchString\\n * @param {number=} opt_position\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\\n */\\nString.prototype.includes = function(searchString, opt_position) {};\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/postmsg/\\n * @interface\\n */\\nfunction Transferable() {}\\n\\n/**\\n * @param {number} length The length in bytes\\n * @constructor\\n * @noalias\\n * @throws {Error}\\n * @implements {Transferable}\\n */\\nfunction ArrayBuffer(length) {}\\n\\n/** @type {number} */\\nArrayBuffer.prototype.byteLength;\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {!ArrayBuffer}\\n * @nosideeffects\\n */\\nArrayBuffer.prototype.slice = function(begin, opt_end) {};\\n\\n/**\\n * @param {*} arg\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView\\n */\\nArrayBuffer.isView = function(arg) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction ArrayBufferView() {}\\n\\n/** @type {!ArrayBuffer} */\\nArrayBufferView.prototype.buffer;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteOffset;\\n\\n/** @type {number} */\\nArrayBufferView.prototype.byteLength;\\n\\n\\n/**\\n * @typedef {!ArrayBuffer|!ArrayBufferView}\\n */\\nvar BufferSource;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<number>}\\n * @extends {ArrayBufferView}\\n */\\nfunction TypedArray() {};\\n\\n/** @const {number} */\\nTypedArray.prototype.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/copyWithin\\n */\\nTypedArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<!Array<number>>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/entries\\n */\\nTypedArray.prototype.entries = function() {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/every\\n */\\nTypedArray.prototype.every = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/fill\\n */\\nTypedArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/filter\\n */\\nTypedArray.prototype.filter = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {(number|undefined)}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find\\n */\\nTypedArray.prototype.find = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {number}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/findIndex\\n */\\nTypedArray.prototype.findIndex = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : ?} callback\\n * @param {S=} opt_thisArg\\n * @return {undefined}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/forEach\\n */\\nTypedArray.prototype.forEach = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/includes\\n */\\nTypedArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/indexOf\\n */\\nTypedArray.prototype.indexOf = function(searchElement, opt_fromIndex) {};\\n\\n/**\\n * @param {string=} opt_separator\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/join\\n */\\nTypedArray.prototype.join = function(opt_separator) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/keys\\n */\\nTypedArray.prototype.keys = function() {};\\n\\n/**\\n * @param {number} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/lastIndexOf\\n */\\nTypedArray.prototype.lastIndexOf = function(searchElement, opt_fromIndex) {};\\n\\n/** @type {number} */\\nTypedArray.prototype.length;\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : number} callback\\n * @param {S=} opt_thisArg\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS,S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/map\\n */\\nTypedArray.prototype.map = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduce\\n */\\nTypedArray.prototype.reduce = function(callback, opt_initialValue) {};\\n\\n/**\\n * @param {function((number|INIT|RET), number, number, !TypedArray) : RET} callback\\n * @param {INIT=} opt_initialValue\\n * @return {RET}\\n * @template INIT,RET\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reduceRight\\n */\\nTypedArray.prototype.reduceRight = function(callback, opt_initialValue) {};\\n\\n/**\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/reverse\\n */\\nTypedArray.prototype.reverse = function() {};\\n\\n/**\\n * @param {!ArrayBufferView|!Array<number>} array\\n * @param {number=} opt_offset\\n * @return {undefined}\\n * @throws {!RangeError}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/set\\n */\\nTypedArray.prototype.set = function(array, opt_offset) {};\\n\\n/**\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/slice\\n */\\nTypedArray.prototype.slice = function(opt_begin, opt_end) {};\\n\\n/**\\n * @param {function(this:S, number, number, !TypedArray) : boolean} callback\\n * @param {S=} opt_thisArg\\n * @return {boolean}\\n * @template S\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/some\\n */\\nTypedArray.prototype.some = function(callback, opt_thisArg) {};\\n\\n/**\\n * @param {(function(number, number) : number)=} opt_compareFunction\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/sort\\n */\\nTypedArray.prototype.sort = function(opt_compareFunction) {};\\n\\n/**\\n * @param {number} begin\\n * @param {number=} opt_end\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray\\n */\\nTypedArray.prototype.subarray = function(begin, opt_end) {};\\n\\n/**\\n * @return {!IteratorIterable<number>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/values\\n */\\nTypedArray.prototype.values = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toLocaleString\\n * @override\\n */\\nTypedArray.prototype.toLocaleString = function() {};\\n\\n/**\\n * @return {string}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/toString\\n * @override\\n */\\nTypedArray.prototype.toString = function() {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments} If the user passes a backing array, then indexed\\n *     accesses will modify the backing array. JSCompiler does not model\\n *     this well. In other words, if you have:\\n *     <code>\\n *     var x = new ArrayBuffer(1);\\n *     var y = new Int8Array(x);\\n *     y[0] = 2;\\n *     </code>\\n *     JSCompiler will not recognize that the last assignment modifies x.\\n *     We workaround this by marking all these arrays as @modifies {arguments},\\n *     to introduce the possibility that x aliases y.\\n */\\nfunction Int8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint8ClampedArray(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint8ClampedArray.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint8ClampedArray.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint8ClampedArray}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint8ClampedArray.of = function(var_args) {};\\n\\n\\n/**\\n * @typedef {Uint8ClampedArray}\\n * @deprecated CanvasPixelArray has been replaced by Uint8ClampedArray\\n *     in the latest spec.\\n * @see http://www.w3.org/TR/2dcontext/#imagedata\\n */\\nvar CanvasPixelArray;\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nInt16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint16Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint16Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint16Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint16Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint16Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Int32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nInt32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refer";
a.a+="ence/Global_Objects/TypedArray/from\\n */\\nInt32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Int32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nInt32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Uint32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nUint32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nUint32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Uint32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nUint32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float32Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat32Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat32Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float32Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat32Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {number|ArrayBufferView|Array<number>|ArrayBuffer} length or array\\n *     or buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_length\\n * @constructor\\n * @extends {TypedArray}\\n * @noalias\\n * @throws {Error}\\n * @modifies {arguments}\\n */\\nfunction Float64Array(length, opt_byteOffset, opt_length) {}\\n\\n/** @const {number} */\\nFloat64Array.BYTES_PER_ELEMENT;\\n\\n/**\\n * @param {!Array<number>} source\\n * @param {function(this:S, number): number=} opt_mapFn\\n * @param {S=} opt_this\\n * @template S\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/from\\n */\\nFloat64Array.from = function(source, opt_mapFn, opt_this) {};\\n\\n/**\\n * @param {...number} var_args\\n * @return {!Float64Array}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/of\\n */\\nFloat64Array.of = function(var_args) {};\\n\\n\\n/**\\n * @param {ArrayBuffer} buffer\\n * @param {number=} opt_byteOffset\\n * @param {number=} opt_byteLength\\n * @constructor\\n * @extends {ArrayBufferView}\\n * @noalias\\n * @throws {Error}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays/DataView\\n */\\nfunction DataView(buffer, opt_byteOffset, opt_byteLength) {}\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint8 = function(byteOffset) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint16 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getInt32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getUint32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat32 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {boolean=} opt_littleEndian\\n * @return {number}\\n * @throws {Error}\\n */\\nDataView.prototype.getFloat64 = function(byteOffset, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint8 = function(byteOffset, value) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint16 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setInt32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setUint32 = function(byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat32 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n/**\\n * @param {number} byteOffset\\n * @param {number} value\\n * @param {boolean=} opt_littleEndian\\n * @throws {Error}\\n * @return {undefined}\\n */\\nDataView.prototype.setFloat64 = function(\\n    byteOffset, value, opt_littleEndian) {};\\n\\n\\n/**\\n * @see https://github.com/promises-aplus/promises-spec\\n * @typedef {{then: ?}}\\n */\\nvar Thenable;\\n\\n\\n/**\\n * This is not an official DOM interface. It is used to add generic typing\\n * and respective type inference where available.\\n * {@see goog.Thenable} inherits from this making all promises\\n * interoperate.\\n * @interface\\n * @template TYPE\\n */\\nfunction IThenable() {}\\n\\n\\n/**\\n * @param {?(function(TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(*): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('IThenable',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nIThenable.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {function(\\n *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n *             function(*=))} resolver\\n * @constructor\\n * @implements {IThenable<TYPE>}\\n * @template TYPE\\n */\\nfunction Promise(resolver) {}\\n\\n\\n/**\\n * @param {VALUE=} opt_value\\n * @return {RESULT}\\n * @template VALUE\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n */\\nPromise.resolve = function(opt_value) {};\\n\\n\\n/**\\n * @param {*=} opt_error\\n * @return {!Promise<?>}\\n */\\nPromise.reject = function(opt_error) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<!Array<RESULT>>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.all = function(iterable) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n * @param {!Iterable<VALUE>} iterable\\n * @return {!Promise<RESULT>}\\n * @template VALUE\\n * @template RESULT := mapunion(VALUE, (V) =>\\n *     cond(isUnknown(V),\\n *         unknown(),\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *             templateTypeOf(V, 0),\\n *             cond(sub(V, 'Thenable'), unknown(), V))))\\n * =:\\n */\\nPromise.race = function(iterable) {};\\n\\n\\n/**\\n * @param {?(function(this:void, TYPE):VALUE)=} opt_onFulfilled\\n * @param {?(function(this:void, *): *)=} opt_onRejected\\n * @return {RESULT}\\n * @template VALUE\\n *\\n * When a Promise (or thenable) is returned from the fulfilled callback,\\n * the result is the payload of that promise, not the promise itself.\\n *\\n * @template RESULT := type('Promise',\\n *     cond(isUnknown(VALUE), unknown(),\\n *       mapunion(VALUE, (V) =>\\n *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n *           templateTypeOf(V, 0),\\n *           cond(sub(V, 'Thenable'),\\n *              unknown(),\\n *              V)))))\\n * =:\\n * @override\\n */\\nPromise.prototype.then = function(opt_onFulfilled, opt_onRejected) {};\\n\\n\\n/**\\n * @param {function(*): RESULT} onRejected\\n * @return {!Promise<RESULT>}\\n * @template RESULT\\n */\\nPromise.prototype.catch = function(onRejected) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\\n * @param {...T} var_args\\n * @return {!Array<T>}\\n * @template T\\n */\\nArray.of = function(var_args) {};\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from\\n * @param {string|!IArrayLike<T>|!Iterable<T>} arrayLike\\n * @param {function(this:S, (string|T), number): R=} opt_mapFn\\n * @param {S=} opt_this\\n * @return {!Array<R>}\\n * @template T,S,R\\n */\\nArray.from = function(arrayLike, opt_mapFn, opt_this) {};\\n\\n\\n/** @return {!IteratorIterable<number>} */\\nArray.prototype.keys;\\n\\n\\n/**\\n * @return {!IteratorIterable<!Array<number|T>>} Iterator of [key, value] pairs.\\n */\\nArray.prototype.entries;\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {T|undefined}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.find\\n */\\nArray.prototype.find = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {!function(this:S, T, number, !Array<T>): boolean} predicate\\n * @param {S=} opt_this\\n * @return {number}\\n * @this {IArrayLike<T>|string}\\n * @template T,S\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.findindex\\n */\\nArray.prototype.findIndex = function(predicate, opt_this) {};\\n\\n\\n/**\\n * @param {T} value\\n * @param {number=} opt_begin\\n * @param {number=} opt_end\\n * @return {!IArrayLike<T>}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.fill\\n */\\nArray.prototype.fill = function(value, opt_begin, opt_end) {};\\n\\n\\n/**\\n * @param {number} target\\n * @param {number} start\\n * @param {number=} opt_end\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-array.prototype.copywithin\\n * @template T\\n * @return {!IArrayLike<T>}\\n */\\nArray.prototype.copyWithin = function(target, start, opt_end) {};\\n\\n\\n/**\\n * @param {T} searchElement\\n * @param {number=} opt_fromIndex\\n * @return {boolean}\\n * @this {!IArrayLike<T>|string}\\n * @template T\\n * @see https://tc39.github.io/ecma262/#sec-array.prototype.includes\\n */\\nArray.prototype.includes = function(searchElement, opt_fromIndex) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @return {!Array<symbol>}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.getownpropertysymbols\\n */\\nObject.getOwnPropertySymbols = function(obj) {};\\n\\n\\n/**\\n * @param {!Object} obj\\n * @param {?} proto\\n * @return {!Object}\\n * @see http://www.ecma-international.org/ecma-262/6.0/#sec-object.setprototypeof\\n */\\nObject.setPrototypeOf = function(obj, proto) {};\\n\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON\\n */\\nNumber.EPSILON;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER\\n */\\nNumber.MIN_SAFE_INTEGER;\\n\\n/**\\n * @const {number}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\\n */\\nNumber.MAX_SAFE_INTEGER;\\n\\n\\n\\n/**\\n * Parse an integer. Use of {@code parseInt} without {@code base} is strictly\\n * banned in Google. If you really want to parse octal or hex based on the\\n * leader, then pass {@code undefined} as the base.\\n *\\n * @param {string} string\\n * @param {number|undefined} radix\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseInt\\n */\\nNumber.parseInt = function(string, radix) {};\\n\\n/**\\n * @param {string} string\\n * @return {number}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/parseFloat\\n */\\nNumber.parseFloat = function(string) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN\\n */\\nNumber.isNaN = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite\\n */\\nNumber.isFinite = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger\\n */\\nNumber.isInteger = function(value) {};\\n\\n/**\\n * @param {number} value\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger\\n */\\nNumber.isSafeInteger = function(value) {};\\n\\n\\n\\n/**\\n * @param {!Object} target\\n * @param {...Object} var_args\\n * @return {!Object}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n */\\nObject.assign = function(target, var_args) {};\\n\\n/**\\n * TODO(dbeam): find a better place for ES2017 externs like this one.\\n * @param {!Object<T>} obj\\n * @return {!Array<T>} values\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values\\n * @throws {Error}\\n * @template T\\n */\\nObject.values = function(obj) {};\\n\\n/**\\n * @param {!Object<T>} obj\\n * @return {!Array<!Array<(string|T)>>} entries\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries\\n * @throws {Error}\\n * @template T\\n */\\nObject.entries = ";
a.a+='function(obj) {};\\n\\n\\n\\n/**\\n * @const\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect\\n */\\nvar Reflect = {};\\n\\n/**\\n * @param {function(this: THIS, ...?): RESULT} target\\n * @param {THIS} thisArg\\n * @param {!Array} argList\\n * @return {RESULT}\\n * @template THIS, RESULT\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n */\\nReflect.apply = function(target, thisArg, argList) {};\\n\\n/**\\n * @param {function(new: ?, ...?)} target\\n * @param {!Array} argList\\n * @param {function(new: TARGET, ...?)=} opt_newTarget\\n * @return {TARGET}\\n * @template TARGET\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n */\\nReflect.construct = function(target, argList, opt_newTarget) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object} attributes\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n */\\nReflect.defineProperty = function(target, propertyKey, attributes) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n */\\nReflect.deleteProperty = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {!Object=} opt_receiver\\n * @return {*}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n */\\nReflect.get = function(target, propertyKey, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {?ObjectPropertyDescriptor}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getOwnPropertyDescriptor\\n */\\nReflect.getOwnPropertyDescriptor = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {?Object}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/getPrototypeOf\\n */\\nReflect.getPrototypeOf = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n */\\nReflect.has = function(target, propertyKey) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/isExtensible\\n */\\nReflect.isExtensible = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {!Array<(string|symbol)>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n */\\nReflect.ownKeys = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n */\\nReflect.preventExtensions = function(target) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @param {*} value\\n * @param {!Object=} opt_receiver\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n */\\nReflect.set = function(target, propertyKey, value, opt_receiver) {};\\n\\n/**\\n * @param {!Object} target\\n * @param {?Object} proto\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n */\\nReflect.setPrototypeOf = function(target, proto) {};\\n","externs/es6_collections.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for ECMAScript 6.\\n * @see http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts\\n * @externs\\n */\\n\\n// TODO(johnlenz): Use Tuples for the Map and Set iterators where appropriate.\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @implements {Iterable<!Array<KEY|VALUE>>}\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\\n */\\nfunction Map(opt_iterable) {}\\n\\n/** @return {void} */\\nMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nMap.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<KEY|VALUE>>}\\n * @nosideeffects\\n */\\nMap.prototype.entries;\\n\\n/**\\n * @param {function(this:THIS, VALUE, KEY, MAP)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {MAP}\\n * @template MAP,THIS\\n */\\nMap.prototype.forEach;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nMap.prototype.has;\\n\\n/**\\n * @return {!IteratorIterable<KEY>}\\n */\\nMap.prototype.keys;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nMap.prototype.set;\\n\\n/**\\n * @type {number}\\n * (readonly)\\n */\\nMap.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nMap.prototype.values;\\n\\n/**\\n * @return {!Iterator<!Array<KEY|VALUE>>}\\n */\\nMap.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>=} opt_iterable\\n * @template KEY, VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n */\\nfunction WeakMap(opt_iterable) {}\\n\\n/** @return {void} */\\nWeakMap.prototype.clear;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n */\\nWeakMap.prototype.delete;\\n\\n/**\\n * @param {KEY} key\\n * @return {VALUE}\\n * @nosideeffects\\n */\\nWeakMap.prototype.get;\\n\\n/**\\n * @param {KEY} key\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakMap.prototype.has;\\n\\n/**\\n * @param {KEY} key\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakMap.prototype.set;\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @implements {Iterable<VALUE>}\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction Set(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nSet.prototype.delete;\\n\\n/**\\n * @return {!IteratorIterable<!Array<VALUE>>} Where each array has two entries:\\n *     [value, value]\\n * @nosideeffects\\n */\\nSet.prototype.entries;\\n\\n/**\\n * @param {function(this: THIS, VALUE, VALUE, SET)} callback\\n * @param {THIS=} opt_thisArg\\n * @this {SET}\\n * @template SET,THIS\\n */\\nSet.prototype.forEach;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nSet.prototype.has;\\n\\n/**\\n * @type {number} (readonly)\\n */\\nSet.prototype.size;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.keys;\\n\\n/**\\n * @return {!IteratorIterable<VALUE>}\\n * @nosideeffects\\n */\\nSet.prototype.values;\\n\\n/**\\n * @return {!Iterator<VALUE>}\\n */\\nSet.prototype[Symbol.iterator] = function() {};\\n\\n\\n\\n/**\\n * @constructor @struct\\n * @param {Iterable<VALUE>|Array<VALUE>=} opt_iterable\\n * @template VALUE\\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\\n */\\nfunction WeakSet(opt_iterable) {}\\n\\n/**\\n * @param {VALUE} value\\n * @return {THIS}\\n * @this {THIS}\\n * @template THIS\\n */\\nWeakSet.prototype.add;\\n\\n/**\\n * @return {void}\\n */\\nWeakSet.prototype.clear;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n */\\nWeakSet.prototype.delete;\\n\\n/**\\n * @param {VALUE} value\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWeakSet.prototype.has;\\n","externs/intl.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the JS Internationalization API as defined in\\n * http://www.ecma-international.org/ecma-402/1.0/\\n *\\n * @externs\\n */\\n\\n/** @const */\\nvar Intl = {};\\n\\n/**\\n * NOTE: this API is not from ecma402 and is subject to change.\\n * @param {string|Array<string>=} opt_locales\\n * @param {{type: (string|undefined)}=}\\n *         opt_options\\n * @constructor\\n */\\nIntl.v8BreakIterator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n */\\nIntl.v8BreakIterator.prototype.adoptText = function(text) {};\\n\\n/**\\n * @return {string}\\n */\\nIntl.v8BreakIterator.prototype.breakType = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.current = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.first = function() {};\\n\\n/**\\n * @return {number}\\n */\\nIntl.v8BreakIterator.prototype.next = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{usage: (string|undefined), localeMatcher: (string|undefined),\\n *     sensitivity: (string|undefined), ignorePunctuation: (boolean|undefined),\\n *     numeric: (boolean|undefined), caseFirst: (string|undefined)}=}\\n *         opt_options\\n */\\nIntl.Collator = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.Collator.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {string} arg1\\n * @param {string} arg2\\n * @return {number}\\n */\\nIntl.Collator.prototype.compare = function(arg1, arg2) {};\\n\\n/**\\n * @return {{locale: string, usage: string, sensitivity: string,\\n *     ignorePunctuation: boolean, collation: string, numeric: boolean,\\n *     caseFirst: string}}\\n */\\nIntl.Collator.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined), useGrouping: (boolean|undefined),\\n *     numberingSystem: (string|undefined), style: (string|undefined),\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: (number|undefined),\\n *     minimumFractionDigits: (number|undefined),\\n *     maximumFractionDigits: (number|undefined),\\n *     minimumSignificantDigits: (number|undefined),\\n *     maximumSignificantDigits: (number|undefined)}=}\\n *         opt_options\\n */\\nIntl.NumberFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: (string|undefined)}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.NumberFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {number} num\\n * @return {string}\\n */\\nIntl.NumberFormat.prototype.format = function(num) {};\\n\\n/**\\n * @return {{locale: string, numberingSystem: string, style: string,\\n *     currency: (string|undefined), currencyDisplay: (string|undefined),\\n *     minimumIntegerDigits: number, minimumFractionDigits: number,\\n *     maximumFractionDigits: number, minimumSignificantDigits: number,\\n *     maximumSignificantDigits: number, useGrouping: boolean}}\\n */\\nIntl.NumberFormat.prototype.resolvedOptions = function() {};\\n\\n/**\\n * @constructor\\n * @param {string|Array<string>=} opt_locales\\n * @param {{localeMatcher: (string|undefined),\\n *    formatMatcher: (string|undefined), calendar: (string|undefined),\\n *    numberingSystem: (string|undefined), tz: (string|undefined),\\n *    weekday: (string|undefined), era: (string|undefined),\\n *    year: (string|undefined), month: (string|undefined),\\n *    day: (string|undefined), hour: (string|undefined),\\n *    minute: (string|undefined), second: (string|undefined),\\n *    timeZoneName: (string|undefined), hour12: (boolean|undefined)}=}\\n *        opt_options\\n */\\nIntl.DateTimeFormat = function(opt_locales, opt_options) {};\\n\\n/**\\n * @param {Array<string>} locales\\n * @param {{localeMatcher: string}=} opt_options\\n * @return {Array<string>}\\n */\\nIntl.DateTimeFormat.supportedLocalesOf = function(locales, opt_options) {};\\n\\n/**\\n * @param {(!Date|number)=} date\\n * @return {string}\\n */\\nIntl.DateTimeFormat.prototype.format = function(date) {};\\n\\n/**\\n * @return {{locale: string, calendar: string, numberingSystem: string,\\n *    timeZone: (string|undefined), weekday: (string|undefined),\\n *    era: (string|undefined), year: (string|undefined),\\n *    month: (string|undefined), day: (string|undefined),\\n *    hour: (string|undefined), minute: (string|undefined),\\n *    second: (string|undefined), timeZoneName: (string|undefined),\\n *    hour12: (boolean|undefined)}}\\n */\\nIntl.DateTimeFormat.prototype.resolvedOptions = function() {};\\n","externs/w3c_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event specification.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @interface\\n */\\nfunction EventTarget() {}\\n\\n/**\\n * TODO(tbreisacher): Change the type of useCapture to be\\n * {boolean|!EventListenerOptions}, here and in removeEventListener.\\n *\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.addEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {string} type\\n * @param {EventListener|function(!Event):(boolean|undefined)} listener\\n * @param {boolean} useCapture\\n * @return {undefined}\\n */\\nEventTarget.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n/**\\n * @param {!Event} evt\\n * @return {boolean}\\n */\\nEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @interface\\n */\\nfunction EventListener() {}\\n\\n/**\\n * @param {!Event} evt\\n * @return {undefined}\\n */\\nEventListener.prototype.handleEvent = function(evt) {};\\n\\n// The EventInit interface and the parameters to the Event constructor are part\\n// of DOM Level 3 (suggested) and the DOM \\"Living Standard\\" (mandated). They are\\n// included here as externs cannot be redefined. The same applies to other\\n// *EventInit interfac';
a.a+='es and *Event constructors throughout this file. See:\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-initializers\\n// http://dom.spec.whatwg.org/#constructing-events\\n// https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#event-constructors\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar EventInit;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {EventInit=} opt_eventInitDict\\n */\\nfunction Event(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.AT_TARGET;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.BUBBLING_PHASE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html\\n */\\nEvent.CAPTURING_PHASE;\\n\\n\\n/** @type {string} */\\nEvent.prototype.type;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.target;\\n\\n/** @type {EventTarget} */\\nEvent.prototype.currentTarget;\\n\\n/** @type {number} */\\nEvent.prototype.eventPhase;\\n\\n/** @type {boolean} */\\nEvent.prototype.bubbles;\\n\\n/** @type {boolean} */\\nEvent.prototype.cancelable;\\n\\n/** @type {number} */\\nEvent.prototype.timeStamp;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {Array<!Element>|undefined}\\n */\\nEvent.prototype.path;\\n\\n/**\\n * Present for events spawned in browsers that support shadow dom.\\n * @type {function():Array<!EventTarget>|undefined}\\n * @see https://www.w3.org/TR/shadow-dom/#widl-Event-deepPath\\n */\\nEvent.prototype.deepPath;\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.stopPropagation = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nEvent.prototype.preventDefault = function() {};\\n\\n/**\\n * @param {string} eventTypeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @return {undefined}\\n */\\nEvent.prototype.initEvent = function(eventTypeArg, canBubbleArg, cancelableArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   detail: *\\n * }}\\n */\\nvar CustomEventInit;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {CustomEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-CustomEvent\\n */\\nfunction CustomEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {string} eventType\\n * @param {boolean} bubbles\\n * @param {boolean} cancelable\\n * @param {*} detail\\n * @return {undefined}\\n */\\nCustomEvent.prototype.initCustomEvent = function(\\n    eventType, bubbles, cancelable, detail) {};\\n\\n/**\\n * @type {*}\\n */\\nCustomEvent.prototype.detail;\\n\\n/**\\n * @interface\\n */\\nfunction DocumentEvent() {}\\n\\n/**\\n * @param {string} eventType\\n * @return {!Event}\\n */\\nDocumentEvent.prototype.createEvent = function(eventType) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined)\\n * }}\\n */\\nvar UIEventInit;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {UIEventInit=} opt_eventInitDict\\n */\\nfunction UIEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nUIEvent.prototype.detail;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @return {undefined}\\n */\\nUIEvent.prototype.initUIEvent = function(typeArg, canBubbleArg, cancelableArg,\\n    viewArg, detailArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar MouseEventInit;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {MouseEventInit=} opt_eventInitDict\\n */\\nfunction MouseEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.screenY;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientX;\\n\\n/** @type {number} */\\nMouseEvent.prototype.clientY;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nMouseEvent.prototype.metaKey;\\n\\n/** @type {number} */\\nMouseEvent.prototype.button;\\n\\n/** @type {EventTarget} */\\nMouseEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction MutationEvent() {}\\n\\n/** @type {Node} */\\nMutationEvent.prototype.relatedNode;\\n\\n/** @type {string} */\\nMutationEvent.prototype.prevValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.newValue;\\n\\n/** @type {string} */\\nMutationEvent.prototype.attrName;\\n\\n/** @type {number} */\\nMutationEvent.prototype.attrChange;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Node} relatedNodeArg\\n * @param {string} prevValueArg\\n * @param {string} newValueArg\\n * @param {string} attrNameArg\\n * @param {number} attrChangeArg\\n * @return {undefined}\\n */\\nMutationEvent.prototype.initMutationEvent = function(typeArg, canBubbleArg, cancelableArg, relatedNodeArg, prevValueArg, newValueArg, attrNameArg, attrChangeArg) {};\\n\\n\\n// DOM3\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   char: (string|undefined),\\n *   key: (string|undefined),\\n *   code: (string|undefined),\\n *   location: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   repeat: (boolean|undefined),\\n *   locale: (string|undefined)\\n * }}\\n */\\nvar KeyboardEventInit;\\n\\n/**\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {KeyboardEventInit=} opt_eventInitDict\\n */\\nfunction KeyboardEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.keyIdentifier;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.ctrlKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.shiftKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.altKey;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.metaKey;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nKeyboardEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined)\\n * }}\\n */\\nvar FocusEventInit;\\n\\n\\n/**\\n * The FocusEvent interface provides specific contextual information associated\\n * with Focus events.\\n * http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent\\n *\\n * @constructor\\n * @extends {UIEvent}\\n * @param {string} type\\n * @param {FocusEventInit=} opt_eventInitDict\\n */\\nfunction FocusEvent(type, opt_eventInitDict) {}\\n\\n/** @type {EventTarget} */\\nFocusEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-eventlisteneroptions\\n * @record\\n */\\nvar EventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nEventListenerOptions.prototype.capture;\\n\\n/**\\n * See https://dom.spec.whatwg.org/#dictdef-addeventlisteneroptions\\n * @record\\n * @extends {EventListenerOptions}\\n */\\nvar AddEventListenerOptions = function() {};\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.passive;\\n\\n/** @type {boolean|undefined} */\\nAddEventListenerOptions.prototype.once;\\n","externs/w3c_event3.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s event Level 3 specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Events/#ecma-script-binding-ecma-binding\\n *\\n * @externs\\n * @author ericdingle@google.com (Eric Dingle)\\n */\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {string} keyIdentifierArg\\n * @param {number} keyLocationArg\\n * @param {string} modifiersList\\n * @return {undefined}\\n */\\nKeyboardEvent.prototype.initKeyboardEvent = function(typeArg, canBubbleArg, cancelableArg, viewArg, keyIdentifierArg, keyLocationArg, modifiersList) {};\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.char;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.code;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.key;\\n\\n/** @type {number} */\\nKeyboardEvent.prototype.location;\\n\\n/** @type {boolean} */\\nKeyboardEvent.prototype.repeat;\\n\\n/** @type {string} */\\nKeyboardEvent.prototype.locale;\\n\\n/** @type {number} */\\nMouseEvent.prototype.buttons;\\n\\n/**\\n * @param {string} keyIdentifierArg\\n * @return {boolean}\\n */\\nMouseEvent.prototype.getModifierState = function(keyIdentifierArg) {};\\n\\n/** @type {boolean} */\\nEvent.prototype.defaultPrevented;\\n\\n/** @type {string} */\\nEvent.prototype.namespaceURI;\\n\\n/** @return {undefined} */\\nEvent.prototype.stopImmediatePropagation = function() {};\\n","externs/gecko_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C\'s event specification by Gecko. This file depends on\\n *  w3c_event.js.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n/** @type {number} */ Event.prototype.HORIZONTAL_AXIS;\\n/** @type {number} */ Event.prototype.VERTICAL_AXIS;\\n/** @type {boolean} */ Event.prototype.altKey;\\n/** @type {number} */ Event.prototype.axis;\\n/** @type {number} */ Event.prototype.button;\\n/** @type {boolean} */ Event.prototype.cancelBubble;\\n/** @type {number} */ Event.prototype.charCode;\\n/** @type {number} */ Event.prototype.clientX;\\n/** @type {number} */ Event.prototype.clientY;\\n/** @type {boolean} */ Event.prototype.ctrlKey;\\n/** @type {EventTarget} */ Event.prototype.explicitOriginalTarget;\\n/** @type {boolean} */ Event.prototype.isChar;\\n/** @type {boolean} */ Event.prototype.isTrusted;\\n/** @type {number} */ Event.prototype.keyCode;\\n/** @type {number} */ Event.prototype.layerX;\\n/** @type {number} */ Event.prototype.layerY;\\n/** @type {boolean} */ Event.prototype.metaKey;\\n/** @type {EventTarget} */ Event.prototype.originalTarget;\\n/** @type {number} */ Event.prototype.pageX;\\n/** @type {number} */ Event.prototype.pageY;\\n/** @type {EventTarget|undefined} */ Event.prototype.relatedTarget;\\n/** @type {number} */ Event.prototype.screenX;\\n/** @type {number} */ Event.prototype.screenY;\\n/** @type {boolean} */ Event.prototype.shiftKey;\\n/** @type {Window} */ Event.prototype.view;\\n/** @type {number} */ Event.prototype.which;\\n\\n/** @constructor */ function nsIDOMPageTransitionEvent() {}\\n/** @type {boolean} */ nsIDOMPageTransitionEvent.prototype.persisted;\\n\\n//Methods\\nEvent.prototype.initKeyEvent;\\nEvent.prototype.initMouseEvent;\\nEvent.prototype.initUIEvent;\\nEvent.prototype.initMessageEvent;\\nEvent.prototype.preventBubble;\\nEvent.prototype.preventCapture;\\n","externs/ie_event.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s event specification by IE in JScript. This file depends on\\n *  w3c_event.js.\\n *\\n * @see http://msdn.microsoft.com/en-us/library/ms535863.aspx\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/** @type {string} */\\nEvent.prototype.Abstract;\\n\\n/** @type {boolean} */\\nEvent.prototype.altLeft;\\n\\n/** @type {string} */\\nEvent.prototype.Banner;\\n\\n/**\\n * A ClipboardData on IE, but a DataTransfer on WebKit.\\n * @see http://msdn.microsoft.com/en-us/library/ms535220.aspx\\n * @type {(ClipboardData|undefined)}\\n */\\nEvent.prototype.clipboardData;\\n\\n/** @type {boolean} */\\nEvent.prototype.contentOverflow;\\n\\n/** @type {boolean} */\\nEvent.prototype.ctrlLeft;\\n\\n/** @type {string} */\\nEvent.prototype.dataFld;\\n\\nEvent.prototype.domain;\\n\\n/** @type {Element} */\\nEvent.prototype.fromElement;\\n\\n/** @type {string} */\\nEvent.prototype.MoreInfo;\\n\\n/** @type {string} */\\nEvent.prototype.nextPage;\\n\\n/** @type {number} */\\nEvent.prototype.offsetX;\\n\\n/** @type {number} */\\nEvent.prototype.offsetY;\\n\\n/** @type {string} */\\nEvent.prototype.propertyName;\\n\\n/** @type {string} */\\nEvent.prototype.qualifier;\\n\\n/** @type {number} */\\nEvent.prototype.reason;\\n\\n/** @type {Object<*>} */\\nEvent.prototype.recordset;\\n\\n/** @type {boolean} */\\nEvent.prototype.repeat;\\n\\n/** @type {(boolean|string|undefined)} */\\nEvent.prototype.returnValue;\\n\\n/** @type {string} */\\nEvent.prototype.saveType;\\n\\nEvent.prototype.scheme;\\n\\n/** @type {boolean} */\\nEvent.prototype.shiftLeft;\\n\\n/** @type {Window} */\\nEvent.prototype.source;\\n\\n/** @type {Element} */\\nEvent.prototype.srcElement;\\n\\nEvent.prototype.srcFilter;\\n\\n/** @type {string} */\\nEvent.prototype.srcUrn;\\n\\n/** @type {Element} */\\nEvent.prototype.toElement;\\n\\nEvent.prototype.userName;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDelta;\\n\\n/** @type {number} */\\nEvent.prototype.x;\\n\\n/** @type {number} */\\nEvent.prototype.y;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441257.aspx\\n */\\nfunction MSPointerPoint() {}\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerPoint.prototype.pointerType;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441233.aspx\\n */\\nfunction MSPointerEvent() {}\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_MOUSE;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_PEN;\\n\\n/** @type {number} */\\nMSPointerEvent.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.hwTimestamp;\\n\\n/** @type {boolean} */\\nMSPointerEvent.prototype.isPrima';
a.a+='ry;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pointerType;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.tiltY;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.timeStamp;\\n\\n/** @type {number} */\\nMSPointerEvent.prototype.width;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msReleasePointerCapture;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSPointerEvent.prototype.msSetPointerCapture;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {boolean} ctrlKeyArg\\n * @param {boolean} altKeyArg\\n * @param {boolean} shiftKeyArg\\n * @param {boolean} metaKeyArg\\n * @param {number} buttonArg\\n * @param {Element} relatedTargetArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} widthArg\\n * @param {number} heightArg\\n * @param {number} pressure\\n * @param {number} rotation\\n * @param {number} tiltX\\n * @param {number} tiltY\\n * @param {number} pointerIdArg\\n * @param {number} pointerType\\n * @param {number} hwTimestampArg\\n * @param {boolean} isPrimary\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441246.aspx\\n */\\nMSPointerEvent.prototype.initPointerEvent;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh968249(v=vs.85).aspx\\n */\\nfunction MSGesture() {}\\n\\n/**\\n * @type {Element}\\n */\\nMSGesture.prototype.target;\\n\\n/**\\n * @param {number} pointerId\\n * @return {undefined}\\n */\\nMSGesture.prototype.addPointer = function(pointerId) {};\\n\\nMSGesture.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh772076(v=vs.85).aspx\\n */\\nfunction MSGestureEvent() {}\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.expansion;\\n\\n/** @type {!MSGesture} */\\nMSGestureEvent.prototype.gestureObject;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.hwTimestamp;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.rotation;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.scale;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.translationY;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityAngular;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityExpansion;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityX;\\n\\n/** @type {number} */\\nMSGestureEvent.prototype.velocityY;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {Window} viewArg\\n * @param {number} detailArg\\n * @param {number} screenXArg\\n * @param {number} screenYArg\\n * @param {number} clientXArg\\n * @param {number} clientYArg\\n * @param {number} offsetXArg\\n * @param {number} offsetYArg\\n * @param {number} translationXArg\\n * @param {number} translationYArg\\n * @param {number} scaleArg\\n * @param {number} expansionArg\\n * @param {number} rotationArg\\n * @param {number} velocityXArg\\n * @param {number} velocityYArg\\n * @param {number} velocityExpansionArg\\n * @param {number} velocityAngularArg\\n * @param {number} hwTimestampArg\\n * @param {EventTarget} relatedTargetArg\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh441187.aspx\\n */\\nMSGestureEvent.prototype.initGestureEvent;\\n","externs/webkit_event.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s\\n *  event specification by WebKit. This file depends on w3c_event.js.\\n *  All the provided definitions have been type annotated\\n *\\n * @externs\\n * @author djlee@google.com (DJ Lee)\\n */\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaX;\\n\\n/** @type {number} */\\nEvent.prototype.wheelDeltaY;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://developer.apple.com/library/safari/documentation/AudioVideo/Reference/WebKitAnimationEventClassReference/WebKitAnimationEvent/WebKitAnimationEvent.html\\n */\\nfunction WebKitAnimationEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.animationName;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nWebKitAnimationEvent.prototype.elapsedTime;","externs/w3c_device_sensor_event.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s device orientation and device motion\\n *  events specification.\\n *  This file depends on w3c_event.js.\\n *  The whole file has been partially type annotated.\\n *  Created from http://dev.w3.org/geo/api/spec-source-orientation.\\n *\\n * @externs\\n * @author lukaszbk@google.com (Lukasz Bieniasz-Krzywiec)\\n */\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceOrientationEvent() {}\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceOrientationEvent.prototype.gamma;\\n\\n/** @type {boolean} */\\nDeviceOrientationEvent.prototype.absolute;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassAccuracy\\n */\\nDeviceOrientationEvent.prototype.webkitCompassAccuracy;\\n\\n/**\\n * @type {?number}\\n * @see https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/DeviceOrientationEventClassRef/DeviceOrientationEvent/DeviceOrientationEvent.html#//apple_ref/javascript/instp/DeviceOrientationEvent/webkitCompassHeading\\n */\\nDeviceOrientationEvent.prototype.webkitCompassHeading;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceAcceleration() {}\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.x;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.y;\\n\\n/** @type {?number} */\\nDeviceAcceleration.prototype.z;\\n\\n/**\\n * @constructor\\n */\\nfunction DeviceRotationRate() {}\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.alpha;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.beta;\\n\\n/** @type {?number} */\\nDeviceRotationRate.prototype.gamma;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction DeviceMotionEvent() {}\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.acceleration;\\n\\n/** @type {?DeviceAcceleration} */\\nDeviceMotionEvent.prototype.accelerationIncludingGravity;\\n\\n/** @type {?DeviceRotationRate} */\\nDeviceMotionEvent.prototype.rotationRate;\\n\\n/** @type {?number} */\\nDeviceMotionEvent.prototype.interval;\\n","externs/w3c_dom1.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 1 specification.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-17189187\\n */\\nfunction DOMException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INDEX_SIZE_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.DOMSTRING_SIZE_ERR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.HIERARCHY_REQUEST_ERR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.WRONG_DOCUMENT_ERR = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INVALID_CHARACTER_ERR = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_DATA_ALLOWED_ERR = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NO_MODIFICATION_ALLOWED_ERR = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_FOUND_ERR = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.NOT_SUPPORTED_ERR = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nDOMException.INUSE_ATTRIBUTE_ERR = 10;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-258A00AF\\n */\\nfunction ExceptionCode() {}\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-102161490\\n */\\nfunction DOMImplementation() {}\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5CED94D7\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.hasFeature = function(feature, version) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nfunction Node() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNode.prototype.removeEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nNode.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {NamedNodeMap<!Attr>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-attributes\\n */\\nNode.prototype.attributes;\\n\\n/**\\n * @type {!NodeList<!Node>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-childNodes\\n */\\nNode.prototype.childNodes;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-firstChild\\n */\\nNode.prototype.firstChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-lastChild\\n */\\nNode.prototype.lastChild;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nextSibling\\n */\\nNode.prototype.nextSibling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeName\\n */\\nNode.prototype.nodeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeValue\\n */\\nNode.prototype.nodeValue;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-nodeType\\n */\\nNode.prototype.nodeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-ownerDocument\\n */\\nNode.prototype.ownerDocument;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-parentNode\\n */\\nNode.prototype.parentNode;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-previousSibling\\n */\\nNode.prototype.previousSibling;\\n\\n/**\\n * @param {Node} newChild\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-appendChild\\n */\\nNode.prototype.appendChild = function(newChild) {};\\n\\n/**\\n * @param {boolean} deep\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-cloneNode\\n * @nosideeffects\\n */\\nNode.prototype.cloneNode = function(deep) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-hasChildNodes\\n * @nosideeffects\\n */\\nNode.prototype.hasChildNodes = function() {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} refChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-insertBefore\\n */\\nNode.prototype.insertBefore = function(newChild, refChild) {};\\n\\n/**\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeChild\\n */\\nNode.prototype.removeChild = function(oldChild) {};\\n\\n/**\\n * @param {Node} newChild\\n * @param {Node} oldChild\\n * @return {!Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-replaceChild\\n */\\nNode.prototype.replaceChild = function(newChild, oldChild) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ATTRIBUTE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.CDATA_SECTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.COMMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_FRAGMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.DOCUMENT_TYPE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ELEMENT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w';
a.a+="3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.ENTITY_REFERENCE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.PROCESSING_INSTRUCTION_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.TEXT_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.XPATH_NAMESPACE_NODE;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247\\n */\\nNode.NOTATION_NODE;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-B63ED1A3\\n */\\nfunction DocumentFragment() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document\\n */\\nfunction Document() {}\\n\\n/**\\n * @type {DocumentType}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-doctype\\n */\\nDocument.prototype.doctype;\\n\\n/**\\n * @type {!Element}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-documentElement\\n */\\nDocument.prototype.documentElement;\\n\\n/**\\n * @type {DOMImplementation}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-implementation\\n */\\nDocument.prototype.implementation;\\n\\n/**\\n * @param {string} name\\n * @return {!Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createAttribute\\n * @nosideeffects\\n */\\nDocument.prototype.createAttribute = function(name) {};\\n\\n/**\\n * @param {string} data\\n * @return {!Comment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createComment\\n * @nosideeffects\\n */\\nDocument.prototype.createComment = function(data) {};\\n\\n/**\\n * @param {string} data\\n * @return {!CDATASection}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createCDATASection\\n * @nosideeffects\\n */\\nDocument.prototype.createCDATASection = function(data) {};\\n\\n/**\\n * @return {!DocumentFragment}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createDocumentFragment\\n * @nosideeffects\\n */\\nDocument.prototype.createDocumentFragment = function() {};\\n\\n/**\\n * Create a DOM element.\\n *\\n * Web components introduced the second parameter as a way of extending existing\\n * tags (e.g. document.createElement('button', 'fancy-button')).\\n *\\n * @param {string} tagName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @nosideeffects\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createElement\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-instantiate\\n */\\nDocument.prototype.createElement = function(tagName, opt_typeExtension) {};\\n\\n/**\\n * @param {string} name\\n * @return {!EntityReference}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createEntityReference\\n * @nosideeffects\\n */\\nDocument.prototype.createEntityReference = function(name) {};\\n\\n/**\\n * @param {string} target\\n * @param {string} data\\n * @return {!ProcessingInstruction}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createProcessingInstruction\\n * @nosideeffects\\n */\\nDocument.prototype.createProcessingInstruction = function(target, data) {};\\n\\n/**\\n * @param {number|string} data\\n * @return {!Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-createTextNode\\n * @nosideeffects\\n */\\nDocument.prototype.createTextNode = function(data) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-A6C9094\\n * @nosideeffects\\n */\\nDocument.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-536297177\\n */\\nfunction NodeList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-203510337\\n */\\nNodeList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-844377136\\n */\\nNodeList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number), T>}\\n * @implements {IArrayLike<T>}\\n * @implements {Iterable<T>}\\n * @template T\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1780488922\\n */\\nfunction NamedNodeMap() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6D0FB19E\\n */\\nNamedNodeMap.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1074577549\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.getNamedItem = function(name) {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-349467F9\\n * @nosideeffects\\n */\\nNamedNodeMap.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D58B193\\n */\\nNamedNodeMap.prototype.removeNamedItem = function(name) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1025163788\\n */\\nNamedNodeMap.prototype.setNamedItem = function(arg) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-FF21A306\\n */\\nfunction CharacterData() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-72AB8359\\n */\\nCharacterData.prototype.data;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7D61178C\\n */\\nCharacterData.prototype.length;\\n\\n/**\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-32791A2F\\n */\\nCharacterData.prototype.appendData = function(arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-7C603781\\n */\\nCharacterData.prototype.deleteData = function(offset, count) {};\\n\\n/**\\n * @param {number} offset\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-3EDB695F\\n */\\nCharacterData.prototype.insertData = function(offset, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @param {string} arg\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E5CBA7FB\\n */\\nCharacterData.prototype.replaceData = function(offset, count, arg) {};\\n\\n/**\\n * @param {number} offset\\n * @param {number} count\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6531BCCF\\n * @nosideeffects\\n */\\nCharacterData.prototype.substringData = function(offset, count) {};\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-637646024\\n */\\nfunction Attr() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1112119403\\n */\\nAttr.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-862529273\\n */\\nAttr.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-221662474\\n */\\nAttr.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614\\n */\\nfunction Element() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#attribute-tagName\\n */\\nElement.prototype.tagName;\\n\\n/**\\n * @implicitCast\\n * @type {?}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/className\\n *    We type it as ? even though it is a string, because some SVG elements have\\n *    className that is an object, which isn't a subtype of string.\\n *    Alternative: TypeScript types this as string and types className on\\n *    SVGElement as ?.\\n */\\nElement.prototype.className;\\n\\n/**\\n * @param {string} name\\n * @param {number?=} opt_flags\\n * @return {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttribute\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-getAttributeNode\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNode = function(name) {};\\n\\n/**\\n * @param {string} tagname\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1938918D\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagName = function(tagname) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttribute\\n */\\nElement.prototype.removeAttribute = function(name) {};\\n\\n/**\\n * @param {Attr} oldAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-removeAttributeNode\\n */\\nElement.prototype.removeAttributeNode = function(oldAttr) {};\\n\\n/**\\n * @param {string} name\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttribute\\n */\\nElement.prototype.setAttribute = function(name, value) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {?Attr}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#method-setAttributeNode\\n */\\nElement.prototype.setAttributeNode = function(newAttr) {};\\n\\n// Event handlers\\n// The DOM level 3 spec has a good index of these\\n// http://www.w3.org/TR/DOM-Level-3-Events/#event-types\\n\\n/** @type {?function (Event)} */ Element.prototype.onabort;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeinput;\\n/** @type {?function (Event)} */ Element.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Element.prototype.onblur;\\n/** @type {?function (Event)} */ Element.prototype.onchange;\\n/** @type {?function (Event)} */ Element.prototype.onclick;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionstart;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionupdate;\\n/** @type {?function (Event)} */ Element.prototype.oncompositionend;\\n/** @type {?function (Event)} */ Element.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Element.prototype.oncopy;\\n/** @type {?function (Event)} */ Element.prototype.oncut;\\n/** @type {?function (Event)} */ Element.prototype.ondblclick;\\n/** @type {?function (Event)} */ Element.prototype.onerror;\\n/** @type {?function (Event)} */ Element.prototype.onfocus;\\n/** @type {?function (Event)} */ Element.prototype.onfocusin;\\n/** @type {?function (Event)} */ Element.prototype.onfocusout;\\n/** @type {?function (Event)} */ Element.prototype.oninput;\\n/** @type {?function (Event)} */ Element.prototype.onkeydown;\\n/** @type {?function (Event)} */ Element.prototype.onkeypress;\\n/** @type {?function (Event)} */ Element.prototype.onkeyup;\\n/** @type {?function (Event)} */ Element.prototype.onload;\\n/** @type {?function (Event)} */ Element.prototype.onunload;\\n/** @type {?function (Event)} */ Element.prototype.onmousedown;\\n/** @type {?function (Event)} */ Element.prototype.onmousemove;\\n/** @type {?function (Event)} */ Element.prototype.onmouseout;\\n/** @type {?function (Event)} */ Element.prototype.onmouseover;\\n/** @type {?function (Event)} */ Element.prototype.onmouseup;\\n/** @type {?function (Event)} */ Element.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Element.prototype.onpaste;\\n/** @type {?function (Event)} */ Element.prototype.onreset;\\n/** @type {?function (Event)} */ Element.prototype.onresize;\\n/** @type {?function (Event)} */ Element.prototype.onscroll;\\n/** @type {?function (Event)} */ Element.prototype.onselect;\\n/** @type {?function (Event=)} */ Element.prototype.onsubmit;\\n/** @type {?function (Event)} */ Element.prototype.ontextinput;\\n/** @type {?function (Event)} */ Element.prototype.onwheel;\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1312295772\\n */\\nfunction Text() {}\\n\\n/**\\n * @param {number} offset\\n * @return {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-38853C1D\\n */\\nText.prototype.splitText = function(offset) {};\\n\\n/**\\n * @constructor\\n * @extends {CharacterData}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1728279322\\n */\\nfunction Comment() {}\\n\\n/**\\n * @constructor\\n * @extends {Text}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-667469212\\n */\\nfunction CDATASection() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-412266927\\n */\\nfunction DocumentType() {}\\n\\n/**\\n * @type {NamedNodeMap<!Entity>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1788794630\\n */\\nDocumentType.prototype.entities;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1844763134\\n */\\nDocumentType.prototype.name;\\n\\n/**\\n * @type {NamedNodeMap<!Notation>}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D46829EF\\n */\\nDocumentType.prototype.notations;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-5431D1B9\\n */\\nfunction Notation() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-54F2B4D0\\n */\\nNotation.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-E8AAB1D0\\n */\\nNotation.prototype.systemId;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-527DCFF2\\n */\\nfunction Entity() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7303025\\n */\\nEntity.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-D7C29F3E\\n */\\nEntity.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-6ABAEB38\\n */\\nEntity.prototype.notationName;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-11C98490\\n */\\nfunction EntityReference() {}\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-100";
a.a+='4215813\\n */\\nfunction ProcessingInstruction() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-837822393\\n */\\nProcessingInstruction.prototype.data;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1478689192\\n */\\nProcessingInstruction.prototype.target;\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Window() {}\\nWindow.prototype.Window;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.addEventListener = function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWindow.prototype.removeEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWindow.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {?function (Event)} */ Window.prototype.onabort;\\n/** @type {?function (Event)} */ Window.prototype.onbeforeunload;\\n/** @type {?function (Event)} */ Window.prototype.onblur;\\n/** @type {?function (Event)} */ Window.prototype.onchange;\\n/** @type {?function (Event)} */ Window.prototype.onclick;\\n/** @type {?function (Event)} */ Window.prototype.onclose;\\n/** @type {?function (Event)} */ Window.prototype.oncontextmenu;\\n/** @type {?function (Event)} */ Window.prototype.ondblclick;\\n/** @type {?function (Event)} */ Window.prototype.ondragdrop;\\n// onerror has a special signature.\\n// See https://developer.mozilla.org/en/DOM/window.onerror\\n// and http://msdn.microsoft.com/en-us/library/cc197053(VS.85).aspx\\n/** @type {?function (string, string, number)} */\\nWindow.prototype.onerror;\\n/** @type {?function (Event)} */ Window.prototype.onfocus;\\n/** @type {?function (Event)} */ Window.prototype.onhashchange;\\n/** @type {?function (Event)} */ Window.prototype.onkeydown;\\n/** @type {?function (Event)} */ Window.prototype.onkeypress;\\n/** @type {?function (Event)} */ Window.prototype.onkeyup;\\n/** @type {?function (Event)} */ Window.prototype.onload;\\n/** @type {?function (Event)} */ Window.prototype.onmousedown;\\n/** @type {?function (Event)} */ Window.prototype.onmousemove;\\n/** @type {?function (Event)} */ Window.prototype.onmouseout;\\n/** @type {?function (Event)} */ Window.prototype.onmouseover;\\n/** @type {?function (Event)} */ Window.prototype.onmouseup;\\n/** @type {?function (Event)} */ Window.prototype.onmousewheel;\\n/** @type {?function (Event)} */ Window.prototype.onpaint;\\n/** @type {?function (Event)} */ Window.prototype.onpopstate;\\n/** @type {?function (Event)} */ Window.prototype.onreset;\\n/** @type {?function (Event)} */ Window.prototype.onresize;\\n/** @type {?function (Event)} */ Window.prototype.onscroll;\\n/** @type {?function (Event)} */ Window.prototype.onselect;\\n/** @type {?function (Event=)} */ Window.prototype.onsubmit;\\n/** @type {?function (Event)} */ Window.prototype.onunload;\\n/** @type {?function (Event)} */ Window.prototype.onwheel;\\n","externs/w3c_dom2.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 2 specification.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *  http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\\n *\\n * @externs\\n */\\n\\n/**\\n * @param {string} s id.\\n * @return {Element}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBId\\n */\\nDocument.prototype.getElementById = function(s) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string=} opt_typeExtension\\n * @return {!Element}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createElementNS =\\n    function(namespaceURI, qualifiedName, opt_typeExtension) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {!Attr}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-DocCrElNS\\n */\\nDocument.prototype.createAttributeNS =\\n    function(namespaceURI, qualifiedName) {};\\n\\n/**\\n * @param {string} namespace\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#ID-getElBTNNS\\n */\\nDocument.prototype.getElementsByTagNameNS = function(namespace, name) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @param {boolean} deep\\n * @return {Node}\\n * @see https://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/core.html#Core-Document-importNode\\n */\\nDocument.prototype.importNode = function(externalNode, deep) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),T>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75708506\\n */\\nfunction HTMLCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40057551\\n */\\nHTMLCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33262535\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {T|null}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21069976\\n * @nosideeffects\\n */\\nHTMLCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),HTMLOptionElement>}\\n * @implements {IArrayLike<!HTMLOptionElement>}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection\\n */\\nfunction HTMLOptionsCollection() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-length\\n */\\nHTMLOptionsCollection.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-HTML/html.html#HTMLOptionsCollection-item\\n * @nosideeffects\\n */\\nHTMLOptionsCollection.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26809268\\n */\\nfunction HTMLDocument() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18446827\\n */\\nHTMLDocument.prototype.title;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95229140\\n */\\nHTMLDocument.prototype.referrer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2250147\\n */\\nHTMLDocument.prototype.domain;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46183437\\n */\\nHTMLDocument.prototype.URL;\\n\\n/**\\n * @type {HTMLBodyElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56360201\\n */\\nHTMLDocument.prototype.body;\\n\\n/**\\n * @type {HTMLCollection<!HTMLImageElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90379117\\n */\\nHTMLDocument.prototype.images;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85113862\\n */\\nHTMLDocument.prototype.applets;\\n\\n/**\\n * @type {HTMLCollection<(!HTMLAnchorElement|!HTMLAreaElement)>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7068919\\n */\\nHTMLDocument.prototype.links;\\n\\n/**\\n * @type {HTMLCollection<!HTMLFormElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1689064\\n */\\nHTMLDocument.prototype.forms;\\n\\n/**\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7577272\\n */\\nHTMLDocument.prototype.anchors;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8747038\\n */\\nHTMLDocument.prototype.cookie;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72161170\\n * @override\\n */\\nHTMLDocument.prototype.open = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98948567\\n * @override\\n */\\nHTMLDocument.prototype.close = function() {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75233634\\n * @override\\n */\\nHTMLDocument.prototype.write = function(text) {};\\n\\n/**\\n * @param {string} text\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35318390\\n * @override\\n */\\nHTMLDocument.prototype.writeln = function(text) {};\\n\\n/**\\n * @param {string} elementName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71555259\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.getElementsByName = function(elementName) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!NodeIterator}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createNodeIterator = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n/**\\n * @param {Node} root\\n * @param {number=} whatToShow\\n * @param {NodeFilter=} filter\\n * @param {boolean=} entityReferenceExpansion\\n * @return {!TreeWalker}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-Document\\n * @nosideeffects\\n */\\nHTMLDocument.prototype.createTreeWalker = function(\\n    root, whatToShow, filter, entityReferenceExpansion) {};\\n\\n\\n/** @typedef {{\\n  createNodeIterator: function(Node, number=, NodeFilter=, boolean=) : NodeIterator,\\n  createTreeWalker: function(Node, number=, NodeFilter=, boolean=) : TreeWalker\\n}} */\\nvar TraversalDocument;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter\\n*/\\nfunction NodeFilter() {}\\n\\n/* Constants for whatToShow */\\n/** @const {number} */ NodeFilter.SHOW_ALL;\\n/** @const {number} */ NodeFilter.SHOW_ATTRIBUTE;\\n/** @const {number} */ NodeFilter.SHOW_CDATA_SECTION;\\n/** @const {number} */ NodeFilter.SHOW_COMMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_FRAGMENT;\\n/** @const {number} */ NodeFilter.SHOW_DOCUMENT_TYPE;\\n/** @const {number} */ NodeFilter.SHOW_ELEMENT;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY;\\n/** @const {number} */ NodeFilter.SHOW_ENTITY_REFERENCE;\\n/** @const {number} */ NodeFilter.SHOW_NOTATION;\\n/** @const {number} */ NodeFilter.SHOW_PROCESSING_INSTRUCTION;\\n/** @const {number} */ NodeFilter.SHOW_TEXT;\\n\\n/* Consants for acceptNode */\\n/** @const {number} */ NodeFilter.FILTER_ACCEPT;\\n/** @const {number} */ NodeFilter.FILTER_REJECT;\\n/** @const {number} */ NodeFilter.FILTER_SKIP;\\n\\n/**\\n * @param {Node} n\\n * @return {number} Any of NodeFilter.FILTER_* constants.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeFilter-acceptNode\\n*/\\nNodeFilter.prototype.acceptNode = function(n) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator\\n*/\\nfunction NodeIterator() {}\\n\\n/**\\n * Detach and invalidate the NodeIterator.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-detach\\n * @return {undefined}\\n */\\nNodeIterator.prototype.detach = function() {};\\n\\n/**\\n * @return {Node} Next node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-nextNode\\n */\\nNodeIterator.prototype.nextNode = function() {};\\n\\n/**\\n * @return {Node} Previous node in the set.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-NodeIterator-previousNode\\n */\\nNodeIterator.prototype.previousNode = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker\\n*/\\nfunction TreeWalker() {}\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-firstChild\\n */\\nTreeWalker.prototype.firstChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null..\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-lastChild\\n */\\nTreeWalker.prototype.lastChild = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextNode\\n */\\nTreeWalker.prototype.nextNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-nextSibling\\n */\\nTreeWalker.prototype.nextSibling = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-parentNode\\n */\\nTreeWalker.prototype.parentNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousNode\\n */\\nTreeWalker.prototype.previousNode = function() {};\\n\\n/**\\n * @return {?Node} The new Node or null.\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal.html#Traversal-TreeWalker-previousSibling\\n */\\nTreeWalker.prototype.previousSibling = function() {};\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.root;\\n\\n/**\\n * @type {number}\\n */\\nTreeWalker.prototype.whatToShow;\\n\\n/**\\n * @type {NodeFilter}\\n */\\nTreeWalker.prototype.filter;\\n\\n/**\\n * @type {boolean}\\n */\\nTreeWalker.prototype.expandEntityReference;\\n\\n/**\\n * @type {Node}\\n */\\nTreeWalker.prototype.currentNode;\\n\\n/**\\n * @constructor\\n * @extends {Element}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58190037\\n */\\nfunction HTMLElement() {}\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63534901\\n */\\nHTMLElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78276800\\n */\\nHTMLElement.prototype.title;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nHTMLElement.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59132807\\n */\\nHTMLElement.prototype.lang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52460740\\n */\\nHTMLElement.prototype.dir;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95362176\\n */\\nHTMLElement.prototype.className;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40676705\\n */\\nHTMLElement.prototype.tabIndex;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33759296\\n */\\nfunction HTMLHtmlElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9383775\\n */\\nHTMLHtmlElement.prototype.version;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77';
a.a+="253168\\n */\\nfunction HTMLHeadElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96921909\\n */\\nHTMLHeadElement.prototype.profile;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35143001\\n */\\nfunction HTMLLinkElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87355129\\n */\\nHTMLLinkElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63954491\\n */\\nHTMLLinkElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33532588\\n */\\nHTMLLinkElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85145682\\n */\\nHTMLLinkElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75813125\\n */\\nHTMLLinkElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41369587\\n */\\nHTMLLinkElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40715461\\n */\\nHTMLLinkElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84183095\\n */\\nHTMLLinkElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32498296\\n */\\nHTMLLinkElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLLinkElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79243169\\n */\\nfunction HTMLTitleElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77500413\\n */\\nHTMLTitleElement.prototype.text;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37041454\\n */\\nfunction HTMLMetaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87670826\\n */\\nHTMLMetaElement.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77289449\\n */\\nHTMLMetaElement.prototype.httpEquiv;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31037081\\n */\\nHTMLMetaElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35993789\\n */\\nHTMLMetaElement.prototype.scheme;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73629039\\n */\\nfunction HTMLBaseElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65382887\\n */\\nHTMLBaseElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73844298\\n */\\nHTMLBaseElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85283003\\n */\\nfunction HTMLIsIndexElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87069980\\n */\\nHTMLIsIndexElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33589862\\n */\\nHTMLIsIndexElement.prototype.prompt;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @implements {LinkStyle}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16428977\\n */\\nfunction HTMLStyleElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51162010\\n */\\nHTMLStyleElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76412738\\n */\\nHTMLStyleElement.prototype.media;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22472002\\n */\\nHTMLStyleElement.prototype.type;\\n\\n/** @type {StyleSheet} */\\nHTMLStyleElement.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62018039\\n */\\nfunction HTMLBodyElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59424581\\n */\\nHTMLBodyElement.prototype.aLink;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37574810\\n */\\nHTMLBodyElement.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24940084\\n */\\nHTMLBodyElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7662206\\n */\\nHTMLBodyElement.prototype.link;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73714763\\n */\\nHTMLBodyElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83224305\\n */\\nHTMLBodyElement.prototype.vLink;\\n\\n/**\\n * @constructor\\n * @extends {HTMLCollection<T>}\\n * @implements {IObject<string, (T|RadioNodeList<T>)>}\\n * @implements {IArrayLike<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmlformcontrolscollection-interface\\n */\\nfunction HTMLFormControlsCollection() {}\\n\\n/**\\n * @param {string} name\\n * @return {T|RadioNodeList<T>|null}\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#dom-htmlformcontrolscollection-nameditem\\n * @nosideeffects\\n * @override\\n * @suppress {newCheckTypes}\\n */\\nHTMLFormControlsCollection.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40002357\\n */\\nfunction HTMLFormElement() {}\\n\\n/**\\n * @type {HTMLFormControlsCollection<!HTMLElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76728479\\n */\\nHTMLFormElement.prototype.elements;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLFormElement-length\\n */\\nHTMLFormElement.prototype.length;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22051454\\n */\\nHTMLFormElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19661795\\n */\\nHTMLFormElement.prototype.acceptCharset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74049184\\n */\\nHTMLFormElement.prototype.action;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84227810\\n */\\nHTMLFormElement.prototype.enctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82545539\\n */\\nHTMLFormElement.prototype.method;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6512890\\n */\\nHTMLFormElement.prototype.target;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767676\\n */\\nHTMLFormElement.prototype.submit = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76767677\\n */\\nHTMLFormElement.prototype.reset = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94282980\\n */\\nfunction HTMLSelectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58783172\\n */\\nHTMLSelectElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85676760\\n */\\nHTMLSelectElement.prototype.selectedIndex;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59351919\\n */\\nHTMLSelectElement.prototype.value;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5933486\\n */\\nHTMLSelectElement.prototype.length;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20489458\\n */\\nHTMLSelectElement.prototype.form;\\n\\n/**\\n * @type {!HTMLOptionsCollection}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30606413\\n */\\nHTMLSelectElement.prototype.options;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79102918\\n */\\nHTMLSelectElement.prototype.disabled;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13246613\\n */\\nHTMLSelectElement.prototype.multiple;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41636323\\n */\\nHTMLSelectElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18293826\\n */\\nHTMLSelectElement.prototype.size;\\n\\n/**\\n * @param {HTMLElement} element\\n * @param {HTMLElement=} opt_before\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14493106\\n */\\nHTMLSelectElement.prototype.add = function(element, opt_before) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-28216144\\n * @override\\n */\\nHTMLSelectElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32130014\\n * @override\\n */\\nHTMLSelectElement.prototype.focus = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-33404570\\n * @override\\n */\\nHTMLSelectElement.prototype.remove = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38450247\\n */\\nfunction HTMLOptGroupElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15518803\\n */\\nHTMLOptGroupElement.prototype.disabled;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95806054\\n */\\nHTMLOptGroupElement.prototype.label;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70901257\\n */\\nfunction HTMLOptionElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-37770574\\n */\\nHTMLOptionElement.prototype.defaultSelected;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23482473\\n */\\nHTMLOptionElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17116503\\n */\\nHTMLOptionElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14038413\\n */\\nHTMLOptionElement.prototype.index;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40736115\\n */\\nHTMLOptionElement.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70874476\\n */\\nHTMLOptionElement.prototype.selected;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48154426\\n */\\nHTMLOptionElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6185554\\n */\\nHTMLOptionElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6043025\\n */\\nfunction HTMLInputElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15328520\\n */\\nHTMLInputElement.prototype.accept;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59914154\\n */\\nHTMLInputElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96991182\\n */\\nHTMLInputElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92701314\\n */\\nHTMLInputElement.prototype.alt;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30233917\\n */\\nHTMLInputElement.prototype.checked;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20509171\\n */\\nHTMLInputElement.prototype.defaultChecked;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26091157\\n */\\nHTMLInputElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50886781\\n */\\nHTMLInputElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63239895\\n */\\nHTMLInputElement.prototype.form;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-54719353\\n */\\nHTMLInputElement.prototype.maxLength;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89658498\\n */\\nHTMLInputElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88461592\\n */\\nHTMLInputElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79659438\\n */\\nHTMLInputElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97320704\\n */\\nHTMLInputElement.prototype.src;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62176355\\n */\\nHTMLInputElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62883744\\n */\\nHTMLInputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32463706\\n */\\nHTMLInputElement.prototype.useMap;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49531485\\n */\\nHTMLInputElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26838235\\n * @override\\n */\\nHTMLInputElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-2651361\\n * @override\\n */\\nHTMLInputElement.prototype.click = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65996295\\n * @override\\n */\\nHTMLInputElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34677168\\n */\\nHTMLInputElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-24874179\\n */\\nfunction HTMLTextAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93102991\\n */\\nHTMLTextAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-51387225\\n */\\nHTMLTextAreaElement.prototype.c";
a.a+="ols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36152213\\n */\\nHTMLTextAreaElement.prototype.defaultValue;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98725443\\n */\\nHTMLTextAreaElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18911464\\n */\\nHTMLTextAreaElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715578\\n */\\nHTMLTextAreaElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39131423\\n */\\nHTMLTextAreaElement.prototype.readOnly;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46975887\\n */\\nHTMLTextAreaElement.prototype.rows;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-60363303\\n */\\nHTMLTextAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#HTML-HTMLTextAreaElement-type\\n */\\nHTMLTextAreaElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70715579\\n */\\nHTMLTextAreaElement.prototype.value;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6750689\\n * @override\\n */\\nHTMLTextAreaElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39055426\\n * @override\\n */\\nHTMLTextAreaElement.prototype.focus = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48880622\\n */\\nHTMLTextAreaElement.prototype.select = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34812697\\n */\\nfunction HTMLButtonElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-73169431\\n */\\nHTMLButtonElement.prototype.accessKey;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92757155\\n */\\nHTMLButtonElement.prototype.disabled;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71254493\\n */\\nHTMLButtonElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11029910\\n */\\nHTMLButtonElement.prototype.name;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39190908\\n */\\nHTMLButtonElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27430092\\n */\\nHTMLButtonElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72856782\\n */\\nHTMLButtonElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13691394\\n */\\nfunction HTMLLabelElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43589892\\n */\\nHTMLLabelElement.prototype.accessKey;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32480901\\n */\\nHTMLLabelElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96509813\\n */\\nHTMLLabelElement.prototype.htmlFor;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7365882\\n */\\nfunction HTMLFieldSetElement() {}\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75392630\\n */\\nHTMLFieldSetElement.prototype.form;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#attr-fieldset-disabled\\n */\\nHTMLFieldSetElement.prototype.disabled;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21482039\\n */\\nfunction HTMLLegendElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11297832\\n */\\nHTMLLegendElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79538067\\n */\\nHTMLLegendElement.prototype.align;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-29594519\\n */\\nHTMLLegendElement.prototype.form;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-86834457\\n */\\nfunction HTMLUListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39864178\\n */\\nHTMLUListElement.prototype.compact;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96874670\\n */\\nHTMLUListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58056027\\n */\\nfunction HTMLOListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76448506\\n */\\nHTMLOListElement.prototype.compact;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14793325\\n */\\nHTMLOListElement.prototype.start;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40971103\\n */\\nHTMLOListElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52368974\\n */\\nfunction HTMLDListElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-21738539\\n */\\nHTMLDListElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71600284\\n */\\nfunction HTMLDirectoryElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75317739\\n */\\nHTMLDirectoryElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-72509186\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menu-element\\n */\\nfunction HTMLMenuElement() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68436464\\n */\\nHTMLMenuElement.prototype.compact;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74680021\\n */\\nfunction HTMLLIElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52387668\\n */\\nHTMLLIElement.prototype.type;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45496263\\n */\\nHTMLLIElement.prototype.value;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22445964\\n */\\nfunction HTMLDivElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70908791\\n */\\nHTMLDivElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84675076\\n */\\nfunction HTMLParagraphElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53465507\\n */\\nHTMLParagraphElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43345119\\n */\\nfunction HTMLHeadingElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6796462\\n */\\nHTMLHeadingElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70319763\\n */\\nfunction HTMLQuoteElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53895598\\n */\\nHTMLQuoteElement.prototype.cite;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11383425\\n */\\nfunction HTMLPreElement() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13894083\\n */\\nHTMLPreElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56836063\\n */\\nfunction HTMLBRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82703081\\n */\\nHTMLBRElement.prototype.clear;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32774408\\n */\\nfunction HTMLBaseFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87502302\\n */\\nHTMLBaseFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88128969\\n */\\nHTMLBaseFontElement.prototype.face;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38930424\\n */\\nHTMLBaseFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43943847\\n */\\nfunction HTMLFontElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53532975\\n */\\nHTMLFontElement.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55715655\\n */\\nHTMLFontElement.prototype.face;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90127284\\n */\\nHTMLFontElement.prototype.size;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68228811\\n */\\nfunction HTMLHRElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-15235012\\n */\\nHTMLHRElement.prototype.align;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79813978\\n */\\nHTMLHRElement.prototype.noShade;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77612587\\n */\\nHTMLHRElement.prototype.size;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87744198\\n */\\nHTMLHRElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79359609\\n */\\nfunction HTMLModElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75101708\\n */\\nHTMLModElement.prototype.cite;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88432678\\n */\\nHTMLModElement.prototype.dateTime;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48250443\\n */\\nfunction HTMLAnchorElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89647724\\n */\\nHTMLAnchorElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67619266\\n */\\nHTMLAnchorElement.prototype.charset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-92079539\\n */\\nHTMLAnchorElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88517319\\n */\\nHTMLAnchorElement.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87358513\\n */\\nHTMLAnchorElement.prototype.hreflang;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-32783304\\n */\\nHTMLAnchorElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3815891\\n */\\nHTMLAnchorElement.prototype.rel;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58259771\\n */\\nHTMLAnchorElement.prototype.rev;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-49899808\\n */\\nHTMLAnchorElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-41586466\\n */\\nHTMLAnchorElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6414197\\n */\\nHTMLAnchorElement.prototype.target;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63938221\\n */\\nHTMLAnchorElement.prototype.type;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-65068939\\n * @override\\n */\\nHTMLAnchorElement.prototype.blur = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47150313\\n * @override\\n */\\nHTMLAnchorElement.prototype.focus = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17701901\\n */\\nfunction HTMLImageElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-3211094\\n */\\nHTMLImageElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-95636861\\n */\\nHTMLImageElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-136671\\n */\\nHTMLImageElement.prototype.border;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91561496\\n */\\nHTMLImageElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53675471\\n */\\nHTMLImageElement.prototype.hspace;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58983880\\n */\\nHTMLImageElement.prototype.isMap;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77376969\\n */\\nHTMLImageElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91256910\\n */\\nHTMLImageElement.prototype.lowSrc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47534097\\n */\\nHTMLImageElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-87762984\\n */\\nHTMLImageElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35981181\\n */\\nHTMLImageElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85374897\\n */\\nHTMLImageElement.prototype.vspace;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13839076\\n */\\nHTMLImageElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9893177\\n */\\nfun";
a.a+="ction HTMLObjectElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16962097\\n */\\nHTMLObjectElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-47783837\\n */\\nHTMLObjectElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82818419\\n */\\nHTMLObjectElement.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75241146\\n */\\nHTMLObjectElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25709136\\n */\\nHTMLObjectElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19945008\\n */\\nHTMLObjectElement.prototype.codeType;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538621\\n */\\nHTMLObjectElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81766986\\n */\\nHTMLObjectElement.prototype.data;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-942770\\n */\\nHTMLObjectElement.prototype.declare;\\n\\n/**\\n * @type {HTMLFormElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46094773\\n */\\nHTMLObjectElement.prototype.form;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88925838\\n */\\nHTMLObjectElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-17085376\\n */\\nHTMLObjectElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20110362\\n */\\nHTMLObjectElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25039673\\n */\\nHTMLObjectElement.prototype.standby;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27083787\\n */\\nHTMLObjectElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91665621\\n */\\nHTMLObjectElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6649772\\n */\\nHTMLObjectElement.prototype.useMap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8682483\\n */\\nHTMLObjectElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38538620\\n */\\nHTMLObjectElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64077273\\n */\\nfunction HTMLParamElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59871447\\n */\\nHTMLParamElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18179888\\n */\\nHTMLParamElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77971357\\n */\\nHTMLParamElement.prototype.value;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23931872\\n */\\nHTMLParamElement.prototype.valueType;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31006348\\n */\\nfunction HTMLAppletElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8049912\\n */\\nHTMLAppletElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58610064\\n */\\nHTMLAppletElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14476360\\n */\\nHTMLAppletElement.prototype.archive;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61509645\\n */\\nHTMLAppletElement.prototype.code;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6581160\\n */\\nHTMLAppletElement.prototype.codeBase;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90184867\\n */\\nHTMLAppletElement.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1567197\\n */\\nHTMLAppletElement.prototype.hspace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39843695\\n */\\nHTMLAppletElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93681523\\n */\\nHTMLAppletElement.prototype.object;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22637173\\n */\\nHTMLAppletElement.prototype.vspace;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16526327\\n */\\nHTMLAppletElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-94109203\\n */\\nfunction HTMLMapElement() {}\\n\\n/**\\n * @type {HTMLCollection<!HTMLAreaElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-71838730\\n */\\nHTMLMapElement.prototype.areas;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52696514\\n */\\nHTMLMapElement.prototype.name;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26019118\\n */\\nfunction HTMLAreaElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57944457\\n */\\nHTMLAreaElement.prototype.accessKey;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-39775416\\n */\\nHTMLAreaElement.prototype.alt;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66021476\\n */\\nHTMLAreaElement.prototype.coords;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-34672936\\n */\\nHTMLAreaElement.prototype.href;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-61826871\\n */\\nHTMLAreaElement.prototype.noHref;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-85683271\\n */\\nHTMLAreaElement.prototype.shape;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8722121\\n */\\nHTMLAreaElement.prototype.tabIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46054682\\n */\\nHTMLAreaElement.prototype.target;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-81598695\\n */\\nfunction HTMLScriptElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-35305677\\n */\\nHTMLScriptElement.prototype.charset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-93788534\\n */\\nHTMLScriptElement.prototype.defer;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-56700403\\n */\\nHTMLScriptElement.prototype.event;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66979266\\n */\\nHTMLScriptElement.prototype.htmlFor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-75147231\\n */\\nHTMLScriptElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-46872999\\n */\\nHTMLScriptElement.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30534818\\n */\\nHTMLScriptElement.prototype.type;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64060425\\n */\\nfunction HTMLTableElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-23180977\\n */\\nHTMLTableElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83532985\\n */\\nHTMLTableElement.prototype.bgColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50969400\\n */\\nHTMLTableElement.prototype.border;\\n\\n/**\\n * @type {HTMLTableCaptionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-14594520\\n */\\nHTMLTableElement.prototype.caption;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-59162158\\n */\\nHTMLTableElement.prototype.cellPadding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68907883\\n */\\nHTMLTableElement.prototype.cellSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64808476\\n */\\nHTMLTableElement.prototype.frame;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6156016\\n */\\nHTMLTableElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-26347553\\n */\\nHTMLTableElement.prototype.rules;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-44998528\\n */\\nHTMLTableElement.prototype.summary;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableSectionElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-63206416\\n */\\nHTMLTableElement.prototype.tBodies;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-64197097\\n */\\nHTMLTableElement.prototype.tFoot;\\n\\n/**\\n * @type {HTMLTableSectionElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9530944\\n */\\nHTMLTableElement.prototype.tHead;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-77447361\\n */\\nHTMLTableElement.prototype.width;\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96920263\\n */\\nHTMLTableElement.prototype.createCaption = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8453710\\n */\\nHTMLTableElement.prototype.createTFoot = function() {};\\n\\n/**\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70313345\\n */\\nHTMLTableElement.prototype.createTHead = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22930071\\n */\\nHTMLTableElement.prototype.deleteCaption = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-13114938\\n */\\nHTMLTableElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78363258\\n */\\nHTMLTableElement.prototype.deleteTFoot = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-38310198\\n */\\nHTMLTableElement.prototype.deleteTHead = function() {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltableelement\\n */\\nHTMLTableElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-12035137\\n */\\nfunction HTMLTableCaptionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-79875068\\n */\\nHTMLTableCaptionElement.prototype.align;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84150186\\n */\\nfunction HTMLTableColElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-31128447\\n */\\nHTMLTableColElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-9447412\\n */\\nHTMLTableColElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-57779225\\n */\\nHTMLTableColElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96511335\\n */\\nHTMLTableColElement.prototype.span;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83291710\\n */\\nHTMLTableColElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-25196799\\n */\\nHTMLTableColElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67417573\\n */\\nfunction HTMLTableSectionElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-40530119\\n */\\nHTMLTableSectionElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83470012\\n */\\nHTMLTableSectionElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-53459732\\n */\\nHTMLTableSectionElement.prototype.chOff;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableRowElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-52092650\\n */\\nHTMLTableSectionElement.prototype.rows;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-4379116\\n */\\nHTMLTableSectionElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-5625626\\n */\\nHTMLTableSectionElement.prototype.deleteRow = function(index) {};\\n\\n/**\\n * @param {number=} opt_index\\n * @return {HTMLElement}\\n * @see https://www.w3.org/TR/html5/tabular-data.html#htmltablesectionelement\\n */\\nHTMLTableSectionElement.prototype.insertRow = function(opt_index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-6986576\\n */\\nfunction HTMLTableRowElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74098257\\n */\\nHTMLTableRowElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-18161327\\n */\\nHTMLTableRowElement.prototype.bgColor;\\n\\n/**\\n * @type {HTMLCollection<!HTMLTableCellElement>}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67349879\\n */\\nHTMLTableRowElement.prototype.cells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-16230502\\n */\\nHTMLTableRowElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68207461\\n */\\nHTMLTableRowElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67347567\\n */\\nHTMLTableRowElement.prototype.rowIndex;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-2000051";
a.a+='0/html.html#ID-79105901\\n */\\nHTMLTableRowElement.prototype.sectionRowIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-90000058\\n */\\nHTMLTableRowElement.prototype.vAlign;\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11738598\\n */\\nHTMLTableRowElement.prototype.deleteCell = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-68927016\\n */\\nHTMLTableRowElement.prototype.insertCell = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-82915075\\n */\\nfunction HTMLTableCellElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-74444037\\n */\\nHTMLTableCellElement.prototype.abbr;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98433879\\n */\\nHTMLTableCellElement.prototype.align;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-76554418\\n */\\nHTMLTableCellElement.prototype.axis;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-88135431\\n */\\nHTMLTableCellElement.prototype.bgColor;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80748363\\n */\\nHTMLTableCellElement.prototype.cellIndex;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-30914780\\n */\\nHTMLTableCellElement.prototype.ch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-20144310\\n */\\nHTMLTableCellElement.prototype.chOff;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-84645244\\n */\\nHTMLTableCellElement.prototype.colSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-89104817\\n */\\nHTMLTableCellElement.prototype.headers;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-83679212\\n */\\nHTMLTableCellElement.prototype.height;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-62922045\\n */\\nHTMLTableCellElement.prototype.noWrap;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-48237625\\n */\\nHTMLTableCellElement.prototype.rowSpan;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36139952\\n */\\nHTMLTableCellElement.prototype.scope;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-58284221\\n */\\nHTMLTableCellElement.prototype.vAlign;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-27480795\\n */\\nHTMLTableCellElement.prototype.width;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43829095\\n */\\nfunction HTMLFrameSetElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-98869594\\n */\\nHTMLFrameSetElement.prototype.cols;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-19739247\\n */\\nHTMLFrameSetElement.prototype.rows;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-97790553\\n */\\nfunction HTMLFrameElement() {}\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799536\\n */\\nHTMLFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11858633\\n */\\nHTMLFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-7836998\\n */\\nHTMLFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-55569778\\n */\\nHTMLFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-8369969\\n */\\nHTMLFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91128709\\n */\\nHTMLFrameElement.prototype.name;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-80766578\\n */\\nHTMLFrameElement.prototype.noResize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-45411424\\n */\\nHTMLFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-78799535\\n */\\nHTMLFrameElement.prototype.src;\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-50708718\\n */\\nfunction HTMLIFrameElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-11309947\\n */\\nHTMLIFrameElement.prototype.align;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133006\\n */\\nHTMLIFrameElement.prototype.contentDocument;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-22463410\\n */\\nHTMLIFrameElement.prototype.frameBorder;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-1678118\\n */\\nHTMLIFrameElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-70472105\\n */\\nHTMLIFrameElement.prototype.longDesc;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-91371294\\n */\\nHTMLIFrameElement.prototype.marginHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-66486595\\n */\\nHTMLIFrameElement.prototype.marginWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-96819659\\n */\\nHTMLIFrameElement.prototype.name;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-36369822\\n */\\nHTMLIFrameElement.prototype.scrolling;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-43933957\\n */\\nHTMLIFrameElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510/html.html#ID-67133005\\n */\\nHTMLIFrameElement.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_STATE_ERR = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.SYNTAX_ERR = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_MODIFICATION_ERR = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.NAMESPACE_ERR = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-258A00AF\\n */\\nDOMException.INVALID_ACCESS_ERR = 15;\\n","externs/w3c_dom3.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM Level 3 specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-3-Core/ecma-script-binding.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.VALIDATION_ERR = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-258A00AF\\n */\\nDOMException.TYPE_MISMATCH_ERR = 17;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList\\n */\\nfunction DOMStringList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-length\\n */\\nDOMStringList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-contains\\n * @nosideeffects\\n */\\nDOMStringList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList-item\\n * @nosideeffects\\n */\\nDOMStringList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList\\n */\\nfunction NameList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-length\\n */\\nNameList.prototype.length;\\n\\n/**\\n * @param {string} str\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-contains\\n * @nosideeffects\\n */\\nNameList.prototype.contains = function(str) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-containsNS\\n * @nosideeffects\\n */\\nNameList.prototype.containsNS = function(namespaceURI, name) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getName\\n * @nosideeffects\\n */\\nNameList.prototype.getName = function(index) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#NameList-getNamespaceURI\\n * @nosideeffects\\n */\\nNameList.prototype.getNamespaceURI = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!DOMImplementation>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList\\n */\\nfunction DOMImplementationList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-length\\n */\\nDOMImplementationList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationList-item\\n * @nosideeffects\\n */\\nDOMImplementationList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementationSource\\n */\\nfunction DOMImplementationSource() {}\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} publicId\\n * @param {DocumentType} doctype\\n * @return {Document}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocument\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocument = function(namespaceURI, publicId, doctype) {};\\n\\n/**\\n * @param {string} qualifiedName\\n * @param {string} publicId\\n * @param {string} systemId\\n * @return {DocumentType}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-DOM-createDocType\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementation}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpl\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementation = function(features) {};\\n\\n/**\\n * @param {string} features\\n * @return {DOMImplementationList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-getDOMImpls\\n * @nosideeffects\\n */\\nDOMImplementationSource.prototype.getDOMImplementationList = function(features) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMImplementation3-getFeature\\n * @nosideeffects\\n */\\nDOMImplementation.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {Node} externalNode\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode\\n */\\nDocument.prototype.adoptNode = function(externalNode) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-documentURI\\n */\\nDocument.prototype.documentURI;\\n\\n/**\\n * @type {DOMConfiguration}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-domConfig\\n */\\nDocument.prototype.domConfig;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-inputEncoding\\n */\\nDocument.prototype.inputEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-strictErrorChecking\\n */\\nDocument.prototype.strictErrorChecking;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-encoding\\n */\\nDocument.prototype.xmlEncoding;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-standalone\\n */\\nDocument.prototype.xmlStandalone;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-version\\n */\\nDocument.prototype.xmlVersion;\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument\\n */\\nDocument.prototype.normalizeDocument = function() {};\\n\\n/**\\n * @param {Node} n\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @return {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-renameNode\\n */\\nDocument.prototype.renameNode = function(n, namespaceURI, qualifiedName) {};\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-baseURI\\n */\\nNode.prototype.baseURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSLocalN\\n */\\nNode.prototype.localName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname\\n */\\nNode.prototype.namespaceURI;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix\\n */\\nNode.prototype.prefix;\\n\\n/**\\n * @type {string}\\n * @implicitCast\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-textContent\\n */\\nNode.prototype.textContent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_DISCONNECTED\\n */\\nNode.DOCUMENT_POSITION_DISCONNECTED = 0x01;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_PRECEDING\\n */\\nNode.DOCUMENT_POSITION_PRECEDING    = 0x02;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_FOLLOWING\\n */\\nNode.DOCUMENT_POSITION_FOLLOWING    = 0x04;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINS\\n */\\nNode.DOCUMENT_POSITION_CONTAINS     = 0x08;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_CONTAINED_BY\\n */\\nNode.DOCUMENT_POSITION_CONTAINED_BY = 0x10;\\n\\n/**\\n * @type {number}\\n * @see http://www';
a.a+='.w3.org/TR/DOM-Level-3-Core/core.html#Node-DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\\n */\\nNode.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20;\\n\\n/**\\n * @param {Node} other\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\\n * @nosideeffects\\n */\\nNode.prototype.compareDocumentPosition = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getFeature\\n * @nosideeffects\\n */\\nNode.prototype.getFeature = function(feature, version) {};\\n\\n/**\\n * @param {string} key\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-getUserData\\n * @nosideeffects\\n */\\nNode.prototype.getUserData = function(key) {};\\n\\n/**\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeHasAttrs\\n * @nosideeffects\\n */\\nNode.prototype.hasAttributes = function() {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isDefaultNamespace\\n * @nosideeffects\\n */\\nNode.prototype.isDefaultNamespace = function(namespaceURI) {};\\n\\n/**\\n * @param {Node} arg\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isEqualNode\\n * @nosideeffects\\n */\\nNode.prototype.isEqualNode = function(arg) {};\\n\\n/**\\n * @param {Node} other\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-isSameNode\\n * @nosideeffects\\n */\\nNode.prototype.isSameNode = function(other) {};\\n\\n/**\\n * @param {string} feature\\n * @param {string} version\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Level-2-Core-Node-supports\\n * @nosideeffects\\n */\\nNode.prototype.isSupported = function(feature, version) {};\\n\\n/**\\n * @param {string} prefix\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespaceURI\\n * @nosideeffects\\n */\\nNode.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\\n * @nosideeffects\\n */\\nNode.prototype.lookupPrefix = function(namespaceURI) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-normalize\\n */\\nNode.prototype.normalize = function() {};\\n\\n/**\\n * @param {Object} key\\n * @param {Object} data\\n * @param {UserDataHandler} handler\\n * @return {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-setUserData\'\\n */\\nNode.prototype.setUserData = function(key, data, handler) {};\\n\\n/**\\n * @param {string} query\\n * @return {?Element}\\n * @see http://www.w3.org/TR/selectors-api/#queryselector\\n * @nosideeffects\\n */\\nNode.prototype.querySelector = function(query) {};\\n\\n/**\\n * @param {string} query\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/selectors-api/#queryselectorall\\n * @nosideeffects\\n */\\nNode.prototype.querySelectorAll = function(query) {};\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-ownerElement\\n */\\nAttr.prototype.ownerElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-isId\\n */\\nAttr.prototype.isId;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Attr-schemaTypeInfo\\n */\\nAttr.prototype.schemaTypeInfo;\\n\\n/**\\n * @type {TypeInfo}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Element-schemaTypeInfo\\n */\\nElement.prototype.schemaTypeInfo;\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAtNodeNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElGetAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.getAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-A6C90942\\n * @nosideeffects\\n */\\nElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttr\\n * @nosideeffects\\n */\\nElement.prototype.hasAttribute = function(name) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElHasAttrNS\\n * @nosideeffects\\n */\\nElement.prototype.hasAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElRemAtNS\\n */\\nElement.prototype.removeAttributeNS = function(namespaceURI, localName) {};\\n\\n/**\\n * @param {Attr} newAttr\\n * @return {Attr}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAtNodeNS\\n */\\nElement.prototype.setAttributeNodeNS = function(newAttr) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} qualifiedName\\n * @param {string|number|boolean} value Values are converted to strings with\\n *     ToString, so we accept number and boolean since both convert easily to\\n *     strings.\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetAttrNS\\n */\\nElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {};\\n\\n/**\\n * @param {string} name\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttr\\n */\\nElement.prototype.setIdAttribute = function(name, isId) {};\\n\\n/**\\n * @param {Attr} idAttr\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNode\\n */\\nElement.prototype.setIdAttributeNode = function(idAttr, isId) {};\\n\\n/**\\n * @param {?string} namespaceURI\\n * @param {string} localName\\n * @param {boolean} isId\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ElSetIdAttrNS\\n */\\nElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-wholeText\\n */\\nText.prototype.wholeText;\\n\\n/**\\n * @param {string} newText\\n * @return {Text}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Text3-replaceWholeText\\n */\\nText.prototype.replaceWholeText = function(newText) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo\\n */\\nfunction TypeInfo() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_EXTENSION\\n */\\nTypeInfo.prototype.DERIVATION_EXTENSION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_LIST\\n */\\nTypeInfo.prototype.DERIVATION_LIST;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_RESTRICTION\\n */\\nTypeInfo.prototype.DERIVATION_RESTRICTION;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-DERIVATION_UNION\\n */\\nTypeInfo.prototype.DERIVATION_UNION;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeName\\n */\\nTypeInfo.prototype.typeName;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-typeNamespace\\n */\\nTypeInfo.prototype.typeNamespace;\\n\\n/**\\n * @param {string} typeNamespaceArg\\n * @param {string} typeNameArg\\n * @param {number} derivationMethod\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#TypeInfo-isDerivedFrom\\n * @nosideeffects\\n */\\nTypeInfo.prototype.isDerivedFrom = function(typeNamespaceArg, typeNameArg, derivationMethod) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler\\n */\\nfunction UserDataHandler() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-CLONED\\n */\\nUserDataHandler.prototype.NODE_CLONED = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-IMPORTED\\n */\\nUserDataHandler.prototype.NODE_IMPORTED = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-DELETED\\n */\\nUserDataHandler.prototype.NODE_DELETED = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-RENAMED\\n */\\nUserDataHandler.prototype.NODE_RENAMED = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#UserDataHandler-ADOPTED\\n */\\nUserDataHandler.prototype.NODE_ADOPTED = 5;\\n\\n/**\\n * @param {number} operation\\n * @param {string} key\\n * @param {*=} opt_data\\n * @param {?Node=} opt_src\\n * @param {?Node=} opt_dst\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-handleUserDataEvent\\n */\\nUserDataHandler.prototype.handle = function(operation, key, opt_data,\\n  opt_src, opt_dst) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMError\\n */\\nfunction DOMError() {}\\n\\n/**\\n * @type {DOMLocator}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-location\\n */\\nDOMError.prototype.location;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-message\\n */\\nDOMError.prototype.message;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedData\\n */\\nDOMError.prototype.relatedData;\\n\\n/**\\n * @type {Object}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-relatedException\\n */\\nDOMError.prototype.relatedException;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-warning\\n */\\nDOMError.SEVERITY_WARNING = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-error\\n */\\nDOMError.SEVERITY_ERROR = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity-fatal-error\\n */\\nDOMError.SEVERITY_FATAL_ERROR = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-severity\\n */\\nDOMError.prototype.severity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-DOMError-type\\n */\\nDOMError.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/dom/#domerror\\n */\\nDOMError.prototype.name;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ERROR-Interfaces-DOMErrorHandler\\n */\\nfunction DOMErrorHandler() {}\\n\\n/**\\n * @param {DOMError} error\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-ERRORS-DOMErrorHandler-handleError\\n */\\nDOMErrorHandler.prototype.handleError = function(error) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Interfaces-DOMLocator\\n */\\nfunction DOMLocator() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-byteOffset\\n */\\nDOMLocator.prototype.byteOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-column-number\\n */\\nDOMLocator.prototype.columnNumber;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-line-number\\n */\\nDOMLocator.prototype.lineNumber;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-node\\n */\\nDOMLocator.prototype.relatedNode;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-uri\\n */\\nDOMLocator.prototype.uri;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMLocator-utf16Offset\\n */\\nDOMLocator.prototype.utf16Offset;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration\\n */\\nfunction DOMConfiguration() {}\\n\\n/**\\n * @type {DOMStringList}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-parameterNames\\n */\\nDOMConfiguration.prototype.parameterNames;\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-canSetParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.canSetParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-getParameter\\n * @nosideeffects\\n */\\nDOMConfiguration.prototype.getParameter = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @return {*}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMConfiguration-property\\n */\\nDOMConfiguration.prototype.setParameter = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-internalSubset\\n */\\nDocumentType.prototype.internalSubset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-publicId\\n */\\nDocumentType.prototype.publicId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-Core-DocType-systemId\\n */\\nDocumentType.prototype.systemId;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-inputEncoding\\n */\\nEntity.prototype.inputEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-encoding\\n */\\nEntity.prototype.xmlEncoding;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-3-Core/core.html#Entity3-version\\n */\\nEntity.prototype.xmlVersion;\\n","externs/w3c_dom4.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s DOM4 specification. This file depends on\\n * w3c_dom3.js. The whole file has been fully type annotated. Created from\\n * https://www.w3.org/TR/domcore/.\\n *\\n * @externs\\n * @author zhoumotongxue008@gmail.com (Michael Zhou)\\n */\\n\\n/**\\n * @typedef {?(DocumentType|Element|CharacterData)}\\n * @see https://www.w3.org/TR/domcore/#interface-childnode\\n */\\nvar ChildNode;\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nDocumentType.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nElement.prototype.remove = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://www.w3.org/TR/domcore/#dom-childnode-remove\\n */\\nCharacterData.prototype.remove = function() {};\\n","externs/gecko_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing p';
a.a+="ermissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over\\n *  W3C's DOM specification by Gecko. This file depends on\\n *  w3c_dom2.js.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n// TODO: Almost all of it has not been annotated with types.\\n\\n// Gecko DOM;\\n\\n/**\\n * Mozilla only???\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSpanElement() {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/Components_object\\n */\\nWindow.prototype.Components;\\n\\n/**\\n * @type {Window}\\n * @see https://developer.mozilla.org/en/DOM/window.content\\n */\\nWindow.prototype.content;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.closed\\n */\\nWindow.prototype.closed;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.controllers */\\nWindow.prototype.controllers;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n/**\\n * Gets/sets the status bar text for the given window.\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.defaultStatus\\n */\\nWindow.prototype.defaultStatus;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.dialogArguments */\\nWindow.prototype.dialogArguments;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.directories */\\nWindow.prototype.directories;\\n\\n/**\\n * @type {HTMLObjectElement|HTMLIFrameElement|null}\\n * @see https://developer.mozilla.org/en/DOM/window.frameElement\\n */\\nWindow.prototype.frameElement;\\n\\n/**\\n * Allows lookup of frames by index or by name.\\n * @type {?Object}\\n * @see https://developer.mozilla.org/en/DOM/window.frames\\n */\\nWindow.prototype.frames;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.fullScreen\\n */\\nWindow.prototype.fullScreen;\\n\\n/**\\n * @return {!Promise<!BatteryManager>}\\n * @see http://www.w3.org/TR/battery-status/\\n */\\nNavigator.prototype.getBattery = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Storage#globalStorage\\n */\\nWindow.prototype.globalStorage;\\n\\n/**\\n * @type {!History}\\n * @suppress {duplicate}\\n * @see https://developer.mozilla.org/en/DOM/window.history\\n */\\nvar history;\\n\\n/**\\n * Returns the number of frames (either frame or iframe elements) in the\\n * window.\\n *\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.length\\n */\\nWindow.prototype.length;\\n\\n/**\\n * Location has an exception in the DeclaredGlobalExternsOnWindow pass\\n * so we have to manually include it:\\n * https://github.com/google/closure-compiler/blob/master/src/com/google/javascript/jscomp/DeclaredGlobalExternsOnWindow.java#L116\\n *\\n * @type {!Location}\\n * @implicitCast\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n */\\nWindow.prototype.location;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.locationbar\\n */\\nWindow.prototype.locationbar;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.menubar\\n */\\nWindow.prototype.menubar;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/window.name\\n */\\nWindow.prototype.name;\\n\\n/**\\n * @type {Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n */\\nWindow.prototype.navigator;\\n\\n/**\\n * @type {?Window}\\n * @see https://developer.mozilla.org/en/DOM/window.opener\\n */\\nWindow.prototype.opener;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.parent\\n */\\nWindow.prototype.parent;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.personalbar */\\nWindow.prototype.personalbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.pkcs11 */\\nWindow.prototype.pkcs11;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window */\\nWindow.prototype.returnValue;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.scrollbars */\\nWindow.prototype.scrollbars;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxX\\n */\\nWindow.prototype.scrollMaxX;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.scrollMaxY\\n */\\nWindow.prototype.scrollMaxY;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.self;\\n\\n/** @see https://developer.mozilla.org/en/DOM/Storage#sessionStorage */\\nWindow.prototype.sessionStorage;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.sidebar */\\nWindow.prototype.sidebar;\\n\\n/**\\n * @type {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.status\\n */\\nWindow.prototype.status;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.statusbar */\\nWindow.prototype.statusbar;\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.toolbar */\\nWindow.prototype.toolbar;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.top;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.self\\n */\\nWindow.prototype.window;\\n\\n/**\\n * @param {*} message\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nWindow.prototype.alert = function(message) {};\\n\\n/**\\n * Decodes a string of data which has been encoded using base-64 encoding.\\n *\\n * @param {string} encodedData\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.atob\\n * @nosideeffects\\n */\\nfunction atob(encodedData) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.back\\n * @return {undefined}\\n */\\nWindow.prototype.back = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.blur\\n * @return {undefined}\\n */\\nWindow.prototype.blur = function() {};\\n\\n/**\\n * @param {string} stringToEncode\\n * @return {string}\\n * @see https://developer.mozilla.org/en/DOM/window.btoa\\n * @nosideeffects\\n */\\nfunction btoa(stringToEncode) {}\\n\\n/** @deprecated */\\nWindow.prototype.captureEvents;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.close\\n * @return {undefined}\\n */\\nWindow.prototype.close = function() {};\\n\\n/**@see https://developer.mozilla.org/en/DOM/window.find */\\nWindow.prototype.find;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.focus\\n * @return {undefined}\\n */\\nWindow.prototype.focus = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.forward\\n * @return {undefined}\\n */\\nWindow.prototype.forward = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.getAttention\\n * @return {undefined}\\n */\\nWindow.prototype.getAttention = function() {};\\n\\n/**\\n * @return {Selection}\\n * @see https://developer.mozilla.org/en/DOM/window.getSelection\\n * @nosideeffects\\n */\\nWindow.prototype.getSelection = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.home\\n * @return {undefined}\\n */\\nWindow.prototype.home = function() {};\\n\\nWindow.prototype.openDialog;\\nWindow.prototype.releaseEvents;\\nWindow.prototype.scrollByLines;\\nWindow.prototype.scrollByPages;\\n\\n/**\\n * @param {string} uri\\n * @param {?=} opt_arguments\\n * @param {string=} opt_options\\n * @see https://developer.mozilla.org/en/DOM/window.showModalDialog\\n */\\nWindow.prototype.showModalDialog;\\n\\nWindow.prototype.sizeToContent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536769(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.stop = function() {};\\n\\nWindow.prototype.updateCommands;\\n\\n// properties of Document\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.alinkColor\\n * @type {string}\\n */\\nDocument.prototype.alinkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.anchors\\n * @type {HTMLCollection<!HTMLAnchorElement>}\\n */\\nDocument.prototype.anchors;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.applets\\n * @type {HTMLCollection<!HTMLAppletElement>}\\n */\\nDocument.prototype.applets;\\n/** @type {boolean} */ Document.prototype.async;\\n/** @type {string?} */ Document.prototype.baseURI;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.bgColor\\n * @type {string}\\n */\\nDocument.prototype.bgColor;\\n\\n/** @type {HTMLBodyElement} */ Document.prototype.body;\\nDocument.prototype.characterSet;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.compatMode\\n * @type {string}\\n */\\nDocument.prototype.compatMode;\\n\\nDocument.prototype.contentType;\\n/** @type {string} */ Document.prototype.cookie;\\nDocument.prototype.defaultView;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.designMode\\n * @type {string}\\n */\\nDocument.prototype.designMode;\\n\\nDocument.prototype.documentURIObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.domain\\n * @type {string}\\n */\\nDocument.prototype.domain;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.embeds\\n * @type {HTMLCollection<!HTMLEmbedElement>}\\n */\\nDocument.prototype.embeds;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.fgColor\\n * @type {string}\\n */\\nDocument.prototype.fgColor;\\n\\n/** @type {Element} */ Document.prototype.firstChild;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.forms\\n * @type {HTMLCollection<!HTMLFormElement>}\\n */\\nDocument.prototype.forms;\\n\\n/** @type {number} */\\nDocument.prototype.height;\\n\\n/** @type {HTMLCollection<!HTMLImageElement>} */\\nDocument.prototype.images;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.lastModified\\n */\\nDocument.prototype.lastModified;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.linkColor\\n */\\nDocument.prototype.linkColor;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.links\\n * @type {HTMLCollection<(!HTMLAreaElement|!HTMLAnchorElement)>}\\n */\\nDocument.prototype.links;\\n\\n/**\\n * @type {!Location}\\n * @implicitCast\\n */\\nDocument.prototype.location;\\n\\nDocument.prototype.namespaceURI;\\nDocument.prototype.nodePrincipal;\\nDocument.prototype.plugins;\\nDocument.prototype.popupNode;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.referrer\\n */\\nDocument.prototype.referrer;\\n\\n/**\\n * @type {StyleSheetList}\\n * @see https://developer.mozilla.org/en/DOM/document.styleSheets\\n */\\nDocument.prototype.styleSheets;\\n\\n/** @type {?string} */ Document.prototype.title;\\nDocument.prototype.tooltipNode;\\n/** @type {string} */ Document.prototype.URL;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/DOM/document.vlinkColor\\n */\\nDocument.prototype.vlinkColor;\\n\\n/** @type {number} */ Document.prototype.width;\\n\\n// Methods of Document\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.clear\\n * @return {undefined}\\n */\\nDocument.prototype.clear = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.close\\n */\\nDocument.prototype.close;\\n\\n/**\\n * @param {string} type\\n * @return {Event}\\n */\\nDocument.prototype.createEvent = function(type) {};\\nDocument.prototype.createNSResolver;\\n/** @return {Range} */ Document.prototype.createRange = function() {};\\nDocument.prototype.createTreeWalker;\\n\\nDocument.prototype.evaluate;\\n\\n/**\\n * @param {string} commandName\\n * @param {?boolean=} opt_showUi\\n * @param {*=} opt_value\\n * @see https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla#Executing_Commands\\n */\\nDocument.prototype.execCommand;\\n\\n/**\\n * @param {string} name\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en/DOM/document.getElementsByClassName\\n */\\nDocument.prototype.getElementsByClassName = function(name) {};\\n\\n/**\\n * @param {string} uri\\n * @return {undefined}\\n */\\nDocument.prototype.load = function(uri) {};\\nDocument.prototype.loadOverlay;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.open\\n */\\nDocument.prototype.open;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nDocument.prototype.queryCommandEnabled;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nDocument.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nDocument.prototype.queryCommandState;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.queryCommandSupported\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n * @param {string} command\\n * @return {?} Implementation-specific.\\n */\\nDocument.prototype.queryCommandSupported;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Midas\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nDocument.prototype.queryCommandValue;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.write\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.write = function(text) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/document.writeln\\n * @param {string} text\\n * @return {undefined}\\n */\\nDocument.prototype.writeln = function(text) {};\\n\\nDocument.prototype.ononline;\\nDocument.prototype.onoffline;\\n\\n// XUL\\n/**\\n * @see http://developer.mozilla.org/en/DOM/document.getBoxObjectFor\\n * @return {BoxObject}\\n * @nosideeffects\\n */\\nDocument.prototype.getBoxObjectFor = function(element) {};\\n\\n// From:\\n// http://lxr.mozilla.org/mozilla1.8/source/dom/public/idl/range/nsIDOMNSRange.idl\\n\\n/**\\n * @param {string} tag\\n * @return {DocumentFragment}\\n */\\nRange.prototype.createContextualFragment;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.isPointInRange;\\n\\n/**\\n * @param {Node} parent\\n * @param {number} offset\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.comparePoint;\\n\\n/**\\n * @param {Node} n\\n * @return {boolean}\\n * @nosideeffects\\n */\\nRange.prototype.intersectsNode;\\n\\n/**\\n * @param {Node} n\\n * @return {number}\\n * @nosideeffects\\n */\\nRange.prototype.compareNode;\\n\\n\\n/** @constructor */\\nfunction Selection() {}\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorNode\\n */\\nSelection.prototype.anchorNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/anchorOffset\\n */\\nSelection.prototype.anchorOffset;\\n\\n/**\\n * @type {Node}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusNode\\n */\\nSelection.prototype.focusNode;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/focusOffset\\n */\\nSelection.prototype.focusOffset;\\n\\n/**\\n * @type {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/isCollapsed\\n */\\nSelection.prototype.isCollapsed;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/Selection/rangeCount\\n */\\nSelection.prototype.rangeCount;\\n\\n/**\\n * @param {Range} range\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/addRange\\n */\\nSelection.prototype.addRange = function(range) {};\\n\\n/**\\n * @param {number} index\\n * @return {Range}\\n * @see https://developer.mozilla.org/en/DOM/Selection/getRangeAt\\n * @nosideeffects\\n */\\nSelection.prototype.getRangeAt = function(index) {};\\n\\n/**\\n * @param {Node} node\\n * @param {number} index\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapse\\n */\\nSelection.prototype.collapse = function(node, index) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToEnd\\n */\\nSelection.prototype.collapseToEnd = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://developer.mozilla.org/en/DOM/Selection/collapseToStart\\n */\\nSelection.prototype.collapseToStart = function() {};\\n\\n/**\\n * @param {Node} node\\n * @param {boolean} partlyContained\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/Selection/containsNode\\n * @nosideeffects\\n */\\nSelection.prototype.containsNode = function(node, partlyContained) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/deleteFromDocument\\n * @return {undefined}\\n */\\nSelection.prototype.deleteFromDocument = function() {};\\n\\n/**\\n * @param {Node} parentNode\\n * @param {number} offset\\n * @se";
a.a+="e https://developer.mozilla.org/en/DOM/Selection/extend\\n * @return {undefined}\\n */\\nSelection.prototype.extend = function(parentNode, offset) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeAllRanges\\n * @return {undefined}\\n */\\nSelection.prototype.removeAllRanges = function() {};\\n\\n/**\\n * @param {Range} range\\n * @see https://developer.mozilla.org/en/DOM/Selection/removeRange\\n * @return {undefined}\\n */\\nSelection.prototype.removeRange = function(range) {};\\n\\n/**\\n * @param {Node} parentNode\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectAllChildren\\n */\\nSelection.prototype.selectAllChildren;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Selection/selectionLanguageChange\\n */\\nSelection.prototype.selectionLanguageChange;\\n\\n/**\\n * @type {!NodeList<!Element>}\\n * @see https://developer.mozilla.org/en/DOM/element.children\\n */\\nElement.prototype.children;\\n\\n/**\\n * Firebug sets this property on elements it is inserting into the DOM.\\n * @type {boolean}\\n */\\nElement.prototype.firebugIgnore;\\n\\n/**\\n * Note: According to the spec, id is actually defined on HTMLElement and\\n * SVGElement, rather than Element. Deliberately ignore this so that saying\\n * Element.id is allowed.\\n * @type {string}\\n * @implicitCast\\n */\\nElement.prototype.id;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Parsing/#widl-Element-innerHTML\\n * @implicitCast\\n */\\nElement.prototype.innerHTML;\\n\\n/**\\n * Note: According to the spec, name is defined on specific types of\\n * HTMLElements, rather than on Node, Element, or HTMLElement directly.\\n * Ignore this.\\n * @type {string}\\n */\\nElement.prototype.name;\\n\\nElement.prototype.nodePrincipal;\\n\\n/**\\n * @type {!CSSStyleDeclaration}\\n * This belongs on HTMLElement rather than Element, but that\\n * breaks a lot.\\n * TODO(rdcronin): Remove this declaration once the breakage is fixed.\\n */\\nElement.prototype.style;\\n\\n/**\\n * @override\\n * @return {!Element}\\n */\\nElement.prototype.cloneNode = function(deep) {};\\n\\n/** @return {undefined} */\\nElement.prototype.blur = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.click = function() {};\\n\\n/** @return {undefined} */\\nElement.prototype.focus = function() {};\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionStart;\\n\\n/** @type {number} */\\nHTMLTextAreaElement.prototype.selectionEnd;\\n\\n/**\\n * @param {number} selectionStart\\n * @param {number} selectionEnd\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#dom-textarea/input-setselectionrange\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setSelectionRange =\\n    function(selectionStart, selectionEnd) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.buildID\\n */\\nNavigator.prototype.buildID;\\n\\n/**\\n * @type {!Array<string>|undefined}\\n * @see https://developer.mozilla.org/en/Navigator.languages\\n */\\nNavigator.prototype.languages;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.oscpu\\n */\\nNavigator.prototype.oscpu;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.productSub\\n */\\nNavigator.prototype.productSub;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.securityPolicy\\n */\\nNavigator.prototype.securityPolicy;\\n\\n/**\\n * @param {string} url\\n * @param {ArrayBufferView|Blob|string|FormData=} opt_data\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon\\n */\\nNavigator.prototype.sendBeacon = function(url, opt_data) {};\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendor\\n */\\nNavigator.prototype.vendor;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en/Navigator.vendorSub\\n */\\nNavigator.prototype.vendorSub;\\n\\n\\n/** @constructor */\\nfunction BoxObject() {}\\n\\n/** @type {Element} */\\nBoxObject.prototype.element;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenX;\\n\\n/** @type {number} */\\nBoxObject.prototype.screenY;\\n\\n/** @type {number} */\\nBoxObject.prototype.x;\\n\\n/** @type {number} */\\nBoxObject.prototype.y;\\n\\n/** @type {number} */\\nBoxObject.prototype.width;\\n\\n\\n/**\\n * @param {Element} element\\n * @param {?string=} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @nosideeffects\\n */\\nfunction getComputedStyle(element, pseudoElt) {}\\n\",\"externs/ie_dom.js\":\"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C's DOM specification by IE in JScript. This file depends on\\n *  w3c_dom2.js. The whole file has NOT been fully type annotated.\\n *\\n * When a non-standard extension appears in both Gecko and IE, we put\\n * it in gecko_dom.js\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// TODO(nicksantos): Rewrite all the DOM interfaces as interfaces, instead\\n// of kludging them as an inheritance hierarchy.\\n\\n/**\\n * @constructor\\n * @extends {Document}\\n * @see http://msdn.microsoft.com/en-us/library/ms757878(VS.85).aspx\\n */\\nfunction XMLDOMDocument() {}\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761398(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.async;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms762647(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ondataavailable;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms764640(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.onreadystatechange;\\n\\n/**\\n * @type {!Function}\\n * @see http://msdn.microsoft.com/en-us/library/ms753795(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.ontransformnode;\\n\\n/**\\n * @type {Object}\\n * @see http://msdn.microsoft.com/en-us/library/ms756041(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.parseError;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms761353(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.preserveWhiteSpace;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms753702(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.readyState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms762283(VS.85).aspx\\n * @type {boolean}\\n */\\nXMLDOMDocument.prototype.resolveExternals;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms760290(v=vs.85).aspx\\n * @param {string} name\\n * @param {*} value\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.setProperty = function(name, value) {};\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767669(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.url;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762791(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.validateOnParse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms763830(VS.85).aspx\\n * @return {undefined}\\n */\\nXMLDOMDocument.prototype.abort = function() {};\\n\\n/**\\n * @param {*} type\\n * @param {string} name\\n * @param {string} namespaceURI\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757901(VS.85).aspx\\n * @nosideeffects\\n */\\nXMLDOMDocument.prototype.createNode = function(type, name, namespaceURI) {};\\n\\n/**\\n * @param {string} xmlSource\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms762722(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.load = function(xmlSource) {};\\n\\n/**\\n * @param {string} xmlString\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms754585(VS.85).aspx\\n * @override\\n */\\nXMLDOMDocument.prototype.loadXML = function(xmlString) {};\\n\\n/**\\n * @param {string} id\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms766397(VS.85).aspx\\n */\\nXMLDOMDocument.prototype.nodeFromID = function(id) {};\\n\\n//==============================================================================\\n// XMLNode methods and properties\\n// In a real DOM hierarchy, XMLDOMDocument inherits from XMLNode and Document.\\n// Since we can't express that in our type system, we put XMLNode properties\\n// on Node.\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms767570(VS.85).aspx\\n */\\nNode.prototype.baseName;\\n\\n/**\\n * @type {?string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762763(VS.85).aspx\\n */\\nNode.prototype.dataType;\\n\\n/**\\n * @type {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms764733(VS.85).aspx\\n */\\nNode.prototype.definition;\\n\\n/**\\n * IE5 used document instead of ownerDocument.\\n * Old versions of WebKit used document instead of contentDocument.\\n * @type {Document}\\n */\\nNode.prototype.document;\\n\\n\\n/**\\n * Inserts the given HTML text into the element at the location.\\n * @param {string} sWhere Where to insert the HTML text, one of 'beforeBegin',\\n *     'afterBegin', 'beforeEnd', 'afterEnd'.\\n * @param {string} sText HTML text to insert.\\n * @see http://msdn.microsoft.com/en-us/library/ms536452(VS.85).aspx\\n * @return {undefined}\\n */\\nNode.prototype.insertAdjacentHTML = function(sWhere, sText) {};\\n\\n\\n/**\\n * @type {*}\\n * @see http://msdn.microsoft.com/en-us/library/ms762308(VS.85).aspx\\n */\\nNode.prototype.nodeTypedValue;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms757895(VS.85).aspx\\n */\\nNode.prototype.nodeTypeString;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms762237(VS.85).aspx\\n */\\nNode.prototype.parsed;\\n\\n/**\\n * @type {Element}\\n * @see http://msdn.microsoft.com/en-us/library/ms534327(VS.85).aspx\\n */\\nNode.prototype.parentElement;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms753816(VS.85).aspx\\n */\\nNode.prototype.specified;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms762687(VS.85).aspx\\n */\\nNode.prototype.text;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms755989(VS.85).aspx\\n */\\nNode.prototype.xml;\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {!NodeList<!Node>}\\n * @see http://msdn.microsoft.com/en-us/library/ms754523(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectNodes = function(expression) {};\\n\\n/**\\n * @param {string} expression An XPath expression.\\n * @return {Node}\\n * @see http://msdn.microsoft.com/en-us/library/ms757846(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.selectSingleNode = function(expression) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms761399(VS.85).aspx\\n * @nosideeffects\\n */\\nNode.prototype.transformNode = function(stylesheet) {};\\n\\n/**\\n * @param {Node} stylesheet XSLT stylesheet.\\n * @param {Object} outputObject\\n * @see http://msdn.microsoft.com/en-us/library/ms766561(VS.85).aspx\\n * @return {Object}\\n */\\nNode.prototype.transformNodeToObject =\\n    function(stylesheet, outputObject) {};\\n\\n//==============================================================================\\n// Node methods\\n\\n/**\\n * @param {boolean=} opt_bRemoveChildren Whether to remove the entire sub-tree.\\n *    Defaults to false.\\n * @return {Node} The object that was removed.\\n * @see http://msdn.microsoft.com/en-us/library/ms536708(VS.85).aspx\\n */\\nNode.prototype.removeNode = function(opt_bRemoveChildren) {};\\n\\n/**\\n * @constructor\\n */\\nfunction ClipboardData() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string=} opt_type Type of clipboard data to clear. 'Text' or\\n *     'URL' or 'File' or 'HTML' or 'Image'.\\n * @return {undefined}\\n */\\nClipboardData.prototype.clearData = function(opt_type) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to set ('Text' or 'URL').\\n * @param {string} data Data to set\\n * @return {boolean} Whether the data were set correctly.\\n */\\nClipboardData.prototype.setData = function(type, data) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @param {string} type Type of clipboard data to get ('Text' or 'URL').\\n * @return {string} The current data\\n */\\nClipboardData.prototype.getData = function(type) { };\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window\\n */\\nvar window;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535220(VS.85).aspx\\n * @type {ClipboardData}\\n */\\nWindow.prototype.clipboardData;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533724(VS.85).aspx\\n */\\nWindow.prototype.dialogHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533725(VS.85).aspx\\n */\\nWindow.prototype.dialogLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533726(VS.85).aspx\\n */\\nWindow.prototype.dialogTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533727(VS.85).aspx\\n */\\nWindow.prototype.dialogWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535863(VS.85).aspx\\n */\\nWindow.prototype.event;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197012(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPer1_0Server;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc197013(VS.85).aspx\\n */\\nWindow.prototype.maxConnectionsPerServer;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534198(VS.85).aspx\\n */\\nWindow.prototype.offscreenBuffering;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n */\\nWindow.prototype.screenLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534389(VS.85).aspx\\n */\\nWindow.prototype.screenTop;\\n\\n// Functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nWindow.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536392(VS.85).aspx\\n */\\nWindow.prototype.createPopup;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nWindow.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536420(VS.85).aspx\\n */\\nWindow.prototype.execScript;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nWindow.prototype.focus;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536618(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveBy = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://msdn.microsoft.com/en-us/library/ms536626(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536638(VS.85).aspx\\n */\\nWindow.prototype.navigate;\\n\\n/**\\n * @param {*=} opt_url\\n * @param {string=} opt_windowName\\n * @param {string=} opt_windowFeatures\\n * @param {boolean=} opt_replace\\n * @return {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx\\n */\\nWindow.prototype.open = function(opt_url, opt_windowName, opt_windowFeatures,\\n                                 opt_replace) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536672(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.print = f";
a.a+="unction() {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536722(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeBy = function(width, height) {};\\n\\n/**\\n * @param {number} width\\n * @param {number} height\\n * @see http://msdn.microsoft.com/en-us/library/ms536723(VS.85).aspx\\n * @return {undefined}\\n */\\nWindow.prototype.resizeTo = function(width, height) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nWindow.prototype.setActive;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536758(VS.85).aspx\\n */\\nWindow.prototype.showHelp;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536761(VS.85).aspx\\n */\\nWindow.prototype.showModelessDialog;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535246%28v=vs.85%29.aspx\\n * @const {!Object}\\n */\\nWindow.prototype.external;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number|string} delta The number of entries to go back, or\\n *     the URL to which to go back. (URL form is supported only in IE)\\n * @return {undefined}\\n */\\nHistory.prototype.go = function(delta) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @param {number=} opt_distance The number of entries to go back\\n *     (Mozilla doesn't support distance -- use #go instead)\\n * @return {undefined}\\n */\\nHistory.prototype.back = function(opt_distance) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @type {number}\\n */\\nHistory.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535864(VS.85).aspx\\n * @return {undefined}\\n */\\nHistory.prototype.forward = function() {};\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLFrameElement.prototype.contentWindow;\\n\\n/**\\n * @type {boolean}\\n * @implicitCast\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms533072(v=vs.85).aspx\\n */\\nHTMLIFrameElement.prototype.allowTransparency;\\n\\n/**\\n * @type {Window}\\n * @see http://msdn.microsoft.com/en-us/library/ms533692(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.contentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536385(VS.85).aspx\\n */\\nHTMLBodyElement.prototype.createControlRange;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLScriptElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLIFrameElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLImageElement.prototype.readyState;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLObjectElement.prototype.readyState;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction ControlRange() {}\\n\\nControlRange.prototype.add;\\nControlRange.prototype.addElement;\\nControlRange.prototype.execCommand;\\nControlRange.prototype.item;\\nControlRange.prototype.queryCommandEnabled;\\nControlRange.prototype.queryCommandIndeterm;\\nControlRange.prototype.queryCommandState;\\nControlRange.prototype.queryCommandSupported;\\nControlRange.prototype.queryCommandValue;\\nControlRange.prototype.remove;\\nControlRange.prototype.scrollIntoView;\\nControlRange.prototype.select;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535872.aspx\\n */\\nfunction TextRange() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533538(VS.85).aspx\\n */\\nTextRange.prototype.boundingHeight;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533539(VS.85).aspx\\n */\\nTextRange.prototype.boundingLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533540(VS.85).aspx\\n */\\nTextRange.prototype.boundingTop;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533541(VS.85).aspx\\n */\\nTextRange.prototype.boundingWidth;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533874(VS.85).aspx\\n */\\nTextRange.prototype.htmlText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534200(VS.85).aspx\\n */\\nTextRange.prototype.offsetLeft;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534303(VS.85).aspx\\n */\\nTextRange.prototype.offsetTop;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534676(VS.85).aspx\\n */\\nTextRange.prototype.text;\\n\\n/**\\n * @param {boolean=} opt_toStart\\n * @see http://msdn.microsoft.com/en-us/library/ms536371(VS.85).aspx\\n */\\nTextRange.prototype.collapse;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536373(VS.85).aspx\\n */\\nTextRange.prototype.compareEndPoints;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536416(VS.85).aspx\\n */\\nTextRange.prototype.duplicate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx\\n */\\nTextRange.prototype.execCommand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536421(VS.85).aspx\\n */\\nTextRange.prototype.expand;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536422(VS.85).aspx\\n */\\nTextRange.prototype.findText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536432(VS.85).aspx\\n */\\nTextRange.prototype.getBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx\\n */\\nTextRange.prototype.getBoundingClientRect;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536435(VS.85).aspx\\n */\\nTextRange.prototype.getClientRects;\\n\\n/**\\n * @param {TextRange|ControlRange} range\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536450(VS.85).aspx\\n */\\nTextRange.prototype.inRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536458(VS.85).aspx\\n */\\nTextRange.prototype.isEqual;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536616(VS.85).aspx\\n */\\nTextRange.prototype.move;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536620(VS.85).aspx\\n */\\nTextRange.prototype.moveEnd;\\n\\n/**\\n * @param {string} unit\\n * @param {number=} opt_count\\n * @see http://msdn.microsoft.com/en-us/library/ms536623(VS.85).aspx\\n */\\nTextRange.prototype.moveStart;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536628(VS.85).aspx\\n */\\nTextRange.prototype.moveToBookmark;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536630(VS.85).aspx\\n */\\nTextRange.prototype.moveToElementText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536632(VS.85).aspx\\n */\\nTextRange.prototype.moveToPoint;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536654(VS.85).aspx\\n */\\nTextRange.prototype.parentElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536656(VS.85).aspx\\n */\\nTextRange.prototype.pasteHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536676(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandEnabled;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536678(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandIndeterm;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536679(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandState;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536681(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandSupported;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536683(VS.85).aspx\\n */\\nTextRange.prototype.queryCommandValue;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536730(VS.85).aspx\\n */\\nTextRange.prototype.scrollIntoView;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536735(VS.85).aspx\\n */\\nTextRange.prototype.select = function() {};\\n\\n/**\\n * @param {string} how\\n * @param {TextRange|ControlRange} sourceRange\\n * @see http://msdn.microsoft.com/en-us/library/ms536745(VS.85).aspx\\n */\\nTextRange.prototype.setEndPoint;\\n\\n/**\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms536418(VS.85).aspx\\n */\\nSelection.prototype.clear = function() {};\\n\\n/**\\n * @return {TextRange|ControlRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536394(VS.85).aspx\\n */\\nSelection.prototype.createRange = function() {};\\n\\n/**\\n * @return {Array<TextRange>}\\n * @see http://msdn.microsoft.com/en-us/library/ms536396(VS.85).aspx\\n */\\nSelection.prototype.createRangeCollection = function() {};\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms537447(VS.85).aspx\\n */\\nfunction controlRange() {}\\n\\n\\nDocument.prototype.loadXML;\\n\\n\\n// http://msdn.microsoft.com/en-us/library/ms531073(VS.85).aspx\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533065(VS.85).aspx\\n */\\nDocument.prototype.activeElement;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533553(VS.85).aspx\\n */\\nDocument.prototype.charset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533693(VS.85).aspx\\n */\\nDocument.prototype.cookie;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533714(VS.85).aspx\\n */\\nDocument.prototype.defaultCharset;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533731(VS.85).aspx\\n */\\nDocument.prototype.dir;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/cc196988(VS.85).aspx\\n */\\nDocument.prototype.documentMode;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533747(VS.85).aspx\\n */\\nDocument.prototype.expando;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533750(VS.85).aspx\\n */\\nDocument.prototype.fileCreatedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533751(VS.85).aspx\\n */\\nDocument.prototype.fileModifiedDate;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533752(VS.85).aspx\\n */\\nDocument.prototype.fileSize;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534331(VS.85).aspx\\n */\\nDocument.prototype.parentWindow;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n */\\nDocument.prototype.protocol;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534359(VS.85).aspx\\n */\\nHTMLDocument.prototype.readyState;\\n\\n/**\\n * @type {Selection}\\n * @see http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx\\n */\\nDocument.prototype.selection;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534704(VS.85).aspx\\n */\\nDocument.prototype.uniqueID;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534709(VS.85).aspx\\n */\\nDocument.prototype.URLUnencoded;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535155(VS.85).aspx\\n */\\nDocument.prototype.XMLDocument;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535163(VS.85).aspx\\n */\\nDocument.prototype.XSLDocument;\\n\\n// functions\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536343(VS.85).aspx\\n */\\nDocument.prototype.attachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536390(VS.85).aspx\\n */\\nDocument.prototype.createEventObject;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531194(VS.85).aspx\\n */\\nDocument.prototype.createStyleSheet;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ms536411(VS.85).aspx\\n */\\nDocument.prototype.detachEvent;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536425(VS.85).aspx\\n */\\nDocument.prototype.focus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536447(VS.85).aspx\\n * @return {boolean}\\n */\\nDocument.prototype.hasFocus = function() {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536614(VS.85).aspx\\n */\\nDocument.prototype.mergeAttributes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536685(VS.85).aspx\\n */\\nDocument.prototype.recalc;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n */\\nDocument.prototype.releaseCapture;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536738(VS.85).aspx\\n */\\nDocument.prototype.setActive;\\n\\n\\n// collections\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537434(VS.85).aspx\\n */\\nDocument.prototype.all;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537445(VS.85).aspx\\n */\\nDocument.prototype.childNodes;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537459(VS.85).aspx\\n */\\nDocument.prototype.frames;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537470(VS.85).aspx\\n */\\nDocument.prototype.namespaces;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537487(VS.85).aspx\\n */\\nDocument.prototype.scripts;\\n\\n/**\\n * @param {string} sUrl\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535922(VS.85).aspx\\n */\\nElement.prototype.addBehavior = function(sUrl) {};\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/mm536343(v=vs.85).aspx\\n */\\nElement.prototype.attachEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533546(VS.85).aspx\\n */\\nElement.prototype.canHaveChildren;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533559(v=vs.85).aspx\\n */\\nElement.prototype.classid;\\n\\n/**\\n * @param {number} iCoordX Integer that specifies the client window coordinate\\n *     of x.\\n * @param {number} iCoordY Integer that specifies the client window coordinate\\n *     of y.\\n * @return {string} The component of an element located at the specified\\n *     coordinates.\\n * @see http://msdn.microsoft.com/en-us/library/ms536375(VS.85).aspx\\n * @nosideeffects\\n */\\nElement.prototype.componentFromPoint = function(iCoordX, iCoordY) {};\\n\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533690(VS.85).aspx\\n */\\nElement.prototype.contentEditable;\\n\\n/**\\n * @return {TextRange}\\n * @see http://msdn.microsoft.com/en-us/library/ms536401(VS.85).aspx\\n */\\nElement.prototype.createTextRange;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms535231(VS.85).aspx\\n */\\nElement.prototype.currentStyle;\\n\\n/**\\n * @param {string} event\\n * @param {Function} handler\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms536411(v=vs.85).aspx\\n */\\nElement.prototype.detachEvent;\\n\\n/**\\n * @param {string=} opt_action\\n * @see http://msdn.microsoft.com/en-us/library/ms536414%28VS.85%29.aspx\\n * @return {undefined}\\n */\\nElement.prototype.doScroll = function(opt_action) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536423(VS.85).aspx\\n */\\nElement.prototype.fireEvent;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms533783(VS.85).aspx\\n */\\nElement.prototype.hideFocus;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533899.aspx\\n */\\nElement.prototype.innerText;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537838(VS.85).aspx\\n */\\nElement.prototype.isContentEditable;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms531395(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with subclasses.\\n */\\nElement.prototype.load;\\n\\n/**\\n * @param {number} pointerId Id of the pointer that is assign to the element.\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771882(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.msSetPointerCapture = function(pointerId) {};\\n\\n/**\\n * @param {number} pointerId\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh771880.aspx\\n * @return {undefined}\\n */\\nElement.prototype.msReleasePointerCapture = function(pointerId) {};\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536903(v=vs.85).aspx\\n */\\nElement.prototype.onbeforedeactivate;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536945(VS.85).aspx\\n */\\nElement.prototype.onmouseenter;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536946(VS.85).aspx\\n */\\nElement.prototype.onmouseleave;\\n\\n/**\\n * @type {?function(Event)}\\n * @see http://msdn.microsoft.com/en-us/library/ms536969(VS.85).aspx\\n */\\nElement.prototype.onselectstart;\\n\\n/**\\n * @type {string}\\n *";
a.a+=' @see http://msdn.microsoft.com/en-us/library/aa752326(VS.85).aspx\\n */\\nElement.prototype.outerHTML;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536689(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.releaseCapture = function() {};\\n\\n/**\\n * @param {number} iID\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536700(VS.85).aspx\\n */\\nElement.prototype.removeBehavior = function(iID) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa703996(VS.85).aspx\\n */\\nElement.prototype.runtimeStyle;\\n\\n/**\\n * @param {string} sStoreName The arbitrary name assigned to a persistent object\\n *     in a UserData store.\\n * @see http://msdn.microsoft.com/en-us/library/ms531403(v=vs.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.save = function(sStoreName) {};\\n\\n/**\\n * @param {boolean=} opt_bContainerCapture Events originating in a container are\\n *     captured by the container. Defaults to true.\\n * @see http://msdn.microsoft.com/en-us/library/ms536742(VS.85).aspx\\n * @return {undefined}\\n */\\nElement.prototype.setCapture = function(opt_bContainerCapture) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534635(VS.85).aspx\\n */\\nElement.prototype.sourceIndex;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms537840.aspx\\n */\\nElement.prototype.unselectable;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/aa752462(v=vs.85).aspx\\n */\\nfunction HTMLFiltersCollection() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/aa752463(v=vs.85).aspx\\n * @type {number}\\n */\\nHTMLFiltersCollection.prototype.length;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms537452(v=vs.85).aspx\\n * @type {HTMLFiltersCollection}\\n */\\nElement.prototype.filters;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms532853(v=vs.85).aspx\\n */\\nfunction HTMLFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532954(v=vs.85).aspx\\n * @return {undefined}\\n */\\nHTMLFilter.prototype.apply = function() {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532967(v=vs.85).aspx\\n */\\nfunction AlphaFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532910(v=vs.85).aspx\\n * @type {number}\\n */\\nAlphaFilter.prototype.Opacity;\\n\\n/**\\n * @constructor\\n * @extends {HTMLFilter}\\n * @see http://msdn.microsoft.com/en-us/library/ms532969(v=vs.85).aspx\\n */\\nfunction AlphaImageLoaderFilter() {}\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms532920(v=vs.85).aspx\\n * @type {string}\\n */\\nAlphaImageLoaderFilter.prototype.sizingMethod;\\n\\n/**\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/ms535866(VS.85).aspx\\n */\\nfunction Location() {}\\n\\n/**\\n * @see http://trac.webkit.org/changeset/113945\\n * @type {DOMStringList}\\n */\\nLocation.prototype.ancestorOrigins;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533775(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hash;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533784(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.host;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533785(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.hostname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms533867(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.href;\\n\\n/**\\n * @see https://docs.google.com/document/view?id=1r_VTFKApVOaNIkocrg0z-t7lZgzisTuGTXkdzAk4gLU&hl=en\\n * @type {string}\\n */\\nLocation.prototype.origin;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534332(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.pathname;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534342(VS.85).aspx\\n */\\nLocation.prototype.port;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534353(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.protocol;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms534620(VS.85).aspx\\n * @type {string}\\n */\\nLocation.prototype.search;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ms536342(VS.85).aspx\\n * @param {string} url\\n * @return {undefined}\\n */\\nLocation.prototype.assign = function(url) {};\\n\\n/**\\n * @param {boolean=} opt_forceReload If true, reloads the page from\\n *     the server. Defaults to false.\\n * @see http://msdn.microsoft.com/en-us/library/ms536691(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.reload = function(opt_forceReload) {};\\n\\n/**\\n * @param {string} url\\n * @see http://msdn.microsoft.com/en-us/library/ms536712(VS.85).aspx\\n * @return {undefined}\\n */\\nLocation.prototype.replace = function(url) {};\\n\\n\\n// For IE, returns an object representing key-value pairs for all the global\\n// variables prefixed with str, e.g. test*\\n\\n/** @param {*=} opt_str\\n */\\nfunction RuntimeObject(opt_str) {}\\n\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://msdn.microsoft.com/en-us/library/dd347030(VS.85).aspx\\n */\\nHTMLStyleElement.prototype.styleSheet;\\n\\n\\n/**\\n * IE implements Cross Origin Resource Sharing (cross-domain XMLHttpRequests)\\n * via the XDomainRequest object.\\n *\\n * @constructor\\n * @see http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx\\n * @see http://www.w3.org/TR/cors/\\n */\\nfunction XDomainRequest() {}\\n\\n/**\\n * Aborts the request.\\n * @see http://msdn.microsoft.com/en-us/library/cc288129(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.abort = function() {};\\n\\n/**\\n * Sets the method and URL for the request.\\n * @param {string} bstrMethod Either \\"GET\\" or \\"POST\\"\\n * @param {string} bstrUrl The target URL\\n * @see http://msdn.microsoft.com/en-us/library/cc288168(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.open = function(bstrMethod, bstrUrl) {};\\n\\n/**\\n * Sends the request.\\n * @param {string=} varBody The POST body to send to the server. If omitted,\\n *     the behavior is identical to sending an empty string.\\n * @see http://msdn.microsoft.com/en-us/library/cc288207(v=vs.85).aspx\\n * @return {undefined}\\n */\\nXDomainRequest.prototype.send = function(varBody) {};\\n\\n/**\\n * Called if the request could not be completed. Note that error information is\\n * not available.\\n * @see http://msdn.microsoft.com/en-us/library/ms536930%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onerror;\\n\\n/**\\n * Called when the response has finished.\\n * @see http://msdn.microsoft.com/en-us/library/ms536942%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onload;\\n\\n/**\\n * Called every time part of the response has been received.\\n * @see http://msdn.microsoft.com/en-us/library/cc197058%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.onprogress;\\n\\n/**\\n * Called if the timeout period has elapsed.\\n * @see http://msdn.microsoft.com/en-us/library/cc197061%28v=VS.85%29.aspx\\n * @type {?function()}\\n */\\nXDomainRequest.prototype.ontimeout;\\n\\n/**\\n * The current response body.\\n * @see http://msdn.microsoft.com/en-us/library/cc287956%28v=VS.85%29.aspx\\n * @type {string}\\n */\\nXDomainRequest.prototype.responseText;\\n\\n/**\\n * The timeout (in milliseconds) for the request.\\n * @type {number}\\n */\\nXDomainRequest.prototype.timeout;\\n\\n/**\\n * The Content-Type of the response, or an empty string.\\n * @type {string}\\n */\\nXDomainRequest.prototype.contentType;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533542(v=vs.85).aspx\\n */\\nNavigator.prototype.browserLanguage;\\n\\n/**\\n * @type {number}\\n * @see https://msdn.microsoft.com/en-us/library/ie/hh772144(v=vs.85).aspx\\n */\\nNavigator.prototype.msMaxTouchPoints;\\n\\n/**\\n * @type {boolean}\\n * @see http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx\\n */\\nNavigator.prototype.msPointerEnabled;\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772331(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @param {(!File|!Blob)} blob\\n * @param {string=} opt_defaultName\\n * @return {boolean}\\n * @see https://msdn.microsoft.com/en-us/library/hh772332(v=vs.85).aspx\\n */\\nNavigator.prototype.msSaveOrOpenBlob = function(blob, opt_defaultName) {};\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms533721(v=vs.85).aspx\\n */\\nScreen.prototype.deviceXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534128%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalXDPI;\\n\\n/**\\n * @type {number}\\n * @see http://msdn.microsoft.com/en-us/library/ms534130%28v=vs.85%29.aspx\\n */\\nScreen.prototype.logicalYDPI;\\n","externs/webkit_dom.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over W3C\'s DOM\\n *  specification by WebKit. This file depends on w3c_dom2.js.\\n *  All the provided definitions has been type annotated\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * @param {boolean=} opt_center\\n * @see https://bugzilla.mozilla.org/show_bug.cgi?id=403510\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoViewIfNeeded = function(opt_center) {};\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/MemoryInfo.cpp\\n */\\nfunction MemoryInfo() {};\\n\\n/** @type {number} */\\nMemoryInfo.prototype.totalJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.usedJSHeapSize;\\n\\n/** @type {number} */\\nMemoryInfo.prototype.jsHeapSizeLimit;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfileNode.idl\\n */\\nfunction ScriptProfileNode() {};\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.functionName;\\n\\n/** @type {string} */\\nScriptProfileNode.prototype.url;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.lineNumber;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.totalTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.selfTime;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.numberOfCalls;\\n\\n/** @type {Array<ScriptProfileNode>} */\\nScriptProfileNode.prototype.children;\\n\\n/** @type {boolean} */\\nScriptProfileNode.prototype.visible;\\n\\n/** @type {number} */\\nScriptProfileNode.prototype.callUID;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/ScriptProfile.idl\\n */\\nfunction ScriptProfile() {};\\n\\n/** @type {string} */\\nScriptProfile.prototype.title;\\n\\n/** @type {number} */\\nScriptProfile.prototype.uid;\\n\\n/** @type {ScriptProfileNode} */\\nScriptProfile.prototype.head;\\n\\n/**\\n * @constructor\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.idl\\n * @see http://trac.webkit.org/browser/trunk/Source/WebCore/page/Console.cpp\\n */\\nfunction Console() {};\\n\\n/**\\n * @param {*} condition\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.assert = function(condition, var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.error = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.info = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.log = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.warn = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.debug = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.dir = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.dirxml = function(var_args) {};\\n\\n/**\\n * @param {!Object} data\\n * @param {*=} opt_columns\\n * @return {undefined}\\n */\\nConsole.prototype.table = function(data, opt_columns) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.trace = function(var_args) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.count = function(value) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.markTimeline = function(value) {};\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profile = function(opt_title) {};\\n\\n/** @type {Array<ScriptProfile>} */\\nConsole.prototype.profiles;\\n\\n/**\\n * @param {string=} opt_title\\n * @return {undefined}\\n */\\nConsole.prototype.profileEnd = function(opt_title) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.time = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nConsole.prototype.timeEnd = function(name) {};\\n\\n/**\\n * @param {*} value\\n * @return {undefined}\\n */\\nConsole.prototype.timeStamp = function(value) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.group = function(var_args) {};\\n\\n/**\\n * @param {...*} var_args\\n * @return {undefined}\\n */\\nConsole.prototype.groupCollapsed = function(var_args) {};\\n\\nConsole.prototype.groupEnd = function() {};\\n\\nConsole.prototype.clear = function() {};\\n\\n/** @type {MemoryInfo} */\\nConsole.prototype.memory;\\n\\n/** @type {!Console} */\\nWindow.prototype.console;\\n\\n/**\\n * @type {!Console}\\n * @suppress {duplicate}\\n */\\nvar console;\\n\\n/**\\n * @type {number}\\n * @see http://developer.android.com/reference/android/webkit/WebView.html\\n */\\nWindow.prototype.devicePixelRatio;\\n\\n/** @type {Node} */\\nSelection.prototype.baseNode;\\n\\n/** @type {number} */\\nSelection.prototype.baseOffset;\\n\\n/** @type {Node} */\\nSelection.prototype.extentNode;\\n\\n/** @type {number} */\\nSelection.prototype.extentOffset;\\n\\n/** @type {string} */\\nSelection.prototype.type;\\n\\n/**\\n * @return {undefined}\\n */\\nSelection.prototype.empty = function() {};\\n\\n/**\\n * @param {Node} baseNode\\n * @param {number} baseOffset\\n * @param {Node} extentNode\\n * @param {number} extentOffset\\n * @return {undefined}\\n */\\nSelection.prototype.setBaseAndExtent =\\n function(baseNode, baseOffset, extentNode, extentOffset) {};\\n\\n/**\\n * @param {string} alter\\n * @param {string} direction\\n * @param {string} granularity\\n * @return {undefined}\\n */\\nSelection.prototype.modify = function(alter, direction, granularity) {};\\n\\n/**\\n * @param {Element} element\\n * @param {string} pseudoElement\\n * @param {boolean=} opt_authorOnly\\n * @return {CSSRuleList}\\n * @nosideeffects\\n */\\nViewCSS.prototype.getMatchedCSSRules =\\n    function(element, pseudoElement, opt_authorOnly) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {string} name\\n * @param {number} width\\n * @param {number} height\\n * @nosideeffects\\n * @return {undefined}\\n */\\nDocument.prototype.getCSSCanvasContext =\\n    function(contextId, name, width, height) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Range}\\n * @nosideeffects\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint\\n */\\nDocument.prototype.caretRangeFromPoint = function(x, y) {};\\n","externs/w3c_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHO';
a.a+="UT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C's CSS specification\\n *  The whole file has been fully type annotated.\\n *  http://www.w3.org/TR/DOM-Level-2-Style/css.html\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n *\\n * TODO(nicksantos): When there are no more occurrences of w3c_range.js and\\n * gecko_dom.js being included directly in BUILD files, bug dbeam to split the\\n * bottom part of this file into a separate externs.\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet\\n */\\nfunction StyleSheet() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-type\\n */\\nStyleSheet.prototype.type;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-disabled\\n */\\nStyleSheet.prototype.disabled;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-owner\\n */\\nStyleSheet.prototype.ownerNode;\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-parentStyleSheet\\n */\\nStyleSheet.prototype.parentStyleSheet;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-href\\n */\\nStyleSheet.prototype.href;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-title\\n */\\nStyleSheet.prototype.title;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-media\\n */\\nStyleSheet.prototype.media;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!StyleSheet>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList\\n */\\nfunction StyleSheetList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-length\\n */\\nStyleSheetList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheetList-item\\n */\\nStyleSheetList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!MediaList>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList\\n */\\nfunction MediaList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-mediaText\\n */\\nMediaList.prototype.mediaText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-length\\n */\\nMediaList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-MediaList-item\\n */\\nMediaList.prototype.item = function(index) {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle\\n */\\nfunction LinkStyle() {}\\n\\n/**\\n * @type {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-LinkStyle-sheet\\n */\\nLinkStyle.prototype.sheet;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle\\n */\\nfunction DocumentStyle() {}\\n\\n/**\\n * @type {StyleSheetList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-StyleSheet-DocumentStyle-styleSheets\\n */\\nDocumentStyle.prototype.styleSheets;\\n\\n/**\\n * @constructor\\n * @extends {StyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet\\n */\\nfunction CSSStyleSheet() {}\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-ownerRule\\n */\\nCSSStyleSheet.prototype.ownerRule;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-cssRules\\n */\\nCSSStyleSheet.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-insertRule\\n */\\nCSSStyleSheet.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleSheet-deleteRule\\n * @return {undefined}\\n */\\nCSSStyleSheet.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!CSSRule>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList\\n */\\nfunction CSSRuleList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-length\\n */\\nCSSRuleList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRuleList-item\\n */\\nCSSRuleList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule\\n */\\nfunction CSSRule() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-cssText\\n */\\nCSSRule.prototype.cssText;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-sheet\\n */\\nCSSRule.prototype.parentStyleSheet;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-parentRule\\n */\\nCSSRule.prototype.parentRule;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nCSSRule.prototype.style;\\n\\n/**\\n * Indicates that the rule is a {@see CSSUnknownRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.UNKNOWN_RULE = 0;\\n\\n/**\\n * Indicates that the rule is a {@see CSSStyleRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.STYLE_RULE = 1;\\n\\n/**\\n * Indicates that the rule is a {@see CSSCharsetRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.CHARSET_RULE = 2;\\n\\n/**\\n * Indicates that the rule is a {@see CSSImportRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.IMPORT_RULE = 3;\\n\\n/**\\n * Indicates that the rule is a {@see CSSMediaRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.MEDIA_RULE = 4;\\n\\n/**\\n * Indicates that the rule is a {@see CSSFontFaceRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.FONT_FACE_RULE = 5;\\n\\n/**\\n * Indicates that the rule is a {@see CSSPageRule}.\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSRule-ruleType\\n */\\nCSSRule.PAGE_RULE = 6;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule\\n */\\nfunction CSSStyleRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-selectorText\\n */\\nCSSStyleRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleRule-style\\n */\\nCSSStyleRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule\\n */\\nfunction CSSMediaRule() {}\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-mediaTypes\\n */\\nCSSMediaRule.prototype.media;\\n\\n/**\\n * @type {CSSRuleList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-cssRules\\n */\\nCSSMediaRule.prototype.cssRules;\\n\\n/**\\n * @param {string} rule\\n * @param {number} index\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-insertRule\\n */\\nCSSMediaRule.prototype.insertRule = function(rule, index) {};\\n\\n/**\\n * @param {number} index\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSMediaRule-deleteRule\\n * @return {undefined}\\n */\\nCSSMediaRule.prototype.deleteRule = function(index) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule\\n */\\nfunction CSSFontFaceRule() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSFontFaceRule-style\\n */\\nCSSFontFaceRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule\\n */\\nfunction CSSPageRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-name\\n */\\nCSSPageRule.prototype.selectorText;\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPageRule-style\\n */\\nCSSPageRule.prototype.style;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule\\n */\\nfunction CSSImportRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-href\\n */\\nCSSImportRule.prototype.href;\\n\\n/**\\n * @type {MediaList}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-media\\n */\\nCSSImportRule.prototype.media;\\n\\n/**\\n * @type {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSImportRule-styleSheet\\n */\\nCSSImportRule.prototype.styleSheet;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule\\n */\\nfunction CSSCharsetRule() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSCharsetRule-encoding\\n */\\nCSSCharsetRule.prototype.encoding;\\n\\n/**\\n * @constructor\\n * @extends {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSUnknownRule\\n */\\nfunction CSSUnknownRule() {}\\n\\n/**\\n * @constructor\\n * @extends {CSSProperties}\\n * @implements {IObject<(string|number), string>}\\n * @implements {IArrayLike<string>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration\\n */\\nfunction CSSStyleDeclaration() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-cssText\\n */\\nCSSStyleDeclaration.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-length\\n */\\nCSSStyleDeclaration.prototype.length;\\n\\n/**\\n * @type {CSSRule}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-parentRule\\n */\\nCSSStyleDeclaration.prototype.parentRule;\\n\\n/**\\n * @param {string} propertyName\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyCSSValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyCSSValue = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyPriority\\n */\\nCSSStyleDeclaration.prototype.getPropertyPriority = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-getPropertyValue\\n */\\nCSSStyleDeclaration.prototype.getPropertyValue = function(propertyName) {};\\n\\n/**\\n * @param {number} index\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-item\\n */\\nCSSStyleDeclaration.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} propertyName\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-removeProperty\\n */\\nCSSStyleDeclaration.prototype.removeProperty = function(propertyName) {};\\n\\n/**\\n * @param {string} propertyName\\n * @param {string} value\\n * @param {string=} opt_priority\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSStyleDeclaration-setProperty\\n */\\nCSSStyleDeclaration.prototype.setProperty = function(propertyName, value, opt_priority) {};\\n\\n// IE-specific\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/ms536429(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getAttribute = function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {string|number|boolean|null}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.getExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {number=} opt_flags\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/ms536696(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeAttribute =\\n    function(name, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.removeExpression = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {*} value\\n * @param {number=} opt_flags\\n * @see http://msdn.microsoft.com/en-us/library/ms536739(VS.85).aspx\\n * @return {undefined}\\n */\\nCSSStyleDeclaration.prototype.setAttribute = function(name, value, opt_flags) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} expr\\n * @param {string=} opt_language\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nCSSStyleDeclaration.prototype.setExpression =\\n    function(name, expr, opt_language) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue\\n */\\nfunction CSSValue() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssText\\n */\\nCSSValue.prototype.cssText;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-cssValueType\\n */\\nCSSValue.prototype.cssValueType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_INHERIT = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_PRIMITIVE_VALUE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_VALUE_LIST = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValue-types\\n */\\nCSSValue.CSS_CUSTOM = 3;\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nfunction CSSPrimitiveValue() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.prototype.primitiveType;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_UNKNOWN = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_NUMBER = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PERCENTAGE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EMS = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_EXS = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Leve";
a.a+="l-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PX = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_CM = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MM = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IN = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PT = 9;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_PC = 10;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DEG = 11;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RAD = 12;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_GRAD = 13;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_MS = 14;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_S = 15;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_HZ = 16;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_KHZ = 17;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_DIMENSION = 18;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_STRING = 19;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_URI = 20;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_IDENT = 21;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_ATTR = 22;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_COUNTER = 23;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RECT = 24;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue\\n */\\nCSSPrimitiveValue.CSS_RGBCOLOR = 25;\\n\\n/**\\n * @return {Counter}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getCounterValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getCounterValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getFloatValue = function(unitType) {};\\n\\n/**\\n * @return {RGBColor}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRGBColorValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRGBColorValue = function() {};\\n\\n/**\\n * @return {Rect}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getRectValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getRectValue = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-getStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR}\\n */\\nCSSPrimitiveValue.prototype.getStringValue = function() {};\\n\\n/**\\n * @param {number} unitType\\n * @param {number} floatValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setFloatValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setFloatValue = function(unitType, floatValue) {};\\n\\n/**\\n * @param {number} stringType\\n * @param {string} stringValue\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-setStringValue\\n * @throws DOMException {@see DomException.INVALID_ACCESS_ERR},\\n *                      {@see DomException.NO_MODIFICATION_ALLOWED_ERR}\\n */\\nCSSPrimitiveValue.prototype.setStringValue = function(stringType, stringValue) {};\\n\\n/**\\n * @constructor\\n * @extends {CSSValue}\\n * @implements {IArrayLike<!CSSValue>}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList\\n */\\nfunction CSSValueList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-length\\n */\\nCSSValueList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {CSSValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSValueList-item\\n */\\nCSSValueList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor\\n */\\nfunction RGBColor() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-red\\n */\\nRGBColor.prototype.red;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-green\\n */\\nRGBColor.prototype.green;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-RGBColor-blue\\n */\\nRGBColor.prototype.blue;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect\\n */\\nfunction Rect() {}\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-top\\n */\\nRect.prototype.top;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-right\\n */\\nRect.prototype.right;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-bottom\\n */\\nRect.prototype.bottom;\\n\\n/**\\n * @type {CSSPrimitiveValue}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Rect-left\\n */\\nRect.prototype.left;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter\\n */\\nfunction Counter() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-identifier\\n */\\nCounter.prototype.identifier;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-listStyle\\n */\\nCounter.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-Counter-separator\\n */\\nCounter.prototype.separator;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ViewCSS\\n */\\nfunction ViewCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {?string=} opt_pseudoElt This argument is required according to the\\n *     CSS2 specification, but optional in all major browsers. See the note at\\n *     https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSview-getComputedStyle\\n */\\nViewCSS.prototype.getComputedStyle = function(elt, opt_pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS\\n */\\nfunction DocumentCSS() {}\\n\\n/**\\n * @param {Element} elt\\n * @param {string} pseudoElt\\n * @return {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DocumentCSS-getOverrideStyle\\n */\\nDocumentCSS.prototype.getOverrideStyle = function(elt, pseudoElt) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS\\n */\\nfunction DOMImplementationCSS() {}\\n\\n/**\\n * @param {string} title\\n * @param {string} media\\n * @return {CSSStyleSheet}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-DOMImplementationCSS-createCSSStyleSheet\\n * @throws DOMException {@see DomException.SYNTAX_ERR}\\n */\\nDOMImplementationCSS.prototype.createCSSStyleSheet = function(title, media) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle\\n */\\nfunction ElementCSSInlineStyle() {}\\n\\n/**\\n * @type {CSSStyleDeclaration}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle-style\\n */\\nElementCSSInlineStyle.prototype.style;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties\\n */\\nfunction CSSProperties() {}\\n\\n// CSS 2 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-azimuth\\n */\\nCSSProperties.prototype.azimuth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-background\\n */\\nCSSProperties.prototype.background;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundAttachment\\n */\\nCSSProperties.prototype.backgroundAttachment;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundColor\\n */\\nCSSProperties.prototype.backgroundColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundImage\\n */\\nCSSProperties.prototype.backgroundImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundPosition\\n */\\nCSSProperties.prototype.backgroundPosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-backgroundRepeat\\n */\\nCSSProperties.prototype.backgroundRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-background-size\\n */\\nCSSProperties.prototype.backgroundSize;\\n\\n/**\\n * @implicitCast\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-border\\n */\\nCSSProperties.prototype.border;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderCollapse\\n */\\nCSSProperties.prototype.borderCollapse;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderColor\\n */\\nCSSProperties.prototype.borderColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderSpacing\\n */\\nCSSProperties.prototype.borderSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSPrimitiveValue-borderStyle\\n */\\nCSSProperties.prototype.borderStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTop\\n */\\nCSSProperties.prototype.borderTop;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRight\\n */\\nCSSProperties.prototype.borderRight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottom\\n */\\nCSSProperties.prototype.borderBottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeft\\n */\\nCSSProperties.prototype.borderLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopColor\\n */\\nCSSProperties.prototype.borderTopColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightColor\\n */\\nCSSProperties.prototype.borderRightColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomColor\\n */\\nCSSProperties.prototype.borderBottomColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftColor\\n */\\nCSSProperties.prototype.borderLeftColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopStyle\\n */\\nCSSProperties.prototype.borderTopStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightStyle\\n */\\nCSSProperties.prototype.borderRightStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomStyle\\n */\\nCSSProperties.prototype.borderBottomStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftStyle\\n */\\nCSSProperties.prototype.borderLeftStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderTopWidth\\n */\\nCSSProperties.prototype.borderTopWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderRightWidth\\n */\\nCSSProperties.prototype.borderRightWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderBottomWidth\\n */\\nCSSProperties.prototype.borderBottomWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderLeftWidth\\n */\\nCSSProperties.prototype.borderLeftWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-borderWidth\\n */\\nCSSProperties.prototype.borderWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderBottomRightRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopLeftRadius;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-radius\\n */\\nCSSProperties.prototype.borderTopRightRadius;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-source\\n */\\nCSSProperties.prototype.borderImageSource;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-slice\\n */\\nCSSProperties.prototype.borderImageSlice;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-width\\n */\\nCSSProperties.prototype.borderImageWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-outset\\n */\\nCSSProperties.prototype.borderImageOutset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image-repeat\\n */\\nCSSProperties.prototype.borderImageRepeat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#the-border-image\\n */\\nCSSProperties.prototype.borderImage;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-bottom\\n */\\nCSSProperties.prototype.bottom;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-captionSide\\n */\\nCSSProperties.prototype.captionSide;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clear\\n */\\nCSSProperties.prototype.clear;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-clip\\n */\\nCSSProperties.prototype.clip;\\n\\n/**\\n *";
a.a+=" @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-color\\n */\\nCSSProperties.prototype.color;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-content\\n */\\nCSSProperties.prototype.content;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterIncrement\\n */\\nCSSProperties.prototype.counterIncrement;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-counterReset\\n */\\nCSSProperties.prototype.counterReset;\\n\\n/**\\n * This is not an official part of the W3C spec. In practice, this is a settable\\n * property that works cross-browser. It is used in goog.dom.setProperties() and\\n * needs to be extern'd so the --disambiguate_properties JS compiler pass works.\\n * @type {string}\\n */\\nCSSProperties.prototype.cssText;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cue\\n */\\nCSSProperties.prototype.cue;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueAfter\\n */\\nCSSProperties.prototype.cueAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cueBefore\\n */\\nCSSProperties.prototype.cueBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cursor\\n */\\nCSSProperties.prototype.cursor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-direction\\n */\\nCSSProperties.prototype.direction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-display\\n */\\nCSSProperties.prototype.display;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-elevation\\n */\\nCSSProperties.prototype.elevation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-emptyCells\\n */\\nCSSProperties.prototype.emptyCells;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-cssFloat\\n */\\nCSSProperties.prototype.cssFloat;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-font\\n */\\nCSSProperties.prototype.font;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontFamily\\n */\\nCSSProperties.prototype.fontFamily;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSize\\n */\\nCSSProperties.prototype.fontSize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontSizeAdjust\\n */\\nCSSProperties.prototype.fontSizeAdjust;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStretch\\n */\\nCSSProperties.prototype.fontStretch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontStyle\\n */\\nCSSProperties.prototype.fontStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontVariant\\n */\\nCSSProperties.prototype.fontVariant;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-fontWeight\\n */\\nCSSProperties.prototype.fontWeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-height\\n */\\nCSSProperties.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-left\\n */\\nCSSProperties.prototype.left;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-letterSpacing\\n */\\nCSSProperties.prototype.letterSpacing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-lineHeight\\n */\\nCSSProperties.prototype.lineHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyle\\n */\\nCSSProperties.prototype.listStyle;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleImage\\n */\\nCSSProperties.prototype.listStyleImage;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStylePosition\\n */\\nCSSProperties.prototype.listStylePosition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-listStyleType\\n */\\nCSSProperties.prototype.listStyleType;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-margin\\n */\\nCSSProperties.prototype.margin;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginTop\\n */\\nCSSProperties.prototype.marginTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginRight\\n */\\nCSSProperties.prototype.marginRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginBottom\\n */\\nCSSProperties.prototype.marginBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marginLeft\\n */\\nCSSProperties.prototype.marginLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-markerOffset\\n */\\nCSSProperties.prototype.markerOffset;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-marks\\n */\\nCSSProperties.prototype.marks;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxHeight\\n */\\nCSSProperties.prototype.maxHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-maxWidth\\n */\\nCSSProperties.prototype.maxWidth;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minHeight\\n */\\nCSSProperties.prototype.minHeight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-minWidth\\n */\\nCSSProperties.prototype.minWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-orphans\\n */\\nCSSProperties.prototype.orphans;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outline\\n */\\nCSSProperties.prototype.outline;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineColor\\n */\\nCSSProperties.prototype.outlineColor;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineStyle\\n */\\nCSSProperties.prototype.outlineStyle;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-outlineWidth\\n */\\nCSSProperties.prototype.outlineWidth;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-overflow\\n */\\nCSSProperties.prototype.overflow;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-padding\\n */\\nCSSProperties.prototype.padding;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingTop\\n */\\nCSSProperties.prototype.paddingTop;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingRight\\n */\\nCSSProperties.prototype.paddingRight;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingBottom\\n */\\nCSSProperties.prototype.paddingBottom;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-paddingLeft\\n */\\nCSSProperties.prototype.paddingLeft;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-page\\n */\\nCSSProperties.prototype.page;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakAfter\\n */\\nCSSProperties.prototype.pageBreakAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakBefore\\n */\\nCSSProperties.prototype.pageBreakBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pageBreakInside\\n */\\nCSSProperties.prototype.pageBreakInside;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pause\\n */\\nCSSProperties.prototype.pause;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseAfter\\n */\\nCSSProperties.prototype.pauseAfter;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pauseBefore\\n */\\nCSSProperties.prototype.pauseBefore;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitch\\n */\\nCSSProperties.prototype.pitch;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-pitchRange\\n */\\nCSSProperties.prototype.pitchRange;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-playDuring\\n */\\nCSSProperties.prototype.playDuring;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-position\\n */\\nCSSProperties.prototype.position;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-quotes\\n */\\nCSSProperties.prototype.quotes;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#resize\\n */\\nCSSProperties.prototype.resize;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-richness\\n */\\nCSSProperties.prototype.richness;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-right\\n */\\nCSSProperties.prototype.right;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-size\\n */\\nCSSProperties.prototype.size;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speak\\n */\\nCSSProperties.prototype.speak;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakHeader\\n */\\nCSSProperties.prototype.speakHeader;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakNumeral\\n */\\nCSSProperties.prototype.speakNumeral;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speakPunctuation\\n */\\nCSSProperties.prototype.speakPunctuation;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-speechRate\\n */\\nCSSProperties.prototype.speechRate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-stress\\n */\\nCSSProperties.prototype.stress;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-tableLayout\\n */\\nCSSProperties.prototype.tableLayout;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textAlign\\n */\\nCSSProperties.prototype.textAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textDecoration\\n */\\nCSSProperties.prototype.textDecoration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textIndent\\n */\\nCSSProperties.prototype.textIndent;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textShadow\\n */\\nCSSProperties.prototype.textShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-textTransform\\n */\\nCSSProperties.prototype.textTransform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/1998/REC-CSS2-19980512/visuren.html#propdef-top\\n */\\nCSSProperties.prototype.top;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-unicodeBidi\\n */\\nCSSProperties.prototype.unicodeBidi;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-verticalAlign\\n */\\nCSSProperties.prototype.verticalAlign;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-visibility\\n */\\nCSSProperties.prototype.visibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-voiceFamily\\n */\\nCSSProperties.prototype.voiceFamily;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-volume\\n */\\nCSSProperties.prototype.volume;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-whiteSpace\\n */\\nCSSProperties.prototype.whiteSpace;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-widows\\n */\\nCSSProperties.prototype.widows;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-width\\n */\\nCSSProperties.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordSpacing\\n */\\nCSSProperties.prototype.wordSpacing;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-wordWrap\\n */\\nCSSProperties.prototype.wordWrap;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSSProperties-zIndex\\n */\\nCSSProperties.prototype.zIndex;\\n\\n// CSS 3 properties\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-background/#box-shadow\\n */\\nCSSProperties.prototype.boxShadow;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#box-sizing\\n */\\nCSSProperties.prototype.boxSizing;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-color/#transparency\\n */\\nCSSProperties.prototype.opacity;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-ui/#text-overflow\\n */\\nCSSProperties.prototype.textOverflow;\\n\\n// CSS 3 transforms\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#backface-visibility-property\\n */\\nCSSProperties.prototype.backfaceVisibility;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective\\n */\\nCSSProperties.prototype.perspective;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#perspective-origin\\n */\\nCSSProperties.prototype.perspectiveOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#effects\\n */\\nCSSProperties.prototype.transform;\\n\\n/**\\n * @type {string|number}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-origin\\n */\\nCSSProperties.prototype.transformOrigin;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-2d-transforms/#transform-style\\n */\\nCSSProperties.prototype.transformStyle;\\n\\n// CSS 3 transitions\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition\\n */\\nCSSProperties.prototype.transition;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-delay\\n */\\nCSSProperties.prototype.transitionDelay;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-duration\\n */\\nCSSProperties.prototype.transitionDuration;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-property-property\\n */\\nCSSProperties.prototype.transitionProperty;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css3-transitions/#transition-timing-function\\n */\\nCSSProperties.pr";
a.a+="ototype.transitionTimingFunction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty\\n */\\nCSSProperties.prototype.pointerEvents;\\n\\n\\n// CSS Flexbox 1\\n\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-content-property\\n */\\nCSSProperties.prototype.alignContent;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignItems;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#align-items-property\\n */\\nCSSProperties.prototype.alignSelf;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-property\\n */\\nCSSProperties.prototype.flex;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-basis-property\\n */\\nCSSProperties.prototype.flexBasis;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-direction-property\\n */\\nCSSProperties.prototype.flexDirection;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-flow-property\\n */\\nCSSProperties.prototype.flexFlow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-grow-property\\n */\\nCSSProperties.prototype.flexGrow;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-shrink-property\\n */\\nCSSProperties.prototype.flexShrink;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#flex-wrap-property\\n */\\nCSSProperties.prototype.flexWrap;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/css-flexbox-1/#justify-content-property\\n */\\nCSSProperties.prototype.justifyContent;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/css-flexbox-1/#order-property\\n */\\nCSSProperties.prototype.order;\\n\\n// Externs for CSS Will Change Module Level 1\\n// http://www.w3.org/TR/css-will-change/\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/css-will-change-1/#will-change\\n */\\nCSSProperties.prototype.willChange;\\n\\n\\n/**\\n * TODO(dbeam): Put this in separate file named w3c_cssom.js.\\n * Externs for the CSSOM View Module.\\n * @see http://www.w3.org/TR/cssom-view/\\n */\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface\\n\\n/**\\n * @param {string} media_query_list\\n * @return {MediaQueryList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-matchmedia\\n */\\nWindow.prototype.matchMedia = function(media_query_list) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerwidth\\n */\\nWindow.prototype.innerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-innerheight\\n */\\nWindow.prototype.innerHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollx\\n */\\nWindow.prototype.scrollX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pagexoffset\\n */\\nWindow.prototype.pageXOffset;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrolly\\n */\\nWindow.prototype.scrollY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-pageyoffset\\n */\\nWindow.prototype.pageYOffset;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scroll\\n * @return {undefined}\\n */\\nWindow.prototype.scroll = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollto\\n * @return {undefined}\\n */\\nWindow.prototype.scrollTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-scrollby\\n * @return {undefined}\\n */\\nWindow.prototype.scrollBy = function(x, y) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screenx\\n */\\nWindow.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-screeny\\n */\\nWindow.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerwidth\\n */\\nWindow.prototype.outerWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-window-outerheight\\n */\\nWindow.prototype.outerHeight;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylist\\n */\\nfunction MediaQueryList() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-media\\n */\\nMediaQueryList.prototype.media;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-matches\\n */\\nMediaQueryList.prototype.matches;\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-addlistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.addListener = function(listener) {};\\n\\n/**\\n * @param {MediaQueryListListener} listener\\n * @see http://www.w3.org/TR/cssom-view/#dom-mediaquerylist-removelistener\\n * @return {undefined}\\n */\\nMediaQueryList.prototype.removeListener = function(listener) {};\\n\\n/**\\n * @typedef {(function(!MediaQueryList) : void)}\\n * @see http://www.w3.org/TR/cssom-view/#mediaquerylistlistener\\n */\\nvar MediaQueryListListener;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#screen\\n */\\nfunction Screen() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availwidth\\n */\\nScreen.prototype.availWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-availheight\\n */\\nScreen.prototype.availHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-width\\n */\\nScreen.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-height\\n */\\nScreen.prototype.height;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-colordepth\\n */\\nScreen.prototype.colorDepth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-screen-pixeldepth\\n */\\nScreen.prototype.pixelDepth;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-document-interface\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {?Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-elementfrompoint\\n */\\nDocument.prototype.elementFromPoint = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {CaretPosition}\\n * @see http://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint\\n */\\nDocument.prototype.caretPositionFromPoint = function(x, y) {};\\n\\n/**\\n * @type {Element}\\n * @see http://dev.w3.org/csswg/cssom-view/#dom-document-scrollingelement\\n */\\nDocument.prototype.scrollingElement;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#caretposition\\n */\\nfunction CaretPosition() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offsetnode\\n */\\nCaretPosition.prototype.offsetNode;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-caretposition-offset\\n */\\nCaretPosition.prototype.offset;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getclientrects\\n */\\nElement.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect\\n */\\nElement.prototype.getBoundingClientRect = function() {};\\n\\n/**\\n * @param {(boolean|{behavior: string, block: string})=} opt_top\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollintoview\\n * @return {undefined}\\n */\\nElement.prototype.scrollIntoView = function(opt_top) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrolltop\\n */\\nElement.prototype.scrollTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollleft\\n */\\nElement.prototype.scrollLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth\\n */\\nElement.prototype.scrollWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-scrollheight\\n */\\nElement.prototype.scrollHeight;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clienttop\\n */\\nElement.prototype.clientTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientleft\\n */\\nElement.prototype.clientLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientwidth\\n */\\nElement.prototype.clientWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-element-clientheight\\n */\\nElement.prototype.clientHeight;\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetparent\\n */\\nHTMLElement.prototype.offsetParent;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsettop\\n */\\nHTMLElement.prototype.offsetTop;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetleft\\n */\\nHTMLElement.prototype.offsetLeft;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetwidth\\n */\\nHTMLElement.prototype.offsetWidth;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-htmlelement-offsetheight\\n */\\nHTMLElement.prototype.offsetHeight;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-range-interface\\n\\n/**\\n * @return {!ClientRectList}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getclientrects\\n */\\nRange.prototype.getClientRects = function() {};\\n\\n/**\\n * @return {!ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-range-getboundingclientrect\\n */\\nRange.prototype.getBoundingClientRect = function() {};\\n\\n\\n// http://www.w3.org/TR/cssom-view/#extensions-to-the-mouseevent-interface\\n\\n// MouseEvent: screen{X,Y} and client{X,Y} are in DOM Level 2/3 Event as well,\\n// so it seems like a specification issue. I've emailed www-style@w3.org in\\n// hopes of resolving the conflict, but in the mean time they can live here\\n// (http://lists.w3.org/Archives/Public/www-style/2012May/0039.html).\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screenx\\n */\\n//MouseEvent.prototype.screenX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-screeny\\n */\\n//MouseEvent.prototype.screenY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagex\\n */\\nMouseEvent.prototype.pageX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-pagey\\n */\\nMouseEvent.prototype.pageY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clientx\\n */\\n//MouseEvent.prototype.clientX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-clienty\\n */\\n//MouseEvent.prototype.clientY;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-x\\n */\\nMouseEvent.prototype.x;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-y\\n */\\nMouseEvent.prototype.y;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsetx\\n */\\nMouseEvent.prototype.offsetX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-mouseevent-offsety\\n */\\nMouseEvent.prototype.offsetY;\\n\\n\\n// http://www.w3.org/TR/cssom-view/#rectangles\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrectlist-interface\\n * @implements {IArrayLike<!ClientRect>}\\n */\\nfunction ClientRectList() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-length\\n */\\nClientRectList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {ClientRect}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrectlist-item\\n */\\nClientRectList.prototype.item = function(index) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/cssom-view/#the-clientrect-interface\\n */\\nfunction ClientRect() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-top\\n */\\nClientRect.prototype.top;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-right\\n */\\nClientRect.prototype.right;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-bottom\\n */\\nClientRect.prototype.bottom;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-left\\n */\\nClientRect.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-width\\n */\\nClientRect.prototype.width;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/cssom-view/#dom-clientrect-height\\n */\\nClientRect.prototype.height;\\n\\n/**\\n * @constructor\\n * http://www.w3.org/TR/css3-conditional/#CSS-interface\\n */\\nfunction CSSInterface() {}\\n\\n/**\\n * @param {string} ident\\n * @return {string}\\n * @see http://www.w3.org/TR/cssom/#the-css.escape()-method\\n * @throws DOMException {@see DOMException.INVALID_CHARACTER_ERR}\\n */\\nCSSInterface.prototype.escape = function(ident) {};\\n\\n/**\\n * @param {string} property\\n * @param {string=} opt_value\\n * @return {boolean}\\n */\\nCSSInterface.prototype.supports = function(property, opt_value) {};\\n\\n/**\\n * TODO(nicksantos): This suppress tag probably isn't needed, and\\n * should be removed.\\n * @suppress {duplicate}\\n * @type {CSSInterface}\\n */\\nvar CSS;\\n\\n/** @type {CSSInterface} */\\nWindow.prototype.CSS;\\n\\n// http://dev.w3.org/csswg/css-font-loading/\\n\\n/**\\n * @enum {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfaceloadstatus\\n */\\nvar FontFaceLoadStatus = {\\n  ERROR: 'error',\\n  LOADED: 'loaded',\\n  LOADING: 'loading',\\n  UNLOADED: 'unloaded'\\n};\\n\\n/**\\n * @typedef {{\\n *   style: (string|undefined),\\n *   weight: (string|undefined),\\n *   stretch: (string|undefined),\\n *   unicodeRange: (string|undefined),\\n *   variant: (string|undefined),\\n *   featureSettings: (string|undefined)\\n * }}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dictdef-fontfacedescriptors\\n */\\nvar FontFaceDescriptors;\\n\\n/**\\n * @constructor\\n * @param {string} fontFamily\\n * @param {(string|ArrayBuffer|ArrayBufferView)} source\\n * @param {!FontFaceDescriptors=} opt_descriptors\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-constructor\\n */\\nfunction FontFace(fontFamily, source, opt_descriptors) {}\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-family\\n */\\nFontFace.prototype.family;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-style\\n */\\nFontFace.prototype.style;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-weight\\n */\\nFontFace.prototype.weight;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-stretch\\n */\\nFontFace.prototype.stretch;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-unicoderange\\n */\\nFontFace.prototype.unicodeRange;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-variant\\n */\\nFontFace.prototype.variant;\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-featuresettings\\n */\\nFontFace.prototype.featureSettings;\\n\\n/**\\n * @type {FontFaceLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontface-status\\n */\\nFontFace.prototype.status;\\n\\n/**\\n * @return {!Promise<!FontFace>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#font-face-load\\n */\\nFontFace.prototype.load = function() {};\\n\\n/**\\n * @enum\\n * @see http://dev.w3.org/csswg/css-font-loading/#enumdef-fontfacesetloadstatus\\n */\\nvar FontFaceSetLoadStatus = {\\n  LOADED: 'loaded',\\n  LOADING: 'loading'\\n};\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-interface\\n */\\nfunction FontFaceSet() {}\\n\\n// Event handlers\\n// http://dev.w3.org/csswg/css-font-loading/#FontFaceSet-events\\n\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloading;\\n/** @type {?functi";
a.a+='on (Event)} */ FontFaceSet.prototype.onloadingdone;\\n/** @type {?function (Event)} */ FontFaceSet.prototype.onloadingerror;\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-add\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.add = function(value) {};\\n\\n/**\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-clear\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.clear = function() {};\\n\\n/**\\n * @param {!FontFace} value\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-delete\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.delete = function(value) {};\\n\\n/**\\n * @param {!FontFace} font\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-has\\n */\\nFontFaceSet.prototype.has = function(font) {};\\n\\n/**\\n * @param {function(!FontFace, number, !FontFaceSet)} cb\\n * @param {Object|undefined=} opt_selfObj\\n * see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-foreach\\n * @return {undefined}\\n */\\nFontFaceSet.prototype.forEach = function(cb, opt_selfObj) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {!Promise<!Array<!FontFace>>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-load\\n */\\nFontFaceSet.prototype.load = function(font, opt_text) {};\\n\\n/**\\n * @param {string} font\\n * @param {string=} opt_text\\n * @return {boolean}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-check\\n */\\nFontFaceSet.prototype.check = function(font, opt_text) {};\\n\\n/**\\n * @type {!Promise<!FontFaceSet>}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-ready\\n */\\nFontFaceSet.prototype.ready;\\n\\n/**\\n * @type {FontFaceSetLoadStatus}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfaceset-status\\n */\\nFontFaceSet.prototype.status;\\n","externs/gecko_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for Gecko\'s custom CSS properties. Copied from:\\n * http://mxr.mozilla.org/mozilla2.0/source/dom/interfaces/css/nsIDOMCSS2Properties.idl\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n\\n/** @type {string} */ CSSProperties.prototype.MozAppearance;\\n/** @type {string} */ CSSProperties.prototype.MozBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundInlinePolicy;\\n/** @type {string} */ CSSProperties.prototype.MozBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozBinding;\\n/** @type {string} */ CSSProperties.prototype.MozBorderBottomColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderImage;\\n/** @type {string} */ CSSProperties.prototype.MozBorderLeftColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozBorderRightColors;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStart;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.MozBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.MozBorderTopColors;\\n/** @type {string} */ CSSProperties.prototype.MozBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.MozBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.MozBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.MozBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.MozBoxPack;\\n/** @type {string} */ CSSProperties.prototype.MozBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.MozBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.MozColumnCount;\\n/** @type {string} */ CSSProperties.prototype.MozColumnGap;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRule;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.MozColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.MozColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.MozFloatEdge;\\n/** @type {string} */ CSSProperties.prototype.MozFontFeatureSettings;\\n/** @type {string} */ CSSProperties.prototype.MozFontLanguageOverride;\\n/** @type {string} */ CSSProperties.prototype.MozForceBrokenImageIcon;\\n/** @type {string} */ CSSProperties.prototype.MozImageRegion;\\n/** @type {string} */ CSSProperties.prototype.MozMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.MozMarginStart;\\n/** @type {number|string} */ CSSProperties.prototype.MozOpacity;\\n/** @type {string} */ CSSProperties.prototype.MozOutline;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineColor;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineOffset;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadius;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusBottomright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopleft;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineRadiusTopright;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineStyle;\\n/** @type {string} */ CSSProperties.prototype.MozOutlineWidth;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.MozPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.MozPerspective;\\n/** @type {string} */ CSSProperties.prototype.MozStackSizing;\\n/** @type {string} */ CSSProperties.prototype.MozTabSize;\\n/** @type {string} */ CSSProperties.prototype.MozTransform;\\n/** @type {string} */ CSSProperties.prototype.MozTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.MozTransition;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.MozTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.MozUserFocus;\\n/** @type {string} */ CSSProperties.prototype.MozUserInput;\\n/** @type {string} */ CSSProperties.prototype.MozUserModify;\\n/** @type {string} */ CSSProperties.prototype.MozUserSelect;\\n/** @type {string} */ CSSProperties.prototype.MozWindowShadow;\\n\\n\\n// These are non-standard Gecko CSSOM properties on Window.prototype.screen.\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availTop\\n */\\nScreen.prototype.availTop;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.availLeft\\n */\\nScreen.prototype.availLeft;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.left\\n */\\nScreen.prototype.left;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/window.screen.top\\n */\\nScreen.prototype.top;\\n","externs/ie_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s custom CSS properties, as defined here:\\n * http://msdn.microsoft.com/en-us/library/aa768661(VS.85).aspx\\n *\\n * This page is also useful for the IDL definitions:\\n * http://source.winehq.org/source/include/mshtml.idl\\n *\\n * @externs\\n * @author nicksantos@google.com\\n */\\n\\n/** @type {Element} */\\nStyleSheet.prototype.owningElement;\\n\\n/** @type {boolean} */\\nStyleSheet.prototype.readOnly;\\n\\n/** @type {StyleSheetList} */\\nStyleSheet.prototype.imports;\\n\\n/** @type {string} */\\nStyleSheet.prototype.id;\\n\\n/**\\n * @param {string} bstrURL\\n * @param {number} lIndex\\n * @return {number}\\n */\\nStyleSheet.prototype.addImport;\\n\\n/**\\n * @param {string} bstrSelector\\n * @param {string} bstrStyle\\n * @param {number=} opt_iIndex\\n * @return {number}\\n * @see http://msdn.microsoft.com/en-us/library/aa358796%28v=vs.85%29.aspx\\n */\\nStyleSheet.prototype.addRule;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeImport;\\n\\n/**\\n * @param {number} lIndex\\n */\\nStyleSheet.prototype.removeRule;\\n\\n/** @type {string} */\\nStyleSheet.prototype.cssText;\\n\\n/** @type {CSSRuleList} */\\nStyleSheet.prototype.rules;\\n\\n// StyleSheet methods\\n\\n/**\\n * @param {string} propName\\n * @return {string}\\n * @see http://msdn.microsoft.com/en-us/library/aa358797(VS.85).aspx\\n */\\nStyleSheet.prototype.getExpression;\\n\\n/**\\n * @param {string} name\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/ms531196(VS.85).aspx\\n */\\nStyleSheet.prototype.setExpression;\\n\\n/**\\n * @param {string} expression\\n * @return {undefined}\\n * @see http://msdn.microsoft.com/en-us/library/aa358798(VS.85).aspx\\n */\\nStyleSheet.prototype.removeExpression;\\n\\n// IE-only CSS style names.\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionX;\\n\\n/** @type {string} */ CSSProperties.prototype.backgroundPositionY;\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ie/ms531081(v=vs.85).aspx\\n * NOTE: Left untyped to avoid conflict with caller.\\n */\\nCSSProperties.prototype.behavior;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms533883.aspx\\n */\\nCSSProperties.prototype.imeMode;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms534176(VS.85).aspx\\n */\\nCSSProperties.prototype.msInterpolationMode;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowX;\\n\\n/** @type {string} */ CSSProperties.prototype.overflowY;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelWidth;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelHeight;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelLeft;\\n\\n/** @type {number} */ CSSProperties.prototype.pixelTop;\\n\\n/** @type {string} */ CSSProperties.prototype.styleFloat;\\n\\n/**\\n * @type {string|number}\\n * @see http://msdn.microsoft.com/en-us/library/ms535169(VS.85).aspx\\n */\\nCSSProperties.prototype.zoom;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/ms535153(VS.85).aspx\\n */\\nCSSProperties.prototype.writingMode;\\n\\n/**\\n * IE-specific extensions.\\n * @see http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx\\n */\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsAccelerator;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBackgroundPositionY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBehavior;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsBlockProgression;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsFilter;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsImeMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGrid;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridChar;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridLine;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLayoutGridType;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsLineGridMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsInterpolationMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowX;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsOverflowY;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbar3dlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarArrowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarBaseColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarDarkshadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarFaceColor;\\n\\nCSSProperties.prototype.MsScrollbarHighlightColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarShadowColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsScrollbarTrackColor;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAlignLast;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextAutospace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextJustify;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextKashidaSpace;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextOverflow;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsTextUnderlinePosition;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordBreak;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWordWrap;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsWritingMode;\\n\\n/** @type {string} */\\nCSSProperties.prototype.MsZoom;\\n\\n// See: http://msdn.microsoft.com/en-us/library/windows/apps/Hh702466.aspx\\n\\n/** @type {string} */\\nCSSProperties.prototype.msContentZooming;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTouchAction;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransform;\\n\\n/** @type {string} */\\nCSSProperties.prototype.msTransition;\\n","externs/webkit_css.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebKit\'s custom CSS properties. Copied from:\\n * {@link\\n * http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSPropertyNames.in}\\n *\\n * If you make changes to this file, notice that every property appears\\n * twice: once as an uppercase name and once as a lowercase name.\\n * WebKit allows both. The uppercase version is preferred.\\n *\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n * @author mastepien@google.com (Marek Stepien)\\n */\\n\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.WebkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnim';
a.a+="ationDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.WebkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.WebkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.WebkitBinding;\\n/** @type {string} */ CSSProperties.prototype.WebkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.WebkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.WebkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.WebkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.WebkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.WebkitFilter;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlex;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.WebkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.WebkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.WebkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.WebkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.WebkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.WebkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.WebkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.WebkitLocale;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.WebkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitMask;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.WebkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.WebkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.WebkitOrder;\\n/** @type {string} */ CSSProperties.prototype.WebkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.WebkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.WebkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.WebkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.WebkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.WebkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.WebkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransform;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransition;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.WebkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.WebkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrap;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.WebkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.WebkitWritingMode;\\n\\n// WebKit also adds bindings for the lowercase versions of these properties.\\n// The uppercase version is preferred.\\n\\n/** @type {string} */ CSSProperties.prototype.webkitAlignContent;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignItems;\\n/** @type {string} */ CSSProperties.prototype.webkitAlignSelf;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimation;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationFillMode;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationIterationCount;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationName;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationPlayState;\\n/** @type {string} */ CSSProperties.prototype.webkitAnimationTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitAppearance;\\n/** @type {string} */ CSSProperties.prototype.webkitAppRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitAspectRatio;\\n/** @type {string} */ CSSProperties.prototype.webkitBackfaceVisibility;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundClip;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitBackgroundSize;\\n/** @type {string} */ CSSProperties.prototype.webkitBinding;\\n/** @type {string} */ CSSProperties.prototype.webkitBlendMode;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderAfterWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBeforeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderBottomRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderEndWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderFit;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderHorizontalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderImage;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderRad";
a.a+='ius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStart;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartColor;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderStartWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopLeftRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderTopRightRadius;\\n/** @type {string} */ CSSProperties.prototype.webkitBorderVerticalSpacing;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDecorationBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxFlexGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxLines;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrdinalGroup;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxOrient;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxPack;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxReflect;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxShadow;\\n/** @type {string} */ CSSProperties.prototype.webkitBoxSizing;\\n/** @type {string} */ CSSProperties.prototype.webkitColorCorrection;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnAxis;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnCount;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnGap;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnProgression;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRule;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleColor;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnRuleWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnSpan;\\n/** @type {string} */ CSSProperties.prototype.webkitColumnWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitDashboardRegion;\\n/** @type {string} */ CSSProperties.prototype.webkitFilter;\\n/** @type {string} */ CSSProperties.prototype.webkitFlex;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexBasis;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexGrow;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexShrink;\\n/** @type {string} */ CSSProperties.prototype.webkitFlexWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowFrom;\\n/** @type {string} */ CSSProperties.prototype.webkitFlowInto;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSizeDelta;\\n/** @type {string} */ CSSProperties.prototype.webkitFontSmoothing;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumn;\\n/** @type {string} */ CSSProperties.prototype.webkitGridColumns;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRow;\\n/** @type {string} */ CSSProperties.prototype.webkitGridRows;\\n/** @type {string} */ CSSProperties.prototype.webkitHighlight;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateCharacter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphenateLimitLines;\\n/** @type {string} */ CSSProperties.prototype.webkitHyphens;\\n/** @type {string} */ CSSProperties.prototype.webkitJustifyContent;\\n/** @type {string} */ CSSProperties.prototype.webkitLineAlign;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBoxContain;\\n/** @type {string} */ CSSProperties.prototype.webkitLineBreak;\\n/** @type {string} */ CSSProperties.prototype.webkitLineClamp;\\n/** @type {string} */ CSSProperties.prototype.webkitLineGrid;\\n/** @type {string} */ CSSProperties.prototype.webkitLineSnap;\\n/** @type {string} */ CSSProperties.prototype.webkitLocale;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginAfterCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBeforeCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginBottomCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginStart;\\n/** @type {string} */ CSSProperties.prototype.webkitMarginTopCollapse;\\n/** @type {string} */ CSSProperties.prototype.webkitMarquee;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeDirection;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeIncrement;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeRepetition;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeSpeed;\\n/** @type {string} */ CSSProperties.prototype.webkitMarqueeStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitMask;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskAttachment;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageOutset;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSlice;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageSource;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskBoxImageWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskClip;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskComposite;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskImage;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskPositionY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeat;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatX;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskRepeatY;\\n/** @type {string} */ CSSProperties.prototype.webkitMaskSize;\\n/** @type {string} */\\nCSSProperties.prototype.webkitMatchNearestMailBlockquoteColor;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMaxLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalHeight;\\n/** @type {string} */ CSSProperties.prototype.webkitMinLogicalWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitNbspMode;\\n/** @type {string} */ CSSProperties.prototype.webkitOrder;\\n/** @type {string} */ CSSProperties.prototype.webkitOverflowScrolling;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingEnd;\\n/** @type {string} */ CSSProperties.prototype.webkitPaddingStart;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspective;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitPerspectiveOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitPrintColorAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakAfter;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakBefore;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionBreakInside;\\n/** @type {string} */ CSSProperties.prototype.webkitRegionOverflow;\\n/** @type {string} */ CSSProperties.prototype.webkitRtlOrdering;\\n/** @type {string} */ CSSProperties.prototype.webkitRubyPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeInside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeMargin;\\n/** @type {string} */ CSSProperties.prototype.webkitShapeOutside;\\n/** @type {string} */ CSSProperties.prototype.webkitShapePadding;\\n/** @type {string} */ CSSProperties.prototype.webkitTapHighlightColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextAlignLast;\\n/** @type {string} */ CSSProperties.prototype.webkitTextCombine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationLine;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationsInEffect;\\n/** @type {string} */ CSSProperties.prototype.webkitTextDecorationStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasis;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisPosition;\\n/** @type {string} */ CSSProperties.prototype.webkitTextEmphasisStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTextFillColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextOrientation;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSecurity;\\n/** @type {string} */ CSSProperties.prototype.webkitTextSizeAdjust;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStroke;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeColor;\\n/** @type {string} */ CSSProperties.prototype.webkitTextStrokeWidth;\\n/** @type {string} */ CSSProperties.prototype.webkitTransform;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOrigin;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginX;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginY;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformOriginZ;\\n/** @type {string} */ CSSProperties.prototype.webkitTransformStyle;\\n/** @type {string} */ CSSProperties.prototype.webkitTransition;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDelay;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionDuration;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionProperty;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionRepeatCount;\\n/** @type {string} */ CSSProperties.prototype.webkitTransitionTimingFunction;\\n/** @type {string} */ CSSProperties.prototype.webkitUserDrag;\\n/** @type {string} */ CSSProperties.prototype.webkitUserModify;\\n/** @type {string} */ CSSProperties.prototype.webkitUserSelect;\\n/** @type {string} */ CSSProperties.prototype.webkitWrap;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapFlow;\\n/** @type {string} */ CSSProperties.prototype.webkitWrapThrough;\\n/** @type {string} */ CSSProperties.prototype.webkitWritingMode;\\n\\n/**\\n * @constructor\\n * @param {number} x\\n * @param {number} y\\n */\\nfunction WebKitPoint(x, y) {}\\n\\n/** @type {number} */\\nWebKitPoint.prototype.x;\\n\\n/** @type {number} */\\nWebKitPoint.prototype.y;\\n","externs/google.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Declaration of the type level google namespace.\\n * @externs\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/**\\n * Suppresses the compiler warning when multiple externs files declare the\\n * google namespace.\\n * @suppress {duplicate}\\n * @noalias\\n */\\n// TODO(nicksantos): Consolidate to one google namespace declaration.\\nvar google = {};\\n","externs/deprecated.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins that are not part of any specifications\\n * but are still needed in some project\'s build.\\n * @externs\\n */\\n\\nvar opera = {};\\n\\nopera.postError;\\n\\n/** @nosideeffects */\\nopera.version = function() {};\\n\\n/** @constructor */\\nfunction XSLTProcessor() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLOptionElement}\\n * @param {*=} opt_text\\n * @param {*=} opt_value\\n * @param {*=} opt_defaultSelected\\n * @param {*=} opt_selected\\n */\\nfunction Option(opt_text, opt_value, opt_defaultSelected, opt_selected) {}\\n\\n\\n// The \\"methods\\" object is a place to hang arbitrary external\\n// properties. It is a throwback to pre-typed days, and should\\n// not be used for any new definitions; it exists only to bridge\\n// the gap between the old way and the new way.\\nvar methods = {};\\n","externs/fileapi.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for objects in the File API, File Writer API, and\\n * File System API. Details of the API are at:\\n * http://www.w3.org/TR/FileAPI/\\n * http://www.w3.org/TR/file-writer-api/\\n * http://www.w3.org/TR/file-system-api/\\n *\\n * @externs\\n * @author dbk@google.com (David Barrett-Kahn)\\n * @author mpd@google.com (Michael Davidson)\\n */\\n\\n\\n/**\\n * @see http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob\\n * @param {Array<ArrayBuffer|ArrayBufferView|Blob|string>=} opt_blobParts\\n * @param {Object=} opt_options\\n * @constructor\\n * @nosideeffects\\n */\\nfunction Blob(opt_blobParts, opt_options) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-size\\n * @type {number}\\n */\\nBlob.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-type\\n * @type {string}\\n */\\nBlob.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-slice\\n * @param {number} start\\n * @param {number} length\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.slice = function(start, length, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Chrome since WebKit revision 84005.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number} start\\n * @param {number} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.webkitSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * This replaces Blob.slice in Firefox.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @param {number} start\\n * @param {number} end\\n * @param {string=} opt_contentType\\n * @return {!Blob}\\n * @nosideeffects\\n */\\nBlob.prototype.mozSlice = function(start, end, opt_contentType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#the-blobbuilder';
a.a+="-interface\\n * @constructor\\n */\\nfunction BlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n/**\\n * This has replaced BlobBuilder in Chrome since WebKit revision 84008.\\n * @see http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0222.html\\n * @constructor\\n */\\nfunction WebKitBlobBuilder() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append0\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append1\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-append2\\n * @param {string|Blob|ArrayBuffer} data\\n * @param {string=} endings\\n * @return {undefined}\\n */\\nWebKitBlobBuilder.prototype.append = function(data, endings) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-BlobBuilder-getBlob\\n * @param {string=} contentType\\n * @return {!Blob}\\n */\\nWebKitBlobBuilder.prototype.getBlob = function(contentType) {};\\n\\n\\n/**\\n * @record\\n * @see https://dev.w3.org/2009/dap/file-system/file-dir-sys.html#the-flags-dictionary\\n */\\nfunction FileSystemFlags() {};\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.create;\\n\\n/** @type {(undefined|boolean)} */\\nFileSystemFlags.prototype.exclusive;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction DirectoryEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-createReader\\n * @return {!DirectoryReader}\\n */\\nDirectoryEntry.prototype.createReader = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getFile\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!FileEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getFile = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-getDirectory\\n * @param {string} path\\n * @param {!FileSystemFlags=} options\\n * @param {function(!DirectoryEntry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.getDirectory = function(path, options, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryEntry-removeRecursively\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryEntry.prototype.removeRecursively = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-directoryreader-interface\\n * @constructor\\n */\\nfunction DirectoryReader() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-DirectoryReader-readEntries\\n * @param {function(!Array<!Entry>)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nDirectoryReader.prototype.readEntries = function(successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-entry-interface\\n * @constructor\\n */\\nfunction Entry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isFile\\n * @type {boolean}\\n */\\nEntry.prototype.isFile;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-isDirectory\\n * @type {boolean}\\n */\\nEntry.prototype.isDirectory;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-name\\n * @type {string}\\n */\\nEntry.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-fullPath\\n * @type {string}\\n */\\nEntry.prototype.fullPath;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-filesystem\\n * @type {!FileSystem}\\n */\\nEntry.prototype.filesystem;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-moveTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.moveTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-copyTo\\n * @param {!DirectoryEntry} parent\\n * @param {string=} newName\\n * @param {function(!Entry)=} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.copyTo = function(parent, newName, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-toURL\\n * @param {string=} mimeType\\n * @return {string}\\n */\\nEntry.prototype.toURL = function(mimeType) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-remove\\n * @param {function()} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.remove = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getMetadata\\n * @param {function(!Metadata)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getMetadata = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Entry-getParent\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nEntry.prototype.getParent = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-file\\n * @param {!Array<string|!Blob|!ArrayBuffer>=} opt_contents\\n * @param {string=} opt_name\\n * @param {{type: (string|undefined), lastModified: (number|undefined)}=}\\n *     opt_properties\\n * @constructor\\n * @extends {Blob}\\n */\\nfunction File(opt_contents, opt_name, opt_properties) {}\\n\\n/**\\n * Chrome uses this instead of name.\\n * @deprecated Use name instead.\\n * @type {string}\\n */\\nFile.prototype.fileName;\\n\\n/**\\n * Chrome uses this instead of size.\\n * @deprecated Use size instead.\\n * @type {string}\\n */\\nFile.prototype.fileSize;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-name\\n * @type {string}\\n */\\nFile.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModifiedDate\\n * @type {Date}\\n */\\nFile.prototype.lastModifiedDate;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-lastModified\\n * @type {number}\\n */\\nFile.prototype.lastModified;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-fileentry-interface\\n * @constructor\\n * @extends {Entry}\\n */\\nfunction FileEntry() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-createWriter\\n * @param {function(!FileWriter)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.createWriter = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileEntry-file\\n * @param {function(!File)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nFileEntry.prototype.file = function(successCallback, errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#FileErrorInterface\\n * @constructor\\n * @extends {DOMError}\\n */\\nfunction FileError() {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_FOUND_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_FOUND_ERR = 1;\\n\\n/** @type {number} */\\nFileError.NOT_FOUND_ERR = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-SECURITY_ERR\\n * @type {number}\\n */\\nFileError.prototype.SECURITY_ERR = 2;\\n\\n/** @type {number} */\\nFileError.SECURITY_ERR = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ABORT_ERR\\n * @type {number}\\n */\\nFileError.prototype.ABORT_ERR = 3;\\n\\n/** @type {number} */\\nFileError.ABORT_ERR = 3;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-NOT_READABLE_ERR\\n * @type {number}\\n */\\nFileError.prototype.NOT_READABLE_ERR = 4;\\n\\n/** @type {number} */\\nFileError.NOT_READABLE_ERR = 4;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-ENCODING_ERR\\n * @type {number}\\n */\\nFileError.prototype.ENCODING_ERR = 5;\\n\\n/** @type {number} */\\nFileError.ENCODING_ERR = 5;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileError-NO_MODIFICATION_ALLOWED_ERR\\n * @type {number}\\n */\\nFileError.prototype.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/** @type {number} */\\nFileError.NO_MODIFICATION_ALLOWED_ERR = 6;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-INVALID_STATE_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_STATE_ERR = 7;\\n\\n/** @type {number} */\\nFileError.INVALID_STATE_ERR = 7;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileException-SYNTAX_ERR\\n * @type {number}\\n */\\nFileError.prototype.SYNTAX_ERR = 8;\\n\\n/** @type {number} */\\nFileError.SYNTAX_ERR = 8;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-INVALID_MODIFICATION_ERR\\n * @type {number}\\n */\\nFileError.prototype.INVALID_MODIFICATION_ERR = 9;\\n\\n/** @type {number} */\\nFileError.INVALID_MODIFICATION_ERR = 9;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileError-QUOTA_EXCEEDED_ERR\\n * @type {number}\\n */\\nFileError.prototype.QUOTA_EXCEEDED_ERR = 10;\\n\\n/** @type {number} */\\nFileError.QUOTA_EXCEEDED_ERR = 10;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-TYPE_MISMATCH_ERR\\n * @type {number}\\n */\\nFileError.prototype.TYPE_MISMATCH_ERR = 11;\\n\\n/** @type {number} */\\nFileError.TYPE_MISMATCH_ERR = 11;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileException-PATH_EXISTS_ERR\\n * @type {number}\\n */\\nFileError.prototype.PATH_EXISTS_ERR = 12;\\n\\n/** @type {number} */\\nFileError.PATH_EXISTS_ERR = 12;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-code-exception\\n * @type {number}\\n * @deprecated Use the 'name' or 'message' attributes of DOMError rather than\\n * 'code'\\n */\\nFileError.prototype.code;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-filereader\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction FileReader() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.addEventListener = function(type, listener, opt_useCapture)\\n    {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nFileReader.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nFileReader.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsArrayBuffer\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsArrayBuffer = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsBinaryStringAsync\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsBinaryString = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsText\\n * @param {!Blob} blob\\n * @param {string=} encoding\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsText = function(blob, encoding) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readAsDataURL\\n * @param {!Blob} blob\\n * @return {undefined}\\n */\\nFileReader.prototype.readAsDataURL = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-abort\\n * @return {undefined}\\n */\\nFileReader.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-empty\\n * @type {number}\\n */\\nFileReader.prototype.EMPTY = 0;\\n\\n/** @type {number} */\\nFileReader.EMPTY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-loading\\n * @type {number}\\n */\\nFileReader.prototype.LOADING = 1;\\n\\n/** @type {number} */\\nFileReader.LOADING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-done\\n * @type {number}\\n */\\nFileReader.prototype.DONE = 2;\\n\\n/** @type {number} */\\nFileReader.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-readystate\\n * @type {number}\\n */\\nFileReader.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-result\\n * @type {string|Blob|ArrayBuffer}\\n */\\nFileReader.prototype.result;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-error\\n * @type {FileError}\\n */\\nFileReader.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadstart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadstart;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onload\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onload;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-onloadend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileReader.prototype.onloadend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileSaver\\n * @constructor\\n */\\nfunction FileSaver() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-abort\\n * @return {undefined}\\n */\\nFileSaver.prototype.abort = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-INIT\\n * @type {number}\\n */\\nFileSaver.prototype.INIT = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-WRITING\\n * @type {number}\\n */\\nFileSaver.prototype.WRITING = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-DONE\\n * @type {number}\\n */\\nFileSaver.prototype.DONE = 2;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-readyState\\n * @type {number}\\n */\\nFileSaver.prototype.readyState;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-error\\n * @type {FileError}\\n */\\nFileSaver.prototype.error;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwritestart\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwritestart;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onprogress\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onprogress;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwrite\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwrite;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onabort\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onabort;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onerror\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onerror;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileSaver-onwriteend\\n * @type {?function(!ProgressEvent)}\\n */\\nFileSaver.prototype.onwriteend;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#the-filesystem-interface\\n * @constructor\\n */\\nfunction FileSystem() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-name\\n * @type {string}\\n */\\nFileSystem.prototype.name;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-FileSystem-root\\n * @type {!DirectoryEntry}\\n */\\nFileSystem.prototype.root;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter\\n * @constructor\\n * @extends {FileSaver}\\n */\\nfunction FileWriter() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-position\\n * @type {number}\\n */\\nFileWriter.prototype.position;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-length\\n * @type {number}\\n */\\nFileWriter.prototype.length;\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-write\\n * @param {!Blob} blob";
a.a+='\\n * @return {undefined}\\n */\\nFileWriter.prototype.write = function(blob) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-seek\\n * @param {number} offset\\n * @return {undefined}\\n */\\nFileWriter.prototype.seek = function(offset) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-writer-api/#widl-FileWriter-truncate\\n * @param {number} size\\n * @return {undefined}\\n */\\nFileWriter.prototype.truncate = function(size) {};\\n\\n/**\\n * LocalFileSystem interface, implemented by Window and WorkerGlobalScope.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem\\n * @constructor\\n */\\nfunction LocalFileSystem() {}\\n\\n/**\\n * Metadata interface.\\n * @see http://www.w3.org/TR/file-system-api/#idl-def-Metadata\\n * @constructor\\n */\\nfunction Metadata() {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-modificationTime\\n * @type {!Date}\\n */\\nMetadata.prototype.modificationTime;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-Metadata-size\\n * @type {number}\\n */\\nMetadata.prototype.size;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-TEMPORARY\\n * @type {number}\\n*/\\nWindow.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-PERSISTENT\\n * @type {number}\\n*/\\nWindow.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction requestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.requestFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction resolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.resolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitRequestFileSystem(type, size, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced requestFileSystem in Chrome since WebKit revision 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-requestFileSystem\\n * @param {number} type\\n * @param {number} size\\n * @param {function(!FileSystem)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitRequestFileSystem = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nfunction webkitResolveLocalFileSystemURI(uri, successCallback, errorCallback) {}\\n\\n/**\\n * This has replaced resolveLocalFileSystemURI in Chrome since WebKit revision\\n * 84224.\\n * @see http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURI\\n * @param {string} uri\\n * @param {function(!Entry)} successCallback\\n * @param {function(!FileError)=} errorCallback\\n * @return {undefined}\\n */\\nWindow.prototype.webkitResolveLocalFileSystemURI = function(uri, successCallback,\\n    errorCallback) {}\\n\\n// WindowBlobURIMethods interface, implemented by Window and WorkerGlobalScope.\\n// There are three APIs for this: the old specced API, the new specced API, and\\n// the webkit-prefixed API.\\n// @see http://www.w3.org/TR/FileAPI/#creating-revoking\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nfunction createObjectURL(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nWindow.prototype.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nfunction revokeObjectURL(url) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nWindow.prototype.revokeObjectURL = function(url) {};\\n\\n/**\\n * This has been replaced by URL in Chrome since WebKit revision 75739.\\n * @constructor\\n * @param {string} urlString\\n * @param {string=} opt_base\\n */\\nfunction webkitURL(urlString, opt_base) {}\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!Object} obj\\n * @return {string}\\n */\\nwebkitURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nwebkitURL.revokeObjectURL = function(url) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @constructor\\n */\\nfunction StorageInfo() {}\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n * */\\nStorageInfo.prototype.TEMPORARY = 0;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {number}\\n */\\nStorageInfo.prototype.PERSISTENT = 1;\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#requestQuota\\n * @param {number} type\\n * @param {number} size\\n * @param {function(number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.requestQuota = function(type, size, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage#queryUsageAndQuota\\n * @param {number} type\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} errorCallback\\n * @return {undefined}\\n */\\nStorageInfo.prototype.queryUsageAndQuota = function(type, successCallback,\\n    errorCallback) {};\\n\\n/**\\n * @see https://developers.google.com/chrome/whitepapers/storage\\n * @type {!StorageInfo}\\n */\\nWindow.prototype.webkitStorageInfo;\\n\\n/**\\n * @see https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html#storagequota-interface.\\n * @constructor\\n */\\nfunction StorageQuota() {}\\n\\n/**\\n * @param {number} size\\n * @param {function(number)=} opt_successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.requestQuota = function(size, opt_successCallback,\\n    opt_errorCallback) {};\\n\\n/**\\n * @param {function(number, number)} successCallback\\n * @param {function(!DOMException)=} opt_errorCallback\\n * @return {undefined}\\n */\\nStorageQuota.prototype.queryUsageAndQuota = function(successCallback,\\n    opt_errorCallback) {};\\n","externs/flash.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the Flash Object JavaScript methods. This\\n * file depends on w3c_dom2.js.\\n * Created from\\n * http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html\\n *\\n * @externs\\n * @author ajp@google.com (Andy Perelson)\\n */\\n\\n\\n// Standard Methods.\\n\\n/**\\n * Call a Flash function exported by ExternalInterface.\\n * @param {string} xmlString The XML string passed to Flash. The outer element\\n *     should be {@code <invoke>}. A sample invocation string:\\n *     {@code <invoke name=\\"function_name\\" returntype=\\"javascript\\">\\n *     <string>test</string></invoke>}\\n * @return {string} The serialized return value from Flash that you can eval.\\n */\\nHTMLObjectElement.prototype.CallFunction = function(xmlString) {};\\n\\n/**\\n * Returns the value of the Flash variable specified by varName or null if the\\n * variable does not exist.\\n * @param {string} varName The variable name.\\n * @return {string?} The variable value.\\n */\\nHTMLObjectElement.prototype.GetVariable = function(varName) {};\\n\\n/**\\n * Activates the frame number specified by {@code frameNumber} in the current\\n * movie.\\n * @param {number} frameNumber A non-negative integer frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.GotoFrame = function(frameNumber) {};\\n\\n/**\\n * @return {boolean} Whether the movie is currently playing.\\n */\\nHTMLObjectElement.prototype.IsPlaying = function() {};\\n\\n/**\\n * Loads the movie identified by {@code url} to the layer specified by {@code\\n * layerNumber}.\\n * @param {number} layerNumber The layer number.\\n * @param {string} url The movie URL.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.LoadMovie = function(layerNumber, url) {};\\n\\n/**\\n * Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to\\n * specify whether the values for x and y are pixels or a percent of the window.\\n * When mode is 0, the coordinates are pixels; when mode is 1, the coordinates\\n * are percent of the window.\\n * @param {number} x The x-coordinate.\\n * @param {number} y The y-coordinate.\\n * @param {number} mode The mode.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Pan = function(x, y, mode) {};\\n\\n/**\\n * @return {number} The percent of the Flash Player movie that has streamed\\n *     into the browser so far; Possible values are from 0 to 100.\\n */\\nHTMLObjectElement.prototype.PercentLoaded = function() {};\\n\\n/**\\n * Starts playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Play = function() {};\\n\\n/**\\n * Goes to the first frame.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Rewind = function() {};\\n\\n/**\\n * Sets the value of the flash variable.\\n * @param {string} variableName The variable name.\\n * @param {string} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetVariable = function(variableName, value) {};\\n\\n/**\\n * Zooms in on a rectangular area of the movie. The units of the coordinates\\n * are in twips (1440 units per inch).\\n * @param {number} left The left coordinate.\\n * @param {number} top The top coordinate.\\n * @param {number} right The right coordinate.\\n * @param {number} bottom The bottom coordinate.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.SetZoomRect = function(left, top, right, bottom) {};\\n\\n/**\\n * Stops playing the movie.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.StopPlay = function() {};\\n\\n/**\\n * @return {number} The total number of frames in the movie.\\n */\\nHTMLObjectElement.prototype.TotalFrames = function() {};\\n\\n/**\\n * Zooms the view by a relative scale factor.\\n * @param {number} percent The percentage scale factor, should be an integer.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.Zoom = function(percent) {};\\n\\n\\n// TellTarget Methods.\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallFrame = function(target, frameNumber) {};\\n\\n/**\\n * Executes the action in the timeline specified by {@code target} in the\\n * specified frame.\\n * @param {string} target The timeline.\\n * @param {string} label The frame label.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TCallLabel = function(target, label) {};\\n\\n/**\\n * Returns the number of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {number} The number of the current frame.\\n */\\nHTMLObjectElement.prototype.TCurentFrame = function(target) {};\\n\\n/**\\n * Returns the label of the current frame for the specified timeline.\\n * @param {string} target The timeline.\\n * @return {string} The label of the current frame, empty string if no\\n *     current frame.\\n */\\nHTMLObjectElement.prototype.TCurrentLabel = function(target) {};\\n\\n/**\\n * Returns a string indicating the value of the property in the\\n * specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {string} The value of the property.\\n */\\nHTMLObjectElement.prototype.TGetProperty = function(target, property) {};\\n\\n/**\\n * Returns a number indicating the value of the property in the specified\\n * timeline.\\n * @param {string} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @return {number} A number indicating the value of the property.\\n */\\nHTMLObjectElement.prototype.TGetPropertyAsNumber = function(target, property) {};\\n\\n/**\\n * Goes to the specified frame number in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {number} frameNumber The frame number.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoFrame = function(target, frameNumber) {};\\n\\n/**\\n * Goes to the specified frame label in the specified timeline.\\n * @param {string} target The timeline.\\n * @param {string} label The framelabel.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TGotoLabel = function(target, label) {};\\n\\n/**\\n * Plays the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TPlay = function(target) {};\\n\\n/**\\n * Sets the value of the property in the specified timeline.\\n * @param {number} target The timeline.\\n * @param {number} property The integer corresponding to the desired property.\\n * @param {string|number} value The value.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TSetProperty = function(target, property, value) {};\\n\\n/**\\n * Stops the specified timeline.\\n * @param {number} target The timeline.\\n * @return {undefined}\\n */\\nHTMLObjectElement.prototype.TStopPlay = function(target) {};\\n","externs/gecko_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for all the extensions over some of the\\n *  W3C\'s XML specifications by Gecko. This file depends on\\n *  w3c_xml.js. The whole file has been fully type annotated.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n/**\\n * XMLSerializer can be used to convert DOM subtr';
a.a+='ee or DOM document into text.\\n * XMLSerializer is available to unprivileged scripts.\\n *\\n * XMLSerializer is mainly useful for applications and extensions based on\\n * Mozilla platform. While it\'s available to web pages, it\'s not part of any\\n * standard and level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction XMLSerializer() {}\\n\\n/**\\n * Returns the serialized subtree in the form of a string\\n * @param {Node} subtree\\n * @return {string}\\n */\\nXMLSerializer.prototype.serializeToString = function(subtree) {};\\n\\n/**\\n * The subtree rooted by the specified element is serialized to a byte stream\\n * using the character set specified.\\n *\\n * @param {Node} subtree\\n * @return {Object}\\n */\\nXMLSerializer.prototype.serializeToStream = function(subtree) {};\\n\\n/**\\n * DOMParser is mainly useful for applications and extensions based on Mozilla\\n * platform. While it\'s available to web pages, it\'s not part of any standard and\\n * level of support in other browsers is unknown.\\n *\\n * @constructor\\n */\\nfunction DOMParser() {}\\n\\n/**\\n * The string passed in is parsed into a DOM document.\\n *\\n * Example:\\n *  var parser = new DOMParser();\\n *  var doc = parser.parseFromString(aStr, \\"text/xml\\");\\n *\\n * @param {string} src The UTF16 string to be parsed.\\n * @param {string} type The content type of the string.\\n * @return {Document}\\n */\\nDOMParser.prototype.parseFromString = function(src, type) {};\\n","externs/html5.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all the extensions over the\\n *  W3C\'s DOM3 specification in HTML5. This file depends on\\n *  w3c_dom3.js. The whole file has been fully type annotated.\\n *\\n *  @see http://www.whatwg.org/specs/web-apps/current-work/multipage/index.html\\n *  @see http://dev.w3.org/html5/spec/Overview.html\\n *\\n *  This also includes Typed Array definitions from\\n *  http://www.khronos.org/registry/typedarray/specs/latest/\\n *\\n *  This relies on w3c_event.js being included first.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n */\\n\\n\\n/**\\n * Note: In IE, the contains() method only exists on Elements, not Nodes.\\n * Therefore, it is recommended that you use the Conformance framework to\\n * prevent calling this on Nodes which are not Elements.\\n * @see https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n *\\n * @param {Node} n The node to check\\n * @return {boolean} If \'n\' is this Node, or is contained within this Node.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Node.contains\\n * @nosideeffects\\n */\\nNode.prototype.contains = function(n) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#the-canvas-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLCanvasElement() {}\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLCanvasElement.prototype.height;\\n\\n/**\\n * @see https://www.w3.org/TR/html5/scripting-1.html#dom-canvas-toblob\\n * @param {function(!Blob)} callback\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toBlob = function(callback, opt_type, var_args) {};\\n\\n/**\\n * @param {string=} opt_type\\n * @param {...*} var_args\\n * @return {string}\\n * @throws {Error}\\n */\\nHTMLCanvasElement.prototype.toDataURL = function(opt_type, var_args) {};\\n\\n/**\\n * @param {string} contextId\\n * @param {Object=} opt_args\\n * @return {Object}\\n */\\nHTMLCanvasElement.prototype.getContext = function(contextId, opt_args) {};\\n\\n\\n/**\\n * @interface\\n * @see https://www.w3.org/TR/2dcontext/#canvaspathmethods\\n */\\nfunction CanvasPathMethods() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n */\\nCanvasPathMethods.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {CanvasPathMethods}\\n * @see http://www.w3.org/TR/2dcontext/#canvasrenderingcontext2d\\n */\\nfunction CanvasRenderingContext2D() {}\\n\\n/** @type {!HTMLCanvasElement} */\\nCanvasRenderingContext2D.prototype.canvas;\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.save = function() {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.restore = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.scale = function(x, y) {};\\n\\n/**\\n * @param {number} angle\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.rotate = function(angle) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.translate = function(x, y) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.transform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} m11\\n * @param {number} m12\\n * @param {number} m21\\n * @param {number} m22\\n * @param {number} dx\\n * @param {number} dy\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setTransform = function(\\n    m11, m12, m21, m22, dx, dy) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} x1\\n * @param {number} y1\\n * @return {CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createLinearGradient = function(\\n    x0, y0, x1, y1) {};\\n\\n/**\\n * @param {number} x0\\n * @param {number} y0\\n * @param {number} r0\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} r1\\n * @return {CanvasGradient}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createRadialGradient = function(\\n    x0, y0, r0, x1, y1, r1) {};\\n\\n/**\\n * @param {HTMLImageElement|HTMLCanvasElement} image\\n * @param {string} repetition\\n * @return {CanvasPattern}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.createPattern = function(\\n    image, repetition) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clearRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillRect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeRect = function(x, y, w, h) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.beginPath = function() {};\\n\\n/**\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.closePath = function() {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.moveTo = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.lineTo = function(x, y) {};\\n\\n/**\\n * @param {number} cpx\\n * @param {number} cpy\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.quadraticCurveTo = function(\\n    cpx, cpy, x, y) {};\\n\\n/**\\n * @param {number} cp1x\\n * @param {number} cp1y\\n * @param {number} cp2x\\n * @param {number} cp2y\\n * @param {number} x\\n * @param {number} y\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.bezierCurveTo = function(\\n    cp1x, cp1y, cp2x, cp2y, x, y) {};\\n\\n/**\\n * @param {number} x1\\n * @param {number} y1\\n * @param {number} x2\\n * @param {number} y2\\n * @param {number} radius\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} w\\n * @param {number} h\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.rect = function(x, y, w, h) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radius\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @override\\n */\\nCanvasRenderingContext2D.prototype.arc = function(\\n    x, y, radius, startAngle, endAngle, opt_anticlockwise) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} radiusX\\n * @param {number} radiusY\\n * @param {number} rotation\\n * @param {number} startAngle\\n * @param {number} endAngle\\n * @param {boolean=} opt_anticlockwise\\n * @return {undefined}\\n * @see http://developer.mozilla.org/en/docs/Web/API/CanvasRenderingContext2D/ellipse\\n */\\nCanvasRenderingContext2D.prototype.ellipse = function(\\n    x, y, radiusX, radiusY, rotation, startAngle, endAngle, opt_anticlockwise) {\\n};\\n\\n/**\\n * @param {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fill = function(opt_fillRule) {};\\n\\n/**\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.stroke = function() {};\\n\\n/**\\n * @param {string=} opt_fillRule\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.clip = function(opt_fillRule) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInStroke\\n */\\nCanvasRenderingContext2D.prototype.isPointInStroke = function(x, y) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {string=} opt_fillRule\\n * @return {boolean}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.isPointInPath = function(\\n    x, y, opt_fillRule) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.fillText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @param {number} x\\n * @param {number} y\\n * @param {number=} opt_maxWidth\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.strokeText = function(\\n    text, x, y, opt_maxWidth) {};\\n\\n/**\\n * @param {string} text\\n * @return {TextMetrics}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.measureText = function(text) {};\\n\\n/**\\n * @param {HTMLImageElement|HTMLCanvasElement|Image|HTMLVideoElement} image\\n * @param {number} dx Destination x coordinate.\\n * @param {number} dy Destination y coordinate.\\n * @param {number=} opt_dw Destination box width.  Defaults to the image width.\\n * @param {number=} opt_dh Destination box height.\\n *     Defaults to the image height.\\n * @param {number=} opt_sx Source box x coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sy Source box y coordinate.  Used to select a portion of\\n *     the source image to draw.  Defaults to 0.\\n * @param {number=} opt_sw Source box width.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image width.\\n * @param {number=} opt_sh Source box height.  Used to select a portion of\\n *     the source image to draw.  Defaults to the full image height.\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.drawImage = function(\\n    image, dx, dy, opt_dw, opt_dh, opt_sx, opt_sy, opt_sw, opt_sh) {};\\n\\n/**\\n * @param {number} sw\\n * @param {number} sh\\n * @return {ImageData}\\n * @nosideeffects\\n */\\nCanvasRenderingContext2D.prototype.createImageData = function(sw, sh) {};\\n\\n/**\\n * @param {number} sx\\n * @param {number} sy\\n * @param {number} sw\\n * @param {number} sh\\n * @return {ImageData}\\n * @throws {Error}\\n */\\nCanvasRenderingContext2D.prototype.getImageData = function(sx, sy, sw, sh) {};\\n\\n/**\\n * @param {ImageData} imagedata\\n * @param {number} dx\\n * @param {number} dy\\n * @param {number=} opt_dirtyX\\n * @param {number=} opt_dirtyY\\n * @param {number=} opt_dirtyWidth\\n * @param {number=} opt_dirtyHeight\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.putImageData = function(imagedata, dx, dy,\\n    opt_dirtyX, opt_dirtyY, opt_dirtyWidth, opt_dirtyHeight) {};\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setFillColor;\\n\\n/**\\n * Note: WebKit only\\n * @param {number|string=} opt_a\\n * @param {number=} opt_b\\n * @param {number=} opt_c\\n * @param {number=} opt_d\\n * @param {number=} opt_e\\n * @see http://developer.apple.com/library/safari/#documentation/appleapplications/reference/WebKitDOMRef/CanvasRenderingContext2D_idl/Classes/CanvasRenderingContext2D/index.html\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setStrokeColor;\\n\\n/**\\n * @return {Array<number>}\\n */\\nCanvasRenderingContext2D.prototype.getLineDash;\\n\\n/**\\n * @param {Array<number>} segments\\n * @return {undefined}\\n */\\nCanvasRenderingContext2D.prototype.setLineDash;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.fillColor;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-fillstyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.fillStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.font;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.globalAlpha;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.globalCompositeOperation;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineWidth;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineCap;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.lineJoin;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.miterLimit;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowBlur;\\n\\n/** @type {string} */\\nCanvasRender';
a.a+="ingContext2D.prototype.shadowColor;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetX;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.shadowOffsetY;\\n\\n/**\\n * @type {string|!CanvasGradient|!CanvasPattern}\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#fill-and-stroke-styles:dom-context-2d-strokestyle\\n * @implicitCast\\n */\\nCanvasRenderingContext2D.prototype.strokeStyle;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.strokeColor;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textAlign;\\n\\n/** @type {string} */\\nCanvasRenderingContext2D.prototype.textBaseline;\\n\\n/** @type {number} */\\nCanvasRenderingContext2D.prototype.lineDashOffset;\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasGradient() {}\\n\\n/**\\n * @param {number} offset\\n * @param {string} color\\n * @return {undefined}\\n */\\nCanvasGradient.prototype.addColorStop = function(offset, color) {};\\n\\n/**\\n * @constructor\\n */\\nfunction CanvasPattern() {}\\n\\n/**\\n * @constructor\\n */\\nfunction TextMetrics() {}\\n\\n/** @type {number} */\\nTextMetrics.prototype.width;\\n\\n/**\\n * @param {Uint8ClampedArray|number} dataOrWidth In the first form, this is the\\n *     array of pixel data.  In the second form, this is the image width.\\n * @param {number} widthOrHeight In the first form, this is the image width.  In\\n *     the second form, this is the image height.\\n * @param {number=} opt_height In the first form, this is the optional image\\n *     height.  The second form omits this argument.\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#imagedata\\n * @constructor\\n */\\nfunction ImageData(dataOrWidth, widthOrHeight, opt_height) {}\\n\\n/** @type {Uint8ClampedArray} */\\nImageData.prototype.data;\\n\\n/** @type {number} */\\nImageData.prototype.width;\\n\\n/** @type {number} */\\nImageData.prototype.height;\\n\\n/**\\n * @constructor\\n */\\nfunction ClientInformation() {}\\n\\n/** @type {boolean} */\\nClientInformation.prototype.onLine;\\n\\n/**\\n * @param {string} protocol\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerProtocolHandler = function(\\n    protocol, uri, title) {};\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} uri\\n * @param {string} title\\n * @return {undefined}\\n */\\nClientInformation.prototype.registerContentHandler = function(\\n    mimeType, uri, title) {};\\n\\n// HTML5 Database objects\\n/**\\n * @constructor\\n */\\nfunction Database() {}\\n\\n/**\\n * @type {string}\\n */\\nDatabase.prototype.version;\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.transaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {(function(!SQLError) : void)=} opt_errorCallback\\n * @param {Function=} opt_Callback\\n * @return {undefined}\\n */\\nDatabase.prototype.readTransaction = function(\\n    callback, opt_errorCallback, opt_Callback) {};\\n\\n/**\\n * @param {string} oldVersion\\n * @param {string} newVersion\\n * @param {function(!SQLTransaction) : void} callback\\n * @param {function(!SQLError) : void} errorCallback\\n * @param {Function} successCallback\\n * @return {undefined}\\n */\\nDatabase.prototype.changeVersion = function(\\n    oldVersion, newVersion, callback, errorCallback, successCallback) {};\\n\\n/**\\n * @interface\\n */\\nfunction DatabaseCallback() {}\\n\\n/**\\n * @param {!Database} db\\n * @return {undefined}\\n */\\nDatabaseCallback.prototype.handleEvent = function(db) {};\\n\\n/**\\n * @constructor\\n */\\nfunction SQLError() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLError.prototype.code;\\n\\n/**\\n * @type {string}\\n */\\nSQLError.prototype.message;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLTransaction() {}\\n\\n/**\\n * @param {string} sqlStatement\\n * @param {Array<*>=} opt_queryArgs\\n * @param {SQLStatementCallback=} opt_callback\\n * @param {(function(!SQLTransaction, !SQLError) : (boolean|void))=}\\n *     opt_errorCallback\\n * @return {undefined}\\n */\\nSQLTransaction.prototype.executeSql = function(\\n    sqlStatement, opt_queryArgs, opt_callback, opt_errorCallback) {};\\n\\n/**\\n * @typedef {(function(!SQLTransaction, !SQLResultSet) : void)}\\n */\\nvar SQLStatementCallback;\\n\\n/**\\n * @constructor\\n */\\nfunction SQLResultSet() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.insertId;\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSet.prototype.rowsAffected;\\n\\n/**\\n * @type {SQLResultSetRowList}\\n */\\nSQLResultSet.prototype.rows;\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!Object>}\\n * @see http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist\\n */\\nfunction SQLResultSetRowList() {}\\n\\n/**\\n * @type {number}\\n */\\nSQLResultSetRowList.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Object}\\n * @nosideeffects\\n */\\nSQLResultSetRowList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nfunction openDatabase(name, version, description, size, opt_callback) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} version\\n * @param {string} description\\n * @param {number} size\\n * @param {(DatabaseCallback|function(Database))=} opt_callback\\n * @return {Database}\\n */\\nWindow.prototype.openDatabase =\\n    function(name, version, description, size, opt_callback) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-complete\\n */\\nHTMLImageElement.prototype.complete;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalwidth\\n */\\nHTMLImageElement.prototype.naturalWidth;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/html5/embedded-content-0.html#dom-img-naturalheight\\n */\\nHTMLImageElement.prototype.naturalHeight;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#attr-img-crossorigin\\n */\\nHTMLImageElement.prototype.crossOrigin;\\n\\n/**\\n * This is a superposition of the Window and Worker postMessage methods.\\n * @param {*} message\\n * @param {(string|!Array<!Transferable>)=} opt_targetOriginOrTransfer\\n * @param {(string|!Array<!MessagePort>|!Array<!Transferable>)=}\\n *     opt_targetOriginOrPortsOrTransfer\\n * @return {void}\\n */\\nfunction postMessage(message, opt_targetOriginOrTransfer,\\n    opt_targetOriginOrPortsOrTransfer) {}\\n\\n/**\\n * The postMessage method (as implemented in Opera).\\n * @param {string} message\\n */\\nDocument.prototype.postMessage = function(message) {};\\n\\n/**\\n * Document head accessor.\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#the-head-element-0\\n * @type {HTMLHeadElement}\\n */\\nDocument.prototype.head;\\n\\n/**\\n * @see https://developer.apple.com/webapps/docs/documentation/AppleApplications/Reference/SafariJSRef/DOMApplicationCache/DOMApplicationCache.html\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction DOMApplicationCache() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nDOMApplicationCache.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * The object isn't associated with an application cache. This can occur if the\\n * update process fails and there is no previous cache to revert to, or if there\\n * is no manifest file.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UNCACHED = 0;\\n\\n/**\\n * The cache is idle.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.IDLE = 1;\\n\\n/**\\n * The update has started but the resources are not downloaded yet - for\\n * example, this can happen when the manifest file is fetched.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.CHECKING = 2;\\n\\n/**\\n * The resources are being downloaded into the cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.DOWNLOADING = 3;\\n\\n/**\\n * Resources have finished downloading and the new cache is ready to be used.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.UPDATEREADY = 4;\\n\\n/**\\n * The cache is obsolete.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.OBSOLETE = 5;\\n\\n/**\\n * The current status of the application cache.\\n * @type {number}\\n */\\nDOMApplicationCache.prototype.status;\\n\\n/**\\n * Sent when the update process finishes for the first time; that is, the first\\n * time an application cache is saved.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.oncached;\\n\\n/**\\n * Sent when the cache update process begins.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onchecking;\\n\\n/**\\n * Sent when the update process begins downloading resources in the manifest\\n * file.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.ondownloading;\\n\\n/**\\n * Sent when an error occurs.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onerror;\\n\\n/**\\n * Sent when the update process finishes but the manifest file does not change.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onnoupdate;\\n\\n/**\\n * Sent when each resource in the manifest file begins to download.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onprogress;\\n\\n/**\\n * Sent when there is an existing application cache, the update process\\n * finishes, and there is a new application cache ready for use.\\n * @type {?function(!Event)}\\n */\\nDOMApplicationCache.prototype.onupdateready;\\n\\n/**\\n * Replaces the active cache with the latest version.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.swapCache = function() {};\\n\\n/**\\n * Manually triggers the update process.\\n * @throws {DOMException}\\n * @return {undefined}\\n */\\nDOMApplicationCache.prototype.update = function() {};\\n\\n/** @type {DOMApplicationCache} */\\nvar applicationCache;\\n\\n/** @type {DOMApplicationCache} */\\nWindow.prototype.applicationCache;\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nWindow.prototype.importScripts = function(var_args) {};\\n\\n/**\\n * @see https://developer.mozilla.org/En/DOM/Worker/Functions_available_to_workers\\n * @param {...string} var_args\\n * @return {undefined}\\n */\\nfunction importScripts(var_args) {}\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction WebWorker() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWebWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWebWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {string} message\\n * @return {undefined}\\n */\\nWebWorker.prototype.postMessage = function(message) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWebWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWebWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction Worker(opt_arg0) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Stops the worker process\\n * @return {undefined}\\n */\\nWorker.prototype.terminate = function() {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to the worker thread.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nWorker.prototype.webkitPostMessage = function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the worker thread posts a message to its creator.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nWorker.prototype.onmessage;\\n\\n/**\\n * Sent when the worker thread encounters an error.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @param {string} scriptURL The URL of the script to run in the SharedWorker.\\n * @param {string=} opt_name A name that can later be used to obtain a\\n *     reference to the same SharedWorker.\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SharedWorker(scriptURL, opt_name) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSharedWorker.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nSharedWorker.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {!MessagePort}\\n */\\nSharedWorker.prototype.port;\\n\\n/**\\n * Called on network errors for loading the initial script.\\n * TODO(tbreisacher): Should this change to function(!ErrorEvent)?\\n * @type {?function(!Event)}\\n */\\nSharedWorker.prototype.onerror;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @see http://www.w3.org/TR/url-1/#dom-urlutilsreadonly\\n * @interface\\n */\\nfunction WorkerLocation() {}\\n\\n/** @type {string} */\\nWorkerLocation.prototype.href;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.origin;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.protocol;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.host;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hostname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.port;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.pathname;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.search;\\n\\n/** @type {string} */\\nWorkerLocation.prototype.hash;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction WorkerGlobalScope() {}\\n\\n/** @type {WorkerGlobalScope} */\\nWorkerGlobalScope.prototype.self;\\n\\n/** @type {WorkerLocation} */\\nWorkerGlobalScope.prototype.location;\\n\\n/**\\n * Closes the worker represented by this WorkerGlobalScope.\\n * @return {undefined}\\n */\\nWorkerGlobalScope.prototype.close = function() {};\\n\\n/**\\n * Sent when the worker encounters an error.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onerror;\\n\\n/**\\n * Sent when the worker goes offline.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.onoffline;\\n\\n/**\\n * Sent when the worker goes online.\\n * @type {?function(!Event)}\\n */\\nWorkerGlobalScope.prototype.ononline;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction DedicatedWorkerGlobalScope() {}\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {un";
a.a+="defined}\\n */\\nDedicatedWorkerGlobalScope.prototype.postMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Posts a message to creator of this worker.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nDedicatedWorkerGlobalScope.prototype.webkitPostMessage =\\n    function(message, opt_transfer) {};\\n\\n/**\\n * Sent when the creator posts a message to this worker.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nDedicatedWorkerGlobalScope.prototype.onmessage;\\n\\n/**\\n * @see http://dev.w3.org/html5/workers/\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction SharedWorkerGlobalScope() {}\\n\\n/** @type {string} */\\nSharedWorkerGlobalScope.prototype.name;\\n\\n/**\\n * Sent when a connection to this worker is opened.\\n * @type {?function(!Event)}\\n */\\nSharedWorkerGlobalScope.prototype.onconnect;\\n\\n/** @type {Element} */\\nHTMLElement.prototype.contextMenu;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.draggable;\\n\\n/**\\n * This is actually a DOMSettableTokenList property. However since that\\n * interface isn't currently defined and no known browsers implement this\\n * feature, just define the property for now.\\n *\\n * @const\\n * @type {Object}\\n */\\nHTMLElement.prototype.dropzone;\\n\\n/**\\n * @see http://www.w3.org/TR/html5/dom.html#dom-getelementsbyclassname\\n * @param {string} classNames\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nHTMLElement.prototype.getElementsByClassName = function(classNames) {};\\n// NOTE: Document.prototype.getElementsByClassName is in gecko_dom.js\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.hidden;\\n\\n/** @type {boolean} */\\nHTMLElement.prototype.spellcheck;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dictdef-getrootnodeoptions\\n * @typedef {{\\n *   composed: boolean\\n * }}\\n */\\nvar GetRootNodeOptions;\\n\\n/**\\n * @see https://dom.spec.whatwg.org/#dom-node-getrootnode\\n * @param {GetRootNodeOptions=} opt_options\\n * @return {?Node}\\n */\\nNode.prototype.getRootNode = function(opt_options) {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.createShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @return {!ShadowRoot}\\n */\\nHTMLElement.prototype.webkitCreateShadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @type {ShadowRoot}\\n */\\nHTMLElement.prototype.shadowRoot;\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nHTMLElement.prototype.getDestinationInsertionPoints = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @type {function()}\\n */\\nHTMLElement.prototype.createdCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.attachedCallback;\\n\\n/**\\n * @see http://w3c.github.io/webcomponents/explainer/#lifecycle-callbacks\\n * @type {function()}\\n */\\nHTMLElement.prototype.detachedCallback;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.download;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hash;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.host;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.hostname;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.pathname;\\n\\n/**\\n * The 'ping' attribute is known to be supported in recent versions (as of\\n * mid-2014) of Chrome, Safari, and Firefox, and is not supported in any\\n * current version of Internet Explorer.\\n *\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAnchorElement.prototype.ping;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.port;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.protocol;\\n\\n/** @type {string} */\\nHTMLAnchorElement.prototype.search;\\n\\n/** @type {string} */\\nHTMLAreaElement.prototype.download;\\n\\n/**\\n * @type {string}\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#hyperlink-auditing\\n */\\nHTMLAreaElement.prototype.ping;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html-markup/iframe.html#iframe.attrs.srcdoc\\n */\\nHTMLIFrameElement.prototype.srcdoc;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-iframe-element.html#attr-iframe-sandbox\\n */\\nHTMLIFrameElement.prototype.sandbox;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.autocomplete;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.dirname;\\n\\n/** @type {FileList} */\\nHTMLInputElement.prototype.files;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-input-indeterminate\\n */\\nHTMLInputElement.prototype.indeterminate;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.list;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.max;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.min;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.pattern;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.multiple;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.placeholder;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.required;\\n\\n/** @implicitCast @type {string} */\\nHTMLInputElement.prototype.step;\\n\\n/** @type {Date} */\\nHTMLInputElement.prototype.valueAsDate;\\n\\n/** @type {number} */\\nHTMLInputElement.prototype.valueAsNumber;\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepDown = function(opt_n) {};\\n\\n/**\\n * Changes the form control's value by the value given in the step attribute\\n * multiplied by opt_n.\\n * @param {number=} opt_n step multiplier.  Defaults to 1.\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.stepUp = function(opt_n) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement\\n */\\nfunction HTMLMediaElement() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_NOTHING;  // = 0\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_METADATA;  // = 1\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_CURRENT_DATA;  // = 2\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_FUTURE_DATA;  // = 3\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nHTMLMediaElement.HAVE_ENOUGH_DATA;  // = 4\\n\\n/** @type {MediaError} */\\nHTMLMediaElement.prototype.error;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLMediaElement.prototype.currentSrc;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.networkState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autobuffer;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.buffered;\\n\\n/**\\n * Loads the media element.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.load = function() {};\\n\\n/**\\n * @param {string} type Type of the element in question in question.\\n * @return {string} Whether it can play the type.\\n * @nosideeffects\\n */\\nHTMLMediaElement.prototype.canPlayType = function(type) {};\\n\\n/** Event handlers */\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onabort;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.oncanplaythrough;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ondurationchange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onemptied;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onended;\\n\\n/** @type {?function(Event)} */\\nHTMLMediaElement.prototype.onerror;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadeddata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadedmetadata;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onloadstart;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onpause;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplay;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onplaying;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onprogress;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onratechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeked;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onseeking;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onstalled;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onsuspend;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.ontimeupdate;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onvolumechange;\\n\\n/** @type {?function(!Event)} */\\nHTMLMediaElement.prototype.onwaiting;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onload;\\n\\n/** @type {?function(Event)} */\\nHTMLImageElement.prototype.onerror;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.readyState;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.seeking;\\n\\n/**\\n * The current time, in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.currentTime;\\n\\n/**\\n * The absolute timeline offset.\\n * @return {!Date}\\n */\\nHTMLMediaElement.prototype.getStartDate = function() {};\\n\\n/**\\n * The length of the media in seconds.\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.duration;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.paused;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.defaultPlaybackRate;\\n\\n/** @type {number} */\\nHTMLMediaElement.prototype.playbackRate;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.played;\\n\\n/** @type {TimeRanges} */\\nHTMLMediaElement.prototype.seekable;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.ended;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.autoplay;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.loop;\\n\\n/**\\n * Starts playing the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.play = function() {};\\n\\n/**\\n * Pauses the media.\\n * @return {undefined}\\n */\\nHTMLMediaElement.prototype.pause = function() {};\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.controls;\\n\\n/**\\n * The audio volume, from 0.0 (silent) to 1.0 (loudest).\\n * @type {number}\\n */\\nHTMLMediaElement.prototype.volume;\\n\\n/** @type {boolean} */\\nHTMLMediaElement.prototype.muted;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-addtexttrack\\n * @param {string} kind Kind of the text track.\\n * @param {string=} opt_label Label of the text track.\\n * @param {string=} opt_language Language of the text track.\\n * @return {TextTrack} TextTrack object added to the media element.\\n */\\nHTMLMediaElement.prototype.addTextTrack =\\n    function(kind, opt_label, opt_language) {};\\n\\n/** @type {TextTrackList} */\\nHTMLMediaElement.prototype.textTracks;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/\\n * @return {!NodeList<!Node>}\\n */\\nText.prototype.getDestinationInsertionPoints = function() {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist\\n * @constructor\\n * @implements {IArrayLike<!TextTrack>}\\n */\\nfunction TextTrackList() {}\\n\\n/** @type {number} */\\nTextTrackList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrack}\\n */\\nTextTrackList.prototype.getTrackById = function(id) {};\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction TextTrack() {}\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.addCue = function(cue) {};\\n\\n/**\\n * @param {TextTrackCue} cue\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeCue = function(cue) {};\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.activeCues;\\n\\n/**\\n * @const {TextTrackCueList}\\n */\\nTextTrack.prototype.cues;\\n\\n/**\\n * @type {string}\\n */\\nTextTrack.prototype.mode;\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.addEventListener = function(type, listener, useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nTextTrack.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @override\\n * @return {undefined}\\n */\\nTextTrack.prototype.removeEventListener = function(type, listener, useCapture)\\n    {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist\\n * @constructor\\n * @implements {IArrayLike<!TextTrackCue>}\\n */\\nfunction TextTrackCueList() {}\\n\\n/** @const {number} */\\nTextTrackCueList.prototype.length;\\n\\n/**\\n * @param {string} id\\n * @return {TextTrackCue}\\n */\\nTextTrackCueList.prototype.getCueById = function(id) {};\\n\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue\\n * @constructor\\n * @param {number} startTime\\n * @param {number} endTime\\n * @param {string} text\\n */\\nfunction TextTrackCue(startTime, endTime, text) {}\\n\\n/** @type {string} */\\nTextTrackCue.prototype.id;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.startTime;\\n\\n/** @type {number} */\\nTextTrackCue.prototype.endTime;\\n\\n/** @type {string} */\\nTextTrackCue.prototype.text;\\n\\n\\n/**\\n * @see http://dev.w3.org/html5/webvtt/#the-vttcue-interface\\n * @constructor\\n * @extends {TextTrackCue}\\n */\\nfunction VTTCue(startTime, endTime, text) {}\\n\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n */\\nfunction HTMLAudioElement() {}\\n\\n/**\\n * @constructor\\n * @extends {HTMLMediaElement}\\n * The webkit-prefixed attributes are defined in\\n * https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/HTMLVideoElement.idl\\n */\\nfunction HTMLVideoElement() {}\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullscreen = function() {};\\n\\n/**\\n * Starts displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitEnterFullScreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullscreen = function() {};\\n\\n/**\\n * Stops displaying the video in full screen mode.\\n * @return {undefined}\\n */\\nHTMLVideoElement.prototype.webkitExitFullScreen = function() {};\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.width;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.height;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoWidth;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.videoHeight;\\n\\n/** @type {string} */\\nHTMLVideoElement.prototype.poster;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitSupportsFullscreen;\\n\\n/** @type {boolean} */\\nHTMLVideoElement.prototype.webkitDisplayingFullscreen;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDecodedFrameCount;\\n\\n/** @type {number} */\\nHTMLVideoElement.prototype.webkitDroppedFrameCount;\\n\\n/**\\n * @typedef {{\\n *    creationTime: number,\\n *    totalVideoFrames: number,\\n *    droppedVideoFrames: number,\\n *    corruptedVideoFrames: number,\\n *    totalFrameDelay: number\\n * }}\\n */\\nvar VideoPlaybackQuality;\\n\\n/**\\n * @see https://w3c.github.io/media-source/#htmlvideoelement-extensions\\n * @return {!VideoPlaybackQuality} Stats about the current playback.\\n */\\nHTMLVideoElement.prototype.getVideoPlaybackQuality = function() {};\\n\\n\\n/**\\n * @constructor\\n */\\nfunction MediaError() {}\\n\\n/** @type {number} */\\nMediaError.prototype.code;\\n\\n// HTML5 MessageChannel\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messagechannel\\n * @constructor\\n */\\nfunction MessageChannel() {}\\n\\n/**\\n * Returns the first port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port1;\\n\\n/**\\n * Returns the second port.\\n * @type {!MessagePort}\\n */\\nMessageChannel.prototype.port2;\\n\\n// HTML5 MessagePort\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageport\\n * @constructor\\n * @implements {EventTarget}\\n * @implements {Transferable}\\n */\\nfunction MessagePort() {}\\n\\n/**\\n * @param {boolean=} opt_useC";
a.a+="apture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMessagePort.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMessagePort.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * Posts a message through the channel, optionally with the given\\n * Array of Transferables.\\n * @param {*} message\\n * @param {Array<!Transferable>=} opt_transfer\\n * @return {undefined}\\n */\\nMessagePort.prototype.postMessage = function(message, opt_transfer) {\\n};\\n\\n/**\\n * Begins dispatching messages received on the port.\\n * @return {undefined}\\n */\\nMessagePort.prototype.start = function() {};\\n\\n/**\\n * Disconnects the port, so that it is no longer active.\\n * @return {undefined}\\n */\\nMessagePort.prototype.close = function() {};\\n\\n/**\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nMessagePort.prototype.onmessage;\\n\\n// HTML5 MessageEvent class\\n/**\\n * @see http://dev.w3.org/html5/spec/comms.html#messageevent\\n * @constructor\\n * @extends {Event}\\n * @template T\\n */\\nfunction MessageEvent() {}\\n\\n/**\\n * The data payload of the message.\\n * @type {T}\\n */\\nMessageEvent.prototype.data;\\n\\n/**\\n * The origin of the message, for server-sent events and cross-document\\n * messaging.\\n * @type {string}\\n */\\nMessageEvent.prototype.origin;\\n\\n/**\\n * The last event ID, for server-sent events.\\n * @type {string}\\n */\\nMessageEvent.prototype.lastEventId;\\n\\n/**\\n * The window that dispatched the event.\\n * @type {Window}\\n */\\nMessageEvent.prototype.source;\\n\\n/**\\n * The Array of MessagePorts sent with the message, for cross-document\\n * messaging and channel messaging.\\n * @type {Array<MessagePort>}\\n */\\nMessageEvent.prototype.ports;\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, portsArg) {};\\n\\n/**\\n * Initializes the event in a manner analogous to the similarly-named methods in\\n * the DOM Events interfaces.\\n * @param {string} namespaceURI\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {T} dataArg\\n * @param {string} originArg\\n * @param {string} lastEventIdArg\\n * @param {Window} sourceArg\\n * @param {Array<MessagePort>} portsArg\\n * @return {undefined}\\n */\\nMessageEvent.prototype.initMessageEventNS = function(namespaceURI, typeArg,\\n    canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg,\\n    portsArg) {};\\n\\n/**\\n * HTML5 BroadcastChannel class.\\n * @param {string} channelName\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\\n * @see https://html.spec.whatwg.org/multipage/comms.html#dom-broadcastchannel\\n * @implements {EventTarget}\\n * @constructor\\n */\\nfunction BroadcastChannel(channelName) {}\\n\\n/**\\n * Sends the message, of any type of object, to each BroadcastChannel object\\n * listening to the same channel.\\n * @param {*} message\\n */\\nBroadcastChannel.prototype.postMessage;\\n\\n/**\\n * Closes the channel object, indicating it won't get any new messages, and\\n * allowing it to be, eventually, garbage collected.\\n * @return {void}\\n */\\nBroadcastChannel.prototype.close;\\n\\n/** @override */\\nBroadcastChannel.prototype.addEventListener = function(\\n    type, listener, useCapture) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.dispatchEvent = function(evt) {};\\n\\n/** @override */\\nBroadcastChannel.prototype.removeEventListener = function(\\n    type, listener, useCapture) {};\\n\\n/**\\n * An EventHandler property that specifies the function to execute when a\\n * message event is fired on this object.\\n * @type {?function(!MessageEvent<*>)}\\n */\\nBroadcastChannel.prototype.onmessage;\\n\\n/**\\n * The name of the channel.\\n * @type {string}\\n */\\nBroadcastChannel.prototype.name;\\n\\n/**\\n * HTML5 DataTransfer class.\\n *\\n * We say that this extends ClipboardData, because Event.prototype.clipboardData\\n * is a DataTransfer on WebKit but a ClipboardData on IE. The interfaces are so\\n * similar that it's easier to merge them.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @extends {ClipboardData}\\n */\\nfunction DataTransfer() {}\\n\\n/** @type {string} */\\nDataTransfer.prototype.dropEffect;\\n\\n/** @type {string} */\\nDataTransfer.prototype.effectAllowed;\\n\\n/** @type {Array<string>} */\\nDataTransfer.prototype.types;\\n\\n/** @type {FileList} */\\nDataTransfer.prototype.files;\\n\\n/**\\n * @param {string=} opt_format Format for which to remove data.\\n * @override\\n * @return {undefined}\\n */\\nDataTransfer.prototype.clearData = function(opt_format) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @param {string} data Data to add.\\n * @override\\n * @return {boolean}\\n */\\nDataTransfer.prototype.setData = function(format, data) {};\\n\\n/**\\n * @param {string} format Format for which to set data.\\n * @return {string} Data for the given format.\\n * @override\\n */\\nDataTransfer.prototype.getData = function(format) { return ''; };\\n\\n/**\\n * @param {HTMLElement} img The image to use when dragging.\\n * @param {number} x Horizontal position of the cursor.\\n * @param {number} y Vertical position of the cursor.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.setDragImage = function(img, x, y) {};\\n\\n/**\\n * @param {HTMLElement} elem Element to receive drag result events.\\n * @return {undefined}\\n */\\nDataTransfer.prototype.addElement = function(elem) {};\\n\\n/**\\n * Addition for accessing clipboard file data that are part of the proposed\\n * HTML5 spec.\\n * @type {DataTransfer}\\n */\\nMouseEvent.prototype.dataTransfer;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   deltaX: (number|undefined),\\n *   deltaY: (number|undefined),\\n *   deltaZ: (number|undefined),\\n *   deltaMode: (number|undefined)\\n * }}\\n */\\nvar WheelEventInit;\\n\\n/**\\n * @param {string} type\\n * @param {WheelEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#interface-WheelEvent\\n * @constructor\\n * @extends {MouseEvent}\\n */\\nfunction WheelEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PIXEL;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_LINE;\\n\\n/** @type {number} */\\nWheelEvent.DOM_DELTA_PAGE;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaX;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaY;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaZ;\\n\\n/** @const {number} */\\nWheelEvent.prototype.deltaMode;\\n\\n/**\\n * HTML5 DataTransferItem class.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n */\\nfunction DataTransferItem() {}\\n\\n/** @type {string} */\\nDataTransferItem.prototype.kind;\\n\\n/** @type {string} */\\nDataTransferItem.prototype.type;\\n\\n/**\\n * @param {function(string)} callback\\n * @return {undefined}\\n */\\nDataTransferItem.prototype.getAsString = function(callback) {};\\n\\n/**\\n * @return {?File} The file corresponding to this item, or null.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.getAsFile = function() { return null; };\\n\\n/**\\n * @return {?Entry} The Entry corresponding to this item, or null. Note that\\n * despite its name,this method only works in Chrome, and will eventually\\n * be renamed to {@code getAsEntry}.\\n * @nosideeffects\\n */\\nDataTransferItem.prototype.webkitGetAsEntry = function() { return null; };\\n\\n/**\\n * HTML5 DataTransferItemList class. There are some discrepancies in the docs\\n * on the whatwg.org site. When in doubt, these prototypes match what is\\n * implemented as of Chrome 30.\\n *\\n * @see http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html\\n * @see http://developers.whatwg.org/dnd.html#datatransferitem\\n * @constructor\\n * @implements {IArrayLike<!DataTransferItem>}\\n */\\nfunction DataTransferItemList() {}\\n\\n/** @type {number} */\\nDataTransferItemList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {DataTransferItem} The ith DataTransferItem in the list, or null.\\n * @nosideeffects\\n */\\nDataTransferItemList.prototype.item = function(i) { return null; };\\n\\n/**\\n * Adds an item to the list.\\n * @param {string|!File} data Data for the item being added.\\n * @param {string=} opt_type Mime type of the item being added. MUST be present\\n *     if the {@code data} parameter is a string.\\n * @return {DataTransferItem}\\n */\\nDataTransferItemList.prototype.add = function(data, opt_type) {};\\n\\n/**\\n * Removes an item from the list.\\n * @param {number} i File to remove from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.remove = function(i) {};\\n\\n/**\\n * Removes all items from the list.\\n * @return {undefined}\\n */\\nDataTransferItemList.prototype.clear = function() {};\\n\\n/** @type {!DataTransferItemList} */\\nDataTransfer.prototype.items;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   dataTransfer: (DataTransfer|undefined)\\n * }}\\n */\\nvar DragEventInit;\\n\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dragevent-interface\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {DragEventInit=} opt_eventInitDict\\n */\\nfunction DragEvent(type, opt_eventInitDict) {}\\n\\n/** @type {DataTransfer} */\\nDragEvent.prototype.dataTransfer;\\n\\n\\n/**\\n * @typedef {{\\n *   lengthComputable: (boolean|undefined),\\n *   loaded: (number|undefined),\\n *   total: (number|undefined)\\n * }}\\n */\\nvar ProgressEventInit;\\n\\n/**\\n * @constructor\\n * @param {string} type\\n * @param {ProgressEventInit=} opt_progressEventInitDict\\n * @extends {Event}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/ProgressEvent\\n */\\nfunction ProgressEvent(type, opt_progressEventInitDict) {}\\n\\n/** @type {number} */\\nProgressEvent.prototype.total;\\n\\n/** @type {number} */\\nProgressEvent.prototype.loaded;\\n\\n/** @type {boolean} */\\nProgressEvent.prototype.lengthComputable;\\n\\n\\n/**\\n * @constructor\\n */\\nfunction TimeRanges() {}\\n\\n/** @type {number} */\\nTimeRanges.prototype.length;\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The start time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.start = function(index) { return 0; };\\n\\n/**\\n * @param {number} index The index.\\n * @return {number} The end time of the range at index.\\n * @throws {DOMException}\\n */\\nTimeRanges.prototype.end = function(index) { return 0; };\\n\\n\\n// HTML5 Web Socket class\\n/**\\n * @see http://dev.w3.org/html5/websockets/\\n * @constructor\\n * @param {string} url\\n * @param {string=} opt_protocol\\n * @implements {EventTarget}\\n */\\nfunction WebSocket(url, opt_protocol) {}\\n\\n/**\\n * The connection has not yet been established.\\n * @type {number}\\n */\\nWebSocket.CONNECTING = 0;\\n\\n/**\\n * The WebSocket connection is established and communication is possible.\\n * @type {number}\\n */\\nWebSocket.OPEN = 1;\\n\\n/**\\n * The connection is going through the closing handshake, or the close() method has been invoked.\\n * @type {number}\\n */\\nWebSocket.CLOSING = 2;\\n\\n/**\\n * The connection has been closed or could not be opened.\\n * @type {number}\\n */\\nWebSocket.CLOSED = 3;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nWebSocket.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nWebSocket.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Returns the URL value that was passed to the constructor.\\n * @type {string}\\n */\\nWebSocket.prototype.url;\\n\\n/**\\n * Represents the state of the connection.\\n * @type {number}\\n */\\nWebSocket.prototype.readyState;\\n\\n/**\\n * Returns the number of bytes that have been queued but not yet sent.\\n * @type {number}\\n */\\nWebSocket.prototype.bufferedAmount;\\n\\n/**\\n * An event handler called on open event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onopen;\\n\\n/**\\n * An event handler called on message event.\\n * TODO(blickly): Change this to MessageEvent<*> and add casts as needed\\n * @type {?function(!MessageEvent<?>)}\\n */\\nWebSocket.prototype.onmessage;\\n\\n/**\\n * An event handler called on close event.\\n * @type {?function(!Event)}\\n */\\nWebSocket.prototype.onclose;\\n\\n/**\\n * Transmits data using the connection.\\n * @param {string|ArrayBuffer|ArrayBufferView} data\\n * @return {boolean}\\n */\\nWebSocket.prototype.send = function(data) {};\\n\\n/**\\n * Closes the Web Socket connection or connection attempt, if any.\\n * @param {number=} opt_code\\n * @param {string=} opt_reason\\n * @return {undefined}\\n */\\nWebSocket.prototype.close = function(opt_code, opt_reason) {};\\n\\n/**\\n * @type {string} Sets the type of data (blob or arraybuffer) for binary data.\\n */\\nWebSocket.prototype.binaryType;\\n\\n// HTML5 History\\n/**\\n * @constructor\\n */\\nfunction History() {};\\n\\n/**\\n * Pushes a new state into the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a new session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.pushState = function(data, title, opt_url) {};\\n\\n/**\\n * Replaces the current state in the session history.\\n * @see http://www.w3.org/TR/html5/history.html#the-history-interface\\n * @param {*} data New state.\\n * @param {string} title The title for a session history entry.\\n * @param {string=} opt_url The URL for a new session history entry.\\n * @return {undefined}\\n */\\nHistory.prototype.replaceState = function(data, title, opt_url) {};\\n\\n/**\\n * Pending state object.\\n * @see https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history#Reading_the_current_state\\n * @type {*}\\n */\\nHistory.prototype.state;\\n\\n/**\\n * Allows web applications to explicitly set default scroll restoration behavior\\n * on history navigation. This property can be either auto or manual.\\n *\\n * Non-standard. Only supported in Chrome 46+.\\n *\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/History\\n * @see https://majido.github.io/scroll-restoration-propos";
a.a+="al/history-based-api.html\\n * @type {string}\\n */\\nHistory.prototype.scrollRestoration;\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#popstateevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{state: *}=} opt_eventInitDict\\n */\\nfunction PopStateEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @type {*}\\n */\\nPopStateEvent.prototype.state;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} stateArg\\n * @return {undefined}\\n */\\nPopStateEvent.prototype.initPopStateEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, stateArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#hashchangeevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{oldURL: string, newURL: string}=} opt_eventInitDict\\n */\\nfunction HashChangeEvent(type, opt_eventInitDict) {}\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.oldURL;\\n\\n/** @type {string} */\\nHashChangeEvent.prototype.newURL;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} oldURLArg\\n * @param {string} newURLArg\\n * @return {undefined}\\n */\\nHashChangeEvent.prototype.initHashChangeEvent = function(typeArg, canBubbleArg,\\n    cancelableArg, oldURLArg, newURLArg) {};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/#pagetransitionevent\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {{persisted: boolean}=} opt_eventInitDict\\n */\\nfunction PageTransitionEvent(type, opt_eventInitDict) {}\\n\\n/** @type {boolean} */\\nPageTransitionEvent.prototype.persisted;\\n\\n/**\\n * Initializes the event after it has been created with document.createEvent\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {*} persistedArg\\n * @return {undefined}\\n */\\nPageTransitionEvent.prototype.initPageTransitionEvent = function(typeArg,\\n    canBubbleArg, cancelableArg, persistedArg) {};\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<!File>}\\n */\\nfunction FileList() {}\\n\\n/** @type {number} */\\nFileList.prototype.length;\\n\\n/**\\n * @param {number} i File to return from the list.\\n * @return {File} The ith file in the list.\\n * @nosideeffects\\n */\\nFileList.prototype.item = function(i) { return null; };\\n\\n/**\\n * @type {boolean}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#withcredentials\\n */\\nXMLHttpRequest.prototype.withCredentials;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadstart\\n */\\nXMLHttpRequest.prototype.onloadstart;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequest.prototype.onprogress;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onabort\\n */\\nXMLHttpRequest.prototype.onabort;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onload\\n */\\nXMLHttpRequest.prototype.onload;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-ontimeout\\n */\\nXMLHttpRequest.prototype.ontimeout;\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://xhr.spec.whatwg.org/#handler-xhr-onloadend\\n */\\nXMLHttpRequest.prototype.onloadend;\\n\\n/**\\n * @type {XMLHttpRequestUpload}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-upload-attribute\\n */\\nXMLHttpRequest.prototype.upload;\\n\\n/**\\n * @param {string} mimeType The mime type to override with.\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.overrideMimeType = function(mimeType) {};\\n\\n/**\\n * @type {string}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-responsetype-attribute\\n */\\nXMLHttpRequest.prototype.responseType;\\n\\n/**\\n * @type {?(ArrayBuffer|Blob|Document|Object|string)}\\n * @see http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-response-attribute\\n */\\nXMLHttpRequest.prototype.response;\\n\\n\\n/**\\n * @type {ArrayBuffer}\\n * Implemented as a draft spec in Firefox 4 as the way to get a requested array\\n * buffer from an XMLHttpRequest.\\n * @see https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data_using_JavaScript_typed_arrays\\n *\\n * This property is not used anymore and should be removed.\\n * @see https://github.com/google/closure-compiler/pull/1389\\n */\\nXMLHttpRequest.prototype.mozResponseArrayBuffer;\\n\\n/**\\n * XMLHttpRequestEventTarget defines events for checking the status of a data\\n * transfer between a client and a server. This should be a common base class\\n * for XMLHttpRequest and XMLHttpRequestUpload.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction XMLHttpRequestEventTarget() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequestEventTarget.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nXMLHttpRequestEventTarget.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * An event target to track the status of an upload.\\n *\\n * @constructor\\n * @extends {XMLHttpRequestEventTarget}\\n */\\nfunction XMLHttpRequestUpload() {}\\n\\n/**\\n * @type {?function(!ProgressEvent): void}\\n * @see https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#handler-xhr-onprogress\\n */\\nXMLHttpRequestUpload.prototype.onprogress;\\n\\n/**\\n * @param {number=} opt_width\\n * @param {number=} opt_height\\n * @constructor\\n * @extends {HTMLImageElement}\\n */\\nfunction Image(opt_width, opt_height) {}\\n\\n\\n/**\\n * Dataset collection.\\n * This is really a DOMStringMap but it behaves close enough to an object to\\n * pass as an object.\\n * @type {Object}\\n * @const\\n */\\nHTMLElement.prototype.dataset;\\n\\n\\n/**\\n * @constructor\\n * @implements {IArrayLike<string>}\\n * @see https://dom.spec.whatwg.org/#interface-domtokenlist\\n */\\nfunction DOMTokenList() {}\\n\\n/**\\n * Returns the number of CSS classes applied to this Element.\\n * @type {number}\\n */\\nDOMTokenList.prototype.length;\\n\\n/**\\n * @param {number} index The index of the item to return.\\n * @return {string} The CSS class at the specified index.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} token The CSS class to check for.\\n * @return {boolean} Whether the CSS class has been applied to the Element.\\n * @nosideeffects\\n */\\nDOMTokenList.prototype.contains = function(token) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to add to this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.add = function(var_args) {};\\n\\n/**\\n * @param {...string} var_args The CSS class(es) to remove from this element.\\n * @return {undefined}\\n */\\nDOMTokenList.prototype.remove = function(var_args) {};\\n\\n/**\\n * @param {string} token The CSS class to toggle from this element.\\n * @param {boolean=} opt_force True to add the class whether it exists\\n *     or not. False to remove the class whether it exists or not.\\n *     This argument is not supported on IE 10 and below, according to\\n *     the MDN page linked below.\\n * @return {boolean} False if the token was removed; True otherwise.\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element.classList\\n */\\nDOMTokenList.prototype.toggle = function(token, opt_force) {};\\n\\n/**\\n * @return {string} A stringified representation of CSS classes.\\n * @nosideeffects\\n * @override\\n */\\nDOMTokenList.prototype.toString = function() {};\\n\\n/**\\n * A better interface to CSS classes than className.\\n * @type {!DOMTokenList}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/classList\\n * @const\\n */\\nElement.prototype.classList;\\n\\n/**\\n * Constraint Validation API properties and methods\\n * @see http://www.w3.org/TR/2009/WD-html5-20090423/forms.html#the-constraint-validation-api\\n */\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLFormElement.prototype.reportValidity = function() {};\\n\\n/** @type {boolean} */\\nHTMLFormElement.prototype.noValidate;\\n\\n/** @constructor */\\nfunction ValidityState() {}\\n\\n/** @type {boolean} */\\nValidityState.prototype.badInput;\\n\\n/** @type {boolean} */\\nValidityState.prototype.customError;\\n\\n/** @type {boolean} */\\nValidityState.prototype.patternMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeOverflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.rangeUnderflow;\\n\\n/** @type {boolean} */\\nValidityState.prototype.stepMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.typeMismatch;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooLong;\\n\\n/** @type {boolean} */\\nValidityState.prototype.tooShort;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valid;\\n\\n/** @type {boolean} */\\nValidityState.prototype.valueMissing;\\n\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLButtonElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLButtonElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLButtonElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLButtonElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLButtonElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLButtonElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLButtonElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLButtonElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLButtonElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLButtonElement.prototype.formTarget;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.autofocus;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.formNoValidate;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formaction\\n */\\nHTMLInputElement.prototype.formAction;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formenctype\\n */\\nHTMLInputElement.prototype.formEnctype;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formmethod\\n */\\nHTMLInputElement.prototype.formMethod;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/forms.html#attr-fs-formtarget\\n */\\nHTMLInputElement.prototype.formTarget;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLInputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLInputElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLInputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLInputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLInputElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLInputElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {Element} */\\nHTMLLabelElement.prototype.control;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLSelectElement.prototype.labels;\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLSelectElement.prototype.selectedOptions;\\n\\n/** @type {string} */\\nHTMLSelectElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLSelectElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLSelectElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLSelectElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLSelectElement.prototype.setCustomValidity = function(message) {};\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.autofocus;\\n\\n/**\\n * @const\\n * @type {NodeList<!HTMLLabelElement>}\\n */\\nHTMLTextAreaElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLTextAreaElement.prototype.validationMessage;\\n\\n/**\\n * @const\\n * @type {ValidityState}\\n */\\nHTMLTextAreaElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLTextAreaElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLTextAreaElement.prototype.reportValidity = function() {};\\n\\n/**\\n * @param {string} message\\n * @return {undefined}\\n */\\nHTMLTextAreaElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @constructor\\n * @extends {HTMLElement}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#htmlembedelement\\n */\\nfunction HTMLEmbedElement() {}\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-width\\n */\\nHTMLEmbedElement.prototype.width;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/dimension-attributes.html#dom-dim-height\\n */\\nHTMLEmbedElement.prototype.height;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-src\\n */\\nHTMLEmbedElement.prototype.src;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/html5/the-embed-element.html#dom-embed-type\\n */\\nHTMLEmbedElement.prototype.type;\\n\\n// Fullscreen APIs.\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-element-requestfullscreen\\n * @return {undefined}\\n */\\nElement.prototype.requestFullscreen = function() {};\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenenabled\\n */\\nDocument.prototype.fullscreenEnabled;\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-fullscreenelement\\n */\\nDocument.prototype.fullscreenElement;\\n\\n/**\\n * @see http://www.w3.org/TR/2012/WD-fullscreen-20120703/#dom-document-exitfullscreen\\n * @return {undefined}\\n */\\nDocument.prototype.exitFullscreen = function() {};\\n\\n// Externs definitions of browser current implementations.\\n// Firefox 10 implementation.\\nElement.prototype.mozRequestFullScreen = function() {};\\n\\nElement.prototype.mozRequestFullScreenWithKeys = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreen;\\n\\nDocument.prototype.mozCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.mozFullScreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.mozFullScreenEnabled;\\n\\n// Chrome 21 implementation.\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullScreen = function(opt_allowKeyboardInput) {};\\n\\n/**\\n * The current fullscreen element for the document is set to this element.\\n * Valid only for Webkit browsers.\\n * @param {number=} opt_allowKeyboardInput Whether keyboard input is desired.\\n *     Should use ALLOW_KEYBOARD_INPUT constant.\\n * @return {undefined}\\n */\\nElement.prototype.webkitRequestFullscreen = function(opt_allowKeyboardInput) {};\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitIsFullScreen;\\n\\nDocument.prototype.webkitCancelFullScreen = function() {};\\n\\n/** @type {Element} */\\nDocument.prototype.";
a.a+="webkitCurrentFullScreenElement;\\n\\n/** @type {Element} */\\nDocument.prototype.webkitFullscreenElement;\\n\\n/** @type {boolean} */\\nDocument.prototype.webkitFullScreenKeyboardInputAllowed;\\n\\n// IE 11 implementation.\\n// http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx\\n/** @return {void} */\\nElement.prototype.msRequestFullscreen = function() {};\\n\\n/** @return {void} */\\nElement.prototype.msExitFullscreen = function() {};\\n\\n/** @type {boolean} */\\nDocument.prototype.msFullscreenEnabled;\\n\\n/** @type {Element} */\\nDocument.prototype.msFullscreenElement;\\n\\n/** @type {number} */\\nElement.ALLOW_KEYBOARD_INPUT = 1;\\n\\n/** @type {number} */\\nElement.prototype.ALLOW_KEYBOARD_INPUT = 1;\\n\\n\\n/**\\n * @typedef {{\\n *   childList: (boolean|undefined),\\n *   attributes: (boolean|undefined),\\n *   characterData: (boolean|undefined),\\n *   subtree: (boolean|undefined),\\n *   attributeOldValue: (boolean|undefined),\\n *   characterDataOldValue: (boolean|undefined),\\n *   attributeFilter: (!Array<string>|undefined)\\n * }}\\n */\\nvar MutationObserverInit;\\n\\n\\n/** @constructor */\\nfunction MutationRecord() {}\\n\\n/** @type {string} */\\nMutationRecord.prototype.type;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.target;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.addedNodes;\\n\\n/** @type {NodeList<!Node>} */\\nMutationRecord.prototype.removedNodes;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.previousSibling;\\n\\n/** @type {Node} */\\nMutationRecord.prototype.nextSibling;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeName;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.attributeNamespace;\\n\\n/** @type {?string} */\\nMutationRecord.prototype.oldValue;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/domcore/#mutation-observers\\n * @param {function(Array<MutationRecord>, MutationObserver)} callback\\n * @constructor\\n */\\nfunction MutationObserver(callback) {}\\n\\n/**\\n * @param {Node} target\\n * @param {MutationObserverInit=} options\\n * @return {undefined}\\n */\\nMutationObserver.prototype.observe = function(target, options) {};\\n\\nMutationObserver.prototype.disconnect = function() {};\\n\\n/**\\n * @return {!Array<!MutationRecord>}\\n */\\nMutationObserver.prototype.takeRecords = function() {};\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.WebKitMutationObserver;\\n\\n/**\\n * @type {function(new:MutationObserver, function(Array<MutationRecord>))}\\n */\\nWindow.prototype.MozMutationObserver;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {VisibilityState}\\n */\\nDocument.prototype.visibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.mozVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.webkitVisibilityState;\\n\\n/**\\n * @type {string}\\n */\\nDocument.prototype.msVisibilityState;\\n\\n/**\\n * @see http://www.w3.org/TR/page-visibility/\\n * @type {boolean}\\n */\\nDocument.prototype.hidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.mozHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.webkitHidden;\\n\\n/**\\n * @type {boolean}\\n */\\nDocument.prototype.msHidden;\\n\\n/**\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}=} options\\n * @return {!Function} a constructor for the new tag. A generic function is the best we\\n *     can do here as it allows the return value to be annotated properly\\n *     at the call site.\\n */\\nDocument.prototype.registerElement;\\n\\n/**\\n * This method is deprecated and should be removed by the end of 2014.\\n * @see http://www.w3.org/TR/components-intro/\\n * @see http://w3c.github.io/webcomponents/spec/custom/#extensions-to-document-interface-to-register\\n * @param {string} type\\n * @param {{extends: (string|undefined), prototype: (Object|undefined)}} options\\n */\\nDocument.prototype.register;\\n\\n/**\\n * @type {!FontFaceSet}\\n * @see http://dev.w3.org/csswg/css-font-loading/#dom-fontfacesource-fonts\\n */\\nDocument.prototype.fonts;\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/currentScript\\n */\\nDocument.prototype.currentScript;\\n\\n/**\\n * Definition of ShadowRoot interface,\\n * @see http://www.w3.org/TR/shadow-dom/#api-shadow-root\\n * @constructor\\n * @extends {DocumentFragment}\\n */\\nfunction ShadowRoot() {}\\n\\n/**\\n * The host element that a ShadowRoot is attached to.\\n * Note: this is not yet W3C standard but is undergoing development.\\n * W3C feature tracking bug:\\n * https://www.w3.org/Bugs/Public/show_bug.cgi?id=22399\\n * Draft specification:\\n * https://dvcs.w3.org/hg/webcomponents/raw-file/6743f1ace623/spec/shadow/index.html#shadow-root-object\\n * @type {!Element}\\n */\\nShadowRoot.prototype.host;\\n\\n/**\\n * @param {string} id id.\\n * @return {HTMLElement}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementById = function(id) {};\\n\\n\\n/**\\n * @param {string} className\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByClassName = function(className) {};\\n\\n\\n/**\\n * @param {string} tagName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagName = function(tagName) {};\\n\\n\\n/**\\n * @param {string} namespace\\n * @param {string} localName\\n * @return {!NodeList<!Element>}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getElementsByTagNameNS = function(namespace, localName) {};\\n\\n\\n/**\\n * @return {Selection}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.getSelection = function() {};\\n\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @return {Element}\\n * @nosideeffects\\n */\\nShadowRoot.prototype.elementFromPoint = function(x, y) {};\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.applyAuthorStyles;\\n\\n\\n/**\\n * @type {boolean}\\n */\\nShadowRoot.prototype.resetStyleInheritance;\\n\\n\\n/**\\n * @type {Element}\\n */\\nShadowRoot.prototype.activeElement;\\n\\n\\n/**\\n * @type {?ShadowRoot}\\n */\\nShadowRoot.prototype.olderShadowRoot;\\n\\n\\n/**\\n * @type {string}\\n */\\nShadowRoot.prototype.innerHTML;\\n\\n\\n/**\\n * @type {!StyleSheetList}\\n */\\nShadowRoot.prototype.styleSheets;\\n\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-content-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLContentElement() {}\\n\\n/**\\n * @type {!string}\\n */\\nHTMLContentElement.prototype.select;\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLContentElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/shadow-dom/#the-shadow-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLShadowElement() {}\\n\\n/**\\n * @return {!NodeList<!Node>}\\n */\\nHTMLShadowElement.prototype.getDistributedNodes = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @constructor\\n * @extends {Event}\\n *\\n * @param {string} type\\n * @param {ErrorEventInit=} opt_eventInitDict\\n */\\nfunction ErrorEvent(type, opt_eventInitDict) {}\\n\\n/** @const {string} */\\nErrorEvent.prototype.message;\\n\\n/** @const {string} */\\nErrorEvent.prototype.filename;\\n\\n/** @const {number} */\\nErrorEvent.prototype.lineno;\\n\\n/** @const {number} */\\nErrorEvent.prototype.colno;\\n\\n/** @const {*} */\\nErrorEvent.prototype.error;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/html5/webappapis.html#the-errorevent-interface\\n *\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   message: string,\\n *   filename: string,\\n *   lineno: number,\\n *   colno: number,\\n *   error: *\\n * }}\\n */\\n var ErrorEventInit;\\n\\n\\n/**\\n * @see http://dom.spec.whatwg.org/#dom-domimplementation-createhtmldocument\\n * @param {string=} opt_title A title to give the new HTML document\\n * @return {!HTMLDocument}\\n */\\nDOMImplementation.prototype.createHTMLDocument = function(opt_title) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLPictureElement() {}\\n\\n/**\\n * @constructor\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element\\n * @extends {HTMLElement}\\n */\\nfunction HTMLSourceElement() {}\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.media;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.src;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.srcset;\\n\\n/** @type {string} */\\nHTMLSourceElement.prototype.type;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.sizes;\\n\\n/** @type {string} */\\nHTMLImageElement.prototype.srcset;\\n\\n\\n/**\\n * 4.11 Interactive elements\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html\\n */\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-details-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDetailsElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-details-open\\n * @type {boolean}\\n */\\nHTMLDetailsElement.prototype.open;\\n\\n\\n// As of 2/20/2015, <summary> has no special web IDL interface nor global\\n// constructor (i.e. HTMLSummaryElement).\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-type\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menu-label\\n * @type {string}\\n */\\nHTMLMenuElement.prototype.label;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-menuitem-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMenuItemElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-type\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.type;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-label\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.label;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-icon\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.icon;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-disabled\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.disabled;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-checked\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.checked;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-radiogroup\\n * @type {string}\\n */\\nHTMLMenuItemElement.prototype.radiogroup;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-menuitem-default\\n * @type {boolean}\\n */\\nHTMLMenuItemElement.prototype.default;\\n\\n// TODO(dbeam): add HTMLMenuItemElement.prototype.command if it's implemented.\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#relatedevent\\n * @param {string} type\\n * @param {{relatedTarget: (EventTarget|undefined)}=} opt_eventInitDict\\n * @constructor\\n * @extends {Event}\\n */\\nfunction RelatedEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-relatedevent-relatedtarget\\n * @type {EventTarget|undefined}\\n */\\nRelatedEvent.prototype.relatedTarget;\\n\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#the-dialog-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDialogElement() {}\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-open\\n * @type {boolean}\\n */\\nHTMLDialogElement.prototype.open;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-returnvalue\\n * @type {string}\\n */\\nHTMLDialogElement.prototype.returnValue;\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-show\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.show = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-showmodal\\n * @param {(MouseEvent|Element)=} opt_anchor\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.showModal = function(opt_anchor) {};\\n\\n/**\\n * @see http://www.w3.org/html/wg/drafts/html/master/interactive-elements.html#dom-dialog-close\\n * @param {string=} opt_returnValue\\n * @return {undefined}\\n */\\nHTMLDialogElement.prototype.close = function(opt_returnValue) {};\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTemplateElement() {}\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/scripting.html#the-template-element\\n * @type {!DocumentFragment}\\n */\\nHTMLTemplateElement.prototype.content;\\n\\n\\n/**\\n * @type {?Document}\\n * @see w3c_dom2.js\\n * @see http://www.w3.org/TR/html-imports/#interface-import\\n */\\nHTMLLinkElement.prototype.import;\\n\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.checkValidity = function() {};\\n\\n/**\\n * @type {HTMLCollection}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n */\\nHTMLFieldSetElement.prototype.elements;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.name;\\n\\n/**\\n * @param {string} message\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-elements\\n * @return {undefined}\\n */\\nHTMLFieldSetElement.prototype.setCustomValidity = function(message) {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#dom-fieldset-type\\n */\\nHTMLFieldSetElement.prototype.type;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validationMessage;\\n\\n/**\\n * @type {ValidityState}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.validity;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/forms.html#the-fieldset-element\\n */\\nHTMLFieldSetElement.prototype.willValidate;\\n\\n/**\\n * @constructor\\n * @extends {NodeList<T>}\\n * @template T\\n * @see https://html.spec.whatwg.org/multipage/infrastructure.html#radionodelist\\n */\\nfunction RadioNodeList() {}\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLDataListElement() {}\\n\\n\\n/** @type {HTMLCollection<!HTMLOptionElement>} */\\nHTMLDataListElement.prototype.options;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-output-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLOutputElement() {}\\n\\n/**\\n * @const {!DOMTokenList}\\n */\\nHTMLOutputElement.prototype.htmlFor;\\n\\n/**\\n * @type {HTMLFormElement}\\n */\\nHTMLOutputElement.prototype.form;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.name;\\n\\n/**\\n * @const {string}\\n */\\nHTMLOutputElement.prototype.type;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.defaultValue;\\n\\n/**\\n * @type {string}\\n */\\nHTMLOutputElement.prototype.value;\\n\\n/**\\n * @const {NodeList<!HTMLLabelElement>}\\n */\\nHTMLOutputElement.prototype.labels;\\n\\n/** @type {string} */\\nHTMLOutputElement.prototype.validationMessage;\\n\\n/**\\n * @const {ValidityState}\\n */\\nHTMLOutputElement.prototype.validity;\\n\\n/** @type {boolean} */\\nHTMLOutputElement.prototype.willValidate;\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.checkValidity = function() {};\\n\\n/** @return {boolean} */\\nHTMLOutputElement.prototype.reportValidity = function() {};\\n\\n/** @param {string} message */\\nHTMLOutputElement.prototype.setCustomValidity = function(message) {};\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-progress-element\\n * @c";
a.a+='onstructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLProgressElement() {}\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLProgressElement.prototype.position;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLProgressElement.prototype.labels;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/embedded-content.html#the-track-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLTrackElement() {}\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.kind;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.src;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.srclang;\\n\\n\\n/** @type {string} */\\nHTMLTrackElement.prototype.label;\\n\\n\\n/** @type {boolean} */\\nHTMLTrackElement.prototype.default;\\n\\n\\n/** @const {number} */\\nHTMLTrackElement.prototype.readyState;\\n\\n\\n/** @const {TextTrack} */\\nHTMLTrackElement.prototype.track;\\n\\n\\n\\n/**\\n * @see https://html.spec.whatwg.org/multipage/forms.html#the-meter-element\\n * @constructor\\n * @extends {HTMLElement}\\n */\\nfunction HTMLMeterElement() {}\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.value;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.min;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.max;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.low;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.high;\\n\\n\\n/** @type {number} */\\nHTMLMeterElement.prototype.optimum;\\n\\n\\n/** @type {NodeList<!Node>} */\\nHTMLMeterElement.prototype.labels;\\n\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#navigator\\n */\\nfunction Navigator() {}\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appcodename\\n */\\nNavigator.prototype.appCodeName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appname\\n */\\nNavigator.prototype.appName;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-appversion\\n */\\nNavigator.prototype.appVersion;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-platform\\n */\\nNavigator.prototype.platform;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-product\\n */\\nNavigator.prototype.product;\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-useragent\\n */\\nNavigator.prototype.userAgent;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-taintenabled\\n */\\nNavigator.prototype.taintEnabled = function() {};\\n\\n/**\\n * @type {string}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-language\\n */\\nNavigator.prototype.language;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/browsers.html#navigatoronline\\n */\\nNavigator.prototype.onLine;\\n\\n/**\\n * @type {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-cookieenabled\\n */\\nNavigator.prototype.cookieEnabled;\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerProtocolHandler = function(scheme, url, title) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @param {string} title\\n * @return {undefined}\\n */\\nNavigator.prototype.registerContentHandler = function(mimeType, url, title) {}\\n\\n/**\\n * @param {string} scheme\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterProtocolHandler = function(scheme, url) {}\\n\\n/**\\n * @param {string} mimeType\\n * @param {string} url\\n * @return {undefined}\\n */\\nNavigator.prototype.unregisterContentHandler = function(mimeType, url) {}\\n\\n/**\\n * @type {MimeTypeArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-mimetypes\\n */\\nNavigator.prototype.mimeTypes;\\n\\n/**\\n * @type {PluginArray}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-plugins\\n */\\nNavigator.prototype.plugins;\\n\\n/**\\n * @return {boolean}\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-navigator-javaenabled\\n * @nosideeffects\\n */\\nNavigator.prototype.javaEnabled = function() {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!Plugin>}\\n * @implements {IArrayLike<!Plugin>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#pluginarray\\n */\\nfunction PluginArray() {}\\n\\n/** @type {number} */\\nPluginArray.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {Plugin}\\n */\\nPluginArray.prototype.item = function(index) {};\\n\\n/**\\n * @param {string} name\\n * @return {Plugin}\\n */\\nPluginArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @param {boolean=} reloadDocuments\\n * @return {undefined}\\n */\\nPluginArray.prototype.refresh = function(reloadDocuments) {};\\n\\n/**\\n * @constructor\\n * @implements {IObject<(string|number),!MimeType>}\\n * @implements {IArrayLike<!MimeType>}\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetypearray\\n */\\nfunction MimeTypeArray() {}\\n\\n/**\\n * @param {number} index\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.item = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator.mimeTypes\\n */\\nMimeTypeArray.prototype.length;\\n\\n/**\\n * @param {string} name\\n * @return {MimeType}\\n */\\nMimeTypeArray.prototype.namedItem = function(name) {};\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#mimetype\\n */\\nfunction MimeType() {}\\n\\n/** @type {string} */\\nMimeType.prototype.description;\\n\\n/** @type {Plugin} */\\nMimeType.prototype.enabledPlugin;\\n\\n/** @type {string} */\\nMimeType.prototype.suffixes;\\n\\n/** @type {string} */\\nMimeType.prototype.type;\\n\\n/**\\n * @constructor\\n * @see https://www.w3.org/TR/html5/webappapis.html#dom-plugin\\n */\\nfunction Plugin() {}\\n\\n/** @type {string} */\\nPlugin.prototype.description;\\n\\n/** @type {string} */\\nPlugin.prototype.filename;\\n\\n/** @type {number} */\\nPlugin.prototype.length;\\n\\n/** @type {string} */\\nPlugin.prototype.name;\\n","externs/ie_vml.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for IE\'s vector markup language, or VML.\\n *\\n * @externs\\n * @author robbyw@google.com (Robby Walker)\\n */\\n\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263836(VS.85).aspx\\n */\\nElement.prototype.coordorigin;\\n\\n/**\\n * @type {Object|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263837(VS.85).aspx\\n */\\nElement.prototype.coordsize;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263839(VS.85).aspx\\n */\\nElement.prototype.fillcolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263840(VS.85).aspx\\n */\\nElement.prototype.filled;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263871(VS.85).aspx\\n */\\nElement.prototype.path;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263877(VS.85).aspx\\n */\\nElement.prototype.rotation;\\n\\n/**\\n * @type {string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263881(VS.85).aspx\\n */\\nElement.prototype.strokecolor;\\n\\n/**\\n * @type {boolean}\\n * @see http://msdn.microsoft.com/en-us/library/bb263882(VS.85).aspx\\n */\\nElement.prototype.stroked;\\n\\n/**\\n * @type {number|string}\\n * @see http://msdn.microsoft.com/en-us/library/bb263883(VS.85).aspx\\n */\\nElement.prototype.strokeweight;\\n","externs/iphone.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for all iPhone extensions. Created from:\\n * http://developer.apple.com/library/safari/navigation/\\n *\\n * @externs\\n * @author agrieve@google.com (Andrew Grieve)\\n */\\n\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitForce;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusX;\\n\\n/**\\n * @type {number}\\n */\\nTouch.prototype.webkitRadiusY;\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nTouchEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nTouchEvent.prototype.rotation;\\n\\n/**\\n * Initializes a newly created TouchEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {TouchList} touches\\n * @param {TouchList} targetTouches\\n * @param {TouchList} changedTouches\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nTouchEvent.prototype.initTouchEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, touches, targetTouches, changedTouches, scale, rotation) {};\\n\\n/**\\n * The GestureEvent class encapsulates information about a multi-touch gesture.\\n *\\n * GestureEvent objects are high-level events that encapsulate the low-level\\n * TouchEvent objects. Both GestureEvent and TouchEvent events are sent during\\n * a multi-touch sequence. Gesture events contain scaling and rotation\\n * information allowing gestures to be combined, if supported by the platform.\\n * If not supported, one gesture ends before another starts. Listen for\\n * GestureEvent events if you want to respond to gestures only, not process\\n * the low-level TouchEvent objects.\\n *\\n * @see http://developer.apple.com/library/safari/#documentation/UserExperience/Reference/GestureEventClassReference/GestureEvent/GestureEvent.html\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction GestureEvent() {}\\n\\n/**\\n * The distance between two fingers since the start of an event as a multiplier\\n * of the initial distance. The initial value is 1.0. If less than 1.0, the\\n * gesture is pinch close (to zoom out). If greater than 1.0, the gesture is\\n * pinch open (to zoom in).\\n * @type {number}\\n */\\nGestureEvent.prototype.scale;\\n\\n/**\\n * The delta rotation since the start of an event, in degrees, where clockwise\\n * is positive and counter-clockwise is negative. The initial value is 0.0.\\n * @type {number}\\n */\\nGestureEvent.prototype.rotation;\\n\\n/**\\n * The target of this gesture.\\n * @type {EventTarget}\\n */\\nGestureEvent.prototype.target;\\n\\n/**\\n * Initializes a newly created GestureEvent object.\\n * @param {string} type\\n * @param {boolean} canBubble\\n * @param {boolean} cancelable\\n * @param {Window} view\\n * @param {number} detail\\n * @param {number} screenX\\n * @param {number} screenY\\n * @param {number} clientX\\n * @param {number} clientY\\n * @param {boolean} ctrlKey\\n * @param {boolean} altKey\\n * @param {boolean} shiftKey\\n * @param {boolean} metaKey\\n * @param {EventTarget} target\\n * @param {number} scale\\n * @param {number} rotation\\n * @return {undefined}\\n */\\nGestureEvent.prototype.initGestureEvent = function(type, canBubble, cancelable,\\n    view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,\\n    metaKey, target, scale, rotation) {};\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture is started by\\n * two or more fingers touching the surface.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturestart;\\n\\n/**\\n * Specifies the JavaScript method to invoke when fingers are moved during a\\n * gesture.\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongesturechange;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a gesture ends (when there are\\n * 0 or 1 fingers touching the surface).\\n * @type {?function(!GestureEvent)}\\n */\\nElement.prototype.ongestureend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when the browser device\'s\\n * orientation changes, i.e.the device is rotated.\\n * @type {?function(!Event)}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.onorientationchange;\\n\\n/**\\n * Returns the orientation of the browser\'s device, one of [-90, 0, 90, 180].\\n * @type {number}\\n * @see http://developer.apple.com/library/IOS/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html\\n */\\nWindow.prototype.orientation;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLInputElement.prototype.autocapitalize;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocorrect;\\n\\n/**\\n * @implicitCast\\n * @type {boolean}\\n */\\nHTMLTextAreaElement.prototype.autocapitalize;\\n","externs/mediasource.js":"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for the Media Source Extensions. Note that the\\n * properties available here are the union of several versions of the spec.\\n * @see http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html\\n *\\n * @externs\\n * @author mattward@google.com (Matt Ward)\\n */\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction MediaSource() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaSource.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaSource.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.sourceBuffers;\\n\\n/** @type {Array<SourceBuffer>} */\\nMediaSource.prototype.activeSourceBuffers;\\n\\n/** @type {number} */\\nMediaSource.prototype.duration;\\n\\n/**\\n * @param {string} type\\n * @return {SourceBuffer}\\n */\\nMediaSource.prototype.addSourceBuffer = function(type) {};\\n\\n/**\\n * @param {SourceBuffer} sourceBuffer\\n * @return {undefined}\\n */\\nMediaSource.pro';
a.a+='totype.removeSourceBuffer = function(sourceBuffer) {};\\n\\n/**\\n * Updates the live seekable range.\\n * @param {number} start\\n * @param {number} end\\n */\\nMediaSource.prototype.setLiveSeekableRange = function(start, end) {};\\n\\n/**\\n * Clears the live seekable range.\\n * @return {void}\\n */\\nMediaSource.prototype.clearLiveSeekableRange = function() {};\\n\\n/** @type {string} */\\nMediaSource.prototype.readyState;\\n\\n/**\\n * @param {string=} opt_error\\n * @return {undefined}\\n */\\nMediaSource.prototype.endOfStream = function(opt_error) {};\\n\\n/**\\n * @param {string} type\\n * @return {boolean}\\n */\\nMediaSource.isTypeSupported = function(type) {};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction SourceBuffer() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nSourceBuffer.prototype.dispatchEvent = function(evt) {};\\n\\n/** @type {string} */\\nSourceBuffer.prototype.appendMode;\\n\\n/** @type {boolean} */\\nSourceBuffer.prototype.updating;\\n\\n/** @type {TimeRanges} */\\nSourceBuffer.prototype.buffered;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.timestampOffset;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowStart;\\n\\n/** @type {number} */\\nSourceBuffer.prototype.appendWindowEnd;\\n\\n/**\\n * @param {Uint8Array} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.append = function(data) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView} data\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.appendBuffer = function(data) {};\\n\\n/**\\n * Abort the current segment append sequence.\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.abort = function() {};\\n\\n/**\\n * @param {number} start\\n * @param {number} end\\n * @return {undefined}\\n */\\nSourceBuffer.prototype.remove = function(start, end) {};\\n","externs/page_visibility.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for Page Visibility.\\n *\\n * @see http://www.w3.org/TR/page-visibility\\n * @externs\\n */\\n\\n/**\\n * @enum {string}\\n * @see http://www.w3.org/TR/page-visibility/#VisibilityState\\n */\\nvar VisibilityState = {\\n  HIDDEN: \'hidden\',\\n  VISIBLE: \'visible\',\\n  PRERENDER: \'prerender\',\\n  UNLOADED: \'unloaded\'\\n};\\n","externs/url.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for URL and URLSearchParams from the spec at\\n * https://url.spec.whatwg.org.\\n *\\n * @externs\\n * @author rdcronin@google.com (Devlin Cronin)\\n */\\n\\n/**\\n * @constructor\\n * @param {(string|!URLSearchParams)=} init\\n */\\nfunction URLSearchParams(init) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.delete = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nURLSearchParams.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nURLSearchParams.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nURLSearchParams.prototype.has = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nURLSearchParams.prototype.set = function(name, value) {};\\n\\n/**\\n * @see https://url.spec.whatwg.org\\n * @constructor\\n * @param {string} url\\n * @param {(string|!URL)=} base\\n */\\nfunction URL(url, base) {}\\n\\n/** @type {string} */\\nURL.prototype.href;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nURL.prototype.origin;\\n\\n/** @type {string} */\\nURL.prototype.protocol;\\n\\n/** @type {string} */\\nURL.prototype.username;\\n\\n/** @type {string} */\\nURL.prototype.password;\\n\\n/** @type {string} */\\nURL.prototype.host;\\n\\n/** @type {string} */\\nURL.prototype.hostname;\\n\\n/** @type {string} */\\nURL.prototype.port;\\n\\n/** @type {string} */\\nURL.prototype.pathname;\\n\\n/** @type {string} */\\nURL.prototype.search;\\n\\n/**\\n * @const\\n * @type {URLSearchParams}\\n */\\nURL.prototype.searchParams;\\n\\n/** @type {string} */\\nURL.prototype.hash;\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToASCII = function(domain) {};\\n\\n/**\\n * @param {string} domain\\n * @return {string}\\n */\\nURL.domainToUnicode = function(domain) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-createObjectURL\\n * @param {!File|!Blob|!MediaSource|!MediaStream} obj\\n * @return {string}\\n */\\nURL.createObjectURL = function(obj) {};\\n\\n/**\\n * @see http://www.w3.org/TR/FileAPI/#dfn-revokeObjectURL\\n * @param {string} url\\n * @return {undefined}\\n */\\nURL.revokeObjectURL = function(url) {};\\n","externs/v8.js":"/*\\n * Copyright 2013 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview This file describes the externs API for V8-specific objects.\\n * @externs\\n */\\n\\n\\n\\n/**\\n * Stack frame elements in V8.\\n * @constructor\\n */\\nfunction CallSite() {}\\n\\n\\n/**\\n * Returns the value of this.\\n * @return {Object|undefined}\\n */\\nCallSite.prototype.getThis = function() {};\\n\\n\\n/**\\n * Returns the type of this as a string. This is the name of the function stored\\n * in the constructor field of this, if available, otherwise the object\'s\\n * [[Class]] internal property.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getTypeName = function() {};\\n\\n\\n/**\\n * Returns the current function.\\n * @return {!Function|undefined}\\n */\\nCallSite.prototype.getFunction = function() {};\\n\\n\\n/**\\n * Returns the name of the current function, typically its name property. If a\\n * name property is not available an attempt will be made to try to infer a name\\n * from the function\'s context.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFunctionName = function() {};\\n\\n\\n/**\\n * Returns the name of the property of this or one of its prototypes that holds\\n * the current function.\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getMethodName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the name of the script\\n * @return {string|undefined}\\n */\\nCallSite.prototype.getFileName = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current line number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getLineNumber = function() {};\\n\\n\\n/**\\n * If this function was defined in a script returns the current column number.\\n * @return {number|undefined}\\n */\\nCallSite.prototype.getColumnNumber = function() {};\\n\\n\\n/**\\n * If this function was created using a call to eval, returns a CallSite object\\n * representing the location where eval was called\\n * @return {CallSite|undefined}\\n */\\nCallSite.prototype.getEvalOrigin = function() {};\\n\\n\\n/**\\n * Is this a toplevel invocation, that is, is this the global object?\\n * @return {boolean}\\n */\\nCallSite.prototype.isToplevel = function() {};\\n\\n\\n/**\\n * Does this call take place in code defined by a call to eval?\\n * @return {boolean}\\n */\\nCallSite.prototype.isEval = function() {};\\n\\n\\n/**\\n * Is this call in native V8 code?\\n * @return {boolean}\\n */\\nCallSite.prototype.isNative = function() {};\\n\\n\\n/**\\n * Is this a constructor call?\\n * @return {boolean}\\n */\\nCallSite.prototype.isConstructor = function() {};\\n","externs/webstorage.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s WebStorage specification.\\n * This file depends on html5.js.\\n * @externs\\n * @author jeffbailey@google.com (Jeff Bailey)\\n */\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-interface\\n */\\nfunction Storage() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nStorage.prototype.length;\\n\\n/**\\n * @param {number} index\\n * @return {?string}\\n */\\nStorage.prototype.key = function(index) {};\\n\\n/**\\n * @param {string} key\\n * @return {?string}\\n */\\nStorage.prototype.getItem = function(key) {};\\n\\n/**\\n * @param {string} key\\n * @param {string} data\\n * @return {void}\\n */\\nStorage.prototype.setItem = function(key, data) {};\\n\\n/**\\n * @param {string} key\\n * @return {void}\\n */\\nStorage.prototype.removeItem = function(key) {};\\n\\n/**\\n * @return {void}\\n */\\nStorage.prototype.clear = function() {};\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-sessionstorage-attribute\\n */\\nfunction WindowSessionStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowSessionStorage.prototype.sessionStorage;\\n\\n/**\\n * Window implements WindowSessionStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.sessionStorage;\\n\\n/**\\n * @interface\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-localstorage-attribute\\n */\\nfunction WindowLocalStorage() {}\\n\\n/**\\n * @type {Storage}\\n */\\nWindowLocalStorage.prototype.localStorage;\\n\\n/**\\n * Window implements WindowLocalStorage\\n *\\n * @type {Storage}\\n */\\nWindow.prototype.localStorage;\\n\\n/**\\n * This is the storage event interface.\\n * @see http://www.w3.org/TR/2011/CR-webstorage-20111208/#the-storage-event\\n * @extends {Event}\\n * @constructor\\n */\\nfunction StorageEvent() {}\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.key;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.oldValue;\\n\\n/**\\n * @type {?string}\\n */\\nStorageEvent.prototype.newValue;\\n\\n/**\\n * @type {string}\\n */\\nStorageEvent.prototype.url;\\n\\n/**\\n * @type {?Storage}\\n */\\nStorageEvent.prototype.storageArea;\\n\\n/**\\n * @param {string} typeArg\\n * @param {boolean} canBubbleArg\\n * @param {boolean} cancelableArg\\n * @param {string} keyArg\\n * @param {?string} oldValueArg\\n * @param {?string} newValueArg\\n * @param {string} urlArg\\n * @param {?Storage} storageAreaArg\\n * @return {void}\\n */\\nStorageEvent.prototype.initStorageEvent = function(typeArg, canBubbleArg,\\n                                                   cancelableArg, keyArg,\\n                                                   oldValueArg, newValueArg,\\n                                                   urlArg, storageAreaArg) {};\\n\\n","externs/whatwg_encoding.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WHATWG\'s Encoding specification\\n *     https://encoding.spec.whatwg.org\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} encoding\\n * @param {Object=} options\\n */\\nfunction TextDecoder(encoding, options) {}\\n\\n/** @type {string} **/ TextDecoder.prototype.encoding;\\n/** @type {boolean} **/ TextDecoder.prototype.fatal;\\n/** @type {boolean} **/ TextDecoder.prototype.ignoreBOM;\\n\\n/**\\n * @param {!BufferSource=} input\\n * @param {?Object=} options\\n * @return {!string}\\n * @see https://encoding.spec.whatwg.org/#textdecoder\\n */\\nTextDecoder.prototype.decode = function decode(input, options) {};\\n\\n/**\\n * @constructor\\n * @param {string=} utfLabel\\n */\\nfunction TextEncoder(utfLabel) {}\\n\\n/** @type {string} **/ TextEncoder.prototype.encoding;\\n\\n/**\\n * @param {string=} input\\n * @return {!Uint8Array}\\n */\\nTextEncoder.prototype.encode = function(input) {};\\n","externs/w3c_anim_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for timing control for script base animations. The\\n *  whole file has been fully type annotated.\\n *\\n * @see http://www.w3.org/TR/animation-timing/\\n * @see http://webstuff.nfshost.com/anim-timing/Overview.html\\n * @externs\\n * @author bcornell@google.com (Brian Cornell)\\n */\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element In early versions of this API, the callback\\n *     was invoked only if the element was visible.\\n * @return {number}\\n */\\nfunction requestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction cancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction webkitRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction webkitCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {?function(number)} callback It\'s legitimate to pass a null\\n *     callback and listen on the MozBeforePaint event instead.\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction mozRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\';
a.a+="n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction mozCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction msRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction msCancelAnimationFrame(handle) {};\\n\\n/**\\n * @param {function(number)} callback\\n * @param {Element=} opt_element\\n * @return {number}\\n */\\nfunction oRequestAnimationFrame(callback, opt_element) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelRequestAnimationFrame(handle) {};\\n\\n/**\\n * @param {number} handle\\n * @return {undefined}\\n */\\nfunction oCancelAnimationFrame(handle) {};\\n\",\"externs/w3c_audio.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for the API related to audio.\\n * Definitions for the Web Audio API.\\n * This file is based on the W3C Working Draft 15 March 2012.\\n * @see http://www.w3.org/TR/webaudio/\\n *\\n * @externs\\n */\\n\\n/**\\n * @constructor\\n */\\nfunction AudioContext() {}\\n\\n/** @type {!AudioDestinationNode} */\\nAudioContext.prototype.destination;\\n\\n/** @type {number} */\\nAudioContext.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioContext.prototype.currentTime;\\n\\n/** @type {!AudioListener} */\\nAudioContext.prototype.listener;\\n\\n/**\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/state\\n */\\nAudioContext.prototype.state;\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @return {!AudioBuffer}\\n */\\nAudioContext.prototype.createBuffer =\\n    function(numberOfChannels, length, sampleRate) {};\\n\\n/**\\n * @param {ArrayBuffer} audioData\\n * @param {function(AudioBuffer)=} successCallback\\n * @param {function(?)=} errorCallback\\n * @return {!Promise<AudioBuffer>}\\n */\\nAudioContext.prototype.decodeAudioData =\\n    function(audioData, successCallback, errorCallback) {};\\n\\n/**\\n * @return {!AudioBufferSourceNode}\\n */\\nAudioContext.prototype.createBufferSource = function() {};\\n\\n/**\\n * @param {HTMLMediaElement} mediaElement\\n * @return {!MediaElementAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaElementSource = function(mediaElement) {};\\n\\n/**\\n * @param {MediaStream} mediaStream\\n * @return {!MediaStreamAudioSourceNode}\\n */\\nAudioContext.prototype.createMediaStreamSource = function(mediaStream) {};\\n\\n/**\\n * @return {!MediaStreamAudioDestinationNode}\\n */\\nAudioContext.prototype.createMediaStreamDestination = function() {};\\n\\n/**\\n * To be deprecated. Use createScriptProcessor instead.\\n * @param {number} bufferSize\\n * @param {number} numberOfInputs\\n * @param {number} numberOfOuputs\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createJavaScriptNode = function(bufferSize,\\n    numberOfInputs, numberOfOuputs) {};\\n\\n/**\\n * @param {number} bufferSize\\n * @param {number=} numberOfInputChannels_opt\\n * @param {number=} numberOfOutputChannels_opt\\n * @return {!ScriptProcessorNode}\\n */\\nAudioContext.prototype.createScriptProcessor = function(bufferSize,\\n    numberOfInputChannels_opt, numberOfOutputChannels_opt) {};\\n\\n/**\\n * @return {!RealtimeAnalyserNode}\\n */\\nAudioContext.prototype.createAnalyser = function() {};\\n\\n/**\\n * @deprecated Use createGain instead.\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGainNode = function() {};\\n\\n/**\\n * @return {!GainNode}\\n */\\nAudioContext.prototype.createGain = function() {};\\n\\n/**\\n * To be deprecated. Use createDelay instead.\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelayNode = function(maxDelayTime) {};\\n\\n/**\\n * @param {number=} maxDelayTime\\n * @return {!DelayNode}\\n */\\nAudioContext.prototype.createDelay = function(maxDelayTime) {};\\n\\n/**\\n * @return {!BiquadFilterNode}\\n */\\nAudioContext.prototype.createBiquadFilter = function() {};\\n\\n/**\\n * @return {!WaveShaperNode}\\n */\\nAudioContext.prototype.createWaveShaper = function() {};\\n\\n/**\\n * @return {!AudioPannerNode}\\n */\\nAudioContext.prototype.createPanner = function() {};\\n\\n/**\\n * @return {!StereoPannerNode}\\n */\\nAudioContext.prototype.createStereoPanner = function() {};\\n\\n/**\\n * @return {!ConvolverNode}\\n */\\nAudioContext.prototype.createConvolver = function() {};\\n\\n/**\\n * @param {number=} numberOfOutputs\\n * @return {!AudioChannelSplitter}\\n */\\nAudioContext.prototype.createChannelSplitter = function(numberOfOutputs) {};\\n\\n/**\\n * @param {number=} numberOfInputs\\n * @return {!AudioChannelMerger}\\n */\\nAudioContext.prototype.createChannelMerger = function(numberOfInputs) {};\\n\\n/**\\n * @return {!DynamicsCompressorNode}\\n */\\nAudioContext.prototype.createDynamicsCompressor = function() {};\\n\\n/**\\n * @return {!OscillatorNode}\\n */\\nAudioContext.prototype.createOscillator = function() {};\\n\\n/**\\n * @param {Float32Array} real\\n * @param {Float32Array} imag\\n * @return {!PeriodicWave}\\n */\\nAudioContext.prototype.createPeriodicWave = function(real, imag) {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/resume\\n */\\nAudioContext.prototype.resume = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/suspend\\n */\\nAudioContext.prototype.suspend = function() {};\\n\\n/**\\n * @return {!Promise<void>}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/close\\n */\\nAudioContext.prototype.close = function() {};\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction OfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\nOfflineAudioContext.prototype.startRendering = function() {};\\n\\n/** @type {function(OfflineAudioCompletionEvent)} */\\nOfflineAudioContext.prototype.oncomplete;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction OfflineAudioCompletionEvent() {}\\n\\n/** @type {AudioBuffer} */\\nOfflineAudioCompletionEvent.prototype.renderedBuffer;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioNode() {}\\n\\n/**\\n * @param {AudioNode|AudioParam} destination\\n * @param {number=} output\\n * @param {number=} input\\n * @return {undefined}\\n */\\nAudioNode.prototype.connect = function(destination, output, input) {};\\n\\n/**\\n * @param {number=} output\\n * @return {undefined}\\n */\\nAudioNode.prototype.disconnect = function(output) {};\\n\\n/** @type {!AudioContext} */\\nAudioNode.prototype.context;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfInputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.numberOfOutputs;\\n\\n/** @type {number} */\\nAudioNode.prototype.channelCount;\\n\\n/** @type {string} */\\nAudioNode.prototype.channelCountMode;\\n\\n/** @type {string} */\\nAudioNode.prototype.channelInterpretation;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioDestinationNode() {}\\n\\n/**\\n * To be deprecated. Use maxChannelCount instead.\\n * @type {number}\\n */\\nAudioDestinationNode.prototype.numberOfChannels;\\n\\n/** @type {number} */\\nAudioDestinationNode.prototype.maxChannelCount;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioParam() {}\\n\\n/** @type {number} */\\nAudioParam.prototype.value;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.maxValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.minValue;\\n\\n/** @type {number} */\\nAudioParam.prototype.defaultValue;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioParam.prototype.units;\\n\\n/**\\n * @param {number} value\\n * @param {number} startTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setValueAtTime = function(value, startTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.linearRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} value\\n * @param {number} endTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.exponentialRampToValueAtTime = function(value, endTime) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setTargetAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @deprecated Use setTargetAtTime instead.\\n * @param {number} target\\n * @param {number} startTime\\n * @param {number} timeConstant\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setTargetValueAtTime = function(target, startTime,\\n    timeConstant) {};\\n\\n/**\\n * @param {Float32Array} values\\n * @param {number} startTime\\n * @param {number} duration\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.setValueCurveAtTime = function(values, startTime,\\n    duration) {};\\n\\n/**\\n * @param {number} startTime\\n * @return {AudioParam}\\n */\\nAudioParam.prototype.cancelScheduledValues = function(startTime) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioParam}\\n */\\nfunction AudioGain() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction GainNode() {}\\n\\n/** @type {AudioGain} */\\nGainNode.prototype.gain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DelayNode() {}\\n\\n/** @type {AudioParam} */\\nDelayNode.prototype.delayTime;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioBuffer() {}\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioBuffer.prototype.gain;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.sampleRate;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.length;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.duration;\\n\\n/** @type {number} */\\nAudioBuffer.prototype.numberOfChannels;\\n\\n/**\\n * @param {number} channel\\n * @return {Float32Array}\\n */\\nAudioBuffer.prototype.getChannelData = function(channel) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction AudioBufferSourceNode() {}\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.UNSCHEDULED_STATE; /* = 0 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.SCHEDULED_STATE; /* = 1 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.PLAYING_STATE; /* = 2 */\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.FINISHED_STATE; /* = 3 */\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.playbackState;\\n\\n/** @type {AudioBuffer} */\\nAudioBufferSourceNode.prototype.buffer;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioBufferSourceNode.prototype.gain;\\n\\n/** @type {!AudioParam} */\\nAudioBufferSourceNode.prototype.playbackRate;\\n\\n/** @type {boolean} */\\nAudioBufferSourceNode.prototype.loop;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopStart;\\n\\n/** @type {number} */\\nAudioBufferSourceNode.prototype.loopEnd;\\n\\n/**\\n * @param {number} when\\n * @param {number=} opt_offset\\n * @param {number=} opt_duration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.start = function(when, opt_offset,\\n    opt_duration) {};\\n\\n/**\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.stop = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOn = function(when) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @param {number} grainOffset\\n * @param {number} grainDuration\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteGrainOn = function(when, grainOffset,\\n    grainDuration) {};\\n\\n/**\\n * To be deprecated.\\n * @param {number} when\\n * @return {undefined}\\n */\\nAudioBufferSourceNode.prototype.noteOff = function(when) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaElementAudioSourceNode() {}\\n\\n/**\\n * To be deprecated. Use ScriptProcessorNode instead.\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction JavaScriptAudioNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nJavaScriptAudioNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nJavaScriptAudioNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ScriptProcessorNode() {}\\n\\n/**\\n * @type {EventListener|(function(!AudioProcessingEvent):(boolean|undefined))}\\n */\\nScriptProcessorNode.prototype.onaudioprocess;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nScriptProcessorNode.prototype.bufferSize;\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n */\\nfunction AudioProcessingEvent() {}\\n\\n/** @type {ScriptProcessorNode} */\\nAudioProcessingEvent.prototype.node;\\n\\n/** @type {number} */\\nAudioProcessingEvent.prototype.playbackTime;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.inputBuffer;\\n\\n/** @type {AudioBuffer} */\\nAudioProcessingEvent.prototype.outputBuffer;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioPannerNode() {}\\n\\n/**\\n * To be deprecated. Use 'equalpower' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EQUALPOWER = 0;\\n\\n/**\\n * To be deprecated. Use 'HRTF' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.HRTF = 1;\\n\\n/**\\n * To be deprecated.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.SOUNDFIELD = 2;\\n\\n/**\\n * To be deprecated. Use 'linear' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.LINEAR_DISTANCE = 0;\\n\\n/**\\n * To be deprecated. Use 'inverse' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.INVERSE_DISTANCE = 1;\\n\\n/**\\n * To be deprecated. Use 'exponential' instead.\\n * @const\\n * @type {number}\\n */\\nAudioPannerNode.prototype.EXPONENTIAL_DISTANCE = 2;\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.panningModel;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setOrientation = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioPannerNode.prototype.setVelocity = function(x, y, z) {};\\n\\n/** @type {number|string} */\\nAudioPannerNode.prototype.distanceModel;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.refDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.maxDistance;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.rolloffFactor;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneInnerAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterAngle;\\n\\n/** @type {number} */\\nAudioPannerNode.prototype.coneOuterGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.coneGain;\\n\\n/**\\n * To be deprecated.\\n * @type {AudioGain}\\n */\\nAudioPannerNode.prototype.distanceGain;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n * @see http://webaudio.github.io/web-audio-api/#the-stereopannernode-interface\\n */\\nfunction StereoPannerNode() {}\\n\\n/** @type {!AudioParam} */\\nStereoPannerNode.prototype.pan;\\n\\n/**\\n * @constructor\\n */\\nfunction AudioListener() {}\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nAudioListener.pr";
a.a+='ototype.gain;\\n\\n/** @type {number} */\\nAudioListener.prototype.dopplerFactor;\\n\\n/** @type {number} */\\nAudioListener.prototype.speedOfSound;\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioListener.prototype.setPosition = function(x, y, z) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} xUp\\n * @param {number} yUp\\n * @param {number} zUp\\n * @return {undefined}\\n */\\nAudioListener.prototype.setOrientation = function(x, y, z, xUp, yUp, zUp) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nAudioListener.prototype.setVelocity = function(x, y, z) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction ConvolverNode() {}\\n\\n/** @type {AudioBuffer} */\\nConvolverNode.prototype.buffer;\\n\\n/** @type {boolean} */\\nConvolverNode.prototype.normalize;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nvar AnalyserNode = function() {};\\n\\n/**\\n * @param {Float32Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getFloatFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteFrequencyData = function(array) {};\\n\\n/**\\n * @param {Uint8Array} array\\n * @return {undefined}\\n */\\nAnalyserNode.prototype.getByteTimeDomainData = function(array) {};\\n\\n/** @type {number} */\\nAnalyserNode.prototype.fftSize;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.frequencyBinCount;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.minDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.maxDecibels;\\n\\n/** @type {number} */\\nAnalyserNode.prototype.smoothingTimeConstant;\\n\\n/**\\n * @constructor\\n * @extends {AnalyserNode}\\n * @deprecated Use AnalyserNode\\n *\\n * This constructor has been added for backwards compatibility.\\n */\\nvar RealtimeAnalyserNode = function() {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioChannelSplitter() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction AudioChannelMerger() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction DynamicsCompressorNode() {}\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.threshold;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.knee;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.ratio;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.reduction;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.attack;\\n\\n/** @type {!AudioParam} */\\nDynamicsCompressorNode.prototype.release;\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction BiquadFilterNode() {}\\n\\n/**\\n * A read-able and write-able string that specifies the type of the filter.\\n * See http://webaudio.github.io/web-audio-api/#the-biquadfilternode-interface\\n * for valid values.\\n * @type {string}\\n */\\nBiquadFilterNode.prototype.type;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.detune;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.Q;\\n\\n/** @type {!AudioParam} */\\nBiquadFilterNode.prototype.gain;\\n\\n/**\\n * @param {Float32Array} frequencyHz\\n * @param {Float32Array} magResponse\\n * @param {Float32Array} phaseResponse\\n * @return {undefined}\\n */\\nBiquadFilterNode.prototype.getFrequencyResponse = function(frequencyHz,\\n    magResponse, phaseResponse) {};\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction WaveShaperNode() {}\\n\\n/** @type {Float32Array} */\\nWaveShaperNode.prototype.curve;\\n\\n/** @type {string} */\\nWaveShaperNode.prototype.oversample;\\n\\n/**\\n * @constructor\\n */\\nfunction WaveTable() {}\\n\\n/**\\n * @constructor\\n */\\nfunction PeriodicWave() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioNode}\\n */\\nfunction OscillatorNode() {}\\n\\n/** @type {string} */\\nOscillatorNode.prototype.type;\\n\\n/**\\n * To be deprecated.\\n * @type {number}\\n */\\nOscillatorNode.prototype.playbackState;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.frequency;\\n\\n/** @type {!AudioParam} */\\nOscillatorNode.prototype.detune;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.start;\\n\\n/** @type {function(number)} */\\nOscillatorNode.prototype.stop;\\n\\n/**\\n * To be deprecated.\\n * @type {function(WaveTable)}\\n */\\nOscillatorNode.prototype.setWaveTable;\\n\\n/** @type {function(PeriodicWave)} */\\nOscillatorNode.prototype.setPeriodicWave;\\n\\n/** @type {EventListener} */\\nOscillatorNode.prototype.onended;\\n\\n/**\\n * @constructor\\n * @extends {AudioSourceNode}\\n */\\nfunction MediaStreamAudioSourceNode() {}\\n\\n/**\\n * @constructor\\n * @extends {AudioDestinationNode}\\n */\\nfunction MediaStreamAudioDestinationNode() {}\\n\\n/**\\n * @type {!MediaStream}\\n * @const\\n */\\nMediaStreamAudioDestinationNode.prototype.stream;\\n\\n/**\\n * Definitions for the Web Audio API with webkit prefix.\\n */\\n\\n/**\\n * @constructor\\n * @extends {AudioContext}\\n */\\nfunction webkitAudioContext() {}\\n\\n/**\\n * @param {number} numberOfChannels\\n * @param {number} length\\n * @param {number} sampleRate\\n * @constructor\\n * @extends {OfflineAudioContext}\\n */\\nfunction webkitOfflineAudioContext(numberOfChannels, length, sampleRate) {}\\n\\n/**\\n * @constructor\\n * @extends {AudioPannerNode}\\n */\\nfunction webkitAudioPannerNode() {}\\n\\n/**\\n * Definitions for the Audio API as implemented in Firefox.\\n *   Please note that this document describes a non-standard experimental API.\\n *   This API is considered deprecated.\\n * @see https://developer.mozilla.org/en/DOM/HTMLAudioElement\\n */\\n\\n/**\\n * @param {string=} src\\n * @constructor\\n * @extends {HTMLAudioElement}\\n */\\nfunction Audio(src) {}\\n\\n/**\\n * @param {number} channels\\n * @param {number} rate\\n * @return {undefined}\\n */\\nAudio.prototype.mozSetup = function(channels, rate) {};\\n\\n/**\\n * @param {Array|Float32Array} buffer\\n * @return {undefined}\\n */\\nAudio.prototype.mozWriteAudio = function(buffer) {};\\n\\n/**\\n * @return {number}\\n */\\nAudio.prototype.mozCurrentSampleOffset = function() {};\\n","externs/w3c_batterystatus.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Battery Status API.\\n *  The whole file has been fully type annotated. Created from\\n *  http://www.w3.org/TR/2014/CR-battery-status-20141209/\\n *\\n * @externs\\n */\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction BatteryManager() {}\\n\\n\\n/**\\n * @type {boolean}\\n */\\nBatteryManager.prototype.charging;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.chargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.dischargingTime;\\n\\n\\n/**\\n * @type {number}\\n */\\nBatteryManager.prototype.level;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingchange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onchargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.ondischargingtimechange;\\n\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nBatteryManager.prototype.onlevelchange;\\n","externs/w3c_css3d.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s CSS 3D Transforms specification.\\n *  The whole file has been fully type annotated. Created from\\n *  https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html\\n *\\n * @externs\\n * @author rjfioravanti@google.com (Ryan Fioravanti)\\n */\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#the-cssmatrix-interface\\n */\\nfunction CSSMatrix(opt_matrix) {}\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m11;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m12;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m13;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m14;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m21;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m22;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m23;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m24;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m31;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m32;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m33;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m34;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m41;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m42;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m43;\\n\\n/**\\n * @type {number}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#three-dimensional-attributes\\n */\\nCSSMatrix.prototype.m44;\\n\\n/**\\n * @param {string} string\\n * @return {void}\\n */\\nCSSMatrix.prototype.setMatrixValue = function(string) {};\\n\\n/**\\n * @param {!CSSMatrix} secondMatrix\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-multiply-CSSMatrix-CSSMatrix-other\\n */\\nCSSMatrix.prototype.multiply = function(secondMatrix) {};\\n\\n/**\\n * @return {CSSMatrix} Returns void if the matrix is non-invertable.\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-inverse-CSSMatrix\\n */\\nCSSMatrix.prototype.inverse = function() {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-translate-CSSMatrix-unrestricted-double-tx-unrestricted-double-ty-unrestricted-double-tz\\n */\\nCSSMatrix.prototype.translate = function(opt_x, opt_y, opt_z) {};\\n\\n/**\\n * @param {number=} opt_scaleX Defaults to 1.\\n * @param {number=} opt_scaleY Defaults to scaleX.\\n * @param {number=} opt_scaleZ Defaults to 1.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-scale-CSSMatrix-unrestricted-double-scale-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.scale = function(opt_scaleX, opt_scaleY, opt_scaleZ) {};\\n\\n/**\\n * @param {number=} opt_rotX Defaults to 0.\\n * @param {number=} opt_rotY Defaults to 0.\\n * @param {number=} opt_rotZ Defaults to rotX if rotY is not defined, else 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotate-CSSMatrix-unrestricted-double-angle-unrestricted-double-originX-unrestricted-double-originY\\n */\\nCSSMatrix.prototype.rotate = function(opt_rotX, opt_rotY, opt_rotZ) {};\\n\\n/**\\n * @param {number=} opt_x Defaults to 0.\\n * @param {number=} opt_y Defaults to 0.\\n * @param {number=} opt_z Defaults to 0.\\n * @param {number=} opt_angle Defaults to 0.\\n * @return {!CSSMatrix}\\n * @see https://dvcs.w3.org/hg/FXTF/raw-file/tip/matrix/index.html#widl-CSSMatrix-rotateAxisAngle-CSSMatrix-unrestricted-double-x-unrestricted-double-y-unrestricted-double-z-unrestricted-double-angle\\n */\\nCSSMatrix.prototype.rotateAxisAngle =\\n    function(opt_x, opt_y, opt_z, opt_angle) {};\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://developer.apple.com/safari/library/documentation/AudioVideo/Reference/WebKitCSSMatrixClassReference/WebKitCSSMatrix/WebKitCSSMatrix.html#//apple_ref/javascript/instm/WebKitCSSMatrix/setMatrixValue\\n */\\nfunction WebKitCSSMatrix(opt_matrix) {}\\n\\n/**\\n * @constructor\\n * @param {string=} opt_matrix\\n * @extends {CSSMatrix}\\n * @see http://msdn.microsoft.com/en-us/library/windows/apps/hh453593.aspx\\n */\\nfunction MSCSSMatrix(opt_matrix) {}\\n","externs/w3c_elementtraversal.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for DOM Element Traversal interface.\\n *  This file depends on w3c_dom1.js.\\n *  The whole file has been fully type annotated.\\n *  Created from:\\n *    http://www.w3.org/TR/ElementTraversal/#ecmascript-bindings\\n *\\n * @externs\\n * @author arv@google.com (Erik Arvidsson)\\n */\\n\\n/**\\n * @typedef {?(Document|DocumentFragment|Element)}\\n * @see https://dom.spec.whatwg.org/#parentnode\\n */\\nvar ParentNode;\\n\\n/**\\n * @typedef {?(Element|CharacterData)}\\n * @see https://dom.spec.whatwg.org/#nondocumenttypechildnode\\n */\\nvar NonDocumentTypeChildNode;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.firstElementChild\\n */\\nElement.prototype.firstElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.lastElementChild\\n */\\nElement.prototype.lastElementChild;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.previousElementSibling\\n */\\nElement.prototype.previousElementSibling;\\n\\n/**\\n * @type {Element}\\n * @see https://developer.mozilla.org/En/DOM/Element.nextElementSibling\\n */\\nElement.prototype.nextElementSibling;\\n\\n/**\\n * @type {number}\\n * @see https://developer.mozilla.org/En/DOM/Element.childElementCount\\n */\\nElement.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n */\\nDocument.prototype.firstElementCh';
a.a+='ild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocument.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocument.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-firstelementchild\\n */\\nDocumentFragment.prototype.firstElementChild;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-lastelementchild\\n */\\nDocumentFragment.prototype.lastElementChild;\\n\\n/**\\n * @type {number}\\n * @see https://dom.spec.whatwg.org/#dom-parentnode-childelementcount\\n */\\nDocumentFragment.prototype.childElementCount;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-previouselementsibling\\n */\\nCharacterData.prototype.previousElementSibling;\\n\\n/**\\n * @type {?Element}\\n * @see https://dom.spec.whatwg.org/#dom-nondocumenttypechildnode-nextelementsibling\\n */\\nCharacterData.prototype.nextElementSibling;\\n","externs/w3c_gamepad.js":"/*\\n * Copyright 2013 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Gamepad specification.\\n * @see http://www.w3.org/TR/gamepad/\\n * @externs\\n */\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.getGamepads = function() {};\\n\\n/**\\n * @return {!Array.<!Gamepad>}\\n */\\nnavigator.webkitGetGamepads = function() {};\\n\\n\\n/**\\n * @interface\\n */\\nvar Gamepad = function() {};\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.id;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.index;  // read-only\\n\\n/**\\n * @type {boolean}\\n */\\nGamepad.prototype.connected;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepad.prototype.timestamp;  // read-only\\n\\n/**\\n * @type {string}\\n */\\nGamepad.prototype.mapping;  // read-only\\n\\n/**\\n * @type {!Array.<number>}\\n */\\nGamepad.prototype.axes;  // read-only\\n\\n/**\\n * Note: The W3C spec changed, this property now returns an array of\\n * GamepadButton objects.\\n *\\n * @type {(!Array.<!GamepadButton>|!Array.<number>)}\\n */\\nGamepad.prototype.buttons;\\n\\n\\n/**\\n * @interface\\n */\\nvar GamepadButton = function() {};\\n\\n/**\\n * @type {boolean}\\n */\\nGamepadButton.prototype.pressed;  // read-only\\n\\n/**\\n * @type {number}\\n */\\nGamepadButton.prototype.value;  // read-only\\n","externs/w3c_geolocation.js":"/*\\n * Copyright 2009 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Geolocation specification\\n *     http://www.w3.org/TR/geolocation-API/\\n * @externs\\n * @author ngd@google.com (Neil Dunn)\\n */\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#geolocation\\n */\\nfunction Geolocation() {}\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {undefined}\\n */\\nGeolocation.prototype.getCurrentPosition = function(successCallback,\\n                                                       opt_errorCallback,\\n                                                       opt_options) {};\\n\\n/**\\n * @param {function(!GeolocationPosition)} successCallback\\n * @param {(function(!GeolocationPositionError)|null)=} opt_errorCallback\\n * @param {GeolocationPositionOptions=} opt_options\\n * @return {number}\\n */\\nGeolocation.prototype.watchPosition = function(successCallback,\\n                                                  opt_errorCallback,\\n                                                  opt_options) {};\\n\\n/**\\n * @param {number} watchId\\n * @return {undefined}\\n */\\nGeolocation.prototype.clearWatch = function(watchId) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#coordinates\\n */\\nfunction GeolocationCoordinates() {}\\n/** @type {number} */\\nGeolocationCoordinates.prototype.latitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.longitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.accuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitude;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.altitudeAccuracy;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.heading;\\n/** @type {number} */\\nGeolocationCoordinates.prototype.speed;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#position\\n */\\nfunction GeolocationPosition() {}\\n/** @type {GeolocationCoordinates} */\\nGeolocationPosition.prototype.coords;\\n/** @type {Date} */\\nGeolocationPosition.prototype.timestamp;\\n\\n\\n/**\\n * @record\\n * @see http://www.w3.org/TR/geolocation-API/#position-options\\n */\\nfunction GeolocationPositionOptions() {}\\n/** @type {boolean|undefined} */\\nGeolocationPositionOptions.prototype.enableHighAccuracy;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.maximumAge;\\n/** @type {number|undefined} */\\nGeolocationPositionOptions.prototype.timeout;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/geolocation-API/#position-error\\n */\\nfunction GeolocationPositionError() {}\\n/** @type {number} */\\nGeolocationPositionError.prototype.code;\\n/** @type {string} */\\nGeolocationPositionError.prototype.message;\\n/** @type {number} */\\nGeolocationPositionError.prototype.UNKNOWN_ERROR;\\n/** @type {number} */\\nGeolocationPositionError.prototype.PERMISSION_DENIED;\\n/** @type {number} */\\nGeolocationPositionError.prototype.POSITION_UNAVAILABLE;\\n/** @type {number} */\\nGeolocationPositionError.prototype.TIMEOUT;\\n\\n/** @type {Geolocation} */\\nNavigator.prototype.geolocation;\\n","externs/w3c_indexeddb.js":"/*\\n * Copyright 2011 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s IndexedDB API. In Chrome all the\\n * IndexedDB classes are prefixed with \'webkit\'. In order to access constants\\n * and static methods of these classes they must be duplicated with the\\n * prefix here.\\n * @see http://www.w3.org/TR/IndexedDB/\\n *\\n * @externs\\n * @author guido.tapia@picnet.com.au (Guido Tapia)\\n */\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.moz_indexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.mozIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.webkitIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.msIndexedDB;\\n\\n/** @type {IDBFactory} */\\nWindow.prototype.indexedDB;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBFactory\\n */\\nfunction IDBFactory() {}\\n\\n/**\\n * @param {string} name The name of the database to open.\\n * @param {number=} opt_version The version at which to open the database.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.open = function(name, opt_version) {};\\n\\n/**\\n * @param {string} name The name of the database to delete.\\n * @return {!IDBOpenDBRequest} The IDBRequest object.\\n */\\nIDBFactory.prototype.deleteDatabase = function(name) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction IDBDatabaseException() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBDatabaseException}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabaseException\\n */\\nfunction webkitIDBDatabaseException() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.UNKNOWN_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NON_TRANSIENT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_FOUND_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.CONSTRAINT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.DATA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.NOT_ALLOWED_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TRANSACTION_INACTIVE_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.ABORT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.READ_ONLY_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.TIMEOUT_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.QUOTA_ERR;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBDatabaseException.prototype.code;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nIDBDatabaseException.prototype.message;\\n\\n/**\\n * @const\\n * @type {string}\\n */\\nwebkitIDBDatabaseException.prototype.message;\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction IDBRequest() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBRequest\\n */\\nfunction webkitIDBRequest() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nwebkitIDBRequest.DONE;\\n\\n/**\\n * @type {number}\\n */\\nIDBRequest.prototype.readyState; // readonly\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onsuccess = function(e) {};\\n\\n/**\\n * @type {function(!Event)}\\n */\\nIDBRequest.prototype.onerror = function(e) {};\\n\\n/** @type {*} */\\nIDBRequest.prototype.result;  // readonly\\n\\n/**\\n * @type {number}\\n * @deprecated Use \\"error\\"\\n */\\nIDBRequest.prototype.errorCode;  // readonly\\n\\n\\n/** @type {!DOMError} */\\nIDBRequest.prototype.error; // readonly\\n\\n/** @type {Object} */\\nIDBRequest.prototype.source; // readonly\\n\\n/** @type {IDBTransaction} */\\nIDBRequest.prototype.transaction; // readonly\\n\\n/**\\n * @constructor\\n * @extends {IDBRequest}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBOpenDBRequest\\n */\\nfunction IDBOpenDBRequest() {}\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onblocked = function(e) {};\\n\\n/**\\n * @type {function(!IDBVersionChangeEvent)}\\n */\\nIDBOpenDBRequest.prototype.onupgradeneeded = function(e) {};\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBDatabase\\n */\\nfunction IDBDatabase() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.name;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.description;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBDatabase.prototype.version;\\n\\n/**\\n * @type {DOMStringList}\\n * @const\\n */\\nIDBDatabase.prototype.objectStoreNames;\\n\\n/**\\n * @param {string} name The name of the object store.\\n * @param {Object=} opt_parameters Parameters to be passed\\n *     creating the object store.\\n * @return {!IDBObjectStore} The created/open object store.\\n */\\nIDBDatabase.prototype.createObjectStore =\\n    function(name, opt_parameters)  {};\\n\\n/**\\n * @param {string} name The name of the object store to remove.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.deleteObjectStore = function(name) {};\\n\\n/**\\n * @param {string} version The new version of the database.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBDatabase.prototype.setVersion = function(version) {};\\n\\n/**\\n * @param {string|Array<string>} storeNames The stores to open in this\\n *     transaction.\\n * @param {(number|string)=} mode The mode for opening the object stores.\\n * @return {!IDBTransaction} The IDBRequest object.\\n */\\nIDBDatabase.prototype.transaction = function(storeNames, mode) {};\\n\\n/**\\n * Closes the database connection.\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.close = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onerror = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBDatabase.prototype.onversionchange = function() {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nIDBDatabase.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nIDBDatabase.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * Typedef for valid key types according to the w3 specification. Note that this\\n * is slightly wider than what is actually allowed, as all Array elements must\\n * have a valid key type.\\n * @see http://www.w3.org/TR/IndexedDB/#key-construct\\n * @typedef {number|string|!Date|!Array<?>}\\n */\\nvar IDBKeyType;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBObjectStore\\n */\\nfunction IDBObjectStore() {}\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.name;\\n\\n/**\\n * @type {string}\\n */\\nIDBObjectStore.prototype.keyPath;\\n\\n/**\\n * @type {DOMStringList}\\n */\\nIDBObjectStore.prototype.indexNames;\\n\\n/** @type {IDBTransaction} */\\nIDBObjectStore.prototype.transaction;\\n\\n/** @type {boolean} */\\nIDBObjectStore.prototype.autoIncrement;\\n\\n/**\\n * @param {*} value The value to put into the object store.\\n * @param {IDBKeyType=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObje';
a.a+='ctStore.prototype.put = function(value, key) {};\\n\\n/**\\n * @param {*} value The value to add into the object store.\\n * @param {IDBKeyType=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.add = function(value, key) {};\\n\\n/**\\n * @param {IDBKeyType} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.delete = function(key) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The key of the document to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.get = function(key) {};\\n\\n/**\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.clear = function() {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBObjectStore.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {string} name The name of the index.\\n * @param {string|!Array<string>} keyPath The path to the index key.\\n * @param {Object=} opt_paramters Optional parameters\\n *     for the created index.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.createIndex = function(name, keyPath, opt_paramters) {};\\n\\n/**\\n * @param {string} name The name of the index to retrieve.\\n * @return {!IDBIndex} The IDBIndex object.\\n */\\nIDBObjectStore.prototype.index = function(name) {};\\n\\n/**\\n * @param {string} indexName The name of the index to remove.\\n * @return {undefined}\\n */\\nIDBObjectStore.prototype.deleteIndex = function(indexName) {};\\n\\n/**\\n * @param {(IDBKeyType|IDBKeyRange)=} key The key of this value.\\n * @return {!IDBRequest} The IDBRequest object.\\n * @see http://www.w3.org/TR/IndexedDB/#widl-IDBObjectStore-count\\n */\\nIDBObjectStore.prototype.count = function(key) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBIndex\\n */\\nfunction IDBIndex() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.name;\\n\\n/**\\n * @type {!IDBObjectStore}\\n * @const\\n */\\nIDBIndex.prototype.objectStore;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nIDBIndex.prototype.keyPath;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nIDBIndex.prototype.unique;\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openCursor = function(range, direction) {};\\n\\n/**\\n * @param {IDBKeyRange=} range The range of the cursor.\\n * @param {(number|string)=} direction The direction of cursor enumeration.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.openKeyCursor = function(range, direction) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.get = function(key) {};\\n\\n/**\\n * @param {IDBKeyType|!IDBKeyRange} key The id of the object to retrieve.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBIndex.prototype.getKey = function(key) {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction IDBCursor() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursor\\n */\\nfunction webkitIDBCursor() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.NEXT_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBCursor.PREV_NO_DUPLICATE;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBCursor.prototype.source;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBCursor.prototype.direction;\\n\\n/**\\n * @type {IDBKeyType}\\n * @const\\n */\\nIDBCursor.prototype.key;\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBCursor.prototype.primaryKey;\\n\\n/**\\n * @param {*} value The new value for the current object in the cursor.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.update = function(value) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @param {IDBKeyType=} key Continue enumerating the cursor from the specified\\n *     key (or next).\\n * @return {undefined}\\n */\\nIDBCursor.prototype.continue = function(key) {};\\n\\n/**\\n * @param {number} count Number of times to iterate the cursor.\\n * @return {undefined}\\n */\\nIDBCursor.prototype.advance = function(count) {};\\n\\n/**\\n * Note: Must be quoted to avoid parse error.\\n * @return {!IDBRequest} The IDBRequest object.\\n */\\nIDBCursor.prototype.delete = function() {};\\n\\n/**\\n * @constructor\\n * @extends {IDBCursor}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBCursorWithValue\\n */\\nfunction IDBCursorWithValue() {}\\n\\n/** @type {*} */\\nIDBCursorWithValue.prototype.value; // readonly\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction IDBTransaction() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBTransaction}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBTransaction\\n */\\nfunction webkitIDBTransaction() {}\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_WRITE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.READ_ONLY;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @const\\n * @type {number}\\n */\\nwebkitIDBTransaction.VERSION_CHANGE;\\n\\n/**\\n * @type {number|string}\\n * @const\\n */\\nIDBTransaction.prototype.mode;\\n\\n/**\\n * @type {IDBDatabase}\\n * @const\\n */\\nIDBTransaction.prototype.db;\\n\\n/**\\n * @param {string} name The name of the object store to retrieve.\\n * @return {!IDBObjectStore} The object store.\\n */\\nIDBTransaction.prototype.objectStore = function(name) {};\\n\\n/**\\n * Aborts the transaction.\\n * @return {undefined}\\n */\\nIDBTransaction.prototype.abort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.onabort = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.oncomplete = function() {};\\n\\n/**\\n * @type {Function}\\n */\\nIDBTransaction.prototype.onerror = function() {};\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n */\\nfunction IDBKeyRange() {}\\n\\n/**\\n * @constructor\\n * @extends {IDBKeyRange}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBKeyRange\\n */\\nfunction webkitIDBKeyRange() {}\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lower;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upper;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.lowerOpen;\\n\\n/**\\n * @type {*}\\n * @const\\n */\\nIDBKeyRange.prototype.upperOpen;\\n\\n/**\\n * @param {IDBKeyType} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.only = function(value) {};\\n\\n/**\\n * @param {IDBKeyType} value The single key value of this range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.only = function(value) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.lowerBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates a lower bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.lowerBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.upperBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} bound Creates an upper bound key range.\\n * @param {boolean=} open Open the key range.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.upperBound = function(bound, open) {};\\n\\n/**\\n * @param {IDBKeyType} left The left bound value.\\n * @param {IDBKeyType} right The right bound value.\\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\\n * @param {boolean=} openRight Whether the right bound value should be excluded.\\n * @return {!IDBKeyRange} The key range.\\n */\\nIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @param {IDBKeyType} left The left bound value.\\n * @param {IDBKeyType} right The right bound value.\\n * @param {boolean=} openLeft Whether the left bound value should be excluded.\\n * @param {boolean=} openRight Whether the right bound value should be excluded.\\n * @return {!IDBKeyRange} The key range.\\n */\\nwebkitIDBKeyRange.bound = function(left, right, openLeft, openRight) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction IDBVersionChangeEvent() {}\\n\\n/**\\n * @type {number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.oldVersion;\\n\\n/**\\n * @type {?number}\\n * @const\\n */\\nIDBVersionChangeEvent.prototype.newVersion;\\n\\n/**\\n * @constructor\\n * @extends {IDBVersionChangeEvent}\\n * @see http://www.w3.org/TR/IndexedDB/#idl-def-IDBVersionChangeEvent\\n */\\nfunction webkitIDBVersionChangeEvent() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nwebkitIDBVersionChangeEvent.prototype.version;\\n","externs/w3c_midi.js":"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview W3C Web MIDI specification.\\n * @see http://www.w3.org/TR/webmidi/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @param {!MIDIOptions=} opt_options\\n * @return {!Promise.<!MIDIAccess>}\\n */\\nnavigator.requestMIDIAccess = function(opt_options) {};\\n\\n\\n/**\\n * @typedef {{\\n *   sysex: boolean\\n * }}\\n */\\nvar MIDIOptions;\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIInputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIInputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIInputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIInputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIInput)} iterator\\n */\\nMIDIInputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIInput}\\n */\\nMIDIInputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIInputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n */\\nvar MIDIOutputMap = function() {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIOutputMap.prototype.size;\\n\\n\\n/**\\n * @param {function(string)} iterator\\n */\\nMIDIOutputMap.prototype.keys = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!Array.<*>)} iterator\\n */\\nMIDIOutputMap.prototype.entries = function(iterator) {};\\n\\n\\n/**\\n * @param {function(!MIDIOutput)} iterator\\n */\\nMIDIOutputMap.prototype.values = function(iterator) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {!MIDIOutput}\\n */\\nMIDIOutputMap.prototype.get = function(key) {};\\n\\n\\n/**\\n * @param {string} key\\n * @return {boolean}\\n */\\nMIDIOutputMap.prototype.has = function(key) {};\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIAccess = function() {};\\n\\n\\n/**\\n * @const {!MIDIInputMap}\\n */\\nMIDIAccess.prototype.inputs;\\n\\n\\n/**\\n * @const {!MIDIOutputMap}\\n */\\nMIDIAccess.prototype.outputs;\\n\\n\\n/**\\n * @const {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.onconnect;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIAccess.prototype.ondisconnect;\\n\\n\\n/**\\n * @const {boolean}\\n */\\nMIDIAccess.prototype.sysexEnabled;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n */\\nvar MIDIPort = function() {};\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.id;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.manufacturer;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.name;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.type;\\n\\n\\n/**\\n * @const {string}\\n */\\nMIDIPort.prototype.version;\\n\\n\\n/**\\n * @type {function(!MIDIConnectionEvent)}\\n */\\nMIDIPort.prototype.ondisconnect;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIInput = function() {};\\n\\n\\n/**\\n * @type {function(!MIDIMessageEvent)}\\n */\\nMIDIInput.prototype.onmidimessage;\\n\\n\\n\\n/**\\n * @interface\\n * @extends {MIDIPort}\\n */\\nvar MIDIOutput = function() {};\\n\\n\\n/**\\n * @param {!Uint8Array} data\\n * @param {number=} opt_timestamp\\n */\\nMIDIOutput.prototype.send = function(data, opt_timestamp) {};\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIMessageEventInit=} opt_init\\n */\\nvar MIDIMessageEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {number}\\n */\\nMIDIMessageEvent.prototype.receivedTime;\\n\\n\\n/**\\n * @const {!Uint8Array}\\n */\\nMIDIMessageEvent.prototype.data;\\n\\n\\n/**\\n * @typedef {{\\n *   receivedTime: number,\\n *   data: !Uint8Array\\n * }}\\n */\\nvar MIDIMessageEventInit;\\n\\n\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @param {string} type\\n * @param {!MIDIConnectionEventInit=} opt_init\\n */\\nvar MIDIConnectionEvent = function(type, opt_init) {};\\n\\n\\n/**\\n * @const {MIDIPort}\\n */\\nMIDIConnectionEvent.prototype.port;\\n\\n\\n/**\\n * @typedef {{\\n *   port: !MIDIPort\\n * }}\\n */\\nvar MIDIConnectionEventInit;\\n","externs/w3c_navigation_timing.js":"/*\\n * Copyright 2011 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Navigation Timing specification.\\n *\\n * Created from\\n * @see http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html\\n * @see http://w3c-test.org/webperf/specs/ResourceTiming\\n * @see http://www.w3.org/TR/performance-timeline\\n * @see http://www.w3.org/TR/user-timing/\\n *\\n * @externs\\n * @author rky@google.com (Ren\u00e9 Kyllingstad)\\n */\\n\\n/** @constructor */\\nfunction PerformanceTiming() {}\\n/** @type {number} */ PerformanceTiming.prototype.navigationStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.unloadEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceTiming.prototype.connectEnd;\\n/** @type {number} */ PerformanceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceTiming.prototype.responseStart;\\n/** ';
a.a+='@type {number} */ PerformanceTiming.prototype.responseEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domLoading;\\n/** @type {number} */ PerformanceTiming.prototype.domInteractive;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.domContentLoadedEventEnd;\\n/** @type {number} */ PerformanceTiming.prototype.domComplete;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventStart;\\n/** @type {number} */ PerformanceTiming.prototype.loadEventEnd;\\n\\n/** @constructor */\\nfunction PerformanceEntry() {}\\n/** @type {string} */ PerformanceEntry.prototype.name;\\n/** @type {string} */ PerformanceEntry.prototype.entryType;\\n/** @type {number} */ PerformanceEntry.prototype.startTime;\\n/** @type {number} */ PerformanceEntry.prototype.duration;\\n\\n/**\\n * @constructor\\n * @extends {PerformanceEntry}\\n */\\nfunction PerformanceResourceTiming() {}\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.redirectEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.fetchStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.domainLookupEnd;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.connectEnd;\\n/** @type {number} */\\nPerformanceResourceTiming.prototype.secureConnectionStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.requestStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseStart;\\n/** @type {number} */ PerformanceResourceTiming.prototype.responseEnd;\\n/** @type {string} */ PerformanceResourceTiming.prototype.initiatorType;\\n\\n/** @constructor */\\nfunction PerformanceNavigation() {}\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_NAVIGATE = 0;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RELOAD = 1;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_BACK_FORWARD = 2;\\n/** @type {number} */ PerformanceNavigation.prototype.TYPE_RESERVED = 255;\\n/** @type {number} */ PerformanceNavigation.prototype.type;\\n/** @type {number} */ PerformanceNavigation.prototype.redirectCount;\\n\\n// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @constructor */\\nfunction PerformanceMemory() {}\\n/** @type {number} */ PerformanceMemory.prototype.jsHeapSizeLimit;\\n/** @type {number} */ PerformanceMemory.prototype.totalJSHeapSize;\\n/** @type {number} */ PerformanceMemory.prototype.usedJSHeapSize;\\n\\n/** @constructor */\\nfunction Performance() {}\\n/** @type {PerformanceTiming} */ Performance.prototype.timing;\\n/** @type {PerformanceNavigation} */ Performance.prototype.navigation;\\n\\n/**\\n * Clears the buffer used to store the current list of\\n * PerformanceResourceTiming resources.\\n * @return {undefined}\\n */\\nPerformance.prototype.clearResourceTimings = function() {};\\n\\n/**\\n * Clear out the buffer of performance timing events for webkit browsers.\\n * @return {undefined}\\n */\\nPerformance.prototype.webkitClearResourceTimings = function() {};\\n\\n/**\\n * Set the maximum number of PerformanceResourceTiming resources that may be\\n * stored in the buffer.\\n * @param {number} maxSize\\n * @return {undefined}\\n */\\nPerformance.prototype.setResourceTimingBufferSize = function(maxSize) {};\\n\\n/**\\n * @return {Array<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntries = function() {};\\n\\n/**\\n * @param {string} entryType Only return {@code PerformanceEntry}s with this\\n *     entryType.\\n * @return {Array<PerformanceEntry>} A copy of the PerformanceEntry list,\\n *     in chronological order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByType = function(entryType) {};\\n\\n/**\\n * @param {string} name Only return {@code PerformanceEntry}s with this name.\\n * @param {string=} opt_entryType Only return {@code PerformanceEntry}s with\\n *     this entryType.\\n * @return {Array<PerformanceEntry>} PerformanceEntry list in chronological\\n *     order with respect to startTime.\\n * @nosideeffects\\n */\\nPerformance.prototype.getEntriesByName = function(name, opt_entryType) {};\\n\\n// Only available in WebKit, and only with the --enable-memory-info flag.\\n/** @type {PerformanceMemory} */ Performance.prototype.memory;\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.now = function() {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nPerformance.prototype.webkitNow = function() {};\\n\\n/**\\n * @param {string} markName\\n * @return {undefined}\\n */\\nPerformance.prototype.mark = function(markName) {};\\n\\n/**\\n * @param {string=} opt_markName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMarks = function(opt_markName) {};\\n\\n/**\\n * @param {string} measureName\\n * @param {string=} opt_startMark\\n * @param {string=} opt_endMark\\n * @return {undefined}\\n */\\nPerformance.prototype.measure =\\n    function(measureName, opt_startMark, opt_endMark) {};\\n\\n/**\\n * @param {string=} opt_measureName\\n * @return {undefined}\\n */\\nPerformance.prototype.clearMeasures = function(opt_measureName) {};\\n\\n/** @type {Performance} */\\nWindow.prototype.performance;\\n\\n/**\\n * @type {!Performance}\\n * @suppress {duplicate}\\n */\\nvar performance;\\n","externs/w3c_permissions.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Permissions API.\\n * @see https://w3c.github.io/permissions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @typedef {{name: PermissionName}}\\n * @see https://w3c.github.io/permissions/#permission-descriptor\\n */\\nvar PermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, userVisibleOnly: boolean}}\\n * @see https://w3c.github.io/permissions/#push\\n */\\nvar PushPermissionDescriptor;\\n\\n\\n/**\\n * @typedef {{name: PermissionName, sysex: boolean}}\\n * @see https://w3c.github.io/permissions/#midi\\n */\\nvar MidiPermissionDescriptor;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionName\\n */\\nvar PermissionName = {\\n  GEOLOCATION: \'geolocation\',\\n  NOTIFICATIONS: \'notifications\',\\n  PUSH: \'push\',\\n  MIDI: \'midi\'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://w3c.github.io/permissions/#idl-def-PermissionState\\n */\\nvar PermissionState = {\\n  GRANTED: \'granted\',\\n  DENIED: \'denied\',\\n  PROMPT: \'prompt\'\\n};\\n\\n\\n/**\\n * @constructor\\n * @implements {EventTarget}\\n * @see https://w3c.github.io/permissions/#status-of-a-permission\\n */\\nfunction PermissionStatus() {}\\n\\n/** @type {PermissionState} */\\nPermissionStatus.prototype.state;\\n\\n/**\\n * @type {PermissionState}\\n * @deprecated, use PermissionStatus.state for newer clients\\n */\\nPermissionStatus.prototype.status;\\n\\n/** @type {?function(!Event)} */\\nPermissionStatus.prototype.onchange;\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.addEventListener = function(type,\\n                                                       listener,\\n                                                       opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nPermissionStatus.prototype.removeEventListener = function(type,\\n                                                          listener,\\n                                                          opt_useCapture) {};\\n/**\\n * @override\\n * @return {boolean}\\n */\\nPermissionStatus.prototype.dispatchEvent = function(evt) {};\\n\\n\\n/**\\n * @constructor\\n * @see https://w3c.github.io/permissions/#idl-def-permissions\\n */\\nfunction Permissions() {}\\n\\n/**\\n * @param {PermissionDescriptor} permission The permission to look up\\n * @return {!Promise<!PermissionStatus>}\\n * @see https://w3c.github.io/permissions/#dom-permissions-query\\n */\\nPermissions.prototype.query = function(permission) {};\\n\\n\\n/** @type {Permissions} */\\nNavigator.prototype.permissions;\\n","externs/w3c_pointer_events.js":"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Pointer Events specification.\\n *  Created from\\n *   http://www.w3.org/TR/pointerevents/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/pointerevents/#the-touch-action-css-property\\n */\\nCSSProperties.prototype.touchAction;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-pointerEnabled\\n */\\nNavigator.prototype.pointerEnabled;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/pointerevents/#widl-Navigator-maxTouchPoints\\n */\\nNavigator.prototype.maxTouchPoints;\\n\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   ctrlKey: (boolean|undefined),\\n *   shiftKey: (boolean|undefined),\\n *   altKey: (boolean|undefined),\\n *   metaKey: (boolean|undefined),\\n *   button: (number|undefined),\\n *   buttons: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   pointerId: (number|undefined),\\n *   width: (number|undefined),\\n *   height: (number|undefined),\\n *   pressure: (number|undefined),\\n *   tiltX: (number|undefined),\\n *   tiltY: (number|undefined),\\n *   pointerType: (string|undefined),\\n *   isPrimary: (boolean|undefined)\\n * }}\\n */\\nvar PointerEventInit;\\n\\n/**\\n * @constructor\\n * @extends {MouseEvent}\\n * @param {string} type\\n * @param {PointerEventInit=} opt_eventInitDict\\n * @see http://www.w3.org/TR/pointerevents/#pointerevent-interface\\n */\\nfunction PointerEvent(type, opt_eventInitDict) {}\\n\\n/** @type {number} */\\nPointerEvent.prototype.pointerId;\\n\\n/** @type {number} */\\nPointerEvent.prototype.width;\\n\\n/** @type {number} */\\nPointerEvent.prototype.height;\\n\\n/** @type {number} */\\nPointerEvent.prototype.pressure;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltX;\\n\\n/** @type {number} */\\nPointerEvent.prototype.tiltY;\\n\\n/** @type {string} */\\nPointerEvent.prototype.pointerType;\\n\\n/** @type {boolean} */\\nPointerEvent.prototype.isPrimary;\\n\\n// Microsoft pointerType values\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_TOUCH;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_PEN;\\n\\n/** @type {string} */\\nPointerEvent.prototype.MSPOINTER_TYPE_MOUSE;\\n","externs/w3c_range.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s range specification.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *  Created from\\n *   http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-Interface\\n */\\nfunction Range() {}\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startParent\\n */\\nRange.prototype.startContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-startOffset\\n */\\nRange.prototype.startOffset;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endParent\\n */\\nRange.prototype.endContainer;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-endOffset\\n */\\nRange.prototype.endOffset;\\n\\n/**\\n * @type {boolean}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-collapsed\\n */\\nRange.prototype.collapsed;\\n\\n/**\\n * @type {Node}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-Range-attr-commonParent\\n */\\nRange.prototype.commonAncestorContainer;\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStart\\n */\\nRange.prototype.setStart = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @param {number} offset\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEnd\\n */\\nRange.prototype.setEnd = function(refNode, offset) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-setStartBefore\\n */\\nRange.prototype.setStartBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setStartAfter\\n */\\nRange.prototype.setStartAfter = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndBefore\\n */\\nRange.prototype.setEndBefore = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-setEndAfter\\n */\\nRange.prototype.setEndAfter = function(refNode) {};\\n\\n/**\\n * @param {boolean} toStart\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-collapse\\n */\\nRange.prototype.collapse = function(toStart) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNode\\n */\\nRange.prototype.selectNode = function(refNode) {};\\n\\n/**\\n * @param {Node} refNode\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-selectNodeContents\\n */\\nRange.prototype.selectNodeContents = function(refNode) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_START = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.START_TO_END = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-';
a.a+="Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_END = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-compareHow\\n */\\nRange.prototype.END_TO_START = 3;\\n\\n/**\\n * @param {number} how\\n * @param {Range} sourceRange\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-compareBoundaryPoints\\n */\\nRange.prototype.compareBoundaryPoints = function(how, sourceRange) {};\\n\\n/**\\n * @return {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-deleteContents\\n */\\nRange.prototype.deleteContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-extractContents\\n */\\nRange.prototype.extractContents = function() {};\\n\\n/**\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-cloneContents\\n */\\nRange.prototype.cloneContents = function() {};\\n\\n/**\\n * @param {Node} newNode\\n * @return {DocumentFragment}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-insertNode\\n */\\nRange.prototype.insertNode = function(newNode) {};\\n\\n/**\\n * @param {Node} newParent\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-surroundContents\\n */\\nRange.prototype.surroundContents = function(newParent) {};\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-clone\\n */\\nRange.prototype.cloneRange = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-Range-method-detach\\n */\\nRange.prototype.detach = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level-2-DocumentRange-idl\\n */\\nfunction DocumentRange() {}\\n\\n/**\\n * @return {Range}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#Level2-DocumentRange-method-createRange\\n */\\nDocumentRange.prototype.createRange = function() {};\\n\\n// Introduced in DOM Level 2:\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeException\\n */\\nfunction RangeException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.code;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.BAD_BOUNDARYPOINTS_ERR = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html#RangeExceptionCode\\n */\\nRangeException.prototype.INVALID_NODE_TYPE_ERR = 2;\\n\",\"externs/w3c_rtc.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for components of the WebRTC browser API.\\n * @see http://dev.w3.org/2011/webrtc/editor/webrtc.html\\n * @see http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-01\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API\\n * @see http://www.w3.org/TR/mediacapture-streams/\\n *\\n * @externs\\n * @author bemasc@google.com (Benjamin M. Schwartz)\\n */\\n\\n/**\\n * @typedef {string}\\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\n *     #idl-def-MediaStreamTrackState}\\n * In WebIDL this is an enum with values 'live', 'mute', and 'ended',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar MediaStreamTrackState;\\n\\n/**\\n * @interface\\n */\\nfunction SourceInfo() {}\\n\\n/** @const {string} */\\nSourceInfo.prototype.kind;\\n\\n/** @const {string} */\\nSourceInfo.prototype.id;\\n\\n/** @const {?string} */\\nSourceInfo.prototype.label;\\n\\n/** @const {boolean} */\\nSourceInfo.prototype.facing;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastreamtrack\\n */\\nfunction MediaStreamTrack() {}\\n\\n/**\\n * @param {!function(!Array<!SourceInfo>)} callback\\n * @return {undefined}\\n */\\nMediaStreamTrack.getSources = function(callback) {};\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.kind;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.id;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStreamTrack.prototype.label;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStreamTrack.prototype.enabled;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.muted;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nMediaStreamTrack.prototype.remote;\\n\\n/**\\n * @type {MediaStreamTrackState}\\n * Read only.\\n */\\nMediaStreamTrack.prototype.readyState;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onunmute;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStreamTrack.prototype.onended;\\n\\n/**\\n * @return {!MediaStreamTrack}\\n */\\nMediaStreamTrack.prototype.clone = function() {};\\n\\n/** @return {void} */\\nMediaStreamTrack.prototype.stop = function() {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n * @see http://dev.w3.org/2011/webrtc/editor/\\n * webrtc-20120720.html#mediastreamtrackevent\\n * TODO(bemasc): Update this link to the final definition once one exists\\n * (https://www.w3.org/Bugs/Public/show_bug.cgi?id=19568)\\n */\\nfunction MediaStreamTrackEvent() {}\\n\\n/**\\n * @type {!MediaStreamTrack}\\n * @const\\n */\\nMediaStreamTrackEvent.prototype.track;\\n\\n/**\\n * @param {!MediaStream|!Array<!MediaStreamTrack>=} streamOrTracks\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/mediacapture-streams/#mediastream\\n */\\nfunction MediaStream(streamOrTracks) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaStream.prototype.addEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeEventListener = function(type, listener,\\n    opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nMediaStream.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * TODO(bemasc): Remove this property.\\n * @deprecated\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.label;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nMediaStream.prototype.id;\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getAudioTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getVideoTracks = function() {};\\n\\n/**\\n * @return {!Array<!MediaStreamTrack>}\\n */\\nMediaStream.prototype.getTracks = function() {};\\n\\n/**\\n * @param {string} trackId\\n * @return {MediaStreamTrack}\\n */\\nMediaStream.prototype.getTrackById = function(trackId) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.addTrack = function(track) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @return {undefined}\\n */\\nMediaStream.prototype.removeTrack = function(track) {};\\n\\n/**\\n * @return {!MediaStream}\\n */\\nMediaStream.prototype.clone = function() {};\\n\\n/**\\n * @deprecated\\n * @type {boolean}\\n */\\nMediaStream.prototype.ended;\\n\\n/**\\n * @deprecated\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onended;\\n\\n/**\\n * @type {boolean}\\n */\\nMediaStream.prototype.active;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.onactive;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nMediaStream.prototype.oninactive;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onaddtrack;\\n\\n/**\\n * @type {?function(!MediaStreamTrackEvent)}\\n */\\nMediaStream.prototype.onremovetrack;\\n\\n/**\\n * @deprecated\\n * TODO(bemasc): Remove this method once browsers have updated to\\n * MediaStreamTrack.stop().\\n * @return {undefined}\\n */\\nMediaStream.prototype.stop = function() {};\\n\\n/**\\n * @type {function(new: MediaStream,\\n *                 (!MediaStream|!Array<!MediaStreamTrack>)=)}\\n */\\nvar webkitMediaStream;\\n\\n\\n/**\\n * @interface\\n * @see http://w3c.github.io/webrtc-pc/#rtcrtpsender-interface\\n */\\nfunction RTCRtpSender() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpSender.prototype.track;\\n\\n\\n/**\\n * @interface\\n * @see http://w3c.github.io/webrtc-pc/#rtcrtpreceiver-interface\\n */\\nfunction RTCRtpReceiver() {}\\n\\n/**\\n * @const {!MediaStreamTrack}\\n */\\nRTCRtpReceiver.prototype.track;\\n\\n\\n/**\\n * This interface defines the available constraint attributes.  These are the\\n * attributes defined in\\n * {@see http://tools.ietf.org/html/draft-alvestrand-constraints-resolution-01}.\\n * Note that although that draft refers to \\\"Media Constraints\\\", the W3C uses\\n * the terms \\\"Media[Stream|Track]Constraints\\\" for this type, and\\n * defines a different type (for RTCPeerConnection) called \\\"MediaConstraints\\\".\\n *\\n * This interface type is not part of any standard, so it is marked as private.\\n * It is defined here in order to reserve the property names, which would\\n * otherwise be rewritten when the compiler processes an object literal.\\n * Several subsequent interfaces are defined in the same pattern.\\n *\\n * Note that although this list includes all the properties supported by\\n * libjingle (and hence by Chromium), browsers are permitted to offer other\\n * properties as well ({\\n * @see http://tools.ietf.org/html/draft-burnett-rtcweb-constraints-registry-02\\n * }), and browsers are expected to silently ignore unknown properties.  This\\n * creates the potential for a very confusing situation in which properties\\n * not listed here are renamed by the compiler and then ignored by the browser.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintSetInterface_() {}\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.chromeMediaSource;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaTrackConstraintSetInterface_.prototype.echoCancellation;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxWidth;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxHeight;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minAspectRatio;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxAspectRatio;\\n\\n/**\\n * Due to a typo, this is called \\\"minFramerate\\\" in the -01 draft.\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.minFrameRate;\\n\\n/**\\n * @type {?number}\\n */\\nMediaTrackConstraintSetInterface_.prototype.maxFrameRate;\\n\\n/**\\n * @type {?string}\\n */\\nMediaTrackConstraintSetInterface_.prototype.sourceId;\\n\\n/**\\n * This type and two more below are defined as unions with Object because they\\n * are normally used as record types by constructing an Object literal, but all\\n * of their properties are optional.\\n * @typedef {Object|MediaTrackConstraintSetInterface_}\\n */\\nvar MediaTrackConstraintSet;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaTrackConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaTrackConstraintSet}\\n */\\nMediaTrackConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array<!MediaTrackConstraintSet>}\\n */\\nMediaTrackConstraintsInterface_.prototype.optional;\\n\\n/**\\n * @typedef {Object|MediaTrackConstraintsInterface_}\\n */\\nvar MediaTrackConstraints;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaStreamConstraintsInterface_() {}\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.audio;\\n\\n/**\\n * @type {boolean|MediaTrackConstraints}\\n */\\nMediaStreamConstraintsInterface_.prototype.video;\\n\\n/**\\n * @typedef {Object|MediaStreamConstraintsInterface_}\\n */\\nvar MediaStreamConstraints;\\n\\n/**\\n * @see {http://dev.w3.org/2011/webrtc/editor/getusermedia.html#\\n *     navigatorusermediaerror-and-navigatorusermediaerrorcallback}\\n * @interface\\n */\\nfunction NavigatorUserMediaError() {}\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * @const\\n */\\nNavigatorUserMediaError.prototype.PERMISSION_DENIED;  /** 1 */\\n\\n/**\\n * @type {number}\\n * @deprecated Removed from the standard and some browsers.\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.code;\\n\\n/**\\n * @type {string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.name;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.message;\\n\\n/**\\n * @type {?string}\\n * Read only.\\n */\\nNavigatorUserMediaError.prototype.constraintName;\\n\\n/**\\n * @param {MediaStreamConstraints} constraints A MediaStreamConstraints object.\\n * @param {function(!MediaStream)} successCallback\\n *     A NavigatorUserMediaSuccessCallback function.\\n * @param {function(!NavigatorUserMediaError)=} errorCallback A\\n *     NavigatorUserMediaErrorCallback function.\\n * @see http://dev.w3.org/2011/webrtc/editor/getusermedia.html\\n * @see http://www.w3.org/TR/mediacapture-streams/\\n * @return {undefined}\\n */\\nNavigator.prototype.webkitGetUserMedia =\\n  function(constraints, successCallback, errorCallback) {};\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction MediaStreamEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {?MediaStream}\\n * @const\\n */\\nMediaStreamEvent.prototype.stream;\\n\\n/**\\n * @typedef {string}\\n * @see https://www.w3.org/TR/mediacapture-streams/#idl-def-MediaDeviceKind\\n * In WebIDL this is an enum with values 'audioinput', 'audiooutput', and\\n * 'videoinput', but there is no mechanism in Closure for describing a\\n * specialization of the string type.\\n */\\nvar MediaDeviceKind;\\n\\n/**\\n * @interface\\n */\\nfunction MediaDeviceInfo() {}\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.deviceId;\\n\\n/** @const {!MediaDeviceKind} */\\nMediaDeviceInfo.prototype.kind;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.label;\\n\\n/** @const {string} */\\nMediaDeviceInfo.prototype.groupId;\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://www.w3.org/TR/mediacapture-streams/#mediadevices\\n */\\nfunction MediaDevices() {}\\n\\n/**\\n * @return {!Promise<!Array<!MediaDeviceInfo>>}\\n */\\nMediaDevices.prototype.enumerateDevices = function() {};\\n\\n/**\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia\\n * @param {!MediaStreamConstraints} constraints\\n * @return {!Promise<!MediaStream>}\\n */\\nMediaDevices.prototype.getUserMedia = function(constraints) {}\\n\\n/** @const {!MediaDevices} */\\nNavigator.prototype.mediaDevices;\\n\\n/**\\n * @typedef {string}\\n * @see http://www.w3.org/TR/webrtc/#rtcsdptype\\n * In WebIDL this is an enum with values 'offer', 'pranswer', and 'answer',\\n * but there is no mechanism in Closure for describing a specialization of\\n * the string type.\\n */\\nvar RTCSdpType;\\n\\n/**\\n * @param {!Object=} descriptionInitDict The RTCSessionDescriptionInit\\n * dictionary.  This optional argument may have type\\n * {type:RTCSdpType, sdp:string}, but neither of these keys are required to be\\n * present, and other keys are ignored, so the closest Closure type is Object.\\n * @constructor\\n * @see http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcsessiondescription-class\\n */\\nfunction RTCSessionDescription(descriptionInitDict) {}\\n\\n/**\\n * @type {?RTCSdpType}\\n * @see http://www.w3.org/TR/webrtc/#widl-RTCSessionDescription-type\\n */\\nRTCSessionDescripti";
a.a+='on.prototype.type;\\n\\n/**\\n * @type {?string}\\n * @see http://www.w3.org/TR/webrtc/#widl-RTCSessionDescription-sdp\\n */\\nRTCSessionDescription.prototype.sdp;\\n\\n/**\\n * TODO(bemasc): Remove this definition once it is removed from the browser.\\n * @param {string} label The label index (audio/video/data -> 0,1,2)\\n * @param {string} sdp The ICE candidate in SDP text form\\n * @constructor\\n */\\nfunction IceCandidate(label, sdp) {}\\n\\n/**\\n * @return {string}\\n */\\nIceCandidate.prototype.toSdp = function() {};\\n\\n/**\\n * @type {?string}\\n */\\nIceCandidate.prototype.label;\\n\\n/**\\n * @param {!Object=} candidateInitDict  The RTCIceCandidateInit dictionary.\\n * This optional argument may have type\\n * {candidate: string, sdpMid: string, sdpMLineIndex:number}, but none of\\n * these keys are required to be present, and other keys are ignored, so the\\n * closest Closure type is Object.\\n * @constructor\\n * @see http://www.w3.org/TR/webrtc/#rtcicecandidate-type\\n */\\nfunction RTCIceCandidate(candidateInitDict) {}\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.candidate;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceCandidate.prototype.sdpMid;\\n\\n/**\\n * @type {?number}\\n */\\nRTCIceCandidate.prototype.sdpMLineIndex;\\n\\n/**\\n * @typedef {{url: string}}\\n * @private\\n * @see http://www.w3.org/TR/webrtc/#rtciceserver-type\\n * This dictionary type also has an optional key {credential: ?string}.\\n */\\nvar RTCIceServerRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCIceServerInterface_() {}\\n\\n/**\\n * @type {string}\\n */\\nRTCIceServerInterface_.prototype.url;\\n\\n/**\\n * @type {?string}\\n */\\nRTCIceServerInterface_.prototype.credential;\\n\\n/**\\n * This type, and several below it, are constructed as unions between records\\n *\\n * @typedef {RTCIceServerRecord_|RTCIceServerInterface_}\\n * @private\\n */\\nvar RTCIceServer;\\n\\n/**\\n * @typedef {{iceServers: !Array<!RTCIceServer>}}\\n * @private\\n */\\nvar RTCConfigurationRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCConfigurationInterface_() {}\\n\\n/**\\n * @type {!Array<!RTCIceServer>}\\n */\\nRTCConfigurationInterface_.prototype.iceServers;\\n\\n/**\\n * @typedef {RTCConfigurationRecord_|RTCConfigurationInterface_}\\n */\\nvar RTCConfiguration;\\n\\n/**\\n * @typedef {function(!RTCSessionDescription)}\\n */\\nvar RTCSessionDescriptionCallback;\\n\\n/**\\n * @typedef {function(string)}\\n */\\nvar RTCPeerConnectionErrorCallback;\\n\\n/**\\n * @typedef {function()}\\n */\\nvar RTCVoidCallback;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCSignalingState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceConnectionState;\\n\\n/**\\n * @typedef {string}\\n */\\nvar RTCIceGatheringState;\\n\\n/**\\n * @param {string} type\\n * @param {!Object} eventInitDict\\n * @constructor\\n */\\nfunction RTCPeerConnectionIceEvent(type, eventInitDict) {}\\n\\n/**\\n * @type {RTCIceCandidate}\\n * @const\\n */\\nRTCPeerConnectionIceEvent.prototype.candidate;\\n\\n// Note: The specification of RTCStats types is still under development.\\n// Declarations here will be updated and removed to follow the development of\\n// modern browsers, breaking compatibility with older versions as they become\\n// obsolete.\\n/**\\n * @interface\\n */\\nfunction RTCStatsReport() {}\\n\\n/**\\n * @type {Date}\\n * @const\\n */\\nRTCStatsReport.prototype.timestamp;\\n\\n/**\\n * @return {!Array<!string>}\\n */\\nRTCStatsReport.prototype.names = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {string}\\n */\\nRTCStatsReport.prototype.stat = function(name) {};\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.local;\\n\\n/**\\n * @deprecated\\n * @type {RTCStatsReport}\\n * @const\\n */\\nRTCStatsReport.prototype.remote;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.type;\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCStatsReport.prototype.id;\\n\\n/**\\n * TODO(bemasc): Remove this type once it is no longer in use.  It has already\\n * been removed from the specification.\\n * @typedef {RTCStatsReport}\\n * @deprecated\\n */\\nvar RTCStatsElement;\\n\\n/**\\n * @interface\\n */\\nfunction RTCStatsResponse() {}\\n\\n/**\\n * @return {!Array<!RTCStatsReport>}\\n */\\nRTCStatsResponse.prototype.result = function() {};\\n\\n/**\\n * @typedef {function(!RTCStatsResponse, MediaStreamTrack=)}\\n */\\nvar RTCStatsCallback;\\n\\n/**\\n * This type is not yet standardized, so the properties here only represent\\n * the current capabilities of libjingle (and hence Chromium).\\n * TODO(bemasc): Add a link to the relevant standard once MediaConstraint has a\\n * standard definition.\\n *\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintSetInterface_() {}\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveAudio;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.OfferToReceiveVideo;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.DtlsSrtpKeyAgreement;\\n\\n/**\\n * @type {?boolean}\\n */\\nMediaConstraintSetInterface_.prototype.RtpDataChannels;\\n\\n/**\\n * TODO(bemasc): Make this type public once it is defined in a standard.\\n *\\n * @typedef {Object|MediaConstraintSetInterface_}\\n * @private\\n */\\nvar MediaConstraintSet_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction MediaConstraintsInterface_() {}\\n\\n/**\\n * @type {?MediaConstraintSet_}\\n */\\nMediaConstraintsInterface_.prototype.mandatory;\\n\\n/**\\n * @type {?Array<!MediaConstraintSet_>}\\n */\\nMediaConstraintsInterface_.prototype.optional;\\n\\n/**\\n * This type is used extensively in\\n * {@see http://dev.w3.org/2011/webrtc/editor/webrtc.html} but is not yet\\n * defined.\\n *\\n * @typedef {Object|MediaConstraintsInterface_}\\n */\\nvar MediaConstraints;\\n\\n/**\\n * @interface\\n */\\nfunction RTCDataChannel() {}\\n\\n/**\\n * @type {string}\\n * @const\\n */\\nRTCDataChannel.prototype.label;\\n\\n/**\\n * @type {boolean}\\n * @const\\n */\\nRTCDataChannel.prototype.reliable;\\n\\n/**\\n * An enumerated string type (RTCDataChannelState) with values:\\n * \\"connecting\\", \\"open\\", \\"closing\\", and \\"closed\\".\\n * @type {string}\\n * Read only.\\n */\\nRTCDataChannel.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * Read only.\\n */\\nRTCDataChannel.prototype.bufferedAmount;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onopen;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onerror;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCDataChannel.prototype.onclose;\\n\\nRTCDataChannel.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!MessageEvent<*>)}\\n */\\nRTCDataChannel.prototype.onmessage;\\n\\n/**\\n * @type {string}\\n */\\nRTCDataChannel.prototype.binaryType;\\n\\n/**\\n * @param {string|!Blob|!ArrayBuffer|!ArrayBufferView} data\\n * @return {undefined}\\n */\\nRTCDataChannel.prototype.send = function(data) {};\\n\\n/**\\n * @constructor\\n * @extends {Event}\\n * @private\\n */\\nfunction RTCDataChannelEvent() {}\\n\\n/**\\n * @type {!RTCDataChannel}\\n * Read only.\\n */\\nRTCDataChannelEvent.prototype.channel;\\n\\n/**\\n * @typedef {{reliable: boolean}}\\n */\\nvar RTCDataChannelInitRecord_;\\n\\n/**\\n * @interface\\n * @private\\n */\\nfunction RTCDataChannelInitInterface_() {}\\n\\n/**\\n * @type {boolean}\\n */\\nRTCDataChannelInitInterface_.prototype.reliable;\\n\\n/**\\n * @typedef {RTCDataChannelInitInterface_|RTCDataChannelInitRecord_}\\n */\\nvar RTCDataChannelInit;\\n\\n/**\\n * @param {RTCConfiguration} configuration\\n * @param {!MediaConstraints=} constraints\\n * @constructor\\n * @implements {EventTarget}\\n */\\nfunction RTCPeerConnection(configuration, constraints) {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeEventListener = function(\\n    type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nRTCPeerConnection.prototype.dispatchEvent = function(evt) {};\\n\\n\\n// NB: Until closure annotations support overloading, many of the following\\n// functions take odd unions of parameter types.  This is to support the various\\n// api differences between browsers.  Generally, returning a promise means you\\n// don\'t take callback function parameters and draw any further parameters\\n// forward, and vice versa.\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createOffer = function(successCallbackOrConstraints,\\n    failureCallback, constraints) {};\\n\\n/**\\n * @param {(!RTCSessionDescriptionCallback|!MediaConstraints)=}\\n *    successCallbackOrConstraints\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @param {!MediaConstraints=} constraints\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.createAnswer =\\n    function(successCallbackOrConstraints, failureCallback, constraints) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setLocalDescription = function(description,\\n    successCallback, failureCallback) {};\\n\\n/**\\n * @param {!RTCSessionDescription} description\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!RTCPeerConnectionErrorCallback=} failureCallback\\n * @return {!Promise<!RTCSessionDescription>|undefined}\\n */\\nRTCPeerConnection.prototype.setRemoteDescription = function(description,\\n    successCallback, failureCallback) {};\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.localDescription;\\n\\n/**\\n * @type {?RTCSessionDescription}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.remoteDescription;\\n\\n/**\\n * @type {RTCSignalingState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.signalingState;\\n\\n/**\\n * @param {?RTCConfiguration=} configuration\\n * @param {?MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.updateIce = function(configuration, constraints) {};\\n\\n/**\\n * Void in Chrome for now, a promise that you can then/catch in Firefox.\\n * @param {!RTCIceCandidate} candidate\\n * @param {!RTCVoidCallback=} successCallback\\n * @param {!function(DOMException)=} failureCallback\\n * @return {!Promise|undefined}\\n */\\nRTCPeerConnection.prototype.addIceCandidate = function(candidate, successCallback, failureCallback) {};\\n\\n/**\\n * @type {!RTCIceGatheringState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceGatheringState;\\n\\n/**\\n * @type {!RTCIceConnectionState}\\n * Read only.\\n */\\nRTCPeerConnection.prototype.iceConnectionState;\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getLocalStreams = function() {};\\n\\n/**\\n * @return {!Array<!MediaStream>}\\n */\\nRTCPeerConnection.prototype.getRemoteStreams = function() {};\\n\\n/**\\n * @param {string} streamId\\n * @return {MediaStream}\\n */\\nRTCPeerConnection.prototype.getStreamById = function(streamId) {};\\n\\n/**\\n * @return {!Array<!RTCRtpSender>}\\n */\\nRTCPeerConnection.prototype.getSenders = function() {};\\n\\n/**\\n * @param {?string} label\\n * @param {RTCDataChannelInit=} dataChannelDict\\n * @return {!RTCDataChannel}\\n */\\nRTCPeerConnection.prototype.createDataChannel =\\n    function(label, dataChannelDict) {};\\n/**\\n * @param {!MediaStream} stream\\n * @param {!MediaConstraints=} constraints\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.addStream = function(stream, constraints) {};\\n\\n/**\\n * @param {!MediaStream} stream\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeStream = function(stream) {};\\n\\n/**\\n * @param {!MediaStreamTrack} track\\n * @param {!MediaStream} stream\\n * @param {...MediaStream} var_args Additional streams.\\n * @return {!RTCRtpSender}\\n */\\nRTCPeerConnection.prototype.addTrack = function(track, stream, var_args) {};\\n\\n\\n/**\\n * @param {!RTCRtpSender} sender\\n * @return {undefined}\\n */\\nRTCPeerConnection.prototype.removeTrack = function(sender) {};\\n\\n// TODO(bemasc): Add identity provider stuff once implementations exist\\n\\n/**\\n * Firefox\' getstats is synchronous and returns a much simpler\\n * {!Object<string, !Object>} dictionary.\\n * @param {!RTCStatsCallback=} successCallback\\n * @param {MediaStreamTrack=} selector\\n * @return {undefined|!Object<string, !Object>}\\n */\\nRTCPeerConnection.prototype.getStats = function(successCallback, selector) {};\\n\\nRTCPeerConnection.prototype.close = function() {};\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onnegotiationneeded;\\n\\n/**\\n * @type {?function(!RTCPeerConnectionIceEvent)}\\n */\\nRTCPeerConnection.prototype.onicecandidate;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.onsignalingstatechange;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onaddstream;\\n\\n/**\\n * @type {?function(!MediaStreamEvent)}\\n */\\nRTCPeerConnection.prototype.onremovestream;\\n\\n/**\\n * @type {?function(!Event)}\\n */\\nRTCPeerConnection.prototype.oniceconnectionstatechange;\\n\\n/**\\n * @type {?function(!RTCDataChannelEvent)}\\n */\\nRTCPeerConnection.prototype.ondatachannel;\\n\\n/**\\n * @const\\n */\\nvar webkitRTCPeerConnection = RTCPeerConnection;\\n","externs/w3c_screen_orientation.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Screen Orientation API.\\n * @see https://w3c.github.io/screen-orientation/\\n *\\n * @externs\\n */\\n\\n/**\\n * @interface\\n * @extends {EventTarget}\\n * @see https://w3c.github.io/screen-orientation/#screenorientation-interface\\n */\\nvar ScreenOrientation = function() {};\\n\\n/**\\n * @param {string} orientation\\n * @return {!Promise<void>}\\n */\\nScreenOrientation.prototype.lock = function(orientation) {};\\n\\n/** @return {void} */\\nScreenOrientation.prototype.unlock = function() {};\\n\\n/** @const {string} */\\nScreenOrientation.prototype.type;\\n\\n/** @const {number} */\\nScreenOrientation.prototype.angle;\\n\\n/** @type {?function(!Event)} */\\nScreenOrientation.prototype.onchange;\\n\\n/**\\n * @type {?ScreenOrientation}\\n * @see https://w3c.github.io/screen-orientation/#extensions-to-the-screen-interface\\n */\\nScreen.prototype.orientation;\\n","externs/w3c_selectors.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Selectors API.\\n *  This file depends on w3c_dom1.js.\\n *  @see http://www.w3.org/TR/selectors-api2/\\n *\\n * @externs\\n * @author mihaip@google.com (Mihai Parparita)\\n */\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nDocument.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {?Element}\\n * @override\\n * @nosidee';
a.a+="ffects\\n */\\nElement.prototype.querySelector = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @return {!NodeList<!Element>}\\n * @override\\n * @nosideeffects\\n */\\nElement.prototype.querySelectorAll = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-closest\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.closest\\n * @param {string} selectors\\n * @return {?Element}\\n * @nosideeffects\\n */\\nElement.prototype.closest = function(selectors) {};\\n\\n/**\\n * https://dom.spec.whatwg.org/#dom-element-matches\\n * https://developer.mozilla.org/en-US/docs/Web/API/Element.matches\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matches = function(selectors) {};\\n\\n/**\\n * @param {string} selectors\\n * @param {(Node|NodeList<?>)=} refNodes\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.matchesSelector = function(selectors, refNodes) {};\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/Node.mozMatchesSelector\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.mozMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://developer.apple.com/library/safari/documentation/WebKit/Reference/ElementClassRef/Element/Element.html\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.webkitMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://msdn.microsoft.com/en-us/library/ff975201.aspx\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.msMatchesSelector = function(selectors) {};\\n\\n/**\\n * @see http://www.opera.com/docs/changelogs/windows/1150/\\n * @param {string} selectors\\n * @return {boolean}\\n * @nosideeffects\\n */\\nElement.prototype.oMatchesSelector = function(selectors) {};\\n\",\"externs/w3c_serviceworker.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Externs for service worker.\\n *\\n * @see http://www.w3.org/TR/service-workers/\\n * @externs\\n */\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-interface\\n * @constructor\\n * @extends {Worker}\\n */\\nfunction ServiceWorker() {}\\n\\n/** @type {string} */\\nServiceWorker.prototype.scriptURL;\\n\\n/** @type {ServiceWorkerState} */\\nServiceWorker.prototype.state;\\n\\n/** @type {?function(!Event)} */\\nServiceWorker.prototype.onstatechange;\\n\\n/** @enum {string} */\\nvar ServiceWorkerState = {\\n  INSTALLING: 'installing',\\n  INSTALLED: 'installed',\\n  ACTIVATING: 'activating',\\n  ACTIVATED: 'activated',\\n  REDUNDANT: 'redundant'\\n};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @constructor\\n */\\nfunction PushSubscription() {}\\n\\n/** @type {string} */\\nPushSubscription.prototype.endpoint;\\n\\n/**\\n * Please note there is an intent to deprecate this field in Chrome 43 or 44.\\n * See https://www.chromestatus.com/feature/5283829761703936.\\n * @type {string}\\n */\\nPushSubscription.prototype.subscriptionId;\\n\\n/** @return {!Promise<boolean>} */\\nPushSubscription.prototype.unsubscribe = function() {};\\n\\n/** @enum {string} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// var PushPermissionStatus  = {\\n//  GRANTED: 'granted',\\n//  DENIED: 'denied',\\n//  DEFAULT: 'default'\\n//};\\n\\n/**\\n * @see https://w3c.github.io/push-api/#idl-def-PushManager\\n * @constructor\\n */\\nfunction PushManager() {}\\n\\n/**\\n * @param {PushSubscriptionOptions=} opt_options\\n * @return {!Promise<PushSubscription>}\\n */\\nPushManager.prototype.subscribe = function(opt_options) {};\\n\\n/** @return {!Promise<PushSubscription>} */\\nPushManager.prototype.getSubscription = function() {};\\n\\n/** @return {!Promise<PushPermissionStatus>} */\\n// This is commented out since it has not been implemented yet in Chrome beta.\\n// Uncomment once it is available.\\n// PushManager.prototype.hasPermission = function() {};\\n\\n/**\\n * @typedef {{userVisibleOnly: (boolean|undefined)}}\\n * @see https://w3c.github.io/push-api/#idl-def-PushSubscriptionOptions\\n */\\nvar PushSubscriptionOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushMessageData\\n * @constructor\\n */\\nfunction PushMessageData() {}\\n\\n/** @return {!ArrayBuffer} */\\nPushMessageData.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Blob} */\\nPushMessageData.prototype.blob = function() {};\\n\\n/** @return {*} */\\nPushMessageData.prototype.json = function() {};\\n\\n/** @return {string} */\\nPushMessageData.prototype.text = function() {};\\n\\n\\n/**\\n * @see http://www.w3.org/TR/push-api/#idl-def-PushEvent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction PushEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?PushMessageData} */\\nPushEvent.prototype.data;\\n\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-registration-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerRegistration() {}\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.installing;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.waiting;\\n\\n/** @type {ServiceWorker} */\\nServiceWorkerRegistration.prototype.active;\\n\\n/** @type {string} */\\nServiceWorkerRegistration.prototype.scope;\\n\\n/** @return {!Promise<boolean>} */\\nServiceWorkerRegistration.prototype.unregister = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerRegistration.prototype.onupdatefound;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerRegistration.prototype.update = function() {};\\n\\n/**\\n * @see https://w3c.github.io/push-api/\\n * @type {!PushManager}\\n */\\nServiceWorkerRegistration.prototype.pushManager;\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @return {!Promise<void>}\\n */\\nServiceWorkerRegistration.prototype.showNotification =\\n    function(title, opt_options) {};\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#service-worker-api\\n * @param {!GetNotificationOptions=} opt_filter\\n * @return {!Promise<?Array<?Notification>>}\\n */\\nServiceWorkerRegistration.prototype.getNotifications = function(opt_filter) {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-container-interface\\n * @interface\\n * @extends {EventTarget}\\n */\\nfunction ServiceWorkerContainer() {}\\n\\n/** @type {?ServiceWorker} */\\nServiceWorkerContainer.prototype.controller;\\n\\n/** @type {!Promise<!ServiceWorkerRegistration>} */\\nServiceWorkerContainer.prototype.ready;\\n\\n/**\\n * @param {string} scriptURL\\n * @param {RegistrationOptions=} opt_options\\n * @return {!Promise<!ServiceWorkerRegistration>}\\n */\\nServiceWorkerContainer.prototype.register = function(scriptURL, opt_options) {};\\n\\n/**\\n * @param {string=} opt_documentURL\\n * @return {!Promise<!ServiceWorkerRegistration|undefined>}\\n */\\nServiceWorkerContainer.prototype.getRegistration = function(opt_documentURL) {};\\n\\n/**\\n * @return {!Promise<Array<!ServiceWorkerRegistration>>}\\n */\\nServiceWorkerContainer.prototype.getRegistrations = function() {};\\n\\n/** @type {?function(!Event)} */\\nServiceWorkerContainer.prototype.oncontrollerchange;\\n\\n/** @type {?function(!ErrorEvent)} */\\nServiceWorkerContainer.prototype.onerror;\\n\\n/**\\n * @typedef {{scope: string}}\\n */\\nvar RegistrationOptions;\\n\\n/** @type {!ServiceWorkerContainer} */\\nNavigator.prototype.serviceWorker;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-global-scope-interface\\n * @interface\\n * @extends {WorkerGlobalScope}\\n */\\nfunction ServiceWorkerGlobalScope() {}\\n\\n/** @type {!Cache} */\\nServiceWorkerGlobalScope.prototype.scriptCache;\\n\\n/** @type {!CacheStorage} */\\nServiceWorkerGlobalScope.prototype.caches;\\n\\n/** @type {!ServiceWorkerClients} */\\nServiceWorkerGlobalScope.prototype.clients;\\n\\n/** @type {string} */\\nServiceWorkerGlobalScope.prototype.scope;\\n\\n/** @type {!ServiceWorkerRegistration} */\\nServiceWorkerGlobalScope.prototype.registration;\\n\\n/** @return {!Promise<void>} */\\nServiceWorkerGlobalScope.prototype.skipWaiting = function() {};\\n\\n/** @type {!Console} */\\nServiceWorkerGlobalScope.prototype.console;\\n\\n/** @type {?function(!InstallEvent)} */\\nServiceWorkerGlobalScope.prototype.oninstall;\\n\\n/** @type {?function(!ExtendableEvent)} */\\nServiceWorkerGlobalScope.prototype.onactivate;\\n\\n/** @type {?function(!FetchEvent)} */\\nServiceWorkerGlobalScope.prototype.onfetch;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onbeforeevicted;\\n\\n/**\\n * TODO(mtragut): This handler should get a custom event in the future.\\n * @type {?function(!Event)}\\n */\\nServiceWorkerGlobalScope.prototype.onevicted;\\n\\n/** @type {?function(!MessageEvent)} */\\nServiceWorkerGlobalScope.prototype.onmessage;\\n\\n/** @type {IDBFactory} */\\nServiceWorkerGlobalScope.prototype.indexedDB;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-client-interface\\n * @constructor\\n */\\nfunction ServiceWorkerClient() {}\\n\\n/** @type {!Promise<void>} */\\nServiceWorkerClient.prototype.ready;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.hidden;\\n\\n/** @type {boolean} */\\nServiceWorkerClient.prototype.focused;\\n\\n/** @type {VisibilityState} */\\nServiceWorkerClient.prototype.visibilityState;\\n\\n/** @type {string} */\\nServiceWorkerClient.prototype.url;\\n\\n/**\\n * // TODO(mtragut): Possibly replace the type with enum ContextFrameType once\\n * the enum is defined.\\n * @type {string}\\n */\\nServiceWorkerClient.prototype.frameType;\\n\\n/**\\n * @param {*} message\\n * @param {(!Array<!Transferable>|undefined)=} opt_transfer\\n * @return {undefined}\\n */\\nServiceWorkerClient.prototype.postMessage = function(message, opt_transfer) {};\\n\\n/** @return {!Promise} */\\nServiceWorkerClient.prototype.focus = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#service-worker-clients-interface\\n * @interface\\n */\\nfunction ServiceWorkerClients() {}\\n\\n/**\\n * Deprecated in Chrome M43+, use matchAll instead. Reference:\\n * https://github.com/slightlyoff/ServiceWorker/issues/610.\\n * TODO(joeltine): Remove when getAll is fully deprecated.\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.getAll = function(opt_options) {};\\n\\n/**\\n * @param {ServiceWorkerClientQueryOptions=} opt_options\\n * @return {!Promise<!Array<!ServiceWorkerClient>>}\\n */\\nServiceWorkerClients.prototype.matchAll = function(opt_options) {};\\n\\n/**\\n * @return {!Promise<void>}\\n */\\nServiceWorkerClients.prototype.claim = function() {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!ServiceWorkerClient>}\\n */\\nServiceWorkerClients.prototype.openWindow = function(url) {};\\n\\n/** @typedef {{includeUncontrolled: (boolean|undefined)}} */\\nvar ServiceWorkerClientQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-interface\\n * @interface\\n */\\nfunction Cache() {}\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCache.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Response>>}\\n */\\nCache.prototype.matchAll = function(opt_request, opt_options) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @return {!Promise<void>}\\n */\\nCache.prototype.add = function(request) {};\\n\\n/**\\n * @param {!Array<!RequestInfo>} requests\\n * @return {!Promise<void>}\\n */\\nCache.prototype.addAll = function(requests) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {!Response} response\\n * @return {!Promise<void>}\\n */\\nCache.prototype.put = function(request, response) {};\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<boolean>}\\n */\\nCache.prototype.delete = function(request, opt_options) {};\\n\\n/**\\n * @param {RequestInfo=} opt_request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Array<!Request>>}\\n */\\nCache.prototype.keys = function(opt_request, opt_options) {};\\n\\n/**\\n * @typedef {{\\n *   ignoreSearch: (boolean|undefined),\\n *   ignoreMethod: (boolean|undefined),\\n *   ignoreVary: (boolean|undefined),\\n *   prefixMatch: (boolean|undefined),\\n *   cacheName: (string|undefined)\\n * }}\\n */\\nvar CacheQueryOptions;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#cache-storage-interface\\n * @interface\\n */\\nfunction CacheStorage() {}\\n\\n/**\\n * Window instances have a property called caches which implements CacheStorage\\n * @see https://www.w3.org/TR/service-workers/#cache-objects\\n * @type {!CacheStorage}\\n */\\nWindow.prototype.caches;\\n\\n/**\\n * @param {!RequestInfo} request\\n * @param {CacheQueryOptions=} opt_options\\n * @return {!Promise<!Response|undefined>}\\n */\\nCacheStorage.prototype.match = function(request, opt_options) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.has = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<!Cache>}\\n */\\nCacheStorage.prototype.open = function(cacheName) {};\\n\\n/**\\n * @param {string} cacheName\\n * @return {!Promise<boolean>}\\n */\\nCacheStorage.prototype.delete = function(cacheName) {};\\n\\n/** @return {!Promise<!Array<string>>} */\\nCacheStorage.prototype.keys = function() {};\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#extendable-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {ExtendableEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction ExtendableEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * @param {IThenable} f\\n * @return {undefined}\\n */\\nExtendableEvent.prototype.waitUntil = function(f) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined)\\n * }}\\n */\\nvar ExtendableEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#install-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {InstallEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction InstallEvent(type, opt_eventInitDict) {}\\n\\n/** @type {ServiceWorker} */\\nExtendableEvent.prototype.activeWorker;\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   activeWorker: (!ServiceWorker|undefined)\\n * }}\\n */\\nvar InstallEventInit;\\n\\n/**\\n * @see http://www.w3.org/TR/service-workers/#fetch-event-interface\\n * @constructor\\n * @param {string} type\\n * @param {FetchEventInit=} opt_eventInitDict\\n * @extends {Event}\\n */\\nfunction FetchEvent(type, opt_eventInitDict) {}\\n\\n/** @type {!Request} */\\nFetchEvent.prototype.request;\\n\\n/** @type {!ServiceWorkerClient} */\\nFetchEvent.prototype.client;\\n\\n/** @type {!boolean} */\\nFetchEvent.prototype.isReload;\\n\\n/**\\n * @param {(Response|Promise<Response>)} r\\n * @return {undefined}\\n */\\nFetchEvent.prototype.respondWith = function(r) {};\\n\\n/**\\n * @param {string} url\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.forwardTo = function(url) {};\\n\\n/**\\n * @return {!Promise<!Response>}\\n */\\nFetchEvent.prototype.default = function() {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   request: (!Request|undefined),\\n *   client: (!ServiceWorkerClient|undefined),\\n *   isReload: (!boolean|undefined)\\n * }}\\n */\\nvar FetchEventInit;\\n\",\"externs/w3c_touch_event.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"Licens";
a.a+='e\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Touch Events specification.\\n * @see http://www.w3.org/TR/touch-events/\\n * @externs\\n */\\n\\n/**\\n * @typedef {{\\n *   identifier: number,\\n *   target: !EventTarget,\\n *   clientX: (number|undefined),\\n *   clientY: (number|undefined),\\n *   screenX: (number|undefined),\\n *   screenY: (number|undefined),\\n *   pageX: (number|undefined),\\n *   pageY: (number|undefined),\\n *   radiusX: (number|undefined),\\n *   radiusY: (number|undefined),\\n *   rotationAngle: (number|undefined),\\n *   force: (number|undefined)\\n * }}\\n */\\nvar TouchInitDict;\\n\\n/**\\n * The Touch class represents a single touch on the surface. A touch is the\\n * presence or movement of a finger that is part of a unique multi-touch\\n * sequence.\\n * @see http://www.w3.org/TR/touch-events/#touch-interface\\n * @param {!TouchInitDict} touchInitDict\\n * @constructor\\n */\\nfunction Touch(touchInitDict) {}\\n\\n/**\\n * The x-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientX;\\n\\n/**\\n * The y-coordinate of the touch\'s location relative to the window\'s viewport.\\n * @type {number}\\n */\\nTouch.prototype.clientY;\\n\\n/**\\n * The unique identifier for this touch object.\\n * @type {number}\\n */\\nTouch.prototype.identifier;\\n\\n/**\\n * The x-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in page coordinates.\\n * @type {number}\\n */\\nTouch.prototype.pageY;\\n\\n/**\\n * The x-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenX;\\n\\n/**\\n * The y-coordinate of the touch\'s location in screen coordinates.\\n * @type {number}\\n */\\nTouch.prototype.screenY;\\n\\n/**\\n * The target of this touch.\\n * @type {EventTarget}\\n */\\nTouch.prototype.target;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-force\\n */\\nTouch.prototype.force;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusX\\n */\\nTouch.prototype.radiusX;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-Touch-radiusY\\n */\\nTouch.prototype.radiusY;\\n\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/2011/WD-touch-events-20110505/#widl-Touch-rotationAngle\\n */\\nTouch.prototype.rotationAngle;\\n\\n\\n/**\\n * Creates a new Touch object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouch-Touch-WindowProxy-view-EventTarget-target-long-identifier-long-pageX-long-pageY-long-screenX-long-screenY\\n * @param {Window} view\\n * @param {EventTarget} target\\n * @param {number} identifier\\n * @param {number} pageX\\n * @param {number} pageY\\n * @param {number} screenX\\n * @param {number} screenY\\n * @return {Touch}\\n */\\nDocument.prototype.createTouch = function(view, target, identifier, pageX,\\n    pageY, screenX, screenY) {};\\n\\n\\n/**\\n * The TouchList class is used to represent a collection of Touch objects.\\n * @see http://www.w3.org/TR/touch-events/#touchlist-interface\\n * @constructor\\n * @implements {IArrayLike<!Touch>}\\n */\\nfunction TouchList() {}\\n\\n/**\\n * The number of Touch objects in this TouchList object.\\n * @type {number}\\n */\\nTouchList.prototype.length;\\n\\n/**\\n * Returns the Touch object at the given index.\\n * @param {number} index\\n * @return {?Touch}\\n */\\nTouchList.prototype.item = function(index) {};\\n\\n/**\\n * @param {number} identifier\\n * @return {?Touch}\\n * @see http://www.w3.org/TR/touch-events-extensions/#widl-TouchList-identifiedTouch-Touch-long-identifier\\n */\\nTouchList.prototype.identifiedTouch = function(identifier) {};\\n\\n/**\\n * Creates a new TouchList object.\\n * @see http://www.w3.org/TR/touch-events/#widl-Document-createTouchList-TouchList-Touch-touches\\n * @param {Array<Touch>} touches\\n * @return {TouchList}\\n */\\nDocument.prototype.createTouchList = function(touches) {};\\n\\n/**\\n * @typedef {{\\n *   bubbles: (boolean|undefined),\\n *   cancelable: (boolean|undefined),\\n *   view: (Window|undefined),\\n *   detail: (number|undefined),\\n *   relatedTarget: (EventTarget|undefined),\\n *   touches: (!Array<Touch>|undefined),\\n *   targetTouches: (!Array<Touch>|undefined),\\n *   changedTouches: (!Array<Touch>|undefined)\\n * }}\\n */\\nvar TouchEventInit;\\n\\n/**\\n * The TouchEvent class encapsulates information about a touch event.\\n *\\n * <p>The system continually sends TouchEvent objects to an application as\\n * fingers touch and move across a surface. A touch event provides a snapshot of\\n * all touches during a multi-touch sequence, most importantly the touches that\\n * are new or have changed for a particular target. A multi-touch sequence\\n * begins when a finger first touches the surface. Other fingers may\\n * subsequently touch the surface, and all fingers may move across the surface.\\n * The sequence ends when the last of these fingers is lifted from the surface.\\n * An application receives touch event objects during each phase of any touch.\\n * </p>\\n *\\n * <p>The different types of TouchEvent objects that can occur are:\\n * <ul>\\n *   <li>touchstart - Sent when a finger for a given event touches the surface.\\n *   <li>touchmove - Sent when a given event moves on the surface.\\n *   <li>touchend - Sent when a given event lifts from the surface.\\n *   <li>touchcancel - Sent when the system cancels tracking for the touch.\\n * </ul>\\n * TouchEvent objects are combined together to form high-level GestureEvent\\n * objects that are also sent during a multi-touch sequence.</p>\\n *\\n * @see http://www.w3.org/TR/touch-events/#touchevent-interface\\n * @param {string} type\\n * @param {!TouchEventInit=} opt_eventInitDict\\n * @extends {UIEvent}\\n * @constructor\\n */\\nfunction TouchEvent(type, opt_eventInitDict) {}\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.touches;\\n\\n/**\\n * A collection of Touch objects representing all touches associated with this\\n * target.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.targetTouches;\\n\\n/**\\n * A collection of Touch objects representing all touches that changed in this event.\\n * @type {TouchList}\\n */\\nTouchEvent.prototype.changedTouches;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.altKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.metaKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.ctrlKey;\\n\\n/**\\n * @type {boolean}\\n */\\nTouchEvent.prototype.shiftKey;\\n\\n\\n/**\\n * Specifies the JavaScript method to invoke when the system cancels tracking\\n * for the touch.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchcancel;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a given event lifts from the\\n * surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchend;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * moves on the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchmove;\\n\\n/**\\n * Specifies the JavaScript method to invoke when a finger for a given event\\n * touches the surface.\\n * @type {?function(!TouchEvent)}\\n */\\nElement.prototype.ontouchstart;\\n","externs/w3c_webcrypto.js":"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Definitions for W3C\'s Web Cryptography specification\\n * http://www.w3.org/TR/webCryptoAPI\\n * @externs\\n * @author chrismoon@google.com (Chris Moon)\\n * This file was created using the best practices as described in:\\n *     chrome_extensions.js\\n */\\n\\n\\n/**\\n * @const\\n * @see http://www.w3.org/TR/webCryptoAPI\\n */\\nvar webCrypto = {};\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#algorithm-dictionary\\n */\\nwebCrypto.Algorithm;\\n\\n\\n/**\\n * @typedef {string|!webCrypto.Algorithm}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-AlgorithmIdentifier\\n */\\nwebCrypto.AlgorithmIdentifier;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/webCryptoAPI/#dfn-CryptoKey\\n */\\nwebCrypto.CryptoKey = function() {};\\n\\n\\n/**\\n * @type {string} An enumerated value representing the type of the key, a secret\\n *    key (for symmetric algorithm), a public or a private key\\n *    (for an asymmetric algorithm).\\n */\\nwebCrypto.CryptoKey.prototype.type;\\n\\n\\n/**\\n * @type {boolean} Determines whether or not the raw keying material may be\\n *     exported by the application.\\n */\\nwebCrypto.CryptoKey.prototype.extractable;\\n\\n\\n/**\\n * @type {!Object} An opaque object representing a particular cipher the key\\n *     has to be used with.\\n */\\nwebCrypto.CryptoKey.prototype.algorithm;\\n\\n\\n/**\\n * @type {!Object} Returns the cached ECMAScript object associated with the\\n *   usages internal slot, which indicates which cryptographic operations are\\n *   permissible to be used with this key.\\n */\\nwebCrypto.CryptoKey.prototype.usages;\\n\\n\\n/**\\n * @typedef {?{\\n *   name: string\\n * }}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary-members\\n */\\nwebCrypto.KeyAlgorithm;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-JsonWebKey\\n * @see Section 3.1:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-key-41\\n */\\nwebCrypto.JsonWebKey = function() {};\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic algorithm family used with\\n *     the key, such as \\"RSA\\" or \\"EC\\".\\n */\\nwebCrypto.JsonWebKey.prototype.kty;\\n\\n\\n/**\\n * @type {string} Identifies the intended use of the public key.\\n */\\nwebCrypto.JsonWebKey.prototype.use;\\n\\n\\n/**\\n * @type {!Array<string>} Identifies the operation(s) that the key is\\n *     intended to be used for.\\n */\\nwebCrypto.JsonWebKey.prototype.key_ops;\\n\\n\\n/**\\n * @type {string} Identifies the algorithm intended for use with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.alg;\\n\\n\\n/**\\n * @type {boolean} Boolean to be used with kty values.\\n */\\nwebCrypto.JsonWebKey.prototype.ext;\\n\\n\\n/**\\n * @type {string} Identifies the cryptographic curve used with the key.\\n */\\nwebCrypto.JsonWebKey.prototype.crv;\\n\\n\\n/**\\n * @type {string} Contains the x coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.x;\\n\\n\\n/**\\n * @type {string} Contains the y coordinate for the elliptic curve point.\\n */\\nwebCrypto.JsonWebKey.prototype.y;\\n\\n\\n/**\\n * @type {string} Contains the Elliptic Curve private key value.\\n */\\nwebCrypto.JsonWebKey.prototype.d;\\n\\n\\n/**\\n * @type {string} Contains the modulus value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.n;\\n\\n\\n/**\\n * @type {string} Contains the exponent value for the RSA public key.\\n */\\nwebCrypto.JsonWebKey.prototype.e;\\n\\n\\n/**\\n * @type {string} Contains the first prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.p;\\n\\n\\n/**\\n * @type {string} Contains the second prime factor.\\n */\\nwebCrypto.JsonWebKey.prototype.q;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the first factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dp;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) exponent of\\n *     the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.dq;\\n\\n\\n/**\\n * @type {string} Contains the Chinese Remainder Theorem (CRT) coefficient\\n *     of the second factor.\\n */\\nwebCrypto.JsonWebKey.prototype.qi;\\n\\n\\n/**\\n * @type {!Array<!webCrypto.RsaOtherPrimesInfo>} Contains an array of\\n *     information about any third and subsequent primes, should they exist.\\n */\\nwebCrypto.JsonWebKey.prototype.oth;\\n\\n\\n/**\\n * @type {string} Contains the value of the symmetric (or other\\n *     single-valued) key.\\n */\\nwebCrypto.JsonWebKey.prototype.k;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#dfn-RsaOtherPrimesInfo\\n * @see Section-6.3.2.7:\\n *     https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40\\n */\\nwebCrypto.RsaOtherPrimesInfo = function() {};\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the value\\n *     of a subsequent prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.r;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     exponent of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.d;\\n\\n\\n/**\\n * @type {string} Parameter within an \\"oth\\" array member represents the CRT\\n *     coefficient of the corresponding prime factor.\\n */\\nwebCrypto.RsaOtherPrimesInfo.prototype.t;\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/WebCryptoAPI/#subtlecrypto-interface\\n */\\nwebCrypto.SubtleCrypto = function() {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be encrypted (cleartext).\\n * @return {!Promise<*>} Ciphertext generated by the encryption of the\\n *     cleartext.\\n */\\nwebCrypto.SubtleCrypto.prototype.encrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: AES-CBC, AES-CTR, AES-GCM, and RSA-OAEP.\\n * @param {!webCrypto.CryptoKey} key Key to be used for signing.\\n * @param {!BufferSource} data Data to be decrypted (ciphertext).\\n * @return {!Promise<*>} Cleartext generated by the decryption of the\\n *     ciphertext.\\n */\\nwebCrypto.SubtleCrypto.prototype.decrypt = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} data Data to be signed.\\n * @return {!Promise<*>} Returns the signature on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.sign = function(algorithm, key,\\n    data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: HMAC, RSASSA-PKCS1-v1_5, and ECDSA.\\n * @param {!webCrypto.CryptoKey} key Private key to be used for signing.\\n * @param {!BufferSource} signature Signature to verify.\\n * @param {!BufferSource} data Data whose signature needs to be verified.\\n * @return {!Promise<*>} Returns a boolean indicating if the signature operating\\n *     has been successful.\\n */\\nwebCrypto.SubtleCrypto.prototype.verify = function(algorithm, key,\\n    signature, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {!BufferSource} data Data to be hashed using the hashing algorithm.\\n * @return {!Promise<*>} returns the hash on success.\\n */\\nwebCrypto.SubtleCrypto.prototype.digest = function(algorithm, data) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported\\n *     values are: SHA-1, SHA-256, SHA-384, and SHA-512.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, w';
a.a+='rapKey,\\n *     unwrapKey.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.generateKey = function(algorithm,\\n    extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use. Supported values are:  ECDH, DH, PBKDF2, and HKDF-CTR.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {!webCrypto.AlgorithmIdentifier} derivedKeyAlgo Defines the key\\n *     derivation algorithm to use.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveKey = function(algorithm,\\n   baseKey, derivedKeyAlgo, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm The key derivation\\n *     algorithm to use.\\n * @param {!webCrypto.CryptoKey} baseKey Key to be used by the key\\n *     derivation algorithm.\\n * @param {number} length\\n * @return {!Promise<*>} returns the generated key as a CryptoKey or a\\n *     CryptoKeyPair.\\n */\\nwebCrypto.SubtleCrypto.prototype.deriveBits = function(algorithm,\\n   baseKey, length) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!BufferSource|!webCrypto.JsonWebKey} keyData The key\\n *     in the given format.\\n * @param {!webCrypto.AlgorithmIdentifier} algorithm Supported values\\n *     are: AES-CTR, AES-CBC, AES-GCM, RSA-OAEP, AES-KW, HMAC,\\n *     RSASSA-PKCS1-v1_5, ECDSA, ECDH, DH.\\n * @param {boolean} extractable If the key can be extracted from the CryptoKey\\n *     object at a later stage.\\n * @param {!Array<string>} keyUsages Indication of new key options i.e.\\n *     encrypt, decrypt, sign, verify, deriveKey, deriveBits, wrapKey,\\n *     unwrapKey.\\n * @return {!Promise<*>} returns the generated key as a CryptoKey.\\n */\\nwebCrypto.SubtleCrypto.prototype.importKey = function(format, keyData,\\n    algorithm, extractable, keyUsages) {};\\n\\n\\n/**\\n * @param {string} format Enumerated value describing the data\\n *     format of the key to imported.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to export.\\n * @return {!Promise<*>} returns the key in the requested format.\\n */\\nwebCrypto.SubtleCrypto.prototype.exportKey = function(format, key) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!webCrypto.CryptoKey} key CryptoKey to wrap.\\n * @param {!webCrypto.CryptoKey} wrappingKey CryptoKey used to perform\\n *     the wrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} wrapAlgorithm algorithm used\\n *     to perform the wrapping. It is one of the following: AES-CBC, AES-CTR,\\n *     AES-GCM, RSA-OAEP, and AES-KW.\\n * @return {!Promise<*>} returns the wrapped key in the requested format.\\n */\\nwebCrypto.SubtleCrypto.prototype.wrapKey = function(format,\\n   key, wrappingKey, wrapAlgorithm) {};\\n\\n\\n/**\\n * @param {string} format Value describing the data format in which the key must\\n *     be wrapped. It can be one of the following: raw, pkcs8, spki, jwk.\\n * @param {!BufferSource} wrappedKey Contains the wrapped key in the given\\n *     format.\\n * @param {!webCrypto.CryptoKey} unwrappingKey CryptoKey used to perform\\n *     the unwrapping.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrapAlgorithm Algorithm\\n *    used to perform the unwrapping. It is one of the following: AES-CBC,\\n *    AES-CTR, AES-GCM, RSA-OAEP, and AES-KW.\\n * @param {!webCrypto.AlgorithmIdentifier} unwrappedKeyAlgorithm\\n *     Represents the algorithm of the wrapped key.\\n * @param {boolean} extractable Indicates if the key can be extracted from the\\n *     CryptoKey object at a later stage.\\n * @param {!Array<string>} keyUsages Indicates what can be done with the\\n *     derivated key.\\n * @return {!Promise<*>} returns the unwrapped key as a CryptoKey.\\n */\\nwebCrypto.SubtleCrypto.prototype.unwrapKey = function(format, wrappedKey,\\n    unwrappingKey, unwrapAlgorithm, unwrappedKeyAlgorithm, extractable,\\n    keyUsages) {};\\n\\n\\n/**\\n * Web Cryptography API\\n * @see http://www.w3.org/TR/WebCryptoAPI/\\n */\\n\\n/** @see https://developer.mozilla.org/en/DOM/window.crypto */\\nWindow.prototype.crypto;\\n\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.crypto.getRandomValues\\n * @param {!ArrayBufferView} typedArray\\n * @return {!ArrayBufferView}\\n * @throws {Error}\\n */\\nWindow.prototype.crypto.getRandomValues = function(typedArray) {};\\n\\n\\n/**\\n * @type {webCrypto.SubtleCrypto}\\n * @see http://www.w3.org/TR/WebCryptoAPI/#Crypto-attribute-subtle\\n */\\nWindow.prototype.crypto.subtle;\\n","externs/w3c_xml.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for W3C\'s XML related specifications.\\n *  This file depends on w3c_dom2.js.\\n *  The whole file has been fully type annotated.\\n *\\n *  Provides the XML standards from W3C.\\n *   Includes:\\n *    XPath          - Fully type annotated\\n *    XMLHttpRequest - Fully type annotated\\n *\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html\\n * @see http://www.w3.org/TR/XMLHttpRequest/\\n * @see http://www.w3.org/TR/XMLHttpRequest2/\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathException\\n */\\nfunction XPathException() {}\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#INVALID_EXPRESSION_ERR\\n */\\nXPathException.INVALID_EXPRESSION_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#TYPE_ERR\\n */\\nXPathException.TYPE_ERR = 52;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#\\n */\\nXPathException.prototype.code;\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator\\n */\\nfunction XPathEvaluator() {}\\n\\n/**\\n * @param {string} expr\\n * @param {?XPathNSResolver=} opt_resolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createExpression\\n * @throws XPathException\\n * @throws DOMException\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createExpression = function(expr, opt_resolver) {};\\n\\n/**\\n * @param {Node} nodeResolver\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-createNSResolver\\n * @return {undefined}\\n */\\nXPathEvaluator.prototype.createNSResolver = function(nodeResolver) {};\\n\\n/**\\n * @param {string} expr\\n * @param {Node} contextNode\\n * @param {?XPathNSResolver=} opt_resolver\\n * @param {?number=} opt_type\\n * @param {*=} opt_result\\n * @return {XPathResult}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate\\n */\\nXPathEvaluator.prototype.evaluate = function(expr, contextNode, opt_resolver,\\n    opt_type, opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression\\n */\\nfunction XPathExpression() {}\\n\\n/**\\n * @param {Node} contextNode\\n * @param {number=} opt_type\\n * @param {*=} opt_result\\n * @return {*}\\n * @throws XPathException\\n * @throws DOMException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression-evaluate\\n */\\nXPathExpression.prototype.evaluate = function(contextNode, opt_type,\\n    opt_result) {};\\n\\n\\n/**\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver\\n */\\nfunction XPathNSResolver() {}\\n\\n/**\\n * @param {string} prefix\\n * @return {?string}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver-lookupNamespaceURI\\n */\\nXPathNSResolver.prototype.lookupNamespaceURI = function(prefix) {};\\n\\n/**\\n * From http://www.w3.org/TR/xpath\\n *\\n * XPath is a language for addressing parts of an XML document, designed to be\\n * used by both XSLT and XPointer.\\n *\\n * @noalias\\n * @constructor\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult\\n */\\nfunction XPathResult() {}\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-booleanValue\\n */\\nXPathResult.prototype.booleanValue;\\n\\n/**\\n * @type {boolean} {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-invalid-iterator-state\\n */\\nXPathResult.prototype.invalidInteratorState;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-numberValue\\n */\\nXPathResult.prototype.numberValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-resultType\\n */\\nXPathResult.prototype.resultType;\\n\\n/**\\n * @type {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue\\n */\\nXPathResult.prototype.singleNodeValue;\\n\\n/**\\n * @type {number}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshot-length\\n */\\nXPathResult.prototype.snapshotLength;\\n\\n/**\\n * @type {string}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-stringValue\\n */\\nXPathResult.prototype.stringValue;\\n\\n/**\\n * @return {Node}\\n * @throws XPathException {@see XPathException.TYPE_ERR}\\n * @throws DOMException {@see DOMException.INVALID_STATE_ERR}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-iterateNext\\n */\\nXPathResult.prototype.iterateNext = function() {};\\n\\n/**\\n * @param {number} index\\n * @return {Node}\\n * @throws XPathException\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-snapshotItem\\n */\\nXPathResult.prototype.snapshotItem = function(index) {};\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-TYPE\\n */\\nXPathResult.ANY_TYPE = 0;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-NUMBER-TYPE\\n */\\nXPathResult.NUMBER_TYPE = 1;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-STRING-TYPE\\n */\\nXPathResult.STRING_TYPE = 2;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-BOOLEAN-TYPE\\n */\\nXPathResult.BOOLEAN_TYPE = 3;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.UNORDERED_NODE_ITERATOR_TYPE = 4;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-ITERATOR-TYPE\\n */\\nXPathResult.ORDERED_NODE_ITERATOR_TYPE = 5;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-UNORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.UNORDERED_NODE_SNAPSHOT_TYPE = 6;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ORDERED-NODE-SNAPSHOT-TYPE\\n */\\nXPathResult.ORDERED_NODE_SNAPSHOT_TYPE = 7;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-ANY-UNORDERED-NODE-TYPE\\n */\\nXPathResult.ANY_UNORDERED_NODE_TYPE = 8;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-FIRST-ORDERED-NODE-TYPE\\n */\\nXPathResult.FIRST_ORDERED_NODE_TYPE = 9;\\n\\n/**\\n * @constructor\\n * @extends {Node}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace\\n */\\nfunction XPathNamespace() {}\\n\\n/**\\n * @type {Element}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNamespace-ownerElement\\n */\\nXPathNamespace.prototype.ownerElement;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPATH_NAMESPACE_NODE\\n */\\nXPathNamespace.XPATH_NAMESPACE_NODE = 13;\\n\\n/**\\n * From http://www.w3.org/TR/XMLHttpRequest/\\n *\\n * (Draft)\\n *\\n * The XMLHttpRequest Object specification defines an API that provides\\n * scripted client functionality for transferring data between a client and a\\n * server.\\n *\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object\\n */\\nfunction XMLHttpRequest() {}\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nXMLHttpRequest.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nXMLHttpRequest.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @param {string} method\\n * @param {string} url\\n * @param {?boolean=} opt_async\\n * @param {?string=} opt_user\\n * @param {?string=} opt_password\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method\\n */\\nXMLHttpRequest.prototype.open = function(method, url, opt_async, opt_user,\\n    opt_password) {};\\n\\n/**\\n * @param {string} header\\n * @param {string} value\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method\\n */\\nXMLHttpRequest.prototype.setRequestHeader = function(header, value) {};\\n\\n/**\\n * @param {ArrayBuffer|ArrayBufferView|Blob|Document|FormData|string=} opt_data\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method\\n */\\nXMLHttpRequest.prototype.send = function(opt_data) {};\\n\\n/**\\n * @return {undefined}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method\\n */\\nXMLHttpRequest.prototype.abort = function() {};\\n\\n/**\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method\\n */\\nXMLHttpRequest.prototype.getAllResponseHeaders = function() {};\\n\\n/**\\n * @param {string} header\\n * @return {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method\\n */\\nXMLHttpRequest.prototype.getResponseHeader = function(header) {};\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute\\n */\\nXMLHttpRequest.prototype.responseText;\\n\\n/**\\n * This is not supported in any IE browser (as of August 2016).\\n * @type {string}\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseURL\\n */\\nXMLHttpRequest.prototype.responseURL;\\n\\n/**\\n * @type {Document}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-responsexml-attribute\\n */\\nXMLHttpRequest.prototype.responseXML;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-readystate-attribute\\n */\\nXMLHttpRequest.prototype.readyState;\\n\\n/**\\n * @type {number}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute\\n */\\nXMLHttpRequest.prototype.status;\\n\\n/**\\n * @type {string}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#the-statustext-attribute\\n */\\nXMLHttpRequest.prototype.statusText;\\n\\n/**\\n * @type {Function}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onreadystatechange\\n */\\nXMLHttpRequest.pro';
a.a+='totype.onreadystatechange;\\n\\n/**\\n * @type {Function}\\n * @see http://www.w3.org/TR/XMLHttpRequest/#handler-xhr-onerror\\n */\\nXMLHttpRequest.prototype.onerror;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.UNSENT;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.OPENED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.HEADERS_RECEIVED;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.LOADING;\\n\\n/**\\n * @type {number}\\n * @see https://www.w3.org/TR/XMLHttpRequest/#states\\n */\\nXMLHttpRequest.DONE;\\n\\n/**\\n * The FormData object represents an ordered collection of entries. Each entry\\n * has a name and value.\\n *\\n * @param {?Element=} opt_form An optional form to use for constructing the form\\n *     data set.\\n * @constructor\\n * @see http://www.w3.org/TR/XMLHttpRequest2/#the-formdata-interface\\n */\\nfunction FormData(opt_form) {}\\n\\n/**\\n * @param {string} name\\n * @param {Blob|string} value\\n * @param {string=} opt_filename\\n * @return {undefined}\\n */\\nFormData.prototype.append = function(name, value, opt_filename) {};\\n","externs/window.js":"/*\\n * Copyright 2008 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview JavaScript Built-Ins for windows properties.\\n *\\n * @externs\\n * @author acleung@google.com (Alan Leung)\\n * @author stevey@google.com (Steve Yegge)\\n */\\n\\n// Window properties\\n// Only common properties are here.  Others such as open()\\n// should be used with an explicit Window object.\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/en/DOM/window.top\\n * @const\\n */\\nvar top;\\n\\n/**\\n * @type {!Navigator}\\n * @see https://developer.mozilla.org/en/DOM/window.navigator\\n * @const\\n */\\nvar navigator;\\n\\n/**\\n * @type {!HTMLDocument}\\n * @see https://developer.mozilla.org/en/DOM/window.document\\n * @const\\n */\\nvar document;\\n\\n/**\\n * @type {!Location}\\n * @see https://developer.mozilla.org/en/DOM/window.location\\n * @const\\n * @suppress {duplicate}\\n * @implicitCast\\n */\\nvar location;\\n\\n/**\\n * @type {!Screen}\\n * @see https://developer.mozilla.org/En/DOM/window.screen\\n * @const\\n */\\nvar screen;\\n\\n/**\\n * @type {!Window}\\n * @see https://developer.mozilla.org/En/DOM/Window.self\\n * @const\\n */\\nvar self;\\n\\n// Magic functions for Firefox\'s LiveConnect.\\n// We\'ll probably never use these in practice. But redefining them\\n// will fire up the JVM, so we want to reserve the symbol names.\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray\\n */\\nvar JavaArray;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaClass\\n */\\nvar JavaClass;\\n\\n// We just ripped this from the FF source; it doesn\'t appear to be\\n// publicly documented.\\nvar JavaMember;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaObject\\n */\\nvar JavaObject;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/JavaPackage\\n */\\nvar JavaPackage;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Packages\\n */\\nvar Packages;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/java\\n */\\nvar java;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/netscape\\n */\\nvar netscape;\\n\\n/**\\n * @see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/sun\\n */\\nvar sun;\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.alert\\n * @return {undefined}\\n */\\nfunction alert(x) {}\\n\\n/**\\n * @param {number|undefined|null} immediateID\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.clearImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh924825(v=vs.85).aspx\\n * @return {undefined}\\n */\\nfunction clearImmediate(immediateID) {}\\n\\n/**\\n * @param {number|undefined?} intervalID\\n * @see https://developer.mozilla.org/en/DOM/window.clearInterval\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearInterval(intervalID) {}\\n\\n/**\\n * @param {number|undefined?} timeoutID\\n * @see https://developer.mozilla.org/en/DOM/window.clearTimeout\\n * @suppress {duplicate}\\n * @return {undefined}\\n */\\nfunction clearTimeout(timeoutID) {}\\n\\n/**\\n * @param {*} message\\n * @return {boolean}\\n * @see https://developer.mozilla.org/en/DOM/window.confirm\\n */\\nfunction confirm(message) {}\\n\\n/**\\n * @see https://developer.mozilla.org/en/DOM/window.dump\\n * @param {*} x\\n * @return {undefined}\\n */\\nfunction dump(x) {}\\n\\n/**\\n * @param {string} message\\n * @param {string=} opt_value\\n * @return {?string}\\n * @see https://developer.mozilla.org/en/DOM/window.prompt\\n */\\nfunction prompt(message, opt_value) {}\\n\\n/**\\n * @param {function()} callback\\n * @return {number}\\n * @see https://developer.mozilla.org/en-US/docs/DOM/window.setImmediate\\n * @see http://msdn.microsoft.com/en-us/library/ie/hh773176(v=vs.85).aspx\\n */\\nfunction setImmediate(callback) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setInterval\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setInterval(callback, opt_delay) {}\\n\\n/**\\n * @param {Function|string} callback\\n * @param {number=} opt_delay\\n * @param {...*} var_args\\n * @return {number}\\n * @see https://developer.mozilla.org/en/DOM/window.setTimeout\\n * @see https://html.spec.whatwg.org/multipage/webappapis.html#timers\\n */\\nfunction setTimeout(callback, opt_delay, var_args) {}\\n\\n/**\\n * Returns whether the object has a property with the specified name.\\n *\\n * @param {*} propertyName Implicitly cast to a string.\\n * @return {boolean}\\n * @nosideeffects\\n * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty\\n */\\nfunction hasOwnProperty (propertyName) {}\\n","externs/webkit_notifications.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for W3C\'s Notifications specification.\\n * @externs\\n * @author atwilson@google.com (Drew Wilson)\\n */\\n\\n/**\\n * @typedef {{dir: (string|undefined), lang: (string|undefined),\\n *            body: (string|undefined), tag: (string|undefined),\\n *            icon: (string|undefined),\\n *            requireInteraction: (boolean|undefined)}}\\n * @see http://notifications.spec.whatwg.org/#notificationoptions\\n */\\nvar NotificationOptions;\\n\\n/**\\n * @typedef {{tag: (string|undefined)}}\\n * @see https://notifications.spec.whatwg.org/#dictdef-getnotificationoptions\\n */\\nvar GetNotificationOptions;\\n\\n/** @interface */\\nvar NotificationOptionsInterface_ = function() {}\\n/** @type {string} */ NotificationOptionsInterface_.prototype.dir;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.lang;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.body;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.tag;\\n/** @type {string} */ NotificationOptionsInterface_.prototype.icon;\\n/** @type {boolean} */\\n  NotificationOptionsInterface_.prototype.requireInteraction;\\n\\n/**\\n * @param {string} title\\n * @param {NotificationOptions=} opt_options\\n * @constructor\\n * @implements {EventTarget}\\n * @see http://notifications.spec.whatwg.org/#notification\\n */\\nfunction Notification(title, opt_options) {}\\n\\n/**\\n * @type {string}\\n */\\nNotification.permission;\\n\\n/**\\n * @param {NotificationPermissionCallback=} opt_callback\\n * @return {!Promise<string>}\\n */\\nNotification.requestPermission = function(opt_callback) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.addEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @param {boolean=} opt_useCapture\\n * @override\\n * @return {undefined}\\n */\\nNotification.prototype.removeEventListener =\\n    function(type, listener, opt_useCapture) {};\\n\\n/**\\n * @override\\n * @return {boolean}\\n */\\nNotification.prototype.dispatchEvent = function(evt) {};\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.title;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.body;\\n\\n/**\\n * @type {string}\\n */\\nNotification.prototype.icon;\\n\\n/**\\n * The string used by clients to identify the notification.\\n * @type {string}\\n */\\nNotification.prototype.tag;\\n\\n/**\\n * The ID used by clients to uniquely identify notifications to eliminate\\n * duplicate notifications.\\n * @type {string}\\n * @deprecated Use NotificationOptions.tag instead.\\n */\\nNotification.prototype.replaceId;\\n\\n/**\\n * The string used by clients to specify the directionality (rtl/ltr) of the\\n * notification.\\n * @type {string}\\n * @deprecated Use NotificationOptions.titleDir and bodyDir instead.\\n */\\nNotification.prototype.dir;\\n\\n/**\\n * Displays the notification.\\n * @return {undefined}\\n */\\nNotification.prototype.show = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.cancel = function() {};\\n\\n/**\\n * Prevents the notification from being displayed, or closes it if it is already\\n * displayed.\\n * @return {undefined}\\n */\\nNotification.prototype.close = function() {};\\n\\n/**\\n * An event handler called when notification is closed.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclose;\\n\\n/**\\n * An event handler called if the notification could not be displayed due to\\n * an error (i.e. resource could not be loaded).\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onerror;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n * @deprecated Use onshow instead.\\n */\\nNotification.prototype.ondisplay;\\n\\n/**\\n * An event handler called when the notification has become visible.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onshow;\\n\\n/**\\n * An event handler called when the notification has been clicked on.\\n * @type {?function(Event)}\\n */\\nNotification.prototype.onclick;\\n\\n\\n\\n/**\\n * @typedef {function(string)}\\n * @see http://notifications.spec.whatwg.org/#notificationpermissioncallback\\n */\\nvar NotificationPermissionCallback;\\n\\n/**\\n * @constructor\\n * @see http://dev.w3.org/2006/webapi/WebNotifications/publish/#dialog-if\\n * @deprecated Use Notification instead.\\n */\\nfunction NotificationCenter() {}\\n\\n/**\\n * Creates a text+icon notification and displays it to the user.\\n * @param {string} iconUrl\\n * @param {string} title\\n * @param {string} body\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createNotification =\\n    function(iconUrl, title, body) {};\\n\\n/**\\n * Creates an HTML notification and displays it to the user.\\n * @param {string} url\\n * @return {Notification}\\n */\\nNotificationCenter.prototype.createHTMLNotification = function(url) {};\\n\\n/**\\n * Checks if the user has permission to display notifications.\\n * @return {number}\\n */\\nNotificationCenter.prototype.checkPermission = function() {};\\n\\n/**\\n * Requests permission from the user to display notifications.\\n * @param {Function=} opt_callback\\n * @return {void}\\n */\\nNotificationCenter.prototype.requestPermission = function(opt_callback) {};\\n\\n/**\\n * WebKit browsers expose the NotificationCenter API through\\n * window.webkitNotifications.\\n * @type {NotificationCenter}\\n */\\nWindow.prototype.webkitNotifications;\\n\\n\\n/**\\n * @see https://notifications.spec.whatwg.org/#notificationevent\\n * @constructor\\n * @param {string} type\\n * @param {!ExtendableEventInit=} opt_eventInitDict\\n * @extends {ExtendableEvent}\\n */\\nfunction NotificationEvent(type, opt_eventInitDict) {}\\n\\n/** @type {?Notification} */\\nNotificationEvent.prototype.notification;\\n","externs/webkit_usercontent.js":"/*\\n * Copyright 2016 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions for WKWebView\'s User Content interface.\\n *   https://developer.apple.com/library/prerelease/ios/documentation/WebKit/Reference/WKUserContentController_Ref/\\n *   https://trac.webkit.org/browser/trunk/Source/WebCore/page/WebKitNamespace.h\\n *\\n * @externs\\n */\\n\\n/** @constructor */\\nfunction WebKitNamespace() {}\\n\\n\\n/**\\n * @type {!UserMessageHandlersNamespace}\\n */\\nWebKitNamespace.prototype.messageHandlers;\\n\\n\\n/**\\n * @constructor\\n * @implements {IObject<string, UserMessageHandler>}\\n */\\nfunction UserMessageHandlersNamespace() {}\\n\\n\\n/** @constructor */\\nfunction UserMessageHandler() {}\\n\\n\\n/**\\n * @param {*} message\\n * @return {undefined}\\n */\\nUserMessageHandler.prototype.postMessage = function(message) {};\\n\\n\\n/**\\n * @type {!WebKitNamespace}\\n * @const\\n */\\nvar webkit;\\n","externs/webgl.js":"/*\\n * Copyright 2010 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Definitions for WebGL functions as described at\\n * http://www.khronos.org/registry/webgl/specs/latest/\\n *\\n * This file is current up to the WebGL 1.0.1 spec, including extensions.\\n *\\n * This relies on html5.js being included for Canvas and Typed Array support.\\n *\\n * This includes some extensions defined at\\n * http://www.khronos.org/registry/webgl/extensions/\\n *\\n * @externs\\n */\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLRenderingContext() {}\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_STRIP;';
a.a+="\\n\\n/** @type {number} */\\nWebGLRenderingContext.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.IMPLEMENTATION_COLOR_READ_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBU";
a.a+="FFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_BUFFER_BIT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POINTS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_LOOP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_STRIP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TRIANGLE_FAN;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ZERO;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_DST_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SRC_ALPHA_SATURATE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_ADD;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_EQUATION_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FUNC_REVERSE_SUBTRACT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_DST_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_SRC_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ONE_MINUS_CONSTANT_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND_COLOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ELEMENT_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STREAM_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STATIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DYNAMIC_DRAW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BUFFER_USAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_VERTEX_ATTRIB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_AND_BACK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLEND;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DITHER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_TEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FILL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_ALPHA_TO_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NO_ERROR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_ENUM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.OUT_OF_MEMORY;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CCW;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINE_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_POINT_SIZE_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALIASED_LINE_WIDTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CULL_FACE_MODE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRONT_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_RANGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FUNC;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_FAIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_PASS_DEPTH_PASS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_REF;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_VALUE_MASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BACK_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VIEWPORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SCISSOR_BOX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_CLEAR_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_WRITEMASK;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.PACK_ALIGNMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VIEWPORT_DIMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SUBPIXEL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RED_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREEN_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BLUE_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_BITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.POLYGON_OFFSET_FACTOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_BUFFERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_VALUE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLE_COVERAGE_INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPRESSED_TEXTURE_FORMATS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DONT_CARE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FASTEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NICEST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GENERATE_MIPMAP_HINT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_BYTE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LUMINANCE_ALPHA;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_4_4_4_4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_5_5_1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNSIGNED_SHORT_5_6_5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAGMENT_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_SHADER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_ATTRIBS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VARYING_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_COMBINED_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_VERTEX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_TEXTURE_IMAGE_UNITS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_FRAGMENT_UNIFORM_VECTORS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADER_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DELETE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINK_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VALIDATE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ATTACHED_SHADERS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_UNIFORMS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_ATTRIBUTES;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SHADING_LANGUAGE_VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CURRENT_PROGRAM;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEVER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LESS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.EQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GREATER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NOTEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.GEQUAL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ALWAYS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.KEEP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPLACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVERT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INCR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DECR_WRAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VENDOR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERSION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_NEAREST;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NEAREST_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LINEAR_MIPMAP_LINEAR;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MAG_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_MIN_FILTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_S;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_WRAP_T;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_BINDING_CUBE_MAP;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_X;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Y;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_POSITIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE_CUBE_MAP_NEGATIVE_Z;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_CUBE_MAP_TEXTURE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE0;\\n\\n/** @type {number} */\\nWebGL";
a.a+="RenderingContext.prototype.TEXTURE1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE5;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE6;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE7;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE9;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE10;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE11;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE12;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE13;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE14;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE15;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE17;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE18;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE19;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE20;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE21;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE22;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE23;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE24;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE25;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE26;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE27;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE28;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE29;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE30;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.TEXTURE31;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.ACTIVE_TEXTURE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CLAMP_TO_EDGE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MIRRORED_REPEAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INT_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BOOL_VEC4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT2;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT3;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FLOAT_MAT4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_2D;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.SAMPLER_CUBE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_ENABLED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_STRIDE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_NORMALIZED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_POINTER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COMPILE_STATUS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_FLOAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.LOW_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MEDIUM_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.HIGH_INT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGBA4;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB5_A1;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RGB565;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_COMPONENT16;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_INDEX8;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_WIDTH;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_HEIGHT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_INTERNAL_FORMAT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_RED_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_GREEN_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BLUE_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_ALPHA_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_DEPTH_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_STENCIL_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.COLOR_ATTACHMENT0;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.DEPTH_STENCIL_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.NONE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_COMPLETE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_INCOMPLETE_DIMENSIONS;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_UNSUPPORTED;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.FRAMEBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.RENDERBUFFER_BINDING;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.MAX_RENDERBUFFER_SIZE;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.INVALID_FRAMEBUFFER_OPERATION;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_FLIP_Y_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_PREMULTIPLY_ALPHA_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.CONTEXT_LOST_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.UNPACK_COLORSPACE_CONVERSION_WEBGL;\\n\\n/** @type {number} */\\nWebGLRenderingContext.prototype.BROWSER_DEFAULT_WEBGL;\\n\\n\\n/**\\n * @type {!HTMLCanvasElement}\\n */\\nWebGLRenderingContext.prototype.canvas;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferWidth;\\n\\n/**\\n * @type {number}\\n */\\nWebGLRenderingContext.prototype.drawingBufferHeight;\\n\\n/**\\n * @return {!WebGLContextAttributes}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getContextAttributes = function() {};\\n\\n/**\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isContextLost = function() {};\\n\\n/**\\n * @return {!Array<string>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getSupportedExtensions = function() {};\\n\\n/**\\n * Note that this has side effects by enabling the extension even if the\\n * result is not used.\\n * @param {string} name\\n * @return {Object}\\n */\\nWebGLRenderingContext.prototype.getExtension = function(name) {};\\n\\n/**\\n * @param {number} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.activeTexture = function(texture) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.attachShader = function(program, shader) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @param {string} name\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindAttribLocation = function(\\n    program, index, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindBuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindFramebuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindRenderbuffer = function(target, buffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bindTexture = function(target, texture) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquation = function(mode) {};\\n\\n/**\\n * @param {number} modeRGB\\n * @param {number} modeAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendEquationSeparate = function(\\n    modeRGB, modeAlpha) {};\\n\\n/**\\n * @param {number} sfactor\\n * @param {number} dfactor\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFunc = function(sfactor, dfactor) {};\\n\\n/**\\n * @param {number} srcRGB\\n * @param {number} dstRGB\\n * @param {number} srcAlpha\\n * @param {number} dstAlpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.blendFuncSeparate = function(\\n    srcRGB, dstRGB, srcAlpha, dstAlpha) {};\\n\\n/**\\n * @param {number} target\\n * @param {ArrayBufferView|ArrayBuffer|number} data\\n * @param {number} usage\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferData = function(target, data, usage) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} offset\\n * @param {ArrayBufferView|ArrayBuffer} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.bufferSubData = function(\\n    target, offset, data) {};\\n\\n/**\\n * @param {number} target\\n * @return {number}\\n */\\nWebGLRenderingContext.prototype.checkFramebufferStatus = function(target) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clear = function(mask) {};\\n\\n/**\\n * @param {number} red\\n * @param {number} green\\n * @param {number} blue\\n * @param {number} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearColor = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {number} depth\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearDepth = function(depth) {};\\n\\n/**\\n * @param {number} s\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.clearStencil = function(s) {};\\n\\n/**\\n * @param {boolean} red\\n * @param {boolean} green\\n * @param {boolean} blue\\n * @param {boolean} alpha\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.colorMask = function(\\n    red, green, blue, alpha) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compileShader = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexImage2D = function(\\n    target, level, internalformat, width, height, border, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {ArrayBufferView} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.compressedTexSubImage2D = function(\\n    target, level, xoffset, yoffset, width, height, format, data) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} format\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} border\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexImage2D = function(\\n    target, level, format, x, y, width, height, border) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.copyTexSubImage2D = function(\\n    target, level, xoffset, yoffset, x, y, width, height) {};\\n\\n/**\\n * @return {!WebGLBuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createBuffer = function() {};\\n\\n/**\\n * @return {!WebGLFramebuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createFramebuffer = function() {};\\n\\n/**\\n * @return {!WebGLProgram}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createProgram = function() {};\\n\\n/**\\n * @return {!WebGLRenderbuffer}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createRenderbuffer = function() {};\\n\\n/**\\n * @param {number} type\\n * @return {!WebGLShader}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createShader = function(type) {};\\n\\n/**\\n * @return {!WebGLTexture}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.createTexture = function() {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.cullFace = function(mode) {};\\n\\n/**\\n * @param {WebGLBuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteBuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLFramebuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteFramebuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteProgram = function(program) {};\\n\\n/**\\n * @param {WebGLRenderbuffer} buffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteRenderbuffer = function(buffer) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteShader = function(shader) {};\\n\\n/**\\n * @param {WebGLTexture} texture\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.deleteTexture = function(texture) {};\\n\\n/**\\n * @param {number} func\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthFunc = function(func) {};\\n\\n/**\\n * @param {boolean} flag\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthMask = function(flag) {};\\n\\n/**\\n * @param {number} nearVal\\n * @param {number} farVal\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.depthRange = function(nearVal, farVal) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLShader} shader\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.detachShader = function(program, shader) {};\\n\\n/**\\n * @param {number";
a.a+="} flags\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disable = function(flags) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.disableVertexAttribArray = function(\\n    index) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} first\\n * @param {number} count\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawArrays = function(mode, first, count) {};\\n\\n/**\\n * @param {number} mode\\n * @param {number} count\\n * @param {number} type\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.drawElements = function(\\n    mode, count, type, offset) {};\\n\\n/**\\n * @param {number} cap\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enable = function(cap) {};\\n\\n/**\\n * @param {number} index\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.enableVertexAttribArray = function(\\n    index) {};\\n\\nWebGLRenderingContext.prototype.finish = function() {};\\n\\nWebGLRenderingContext.prototype.flush = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} renderbuffertarget\\n * @param {WebGLRenderbuffer} renderbuffer\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferRenderbuffer = function(\\n    target, attachment, renderbuffertarget, renderbuffer) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} textarget\\n * @param {WebGLTexture} texture\\n * @param {number} level\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.framebufferTexture2D = function(\\n    target, attachment, textarget, texture, level) {};\\n\\n/**\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.frontFace = function(mode) {};\\n\\n/**\\n * @param {number} target\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.generateMipmap = function(target) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveAttrib = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} index\\n * @return {WebGLActiveInfo}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getActiveUniform = function(program, index) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {!Array<WebGLShader>}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttachedShaders = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getAttribLocation = function(program, name) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getBufferParameter = function(target, pname) {};\\n\\n/**\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getParameter = function(pname) {};\\n\\n/**\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getError = function() {};\\n\\n/**\\n * @param {number} target\\n * @param {number} attachment\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getFramebufferAttachmentParameter = function(\\n    target, attachment, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramParameter = function(\\n    program, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getProgramInfoLog = function(program) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getRenderbufferParameter = function(\\n    target, pname) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderParameter = function(shader, pname) {};\\n\\n/**\\n * @param {number} shadertype\\n * @param {number} precisiontype\\n * @return {WebGLShaderPrecisionFormat}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderPrecisionFormat = function(shadertype,\\n    precisiontype) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderInfoLog = function(shader) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getShaderSource = function(shader) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getTexParameter = function(target, pname) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {WebGLUniformLocation} location\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniform = function(program, location) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @param {string} name\\n * @return {WebGLUniformLocation}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getUniformLocation = function(program, name) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {*}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttrib = function(index, pname) {};\\n\\n/**\\n * @param {number} index\\n * @param {number} pname\\n * @return {number}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.getVertexAttribOffset = function(\\n    index, pname) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} mode\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.hint = function(target, mode) {};\\n\\n/**\\n * @param {WebGLObject} buffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isBuffer = function(buffer) {};\\n\\n/**\\n * @param {number} cap\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isEnabled = function(cap) {};\\n\\n/**\\n * @param {WebGLObject} framebuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isFramebuffer = function(framebuffer) {};\\n\\n/**\\n * @param {WebGLObject} program\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isProgram = function(program) {};\\n\\n/**\\n * @param {WebGLObject} renderbuffer\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isRenderbuffer = function(renderbuffer) {};\\n\\n/**\\n * @param {WebGLObject} shader\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isShader = function(shader) {};\\n\\n/**\\n * @param {WebGLObject} texture\\n * @return {boolean}\\n * @nosideeffects\\n */\\nWebGLRenderingContext.prototype.isTexture = function(texture) {};\\n\\n/**\\n * @param {number} width\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.lineWidth = function(width) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.linkProgram = function(program) {};\\n\\n/**\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.pixelStorei = function(pname, param) {};\\n\\n/**\\n * @param {number} factor\\n * @param {number} units\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.polygonOffset = function(factor, units) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @param {number} format\\n * @param {number} type\\n * @param {ArrayBufferView} pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.readPixels = function(\\n    x, y, width, height, format, type, pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} internalformat\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.renderbufferStorage = function(\\n    target, internalformat, width, height) {};\\n\\n/**\\n * @param {number} coverage\\n * @param {boolean} invert\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.sampleCoverage = function(coverage, invert) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.scissor = function(x, y, width, height) {};\\n\\n/**\\n * @param {WebGLShader} shader\\n * @param {string} source\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.shaderSource = function(shader, source) {};\\n\\n/**\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFunc = function(func, ref, mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} func\\n * @param {number} ref\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilFuncSeparate = function(\\n    face, func, ref, mask) {};\\n\\n/**\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMask = function(mask) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} mask\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilMaskSeparate = function(face, mask) {};\\n\\n/**\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOp = function(fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} face\\n * @param {number} fail\\n * @param {number} zfail\\n * @param {number} zpass\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.stencilOpSeparate = function(\\n    face, fail, zfail, zpass) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} internalformat\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} img or border\\n * @param {number=} opt_format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texImage2D = function(\\n    target, level, internalformat, format, type, img, opt_format, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameterf = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} pname\\n * @param {number} param\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texParameteri = function(\\n    target, pname, param) {};\\n\\n/**\\n * @param {number} target\\n * @param {number} level\\n * @param {number} xoffset\\n * @param {number} yoffset\\n * @param {number} format or width\\n * @param {number} type or height\\n * @param {ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement|\\n *     number} data or format\\n * @param {number=} opt_type\\n * @param {ArrayBufferView=} opt_pixels\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.texSubImage2D = function(\\n    target, level, xoffset, yoffset, format, type, data, opt_type,\\n    opt_pixels) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1f = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1i = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform1iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2f = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2i = function(\\n    location, value1, value2) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform2iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3f = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3i = function(\\n    location, value1, value2, value3) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform3iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number} value1\\n * @param {number} value2\\n * @param {number} value3\\n * @param {number} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4f = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Float32Array|Array<number>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4fv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {number|boolean} value1\\n * @param {number|boolean} value2\\n * @param {number|boolean} value3\\n * @param {number|boolean} value4\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4i = function(\\n    location, value1, value2, value3, value4) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {Int32Array|Array<number>|Array<boolean>} value\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniform4iv = function(location, value) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix2fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix3fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLUniformLocation} location\\n * @param {boolean} transpose\\n * @param {Float32Array|Array<number>} data\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.uniformMatrix4fv = function(\\n    location, transpose, data) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.useProgram = function(program) {};\\n\\n/**\\n * @param {WebGLProgram} program\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.validateProgram = function(program) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1f = function(indx, x) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib1fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @return {undefin";
a.a+="ed}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2f = function(\\n    indx, x, y) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib2fv = function(\\n    indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3f = function(\\n    indx, x, y, z) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib3fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} x\\n * @param {number} y\\n * @param {number} z\\n * @param {number} w\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4f = function(\\n    indx, x, y, z, w) {};\\n\\n/**\\n * @param {number} indx\\n * @param {Float32Array|Array<number>} values\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttrib4fv = function(indx, values) {};\\n\\n/**\\n * @param {number} indx\\n * @param {number} size\\n * @param {number} type\\n * @param {boolean} normalized\\n * @param {number} stride\\n * @param {number} offset\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.vertexAttribPointer = function(\\n    indx, size, type, normalized, stride, offset) {};\\n\\n/**\\n * @param {number} x\\n * @param {number} y\\n * @param {number} width\\n * @param {number} height\\n * @return {undefined}\\n */\\nWebGLRenderingContext.prototype.viewport = function(x, y, width, height) {};\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLContextAttributes() {}\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.alpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.depth;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.stencil;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.antialias;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.premultipliedAlpha;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preserveDrawingBuffer;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.preferLowPowerToHighPerformance;\\n\\n/**\\n * @type {boolean}\\n */\\nWebGLContextAttributes.prototype.failIfMajorPerformanceCaveat;\\n\\n/**\\n * @param {string} eventType\\n * @constructor\\n * @noalias\\n * @extends {Event}\\n */\\nfunction WebGLContextEvent(eventType) {}\\n\\n/**\\n * @type {string}\\n */\\nWebGLContextEvent.prototype.statusMessage;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLShaderPrecisionFormat() {}\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMin;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.rangeMax;\\n\\n/**\\n * @type {number}\\n */\\nWebGLShaderPrecisionFormat.prototype.precision;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLObject() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLBuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLFramebuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLProgram() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLRenderbuffer() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLShader() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLTexture() {}\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLActiveInfo() {}\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.size;\\n\\n/** @type {number} */\\nWebGLActiveInfo.prototype.type;\\n\\n/** @type {string} */\\nWebGLActiveInfo.prototype.name;\\n\\n\\n/**\\n * @constructor\\n * @noalias\\n */\\nfunction WebGLUniformLocation() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_float() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_texture_half_float() {}\\n\\n/** @type {number} */\\nOES_texture_half_float.prototype.HALF_FLOAT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_lose_context() {}\\n\\nWEBGL_lose_context.prototype.loseContext = function() {};\\n\\nWEBGL_lose_context.prototype.restoreContext = function() {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_standard_derivatives() {}\\n\\n/** @type {number} */\\nOES_standard_derivatives.prototype.FRAGMENT_SHADER_DERIVATIVE_HINT_OES;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n * @extends {WebGLObject}\\n */\\nfunction WebGLVertexArrayObjectOES() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_vertex_array_object() {}\\n\\n/** @type {number} */\\nOES_vertex_array_object.prototype.VERTEX_ARRAY_BINDING_OES;\\n\\n/**\\n * @return {WebGLVertexArrayObjectOES}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.createVertexArrayOES = function() {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.deleteVertexArrayOES =\\n    function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {boolean}\\n * @nosideeffects\\n */\\nOES_vertex_array_object.prototype.isVertexArrayOES = function(arrayObject) {};\\n\\n/**\\n * @param {WebGLVertexArrayObjectOES} arrayObject\\n * @return {undefined}\\n */\\nOES_vertex_array_object.prototype.bindVertexArrayOES = function(arrayObject) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_renderer_info() {}\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_VENDOR_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_debug_renderer_info.prototype.UNMASKED_RENDERER_WEBGL;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_debug_shaders() {}\\n\\n/**\\n * @param {WebGLShader} shader\\n * @return {string}\\n * @nosideeffects\\n */\\nWEBGL_debug_shaders.prototype.getTranslatedShaderSource = function(shader) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_compressed_texture_s3tc() {}\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGB_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT1_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT3_EXT;\\n\\n/** @type {number} */\\nWEBGL_compressed_texture_s3tc.prototype.COMPRESSED_RGBA_S3TC_DXT5_EXT;\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_depth_texture/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_depth_texture() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/\\n * @constructor\\n * @noalias\\n */\\nfunction OES_element_index_uint() {}\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/\\n * @constructor\\n * @noalias\\n */\\nfunction EXT_texture_filter_anisotropic() {}\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n/** @type {number} */\\nEXT_texture_filter_anisotropic.prototype.MAX_TEXTURE_MAX_ANISOTROPY_EXT;\\n\\n\\n/**\\n * @see https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/\\n * @constructor\\n * @noalias\\n */\\nfunction WEBGL_draw_buffers() {}\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.COLOR_ATTACHMENT15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER0_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER1_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER2_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER3_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER4_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER5_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER6_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER7_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER8_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER9_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER10_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER11_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER12_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER13_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER14_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.DRAW_BUFFER15_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_COLOR_ATTACHMENTS_WEBGL;\\n\\n/** @type {number} */\\nWEBGL_draw_buffers.prototype.MAX_DRAW_BUFFERS_WEBGL;\\n\\n/**\\n * @param {Array<number>} buffers Draw buffers.\\n * @return {undefined}\\n */\\nWEBGL_draw_buffers.prototype.drawBuffersWEBGL = function(buffers) {};\\n\\n\\n/**\\n * @see http://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/\\n * @constructor\\n * @noalias\\n */\\nfunction ANGLE_instanced_arrays() {}\\n\\n\\n/** @type {number} */\\nANGLE_instanced_arrays.prototype.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE;\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} first First vertex.\\n * @param {number} count Number of vertices per instance.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawArraysInstancedANGLE = function(\\n    mode, first, count, primcount) {};\\n\\n\\n/**\\n * @param {number} mode Primitive type.\\n * @param {number} count Number of vertex indices per instance.\\n * @param {number} type Type of a vertex index.\\n * @param {number} offset Offset to the first vertex index.\\n * @param {number} primcount Number of instances.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.drawElementsInstancedANGLE = function(\\n    mode, count, type, offset, primcount) {};\\n\\n\\n/**\\n * @param {number} index Attribute index.\\n * @param {number} divisor Instance divisor.\\n * @return {undefined}\\n */\\nANGLE_instanced_arrays.prototype.vertexAttribDivisorANGLE = function(\\n    index, divisor) {};\\n\\n\",\"externs/fetchapi.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Definitions of the fetch api.\\n *\\n * This api is still in development and not yet stable. Use at your\\n * own risk.\\n *\\n * Based on Living Standard \u2014 Last Updated 17 August 2016\\n *\\n * @see https://fetch.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/**\\n * @enum {string}\\n * @see https://w3c.github.io/webappsec-referrer-policy/#enumdef-referrerpolicy\\n */\\nvar ReferrerPolicy = {\\n  NONE: '',\\n  NO_REFERRER: 'no-referrer',\\n  NO_REFERRER_WHEN_DOWNGRADE: 'no-referrer-when-downgrade',\\n  SAMEO_RIGIN: 'same-origin',\\n  ORIGIN: 'origin',\\n  STRICT_ORIGIN: 'strict-origin',\\n  ORIGIN_WHEN_CROSS_ORIGIN: 'origin-when-cross-origin',\\n  STRICT_ORIGIN_WHEN_CROSS_ORIGIN: 'strict-origin-when-cross-origin',\\n  UNSAFE_URL: 'unsafe-url'\\n};\\n\\n\\n/**\\n * @typedef {!Headers|!Array<!Array<string>>|!IObject<string,string>}\\n * @see https://fetch.spec.whatwg.org/#headersinit\\n */\\nvar HeadersInit;\\n\\n\\n/**\\n * @param {!HeadersInit=} opt_headersInit\\n * @constructor\\n * @implements {Iterable<!Array<string>>}\\n * @see https://fetch.spec.whatwg.org/#headers\\n */\\nfunction Headers(opt_headersInit) {}\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.append = function(name, value) {};\\n\\n/**\\n * @param {string} name\\n * @return {undefined}\\n */\\nHeaders.prototype.delete = function(name) {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype.entries = function() {};\\n\\n/**\\n * @param {string} name\\n * @return {?string}\\n */\\nHeaders.prototype.get = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {!Array<string>}\\n */\\nHeaders.prototype.getAll = function(name) {};\\n\\n/**\\n * @param {string} name\\n * @return {boolean}\\n */\\nHeaders.prototype.has = function(name) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.keys = function() {};\\n\\n/**\\n * @param {string} name\\n * @param {string} value\\n * @return {undefined}\\n */\\nHeaders.prototype.set = function(name, value) {};\\n\\n/** @return {!Iterator<string>} */\\nHeaders.prototype.values = function() {};\\n\\n/** @return {!Iterator<!Array<string>>} */\\nHeaders.prototype[Symbol.iterator] = function() {};\\n\\n\\n/**\\n * @typedef {!Blob|!BufferSource|!FormData|string}\\n * @see https://fetch.spec.whatwg.org/#bodyinit\\n */\\nvar BodyInit;\\n\\n\\n/**\\n * @typedef {!BodyInit|!ReadableStream}\\n * @see https://fetch.spec.whatwg.org/#responsebodyinit\\n */\\nvar ResponseBodyInit;\\n\\n\\n/**\\n * @interface\\n * @see https://fetch.spec.whatwg.org/#body\\n */\\nfunction Body() {};\\n\\n/** @type {boolean} */\\nBody.prototype.bodyUsed;\\n\\n/** @return {!Promise<!ArrayBuffer>} */\\nBody.prototype.arrayBuffer = function() {};\\n\\n/** @return {!Promise<!Blob>} */\\nBody.prototype.blob = function() {};\\n\\n/** @return {!Promise<!FormData>} */\\nBody.prototype.formData = function() {};\\n\\n/** @return {!Promise<*>} */\\nBody.prototype.json = function() {};\\n\\n/** @return {!Promise<string>} */\\nBody.prototype.text = function() {};\\n\\n\\n/**\\n * @typedef {!Request|string}\\n * @see https://fetch.spec.whatwg.org/#requestinfo\\n */\\nvar RequestInfo;\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#request\\n */\\nfunction Request(input, opt_init) {}\\n\\n/** @override */\\nRequest.prototype.bodyUsed;\\n\\n/** @override */\\nRequest.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nRequest.prototype.blob = function() {};\\n\\n/** @override */\\nRequest.prototype.formData = function() {};\\n\\n/** @override */\\nRequest.prototype.json = function() {};\\n\\n/** @override *";
a.a+="/\\nRequest.prototype.text = function() {};\\n\\n/** @type {string} */\\nRequest.prototype.method;\\n\\n/** @type {string} */\\nRequest.prototype.url;\\n\\n/** @type {!Headers} */\\nRequest.prototype.headers;\\n\\n/** @type {!FetchRequestType} */\\nRequest.prototype.type;\\n\\n/** @type {!RequestDestination} */\\nRequest.prototype.destination;\\n\\n/** @type {string} */\\nRequest.prototype.referrer;\\n\\n/** @type {!RequestMode} */\\nRequest.prototype.mode;\\n\\n/** @type {!RequestCredentials} */\\nRequest.prototype.credentials;\\n\\n/** @type {!RequestCache} */\\nRequest.prototype.cache;\\n\\n/** @type {!RequestRedirect} */\\nRequest.prototype.redirect;\\n\\n/** @type {string} */\\nRequest.prototype.integrity;\\n\\n/** @return {!Request} */\\nRequest.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#requestinit\\n */\\nfunction RequestInit() {};\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.method;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nRequestInit.prototype.headers;\\n\\n/** @type {(undefined|?BodyInit)} */\\nRequestInit.prototype.body;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.referrer;\\n\\n/** @type {(undefined|!ReferrerPolicy)} */\\nRequestInit.prototype.referrerPolicy;\\n\\n/** @type {(undefined|!RequestMode)} */\\nRequestInit.prototype.mode;\\n\\n/** @type {(undefined|!RequestCredentials)} */\\nRequestInit.prototype.credentials;\\n\\n/** @type {(undefined|!RequestCache)} */\\nRequestInit.prototype.cache;\\n\\n/** @type {(undefined|!RequestRedirect)} */\\nRequestInit.prototype.redirect;\\n\\n/** @type {(undefined|string)} */\\nRequestInit.prototype.intergrity;\\n\\n/** @type {(undefined|null)} */\\nRequestInit.prototype.window;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requesttype\\n */\\nvar FetchRequestType = {\\n  NONE: '',\\n  AUDIO: 'audio',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  SCRIPT: 'script',\\n  STYLE: 'style',\\n  TRACK: 'track',\\n  VIDEO: 'video'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestdestination\\n */\\nvar RequestDestination = {\\n  NONE: '',\\n  DOCUMENT: 'document',\\n  EMBED: 'embed',\\n  FONT: 'font',\\n  IMAGE: 'image',\\n  MANIFEST: 'manifest',\\n  MEDIA: 'media',\\n  OBJECT: 'object',\\n  REPORT: 'report',\\n  SCRIPT: 'script',\\n  SERVICEWORKER: 'serviceworker',\\n  SHAREDWORKER: 'sharedworker',\\n  STYLE: 'style',\\n  WORKER: 'worker',\\n  XSLT: 'xslt'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestmode\\n */\\nvar RequestMode = {\\n  NAVIGATE: 'navigate',\\n  SAME_ORIGIN: 'same-origin',\\n  NO_CORS: 'no-cors',\\n  CORS: 'cors'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcredentials\\n */\\nvar RequestCredentials = {\\n  OMIT: 'omit',\\n  SAME_ORIGIN: 'same-origin',\\n  INCLUDE: 'include'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestcache\\n */\\nvar RequestCache = {\\n  DEFAULT: 'default',\\n  NO_STORE: 'no-store',\\n  RELOAD: 'reload',\\n  NO_CACHE: 'no-cache',\\n  FORCE_CACHE: 'force-cache',\\n  ONLY_IF_CACHED: 'only-if-cached'\\n};\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#requestredirect\\n */\\nvar RequestRedirect = {\\n  FOLLOW: 'follow',\\n  ERROR: 'error',\\n  MANUAL: 'manual'\\n};\\n\\n\\n/**\\n * @param {?ResponseBodyInit=} opt_body\\n * @param {!ResponseInit=} opt_init\\n * @constructor\\n * @implements {Body}\\n * @see https://fetch.spec.whatwg.org/#response\\n */\\nfunction Response(opt_body, opt_init) {}\\n\\n/** @return {!Response} */\\nResponse.error = function() {};\\n\\n/**\\n * @param {string} url\\n * @param {number=} opt_status\\n * @return {!Response}\\n */\\nResponse.redirect = function(url, opt_status) {};\\n\\n/** @override */\\nResponse.prototype.bodyUsed;\\n\\n/** @override */\\nResponse.prototype.arrayBuffer = function() {};\\n\\n/** @override */\\nResponse.prototype.blob = function() {};\\n\\n/** @override */\\nResponse.prototype.formData = function() {};\\n\\n/** @override */\\nResponse.prototype.json = function() {};\\n\\n/** @override */\\nResponse.prototype.text = function() {};\\n\\n/** @type {!ResponseType} */\\nResponse.prototype.type;\\n\\n/** @type {string} */\\nResponse.prototype.url;\\n\\n/** @type {boolean} */\\nResponse.prototype.redirected;\\n\\n/** @type {number} */\\nResponse.prototype.status;\\n\\n/** @type {boolean} */\\nResponse.prototype.ok;\\n\\n/** @type {string} */\\nResponse.prototype.statusText;\\n\\n/** @type {!Headers} */\\nResponse.prototype.headers;\\n\\n/** @type {?ReadableStream} */\\nResponse.prototype.body;\\n\\n/** @type {!Promise<!Headers>} */\\nResponse.prototype.trailer;\\n\\n/** @return {!Response} */\\nResponse.prototype.clone = function() {};\\n\\n\\n/**\\n * @record\\n * @see https://fetch.spec.whatwg.org/#responseinit\\n */\\nfunction ResponseInit() {};\\n\\n/** @type {(undefined|number)} */\\nResponseInit.prototype.status;\\n\\n/** @type {(undefined|string)} */\\nResponseInit.prototype.statusText;\\n\\n/** @type {(undefined|!HeadersInit)} */\\nResponseInit.prototype.headers;\\n\\n\\n/**\\n * @enum {string}\\n * @see https://fetch.spec.whatwg.org/#responsetype\\n */\\nvar ResponseType = {\\n  BASIC: 'basic',\\n  CORS: 'cors',\\n  DEFAULT: 'default',\\n  ERROR: 'error',\\n  OPAQUE: 'opaque',\\n  OPAQUEREDIRECT: 'opaqueredirect'\\n};\\n\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nfunction fetch(input, opt_init) {}\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWindow.prototype.fetch = function(input, opt_init) {};\\n\\n/**\\n * @param {!RequestInfo} input\\n * @param {!RequestInit=} opt_init\\n * @return {!Promise<!Response>}\\n * @see https://fetch.spec.whatwg.org/#fetch-method\\n */\\nWorkerGlobalScope.prototype.fetch = function(input, opt_init) {};\\n\",\"externs/streamsapi.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n/**\\n * @fileoverview Streams API definitions\\n *\\n * Based on Living Standard \u2014 Last Updated 5 August 2016\\n * https://streams.spec.whatwg.org/commit-snapshots/34ecaadbcce8df9943d7a2cdb7fca4dc25914df4/\\n *\\n * @see https://streams.spec.whatwg.org/\\n * @externs\\n */\\n\\n\\n/** @typedef {{ value:*, done:boolean }} */\\nvar IteratorResult;\\n\\n\\n/**\\n * @typedef {!CountQueuingStrategy|!ByteLengthQueuingStrategy|{\\n *     size: (undefined|function(*): number),\\n *     highWaterMark: number\\n * }}\\n */\\nvar QueuingStrategy;\\n\\n\\n/**\\n * @record\\n */\\nfunction TransformStream() {};\\n\\n/** @type {!WritableStream} */\\nTransformStream.prototype.writable;\\n\\n/** @type {!ReadableStream} */\\nTransformStream.prototype.readable;\\n\\n\\n/**\\n * @record\\n */\\nfunction PipeOptions() {};\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventClose;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventAbort;\\n\\n/** @type {boolean} */\\nPipeOptions.prototype.preventCancel;\\n\\n\\n/**\\n * @record\\n */\\nfunction ReadableStreamSource() {};\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.start;\\n\\n/**\\n * @type {(undefined|\\n *     function((!ReadableByteStreamController|!ReadableStreamDefaultController)):(!IThenable<*>|undefined))}\\n */\\nReadableStreamSource.prototype.pull;\\n\\n/** @type {(undefined|function(*):(!Promise<*>|undefined))} */\\nReadableStreamSource.prototype.cancel;\\n\\n/** @type {(undefined|string)} */\\nReadableStreamSource.prototype.type;\\n\\n/** @type {(undefined|number)} */\\nReadableStreamSource.prototype.autoAllocateChunkSize;\\n\\n\\n/**\\n * @param {!ReadableStreamSource=} opt_underlyingSource\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#rs-class\\n */\\nfunction ReadableStream(opt_underlyingSource, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#rs-locked\\n */\\nReadableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-cancel\\n */\\nReadableStream.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {{ mode:(undefined|string) }=} opt_options\\n * @return {(!ReadableStreamDefaultReader|!ReadableStreamBYOBReader)}\\n * @see https://streams.spec.whatwg.org/#rs-get-reader\\n */\\nReadableStream.prototype.getReader = function(opt_options) {};\\n\\n/**\\n * @param {!TransformStream} transform\\n * @param {!PipeOptions=} opt_options\\n * @return {!ReadableStream}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-through\\n */\\nReadableStream.prototype.pipeThrough = function(transform, opt_options) {};\\n\\n/**\\n * @param {!WritableStream} dest\\n * @param {!PipeOptions=} opt_options\\n * @return {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#rs-pipe-to\\n */\\nReadableStream.prototype.pipeTo = function(dest, opt_options) {};\\n\\n/**\\n * @return {!Array<!ReadableStream>}\\n * @see https://streams.spec.whatwg.org/#rs-tee\\n */\\nReadableStream.prototype.tee = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultReader constructor is generally not meant to be used directly;\\n * instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-reader-class\\n */\\nfunction ReadableStreamDefaultReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#default-reader-closed\\n */\\nReadableStreamDefaultReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#default-reader-cancel\\n */\\nReadableStreamDefaultReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#default-reader-read\\n */\\nReadableStreamDefaultReader.prototype.read = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-reader-release-lock\\n */\\nReadableStreamDefaultReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamBYOBReader constructor is generally not meant to be used\\n * directly; instead, a stream\u2019s getReader() method should be used.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#byob-reader-class\\n */\\nfunction ReadableStreamBYOBReader() {};\\n\\n/**\\n * @type {!Promise<void>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-closed\\n */\\nReadableStreamBYOBReader.prototype.closed;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<*>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-cancel\\n */\\nReadableStreamBYOBReader.prototype.cancel = function(reason) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {!Promise<!IteratorResult>}\\n * @see https://streams.spec.whatwg.org/#byob-reader-read\\n */\\nReadableStreamBYOBReader.prototype.read = function(view) {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#byob-reader-release-lock\\n */\\nReadableStreamBYOBReader.prototype.releaseLock = function() {};\\n\\n\\n/**\\n * The ReadableStreamDefaultController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-class\\n */\\nfunction ReadableStreamDefaultController() {};\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-desired-size\\n */\\nReadableStreamDefaultController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-close\\n */\\nReadableStreamDefaultController.prototype.close = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-enqueue\\n */\\nReadableStreamDefaultController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-default-controller-error\\n */\\nReadableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * The ReadableByteStreamController constructor cannot be used directly;\\n * it only works on a ReadableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rbs-controller-class\\n */\\nfunction ReadableByteStreamController() {};\\n\\n/**\\n * @type {!ReadableStreamBYOBRequest}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-byob-request\\n */\\nReadableByteStreamController.prototype.byobRequest;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-desired-size\\n */\\nReadableByteStreamController.prototype.desiredSize;\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-close\\n */\\nReadableByteStreamController.prototype.close = function() {};\\n\\n/**\\n * @param {!ArrayBufferView} chunk\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-enqueue\\n */\\nReadableByteStreamController.prototype.enqueue = function(chunk) {};\\n\\n/**\\n * @param {*} err\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rbs-controller-error\\n */\\nReadableByteStreamController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-class\\n */\\nfunction ReadableStreamBYOBRequest() {};\\n\\n/**\\n * @type {!ArrayBufferView}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-view\\n */\\nReadableStreamBYOBRequest.prototype.view;\\n\\n/**\\n * @param {number} bytesWritten\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond\\n */\\nReadableStreamBYOBRequest.prototype.respond = function(bytesWritten) {};\\n\\n/**\\n * @param {!ArrayBufferView} view\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#rs-byob-request-respond-with-new-view\\n */\\nReadableStreamBYOBRequest.prototype.respondWithNewView = function(view) {};\\n\\n\\n/**\\n * @record\\n */\\nfunction WritableStreamSink() {};\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.start;\\n\\n/** @type {(undefined|function(!WritableStreamDefaultController):(!IThenable<*>|undefined))}*/\\nWritableStreamSink.prototype.write;\\n\\n/** @type {(undefined|function():(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.close;\\n\\n/** @type {(undefined|function(*):(!IThenable<*>|undefined))} */\\nWritableStreamSink.prototype.abort;\\n\\n\\n/**\\n * @param {!WritableStreamSink=} opt_underlyingSink\\n * @param {!QueuingStrategy=} opt_queuingStrategy\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#ws-class\\n */\\nfunction WritableStream(opt_underlyingSink, opt_queuingStrategy) {};\\n\\n/**\\n * @type {boolean}\\n * @see https://streams.spec.whatwg.org/#ws-locked\\n */\\nWritableStream.prototype.locked;\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-abort\\n */\\nWritableStream.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!WritableStreamDefaultWriter}\\n * @see https://streams.spec.whatwg.org/#ws-get-writer\\n */\\nWritableStream.prototype.getWriter = function() {};\\n\\n\\n/**\\n * @interface\\n * @see https://streams.spec.whatwg.org/#default-writer-class\\n */\\nfunction WritableStreamDefaultWriter() {};\\n\\n/**\\n * @type {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-closed\\n */\\nWritableStreamDefaultWriter.prototype.closed;\\n\\n/**\\n * @type {number}\\n * @see https://streams.spec.whatwg.org/#default-writer-desiredSize\\n */\\nWritableStreamDefaultWriter.prototype.desiredSize;\\n\\n/**\\n * @type {!Promise<number>}\\n * @see https://streams.spec.whatwg.org/#default-writer-ready\\n */\\nWritableStreamDefaultWriter.prototype.ready";
a.a+=";\\n\\n/**\\n * @param {*} reason\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-abort\\n */\\nWritableStreamDefaultWriter.prototype.abort = function(reason) {};\\n\\n/**\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-close\\n */\\nWritableStreamDefaultWriter.prototype.close = function() {};\\n\\n/**\\n * @return {undefined}\\n * @see https://streams.spec.whatwg.org/#default-writer-release-lock\\n */\\nWritableStreamDefaultWriter.prototype.releaseLock = function() {};\\n\\n/**\\n * @param {*} chunk\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#default-writer-write\\n */\\nWritableStreamDefaultWriter.prototype.write = function(chunk) {};\\n\\n\\n/**\\n * The WritableStreamDefaultController constructor cannot be used directly;\\n * it only works on a WritableStream that is in the middle of being constructed.\\n *\\n * @interface\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-class\\n */\\nfunction WritableStreamDefaultController() {};\\n\\n/**\\n * @param {*} err\\n * @return {!Promise<undefined>}\\n * @see https://streams.spec.whatwg.org/#ws-default-controller-error\\n */\\nWritableStreamDefaultController.prototype.error = function(err) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#blqs-class\\n */\\nfunction ByteLengthQueuingStrategy(config) {}\\n\\n/**\\n * If we don't want to be strict we can define chunk as {*}\\n * and return as {number|undefined}\\n *\\n * @param {{ byteLength:number }} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#blqs-size\\n */\\nByteLengthQueuingStrategy.prototype.size = function(chunk) {};\\n\\n\\n/**\\n * @param {{ highWaterMark:number }} config\\n * @constructor\\n * @see https://streams.spec.whatwg.org/#cqs-class\\n */\\nfunction CountQueuingStrategy(config) {}\\n\\n/**\\n * @param {*} chunk\\n * @return {number}\\n * @see https://streams.spec.whatwg.org/#cqs-size\\n */\\nCountQueuingStrategy.prototype.size = function(chunk) {};\\n\",\"js/build_polyfill_table.js\":\"#!/usr/bin/env node\\n\\n/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'use strict';\\n\\nconst fs = require('fs');\\n\\n/**\\n * Provides an ordering to ensure lower-versioned polyfills don't\\n * depend on higher versions.\\n */\\nconst ORDER = ['es3', 'es5', 'es6-impl', 'es6'];\\n\\n/**\\n * Prints to stderr and exits.\\n * @param {string} message\\n */\\nfunction fail(message) {\\n  console.error(message);\\n  process.exit(1);\\n}\\n\\n/**\\n * Builds up a table of polyfills.\\n */\\nclass PolyfillTable {\\n  constructor() {\\n    /** @const {!Map<string, !Array<string>>} */\\n    this.symbolToFile = new Map();\\n    /** @const {!Map<string, !Set<string>>} */\\n    this.deps = new Map();\\n    /** @const {!Map<string, string>} */\\n    this.versions = new Map();\\n    /** @const {!Array<!Array<string>>} */\\n    this.rows = [];\\n  }\\n\\n  /**\\n   * Returns a shim for $jscomp.polyfill.\\n   * @param {string} lib Library currently being scanned.\\n   * @return {function(string, ?Function, string, string)}\\n   */\\n  polyfill(lib) {\\n    return (polyfill, impl, fromLang, toLang) => {\\n      this.symbolToFile.set(polyfill, this.symbolToFile.get(polyfill) || []);\\n      this.symbolToFile.get(polyfill).push(lib);\\n      const row = [polyfill, fromLang, toLang];\\n      if (impl) {\\n        row.push(lib);\\n        this.versions.set(lib, maxVersion(this.versions.get(lib), toLang));\\n      }\\n      this.rows.push(row);\\n    };\\n  }\\n\\n  /**\\n   * Reads a JS file and adds it to the table.\\n   * @param {string} lib Name of the library.\\n   * @param {string} data Contents of the file.\\n   */\\n  readFile(lib, data) {\\n    // Look for 'require' directives and add it to the dependency map.\\n    const deps = new Set();\\n    this.deps.set(lib, deps);\\n    const re = /'require ([^']+)'/g;\\n    let match;\\n    while (match = re.exec(data)) {\\n      match[1].split(' ').forEach(dep => deps.add(dep));\\n    }\\n    // Now run the file.\\n    try {\\n      new Function('$jscomp', data)({\\n        global: global,\\n        polyfill: this.polyfill(lib, table),\\n      });\\n    } catch (err) {\\n      throw new Error('Failed to parse file: ' + lib + ': ' + err);\\n    }\\n  }\\n\\n  /**\\n   * Concatenates the table into a string.  Throws an error if\\n   * there are any symbols provided by multiple files.\\n   * @return {string}\\n   */\\n  build() {\\n    const errors = new Set();\\n    try {\\n      // First check for duplicate provided symbols.\\n      for (const entry of this.symbolToFile.entries()) {\\n        if (entry[1].length != 1) {\\n          errors.add(\\n              `ERROR - ${entry[0]} provided by multiple files:${\\n                  entry[1].map(f => '\\\\n    ' + f).join('')}`);\\n        }\\n      }\\n      // Next ensure all deps have nonincreasing versions.\\n      checkDeps(errors, this.deps, this.versions);\\n      // If there are any errors, we should fail; otherwise concatenate.\\n    } catch (err) {\\n      errors.add('ERROR - uncaught exception: ' + err.stack);\\n    }\\n    if (errors.size) {\\n      fail(Array.from(errors).join('\\\\n\\\\n'));\\n    }\\n    return this.rows.sort().map(row => row.join(' ')).join('\\\\n');\\n  }\\n}\\n\\n/**\\n * Checks dependencies for the following issues:\\n *   (1) cyclic dependencies\\n *   (2) missing dependencies\\n *   (3) version mismatches\\n * @param {!Set<string>} errors\\n * @param {!Map<string, !Set<string>>} deps\\n * @param {!Map<string, string>} versions\\n */\\nfunction checkDeps(errors, deps, versions) {\\n  for (const file of deps.keys()) {\\n    const seen = new Set([file]);\\n    const queue = [file];\\n    const version = versions.get(file);\\n    while (queue.length) {\\n      const next = queue.shift();\\n      for (const dep of deps.get(next) || []) {\\n        if (dep == file) errors.add('ERROR - Cyclic dependency:\\\\n    ' + dep);\\n        if (seen.has(dep)) continue;\\n        seen.add(dep);\\n        queue.push(dep);\\n        if (!deps.has(dep)) {\\n          errors.add(\\n              'ERROR - missing dependency:\\\\n    ' + dep +\\n              ' required from\\\\n    ' + file);\\n        }\\n        const depVersion = versions.get(dep);\\n        if (version && maxVersion(depVersion, version) != version) {\\n          errors.add(\\n              'ERROR - lower version depends on higher version:\\\\n    ' +\\n              version + ': ' + file + '\\\\n    ' + depVersion + ': ' + dep);\\n        }\\n      }\\n    }\\n  }\\n}\\n\\n/**\\n * Returns the higher order of the given versions.\\n * @param {string} version1\\n * @param {string} version2\\n * @return {string} The max version.\\n */\\nfunction maxVersion(version1, version2) {\\n  return ORDER[Math.max(ORDER.indexOf(version1), ORDER.indexOf(version2))];\\n}\\n\\nconst table = new PolyfillTable();\\n\\nconst reads = process.argv.slice(2).map(filename =>\\n  new Promise((fulfill, reject) =>\\n    fs.readFile(filename, 'utf8', (err, data) => {\\n      try {\\n        if (err) {\\n          reject(err);\\n        } else {\\n          const lib = filename.replace(/^.*?\\\\/js\\\\/|\\\\.js$/g, '');\\n          table.readFile(lib, data);\\n          fulfill('');\\n        }\\n      } catch (err) {\\n        reject(err);\\n      }\\n    })));\\n\\nPromise.all(reads).then(\\n    success => console.log(table.build()),\\n    failure => fail(failure.stack));\\n\",\"js/polyfills.txt\":\"Array.from es6-impl es3 es6/array/from\\nArray.of es6-impl es3 es6/array/of\\nArray.prototype.copyWithin es6-impl es3 es6/array/copywithin\\nArray.prototype.entries es6-impl es3 es6/array/entries\\nArray.prototype.fill es6-impl es3 es6/array/fill\\nArray.prototype.find es6-impl es3 es6/array/find\\nArray.prototype.findIndex es6-impl es3 es6/array/findindex\\nArray.prototype.keys es6-impl es3 es6/array/keys\\nArray.prototype.values es6 es3 es6/array/values\\nMap es6-impl es3 es6/map\\nMath.acosh es6-impl es3 es6/math/acosh\\nMath.asinh es6-impl es3 es6/math/asinh\\nMath.atanh es6-impl es3 es6/math/atanh\\nMath.cbrt es6-impl es3 es6/math/cbrt\\nMath.clz32 es6-impl es3 es6/math/clz32\\nMath.cosh es6-impl es3 es6/math/cosh\\nMath.expm1 es6-impl es3 es6/math/exp1m\\nMath.hypot es6-impl es3 es6/math/hypot\\nMath.imul es6-impl es3 es6/math/imul\\nMath.log10 es6-impl es3 es6/math/log10\\nMath.log1p es6-impl es3 es6/math/log1p\\nMath.log2 es6-impl es3 es6/math/log2\\nMath.sign es6-impl es3 es6/math/sign\\nMath.sinh es6-impl es3 es6/math/sinh\\nMath.tanh es6-impl es3 es6/math/tanh\\nMath.trunc es6-impl es3 es6/math/trunc\\nNumber.EPSILON es6-impl es3 es6/number/constants\\nNumber.MAX_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.MIN_SAFE_INTEGER es6-impl es3 es6/number/constants\\nNumber.isFinite es6-impl es3 es6/number/isfinite\\nNumber.isInteger es6-impl es3 es6/number/isinteger\\nNumber.isNaN es6-impl es3 es6/number/isnan\\nNumber.isSafeInteger es6-impl es3 es6/number/issafeinteger\\nObject.assign es6-impl es3 es6/object/assign\\nObject.getOwnPropertySymbols es6-impl es5 es6/object/getownpropertysymbols\\nObject.is es6-impl es3 es6/object/is\\nObject.setPrototypeOf es6 es5 es6/object/setprototypeof\\nPromise es6-impl es3 es6/promise\\nProxy es6 es6\\nReflect.apply es6 es3 es6/reflect/apply\\nReflect.construct es6 es5 es6/reflect/construct\\nReflect.defineProperty es6 es5 es6/reflect/defineproperty\\nReflect.deleteProperty es6 es3 es6/reflect/deleteproperty\\nReflect.get es6 es5 es6/reflect/get\\nReflect.getOwnPropertyDescriptor es6 es5 es6/reflect/getownpropertydescriptor\\nReflect.getPrototypeOf es6 es5 es6/reflect/getprototypeof\\nReflect.has es6 es3 es6/reflect/has\\nReflect.isExtensible es6 es3 es6/reflect/isextensible\\nReflect.ownKeys es6 es5 es6/reflect/ownkeys\\nReflect.preventExtensions es6 es3 es6/reflect/preventextensions\\nReflect.set es6 es5 es6/reflect/set\\nReflect.setPrototypeOf es6 es5 es6/reflect/setprototypeof\\nSet es6-impl es3 es6/set\\nString.fromCodePoint es6-impl es3 es6/string/fromcodepoint\\nString.prototype.codePointAt es6-impl es3 es6/string/codepointat\\nString.prototype.endsWith es6-impl es3 es6/string/endswith\\nString.prototype.includes es6-impl es3 es6/string/includes\\nString.prototype.normalize es6-impl es6-impl\\nString.prototype.repeat es6-impl es3 es6/string/repeat\\nString.prototype.startsWith es6-impl es3 es6/string/startswith\\nString.raw es6-impl es6-impl\\nWeakMap es6-impl es3 es6/weakmap\\nWeakSet es6-impl es3 es6/weakset\\n\",\"js/base.js\":\"/*\\n * Copyright 2012 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview The base namespace for code injected by the compiler\\n * at compile-time.\\n *\\n * @author nicksantos@google.com (Nick Santos)\\n */\\n\\n/** @const */\\nvar $jscomp = {};\\n\\n/** @const Locals for goog.scope */\\n$jscomp.scope = {};\\n\",\"js/es6/array.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Array polyfills.\\n */\\n'require es6/array/copywithin';\\n'require es6/array/entries';\\n'require es6/array/fill';\\n'require es6/array/find';\\n'require es6/array/findindex';\\n'require es6/array/from';\\n'require es6/array/keys';\\n'require es6/array/of';\\n'require es6/array/values';\\n\",\"js/es6/array/copywithin.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.copyWithin', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Copies elements from one part of the array to another.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {number} target Start index to copy elements to.\\n   * @param {number} start Start index to copy elements from.\\n   * @param {number=} opt_end Index from which to end copying.\\n   * @return {!IArrayLike<VALUE>} The array, with the copy performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(target, start, opt_end) {\\n    var len = this.length;\\n    target = Number(target);\\n    start = Number(start);\\n    opt_end = Number(opt_end != null ? opt_end : len);\\n    if (target < start) {\\n      opt_end = Math.min(opt_end, len);\\n      while (start < opt_end) {\\n        if (start in this) {\\n          this[target++] = this[start++];\\n        } else {\\n          delete this[target++];\\n          start++;\\n        }\\n      }\\n    } else {\\n      opt_end = Math.min(opt_end, len + start - target);\\n      target += opt_end - start;\\n      while (opt_end > start) {\\n        if (--opt_end in this) {\\n          this[--target] = this[opt_end];\\n        } else {\\n          delete this[target];\\n        }\\n      }\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/entries.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/util/iteratorfromarray';\\n\\n$jscomp.polyfill('Array.prototype.entries', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of [key, value] arrays, one for each entry\\n   * in the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<!Array<number|VALUE>>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(\\n        this, function(i, v) { return [i, v]; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/fill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software";
a.a+="\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.fill', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Fills elements of an array with a constant value.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {VALUE} value Value to fill.\\n   * @param {number=} opt_start Start index, or zero if omitted.\\n   * @param {number=} opt_end End index, or length if omitted.\\n   * @return {!IArrayLike<VALUE>} The array, with the fill performed in-place.\\n   * @template VALUE\\n   */\\n  var polyfill = function(value, opt_start, opt_end) {\\n    var length = this.length || 0;\\n    if (opt_start < 0) {\\n      opt_start = Math.max(0, length + /** @type {number} */ (opt_start));\\n    }\\n    if (opt_end == null || opt_end > length) opt_end = length;\\n    opt_end = Number(opt_end);\\n    if (opt_end < 0) opt_end = Math.max(0, length + opt_end);\\n    for (var i = Number(opt_start || 0); i < opt_end; i++) {\\n      this[i] = value;\\n    }\\n    return this;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/find.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.find', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds and returns an element that satisfies the given predicate.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {VALUE|undefined} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).v;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/findindex.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/findinternal';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.findIndex', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Finds an element that satisfies the given predicate, returning its index.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *}\\n   *     callback\\n   * @param {THIS=} opt_thisArg\\n   * @return {number} The found value, or undefined.\\n   * @template VALUE, THIS\\n   */\\n  var polyfill = function(callback, opt_thisArg) {\\n    return $jscomp.findInternal(this, callback, opt_thisArg).i;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/from.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.from', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new Array from an array-like or iterable object.\\n   *\\n   * <p>Polyfills the static function Array.from().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).from), and\\n   * relies on the compiler to check the validity of inputs rather\\n   * than producing spec-compliant TypeErrors.\\n   *\\n   * @param {!IArrayLike<INPUT>|!Iterable<INPUT>} arrayLike\\n   *     An array-like or iterable.\\n   * @param {(function(this: THIS, INPUT): OUTPUT)=} opt_mapFn\\n   *     Function to call on each argument.\\n   * @param {THIS=} opt_thisArg\\n   *     Object to use as 'this' when calling mapFn.\\n   * @return {!Array<OUTPUT>}\\n   * @template INPUT, OUTPUT, THIS\\n   */\\n  var polyfill = function(arrayLike, opt_mapFn, opt_thisArg) {\\n    $jscomp.initSymbolIterator();\\n    opt_mapFn = opt_mapFn != null ? opt_mapFn : function(x) { return x; };\\n    var result = [];\\n    // NOTE: this is cast to ? because [] on @struct is an error\\n    var iteratorFunction = /** @type {?} */ (arrayLike)[Symbol.iterator];\\n    if (typeof iteratorFunction == 'function') {\\n      arrayLike = iteratorFunction.call(arrayLike);\\n      var next;\\n      while (!(next = arrayLike.next()).done) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), next.value));\\n      }\\n    } else {\\n      var len = arrayLike.length;  // need to support non-iterables\\n      for (var i = 0; i < len; i++) {\\n        result.push(\\n            opt_mapFn.call(/** @type {?} */ (opt_thisArg), arrayLike[i]));\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/keys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.keys', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of keys of the given array.\\n   *\\n   * @this {!IArrayLike}\\n   * @return {!IteratorIterable<number>}\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(i) { return i; });\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/of.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array/from';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.of', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates an array from a fixed set of arguments.\\n   *\\n   * <p>Polyfills the static function Array.of().  Does not support\\n   * constructor inheritance (i.e. (subclass of Array).of).\\n   *\\n   * @param {...T} var_args Elements to include in the array.\\n   * @return {!Array<T>}\\n   * @template T\\n   */\\n  var polyfill = function(var_args) {\\n    return Array.from(arguments);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/array/values.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/util/iteratorfromarray';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Array.prototype.values', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns an iterator of values of the given array.\\n   *\\n   * @this {!IArrayLike<VALUE>}\\n   * @return {!IteratorIterable<VALUE>}\\n   * @template VALUE\\n   */\\n  var polyfill = function() {\\n    return $jscomp.iteratorFromArray(this, function(k, v) { return v; });\\n  };\\n\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/execute_async_generator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n\\n/**\\n * Handle the execution of an async function.\\n *\\n * An async function, foo(a, b), will be rewritten as:\\n *\\n * ```\\n * function foo(a, b) {\\n *   let $jscomp$async$arguments = arguments;\\n *   let $jscomp$async$this = this;\\n *   function* $jscomp$async$generator() {\\n *     // original body of foo() with:\\n *     // - await (x) replaced with yield (x)\\n *     // - arguments replaced with $jscomp$async$arguments\\n *     // - this replaced with $jscomp$async$this\\n *   }\\n *   return $jscomp.executeAsyncGenerator($jscomp$async$generator());\\n * }\\n * ```\\n * @param {!Generator<?>} generator\\n * @return {!Promise<?>}\\n */\\n$jscomp.executeAsyncGenerator = function(generator) {\\n  function passValueToGenerator(value) {\\n    return generator.next(value);\\n  }\\n\\n  function passErrorToGenerator(error) {\\n    return generator.throw(error);\\n  }\\n\\n  return new Promise(function(resolve, reject) {\\n    function handleGeneratorRecord(/** !IIterableResult<*> */ genRec) {\\n      if (genRec.done) {\\n        resolve(genRec.value);\\n      } else {\\n        // One can await a non-promise, so genRec.value\\n        // might not already be a promise.\\n        Promise.resolve(genRec.value)\\n            .then(passValueToGenerator, passErrorToGenerator)\\n            .then(handleGeneratorRecord, reject);\\n      }\\n    }\\n\\n    handleGeneratorRecord(generator.next());\\n  });\\n};\\n\",\"js/es6/map.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require util/owns';\\n'require util/polyfill';\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_MAP = false;\\n\\n$jscomp.polyfill('Map', function(NativeMap) {\\n\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_MAP && (function() {\\n    if (!NativeMap ||\\n        !NativeMap.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeMap = /** @type {function(new: Map, !Iterator=)} */ (NativeMap);\\n      var key = Object.seal({x: 4});\\n      var map = new NativeMap($jscomp.makeIterator([[key, 's']]));\\n      if (map.get(key) != 's' || map.size != 1 || map.get({x: 4}) ||\\n          map.set({x: 4}, 't') != map || map.size != 2) {\\n        return false;\\n      }\\n      var /** !Iterator<!Array> */ iter = map.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != key || item.value[1] != 's') {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0].x != 4 ||\\n          item.value[1] != 't' || !iter.next().done) {\\n        return false;\\n      }\\n      return true;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeMap;\\n\\n  // We depend on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n  /** @const {!WeakMap<!Object, string>} */\\n  var idMap = new WeakMap();\\n\\n\\n  /**\\n   * Internal record type for entries.\\n   * @record\\n   * @template KEY, VALUE\\n   */\\n  var MapEntry = function() {};\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.previous;\\n\\n\\n  /** @type {!MapEntry<KEY, VALUE>} */\\n  MapEntry.prototype.next;\\n\\n\\n  /** @type {?Object} */\\n  MapEntry.prototype.head;\\n\\n\\n  /** @type {KEY} */\\n  MapEntry.prototype.key;\\n\\n\\n  /** @type {VALUE} */\\n  MapEntry.prototype.value;\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Map<KEY, VALUE>}\\n   * @implements {Iterable<!Array<KEY|VALUE>>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional data to populate the map.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillMap = function(opt_iterable) {\\n    /** @private {!Object<!Array<!MapEntry<KEY, VALUE>>>} */\\n    this.data_ = {};\\n\\n    /** @private {!MapEntry<KEY, VALUE>} */\\n    this.head_ = createHead();\\n\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    /** @type {number} */\\n    this.size = 0;\\n\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item =\\n            /** @type {!IIterableResult<!Array<KEY|VALUE>>} */ (entry).value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.set = function(key, value) {\\n    var r = maybeGetEntry(this, key);\\n    if (!r.list) {\\n      r.list = (this.data_[r.id] = []);\\n    }\\n    if (!r.entry) {\\n      r.entry = {\\n        next: this.head_,\\n        previous: this.head_.previous,\\n        head: this.head_,\\n        key: key,\\n        value: value,\\n      };\\";
a.a+="n      r.list.push(r.entry);\\n      this.head_.previous.next = r.entry;\\n      this.head_.previous = r.entry;\\n      this.size++;\\n    } else {\\n      r.entry.value = value;\\n    }\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.delete = function(key) {\\n    var r = maybeGetEntry(this, key);\\n    if (r.entry && r.list) {\\n      r.list.splice(r.index, 1);\\n      if (!r.list.length) delete this.data_[r.id];\\n      r.entry.previous.next = r.entry.next;\\n      r.entry.next.previous = r.entry.previous;\\n      r.entry.head = null;\\n      this.size--;\\n      return true;\\n    }\\n    return false;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.clear = function() {\\n    this.data_ = {};\\n    this.head_ = this.head_.previous = createHead();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.has = function(key) {\\n    return !!(maybeGetEntry(this, key).entry);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.get = function(key) {\\n    var entry = maybeGetEntry(this, key).entry;\\n    // NOTE: this cast is a lie, but so is the extern.\\n    return /** @type {VALUE} */ (entry &&\\n      /** @type {VALUE} */ (entry.value));\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.entries = function() {\\n    return makeIterator(\\n        this, function(entry) { return [entry.key, entry.value]; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.keys = function() {\\n    return makeIterator(this, function(entry) { return entry.key; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.values = function() {\\n    return makeIterator(this, function(entry) { return entry.value; });\\n  };\\n\\n\\n  /** @override */\\n  PolyfillMap.prototype.forEach = function(callback, opt_thisArg) {\\n    var iter = this.entries();\\n    var item;\\n    while (!(item = iter.next()).done) {\\n      var entry = item.value;\\n      callback.call(\\n          /** @type {?} */ (opt_thisArg),\\n          /** @type {VALUE} */ (entry[1]),\\n          /** @type {KEY} */ (entry[0]),\\n          this);\\n    }\\n  };\\n\\n\\n  /** @type {?} */ (PolyfillMap.prototype)[Symbol.iterator] =\\n      PolyfillMap.prototype.entries;\\n\\n\\n  /**\\n   * Returns an entry or undefined.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {KEY} key\\n   * @return {{id: string,\\n   *           list: (!Array<!MapEntry<KEY, VALUE>>|undefined),\\n   *           index: number,\\n   *           entry: (!MapEntry<KEY, VALUE>|undefined)}}\\n   * @template KEY, VALUE\\n   */\\n  var maybeGetEntry = function(map, key) {\\n    var id = getId(key);\\n    var list = map.data_[id];\\n    if (list && $jscomp.owns(map.data_, id)) {\\n      for (var index = 0; index < list.length; index++) {\\n        var entry = list[index];\\n        if ((key !== key && entry.key !== entry.key) || key === entry.key) {\\n          return {id: id, list: list, index: index, entry: entry};\\n        }\\n      }\\n    }\\n    return {id: id, list: list, index: -1, entry: undefined};\\n  };\\n\\n\\n  /**\\n   * Maps over the entries with the given function.\\n   * @param {!PolyfillMap<KEY, VALUE>} map\\n   * @param {function(!MapEntry<KEY, VALUE>): T} func\\n   * @return {!IteratorIterable<T>}\\n   * @template KEY, VALUE, T\\n   * @private\\n   */\\n  var makeIterator = function(map, func) {\\n    var entry = map.head_;\\n    return $jscomp.iteratorPrototype(function() {\\n      if (entry) {\\n        while (entry.head != map.head_) {\\n          entry = entry.previous;\\n        }\\n        while (entry.next != entry.head) {\\n          entry = entry.next;\\n          return {done: false, value: func(entry)};\\n        }\\n        entry = null; // make sure depletion is permanent\\n      }\\n      return {done: true, value: void 0};\\n    });\\n  };\\n\\n\\n  /**\\n   * Makes a new \\\"head\\\" element.\\n   * @return {!MapEntry<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @suppress {checkTypes} ignore missing key/value for head only\\n   */\\n  var createHead = function() {\\n    var head = /** type {!MapEntry<KEY, VALUE>} */ ({});\\n    head.previous = head.next = head.head = head;\\n    return head;\\n  };\\n\\n\\n  /**\\n   * Counter for generating IDs.\\n   * @private {number}\\n   */\\n  var mapIndex = 0;\\n\\n\\n  /**\\n   * @param {*} obj An extensible object.\\n   * @return {string} A unique ID.\\n   */\\n  var getId = function(obj) {\\n    var type = obj && typeof obj;\\n    if (type == 'object' || type == 'function') {\\n      obj = /** @type {!Object} */ (obj);\\n      if (!idMap.has(obj)) {\\n        var id = '' + (++mapIndex);\\n        idMap.set(obj, id);\\n        return id;\\n      }\\n      return idMap.get(obj);\\n    }\\n    // Add a prefix since obj could be '__proto__';\\n    return 'p_' + obj;\\n  };\\n\\n\\n  return PolyfillMap;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Math polyfills.\\n */\\n'require es6/math/acosh';\\n'require es6/math/asinh';\\n'require es6/math/atanh';\\n'require es6/math/cbrt';\\n'require es6/math/clz32';\\n'require es6/math/cosh';\\n'require es6/math/exp1m';\\n'require es6/math/hypot';\\n'require es6/math/imul';\\n'require es6/math/log10';\\n'require es6/math/log1p';\\n'require es6/math/log2';\\n'require es6/math/sign';\\n'require es6/math/sinh';\\n'require es6/math/tanh';\\n'require es6/math/trunc';\\n\",\"js/es6/math/acosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.acosh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.acosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return Math.log(x + Math.sqrt(x * x - 1));\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/asinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.asinh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the inverse hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.asinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    var y = Math.log(Math.abs(x) + Math.sqrt(x * x + 1));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/atanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/math/log1p';\\n\\n$jscomp.polyfill('Math.atanh', function(orig) {\\n  if (orig) return orig;\\n  var log1p = Math.log1p;\\n\\n  /**\\n   * Computes the inverse hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.atanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The inverse hyperbolic tangent +x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (log1p(x) - log1p(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/cbrt.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cbrt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the cube root of the number, handling negatives safely.\\n   *\\n   * <p>Polyfills the static function Math.cbrt().\\n   *\\n   * @param {number} x Any number, or value that can be coerced into a number.\\n   * @return {number} The cube root of x.\\n   */\\n  var polyfill = function(x) {\\n    if (x === 0) return x;\\n    x = Number(x);\\n    var y = Math.pow(Math.abs(x), 1 / 3);\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/clz32.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.clz32', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Counts the leading zeros in the 32-bit binary representation.\\n   *\\n   * <p>Polyfills the static function Math.clz32().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The number of leading zero bits.\\n   */\\n  var polyfill = function(x) {\\n    // This binary search algorithm is taken from v8.\\n    x = Number(x) >>> 0;  // first ensure we have a 32-bit unsigned integer.\\n    if (x === 0) return 32;\\n    var result = 0;\\n    if ((x & 0xFFFF0000) === 0) {\\n      x <<= 16;\\n      result += 16;\\n    }\\n    if ((x & 0xFF000000) === 0) {\\n      x <<= 8;\\n      result += 8;\\n    }\\n    if ((x & 0xF0000000) === 0) {\\n      x <<= 4;\\n      result += 4;\\n    }\\n    if ((x & 0xC0000000) === 0) {\\n      x <<= 2;\\n      result += 2;\\n    }\\n    if ((x & 0x80000000) === 0) result++;\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/cosh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.cosh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic cosine.\\n   *\\n   * <p>Polyfills the static function Math.cosh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic cosine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return (exp(x) + exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/exp1m.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.expm1', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Exponentiates x and then subtracts one.  This is implemented in a\\n   * way that is accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.expm1().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The exponential of x, less 1.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   exp(x) ~ 1 + x + x^2/2 + x^3/6 + x^4/24 + ...\\n    x = Number(x);\\n    if (x < .25 && x > -.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      while (zPrev != z) {\\n        y *= x / (++d);\\n        z = (zPrev = z) + y;\\n      }\\n      return z;\\n    }\\n    return Math.exp(x) - 1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/hypot.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.hypot', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sum of its arguments in quadrature.\\n   *\\n   * <p>Polyfills the static function Math.hypot().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @param {number} y Any number, or value that can be coerced to a number.\\n   * @param {...*} var_args More numbers.\\n   * @return {number} The square root of the sum of the squares.\\n   */\\n  var polyfill = function(x";
a.a+=", y, var_args) {\\n    // Make the type checker happy.\\n    x = Number(x);\\n    y = Number(y);\\n    var i, z, sum;\\n    // Note: we need to normalize the numbers in case of over/underflow.\\n    var max = Math.max(Math.abs(x), Math.abs(y));\\n    for (i = 2; i < arguments.length; i++) {\\n      max = Math.max(max, Math.abs(arguments[i]));\\n    }\\n    if (max > 1e100 || max < 1e-100) {\\n      x = x / max;\\n      y = y / max;\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]) / max;\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum) * max;\\n    } else {\\n      sum = x * x + y * y;\\n      for (i = 2; i < arguments.length; i++) {\\n        z = Number(arguments[i]);\\n        sum += z * z;\\n      }\\n      return Math.sqrt(sum);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/imul.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.imul', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Performs C-like 32-bit signed integer multiplication.\\n   *\\n   * <p>Polyfills the static function Math.imul().\\n   *\\n   * @param {number} a Any number, or value that can be coerced to a number.\\n   * @param {number} b Any number, or value that can be coerced to a number.\\n   * @return {number} The 32-bit integer product of a and b.\\n   */\\n  var polyfill = function(a, b) {\\n    // This algorithm is taken from v8.\\n    // Note: If multiplication overflows 32 bits, then we risk losing\\n    // precision.  We must therefore break the inputs into 16-bit\\n    // words and multiply separately.\\n    a = Number(a);\\n    b = Number(b);\\n    var ah = (a >>> 16) & 0xFFFF;  // Treat individual words as unsigned\\n    var al = a & 0xFFFF;\\n    var bh = (b >>> 16) & 0xFFFF;\\n    var bl = b & 0xFFFF;\\n    var lh = ((ah * bl + al * bh) << 16) >>> 0;  // >>> 0 casts to uint\\n    return (al * bl + lh) | 0;  // | 0 casts back to signed\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log10.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log10', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-10 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log10().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The common log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN10;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log1p.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log1p', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the natural logarithm of 1+x, implemented in a way that is\\n   * accurate for numbers close to zero.\\n   *\\n   * <p>Polyfills the static function Math.log1p().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The natural log of 1+x.\\n   */\\n  var polyfill = function(x) {\\n    // This implementation is based on the Taylor expansion\\n    //   log(1 + x) ~ x - x^2/2 + x^3/3 - x^4/4 + x^5/5 - ...\\n    x = Number(x);\\n    if (x < 0.25 && x > -0.25) {\\n      var y = x;\\n      var d = 1;\\n      var z = x;\\n      var zPrev = 0;\\n      var s = 1;\\n      while (zPrev != z) {\\n        y *= x;\\n        s *= -1;\\n        z = (zPrev = z) + s * y / (++d);\\n      }\\n      return z;\\n    }\\n    return Math.log(1 + x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/log2.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.log2', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the base-2 logarithm.\\n   *\\n   * <p>Polyfills the static function Math.log2().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The base-2 log of x.\\n   */\\n  var polyfill = function(x) {\\n    return Math.log(x) / Math.LN2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/sign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the sign of the number, indicating whether it is\\n   * positive, negative, or zero.\\n   *\\n   * <p>Polyfills the static function Math.sign().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The sign, +1 if x is positive, -1 if x is\\n   *     negative, or 0 if x is zero.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    return x === 0 || isNaN(x) ? x : x > 0 ? 1 : -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/sinh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.sinh', function(orig) {\\n  if (orig) return orig;\\n  var exp = Math.exp;\\n\\n  /**\\n   * Computes the hyperbolic sine.\\n   *\\n   * <p>Polyfills the static function Math.sinh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic sine of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    return (exp(x) - exp(-x)) / 2;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/tanh.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.tanh', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Computes the hyperbolic tangent.\\n   *\\n   * <p>Polyfills the static function Math.tanh().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number} The hyperbolic tangent of x.\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (x === 0) return x;\\n    // Ensure exponent is negative to prevent overflow.\\n    var y = Math.exp(-2 * Math.abs(x));\\n    var z = (1 - y) / (1 + y);\\n    return x < 0 ? -z : z;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/math/trunc.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Math.trunc', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Truncates any fractional digits from its argument (towards zero).\\n   *\\n   * <p>Polyfills the static function Math.trunc().\\n   *\\n   * @param {number} x Any number, or value that can be coerced to a number.\\n   * @return {number}\\n   */\\n  var polyfill = function(x) {\\n    x = Number(x);\\n    if (isNaN(x) || x === Infinity || x === -Infinity || x === 0) return x;\\n    var y = Math.floor(Math.abs(x));\\n    return x < 0 ? -y : y;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/nopolyfill.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Specifies objects that the compiler does NOT polyfill.\\n * NOTE: this file should never be injected, since all the implementations\\n * are null.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Proxy', null, 'es6', 'es6');\\n\\n$jscomp.polyfill('String.raw', null, 'es6-impl', 'es6-impl');\\n$jscomp.polyfill('String.prototype.normalize', null, 'es6-impl', 'es6-impl');\\n\",\"js/es6/number.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Number polyfills.\\n */\\n'require es6/number/constants';\\n'require es6/number/isfinite';\\n'require es6/number/isinteger';\\n'require es6/number/isnan';\\n'require es6/number/issafeinteger';\\n\",\"js/es6/number/constants.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Number.EPSILON', function(orig) {\\n  /**\\n   * The difference 1 and the smallest number greater than 1.\\n   *\\n   * <p>Polyfills the static field Number.EPSILON.\\n   */\\n  return Math.pow(2, -52);\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MAX_SAFE_INTEGER', function() {\\n  /**\\n   * The maximum safe integer, 2^53 - 1.\\n   *\\n   * <p>Polyfills the static field Number.MAX_SAFE_INTEGER.\\n   */\\n  return 0x1fffffffffffff;\\n}, 'es6-impl', 'es3');\\n\\n\\n$jscomp.polyfill('Number.MIN_SAFE_INTEGER', function() {\\n  /**\\n   * The minimum safe integer, -(2^53 - 1).\\n   *\\n   * <p>Polyfills the static field Number.MIN_SAFE_INTEGER.\\n   */\\n  return -0x1fffffffffffff;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/isfinite.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isFinite', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a finite number.\\n   *\\n   * <p>Polyfills the static function Number.isFinite().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a number and not NaN or infinite.\\n   */\\n  var polyfill = function(x) {\\n    if (typeof x !== 'number') return false;\\n    return !isNaN(x) && x !== Infinity && x !== -Infinity;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/isinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/lice";
a.a+="nses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/isfinite';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is an integer.\\n   *\\n   * <p>Polyfills the static function Number.isInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is an integer.\\n   */\\n  var polyfill = function(x) {\\n    if (!Number.isFinite(x)) return false;\\n    return x === Math.floor(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/isnan.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isNaN', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is the value NaN,\\n   * guaranteeing not to coerce to a number first.\\n   *\\n   * <p>Polyfills the static function Number.isNaN().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is exactly NaN.\\n   */\\n  var polyfill = function(x) {\\n    return typeof x === 'number' && isNaN(x);\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/number/issafeinteger.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/number/constants';\\n'require es6/number/isinteger';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Number.isSafeInteger', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns whether the given argument is a \\\"safe\\\" integer,\\n   * that is, its magnitude is less than 2^53.\\n   *\\n   * <p>Polyfills the static function Number.isSafeInteger().\\n   *\\n   * @param {number} x Any value.\\n   * @return {boolean} True if x is a safe integer.\\n   */\\n  var polyfill = function(x) {\\n    return Number.isInteger(x) && Math.abs(x) <= Number.MAX_SAFE_INTEGER;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 Object polyfills.\\n */\\n'require es6/object/assign';\\n'require es6/object/getownpropertysymbols';\\n'require es6/object/is';\\n'require es6/object/setprototypeof';\\n\",\"js/es6/object/assign.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.assign', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.assign() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\\n   *\\n   * Copies values of all enumerable own properties from one or more\\n   * sources to the given target object, and returns the target.\\n   * @param {!Object} target The target object onto which to copy.\\n   * @param {...?Object} var_args The source objects.\\n   * @return {!Object} The target object is returned.\\n   */\\n  var polyfill = function(target, var_args) {\\n    for (var i = 1; i < arguments.length; i++) {\\n      var source = arguments[i];\\n      if (!source) continue;\\n      for (var key in source) {\\n        if ($jscomp.owns(source, key)) target[key] = source[key];\\n      }\\n    }\\n    return target;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object/getownpropertysymbols.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.getOwnPropertySymbols', function(orig) {\\n  if (orig) return orig;\\n\\n  // NOTE: The symbol polyfill is a string, so symbols show up in\\n  // Object.getOwnProperytyNames instead.  It's been decided that\\n  // the trade-off of \\\"fixing\\\" this behavior is not worth the costs\\n  // in (a) code size, (b) brittleness, and (c) complexity.\\n  return function() { return []; };\\n}, 'es6-impl', 'es5'); // Same as Object.getOwnPropertyNames\\n\",\"js/es6/object/is.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('Object.is', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Object.is() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n   *\\n   * Determines whether two values are the same value (that is,\\n   * functionally equivalent).  This is the same as ===-equality,\\n   * except for two cases: 0 is not the same as -0, and NaN is\\n   * the same as NaN.\\n   *\\n   * @param {*} left\\n   * @param {*} right\\n   * @return {boolean}\\n   */\\n  var polyfill = function(left, right) {\\n    if (left === right) {\\n      // Handle the 0 === -0 exception\\n      return (left !== 0) || (1 / left === 1 / /** @type {number} */ (right));\\n    } else {\\n      // Handle the NaN !== NaN exception\\n      return (left !== left) && (right !== right);\\n    }\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/object/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Object.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Object.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {!Object}\\n   */\\n  var polyfill = function(target, proto) {\\n    target.__proto__ = proto;\\n    if (target.__proto__ !== proto) {\\n      throw new TypeError(target + ' is not extensible');\\n    }\\n    return target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5');\\n\",\"js/es6/promise.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require base';\\n'require es6/util/makeiterator';\\n'require util/global';\\n'require util/polyfill';\\n\\n/**\\n * Should we expose AsyncExecutor for testing?\\n * TODO(bradfordcsmith): Set this false here & arrange for it to be set to true\\n * only for tests.\\n * @define {boolean}\\n */\\n$jscomp.EXPOSE_ASYNC_EXECUTOR = true;\\n\\n/**\\n * Should we unconditionally override a native Promise implementation with our\\n * own?\\n * @define {boolean}\\n */\\n$jscomp.FORCE_POLYFILL_PROMISE = false;\\n\\n\\n$jscomp.polyfill('Promise', function(NativePromise) {\\n  // TODO(bradfordcsmith): Do we need to add checks for standards conformance?\\n  //     e.g. The version of FireFox we currently use for testing has a Promise\\n  //     that fails to reject attempts to fulfill it with itself, but that\\n  //     isn't reasonably testable here.\\n  if (NativePromise && !$jscomp.FORCE_POLYFILL_PROMISE) {\\n    return NativePromise;\\n  }\\n\\n  /**\\n    * Schedules code to be executed asynchronously.\\n    * @constructor\\n    * @struct\\n    */\\n  function AsyncExecutor() {\\n    /**\\n     * Batch of functions to execute.\\n     *\\n     * Will be {@code null} initially and immediately after a batch finishes\\n     * executing.\\n     * @private {?Array<function():?>}\\n     */\\n    this.batch_ = null;\\n  }\\n\\n  /**\\n   * Schedule a function to execute asynchronously.\\n   *\\n   * -   The function will execute:\\n   *     -   After the current call stack has completed executing.\\n   *     -   After any functions previously scheduled using this object.\\n   * -   The return value will be ignored.\\n   * -   An exception thrown by the method will be caught and asynchronously\\n   *     rethrown when it cannot interrupt any other code. This class provides\\n   *     no way to catch such exceptions.\\n   * @param {function():?} f\\n   * @return {!AsyncExecutor} this object\\n   */\\n  AsyncExecutor.prototype.asyncExecute = function(f) {\\n    if (this.batch_ == null) {\\n      // no batch created yet, or last batch was fully executed\\n      this.batch_ = [];\\n      this.asyncExecuteBatch_();\\n    }\\n    this.batch_.push(f);\\n    return this;\\n  };\\n\\n  /**\\n   * Schedule execution of the jobs in {@code this.batch_}.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.asyncExecuteBatch_ = function() {\\n    var self = this;\\n    this.asyncExecuteFunction(function() { self.executeBatch_(); });\\n  };\\n\\n  // NOTE: We want to make sure AsyncExecutor will work as expected even if\\n  // testing code should override setTimeout()\\n  /** @const */ var nativeSetTimeout = $jscomp.global['setTimeout'];\\n\\n  /**\\n   * Schedule a function to execute asynchronously as soon as possible.\\n   *\\n   * NOTE: May be overridden for testing.\\n   * @package\\n   * @param {!Function} f\\n   */\\n  AsyncExecutor.prototype.asyncExecuteFunction = function(f) {\\n    nativeSetTimeout(f, 0);\\n  };\\n\\n  /**\\n   * Execute scheduled jobs in a batch until all are executed or the batch\\n   * execution time limit has been reached.\\n   * @private\\n   */\\n  AsyncExecutor.prototype.executeBatch_ = function() {\\n    while (this.batch_ && this.batch_.length) {\\n      var executingBatch = this.batch_;\\n      // Executions scheduled while executing this batch go into a new one to\\n      // avoid the batch array getting too big.\\n      this.batch_ = [];\\n      for (var i = 0; i < executingBatch.length; ++i) {\\n        var f = executingBatch[i];\\n        delete executingBatch[i];  // free memory\\n        try {\\n          f();\\n        } catch (error) {\\n          this.asyncThrow_(error);\\n        }\\n      }\\n    }\\n    // All jobs finished executing, so force scheduling a new batch next\\n    // time asyncExecute() is called.\\n    this.batch_ = null;\\n  };\\n\\n  /**\\n   * @private\\n   * @param {*} exception\\n   */\\n  AsyncExecutor.prototype.asyncThrow_ = function(exception) {\\n    this.asyncExecuteFunction(function() { throw exception; });\\n  };\\n\\n  /**\\n   * @enum {number}\\n   */\\n  var PromiseState = {\\n    /** The Promise is waiting for resolution. */\\n    PENDING: 0,\\n\\n    /** The Promise has been resolved with a fulfillment value. */\\n    FULFILLED: 1,\\n\\n    /** The Promise has been resolved with a rejection reason. */\\n    REJECTED: 2\\n  };\\n\\n\\n  /**\\n   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise\\n   * @param {function(\\n   *             function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *             function(*=))} executor\\n   * @constructor\\n   * @extends {Promise<TYPE>}\\n   * @template TYPE\\n   */\\n  var PolyfillPromise = function(executor) {\\n    /** @private {PromiseState} */\\n    this.state_ = PromiseState.PENDING;\\n\\n    /**\\n     * The settled result of the Promise. Immutable once set with either a\\n     * fulfillment value or rejection reason.\\n     * @private {*}\\n     */\\n    this.result_ = undefined;\\n\\n    /**\\n     * These functions must be executed when this promise settles.\\n     * @private {Array<function()>}\\n     */\\n    this.onSettledCallbacks_ = [];\\n\\n    var resolveAndReject = this.createResolveAndReject_();\\n    try {\\n      executor(resolveAndReject.resolve, resolveAndReject.reject);\\n    } catch (e) {\\n      resolveAndReject.reject(e);\\n    }\\n  };\\n\\n\\n  /**\\n   * Create a pair of functions for resolving or rejecting this Promise.\\n   *\\n   * <p>After the resolve or reject function has been called once, later calls\\n   * do nothing.\\n   * @private\\n   * @return {{\\n   *     resolve: function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     reject:  function(*=)\\n   * }}\\n   */\\n  PolyfillPromise.prototype.createResolveAndReject_ = function() {\\n";
a.a+="    var thisPromise = this;\\n    var alreadyCalled = false;\\n    /**\\n     * @param {function(this:PolyfillPromise<TYPE>, T)} method\\n     * @return {function(T)}\\n     * @template T\\n     */\\n    function firstCallWins(method) {\\n      return function(x) {\\n        if (!alreadyCalled) {\\n          alreadyCalled = true;\\n          method.call(thisPromise, x);\\n        }\\n      };\\n    }\\n    return {\\n      resolve: firstCallWins(this.resolveTo_),\\n      reject: firstCallWins(this.reject_)\\n    };\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {*} value\\n   */\\n  PolyfillPromise.prototype.resolveTo_ = function(value) {\\n    if (value === this) {\\n      this.reject_(new TypeError('A Promise cannot resolve to itself'));\\n    } else if (value instanceof PolyfillPromise) {\\n      this.settleSameAsPromise_(/** @type {!PolyfillPromise} */ (value));\\n    } else if (isObject(value)) {\\n      this.resolveToNonPromiseObj_(/** @type {!Object} */ (value));\\n    } else {\\n      this.fulfill_(value);\\n    }\\n  };\\n\\n\\n  /**\\n   * @private\\n   * @param {!Object} obj\\n   */\\n  PolyfillPromise.prototype.resolveToNonPromiseObj_ = function(obj) {\\n    var thenMethod = undefined;\\n\\n    try {\\n      thenMethod = obj.then;\\n    } catch (error) {\\n      this.reject_(error);\\n      return;\\n    }\\n    if (typeof thenMethod == 'function') {\\n      this.settleSameAsThenable_(thenMethod, /** @type {!Thenable} */ (obj));\\n    } else {\\n      this.fulfill_(obj);\\n    }\\n  };\\n\\n\\n  /**\\n   * @param {*} value anything\\n   * @return {boolean}\\n   */\\n  function isObject(value) {\\n    switch (typeof value) {\\n      case 'object':\\n        return value != null;\\n      case 'function':\\n        return true;\\n      default:\\n        return false;\\n    }\\n  }\\n\\n  /**\\n   * Reject this promise for the given reason.\\n   * @private\\n   * @param {*} reason\\n   * @throws {!Error} if this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.reject_ = function(reason) {\\n    this.settle_(PromiseState.REJECTED, reason);\\n  };\\n\\n  /**\\n   * Fulfill this promise with the given value.\\n   * @private\\n   * @param {!TYPE} value\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.fulfill_ = function(value) {\\n    this.settle_(PromiseState.FULFILLED, value);\\n  };\\n\\n  /**\\n   * Fulfill or reject this promise with the given value/reason.\\n   * @private\\n   * @param {!PromiseState} settledState (FULFILLED or REJECTED)\\n   * @param {*} valueOrReason\\n   * @throws {!Error} when this promise is already fulfilled or rejected.\\n   */\\n  PolyfillPromise.prototype.settle_ = function(settledState, valueOrReason) {\\n    if (this.state_ != PromiseState.PENDING) {\\n      throw new Error(\\n          'Cannot settle(' + settledState + ', ' + valueOrReason |\\n          '): Promise already settled in state' + this.state_);\\n    }\\n    this.state_ = settledState;\\n    this.result_ = valueOrReason;\\n    this.executeOnSettledCallbacks_();\\n  };\\n\\n  PolyfillPromise.prototype.executeOnSettledCallbacks_ = function() {\\n    if (this.onSettledCallbacks_ != null) {\\n      // Allow nulls in callbacks so we can free memory\\n      var /** !Array<?function()> */ callbacks = this.onSettledCallbacks_;\\n\\n      for (var i = 0; i < callbacks.length; ++i) {\\n        (/** @type {function()} */ (callbacks[i])).call();\\n        callbacks[i] = null;  // free memory\\n      }\\n      this.onSettledCallbacks_ = null;  // free memory\\n    }\\n  };\\n\\n  /**\\n   * All promise async execution is managed by a single executor for the\\n   * sake of efficiency.\\n   * @const {!AsyncExecutor}\\n   */\\n  var asyncExecutor = new AsyncExecutor();\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!PolyfillPromise} promise\\n   */\\n  PolyfillPromise.prototype.settleSameAsPromise_ = function(promise) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Calling then() would create an unnecessary extra promise.\\n    promise.callWhenSettled_(methods.resolve, methods.reject);\\n  };\\n\\n  /**\\n   * Arrange to settle this promise in the same way as the given thenable.\\n   * @private\\n   * @param {!function(\\n   *     function((TYPE|IThenable<TYPE>|Thenable|null)=),\\n   *     function(*=))\\n   * } thenMethod\\n   * @param {!Thenable} thenable\\n   */\\n  PolyfillPromise.prototype.settleSameAsThenable_ = function(\\n      thenMethod, thenable) {\\n    var methods = this.createResolveAndReject_();\\n\\n    // Don't trust an unknown thenable implementation not to throw exceptions.\\n    try {\\n      thenMethod.call(thenable, methods.resolve, methods.reject);\\n    } catch (error) {\\n      methods.reject(error);\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.then = function(onFulfilled, onRejected) {\\n    var resolveChild;\\n    var rejectChild;\\n    var childPromise = new PolyfillPromise(function(resolve, reject) {\\n      resolveChild = resolve;\\n      rejectChild = reject;\\n    });\\n    function createCallback(paramF, defaultF) {\\n      // The spec says to ignore non-function values for onFulfilled and\\n      // onRejected\\n      if (typeof paramF == 'function') {\\n        return function(x) {\\n          try {\\n            resolveChild(paramF(x));\\n          } catch (error) {\\n            rejectChild(error);\\n          }\\n        };\\n      } else {\\n        return defaultF;\\n      }\\n    }\\n\\n    this.callWhenSettled_(\\n        createCallback(onFulfilled, resolveChild),\\n        createCallback(onRejected, rejectChild));\\n    return childPromise;\\n  };\\n\\n  /** @override */\\n  PolyfillPromise.prototype.catch = function(onRejected) {\\n    return this.then(undefined, onRejected);\\n  };\\n\\n\\n  PolyfillPromise.prototype.callWhenSettled_ = function(\\n      onFulfilled, onRejected) {\\n    var thisPromise = this;\\n    function callback() {\\n      switch (thisPromise.state_) {\\n        case PromiseState.FULFILLED:\\n          onFulfilled(thisPromise.result_);\\n          break;\\n        case PromiseState.REJECTED:\\n          onRejected(thisPromise.result_);\\n          break;\\n        default:\\n          throw new Error('Unexpected state: ' + thisPromise.state_);\\n      }\\n    }\\n    if (this.onSettledCallbacks_ == null) {\\n      // we've already settled\\n      asyncExecutor.asyncExecute(callback);\\n    } else {\\n      this.onSettledCallbacks_.push(function() {\\n        asyncExecutor.asyncExecute(callback);\\n      });\\n    }\\n  };\\n\\n  /**\\n   * Returns a PolyfillPromise that resolves to the given value.\\n   *\\n   * <p>If the type of {@code opt_value} (VALUE) is a {@code Thenable<T>},\\n   * the RESULT type will be {@code T}.\\n   * Otherwise, the RESULT type will be the same as VALUE.\\n   *\\n   * <p>NOTE: The RESULT template expression is the same as the one used for\\n   * {@code goog.IThenable.prototype.then()}.\\n   *\\n   * <p>TODO(bradfordcsmith): The spec actually requires {@code resolve} to\\n   * use its {@code this} value as the constructor for building the promise to\\n   * return. Right now we're always using the {@link PolyfillPromise}\\n   * constructor.\\n   * @param {VALUE=} opt_value\\n   * @return {RESULT}\\n   * @template VALUE\\n   * @template RESULT := type('PolyfillPromise',\\n   *     cond(isUnknown(VALUE), unknown(),\\n   *       mapunion(VALUE, (V) =>\\n   *         cond(isTemplatized(V) && sub(rawTypeOf(V), 'IThenable'),\\n   *           templateTypeOf(V, 0),\\n   *           cond(sub(V, 'Thenable'),\\n   *              unknown(),\\n   *              V)))))\\n   * =:\\n   */\\n  PolyfillPromise.resolve = function(opt_value) {\\n    if (opt_value instanceof PolyfillPromise) {\\n      return opt_value;\\n    } else {\\n      return new PolyfillPromise(function(resolve, reject) {\\n        resolve(opt_value);\\n      });\\n    }\\n  };\\n\\n\\n  /**\\n   * @param {*=} opt_reason\\n   * @return {!Promise<?>}\\n   */\\n  PolyfillPromise.reject = function(opt_reason) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      reject(opt_reason);\\n    });\\n  };\\n\\n\\n  /**\\n   * @param {!Array<(TYPE|!IThenable<TYPE>)>} thenablesOrValues\\n   * @return {!Promise<TYPE>} A Promise that receives the result of the\\n   *     first Promise (or Promise-like) input to settle immediately after it\\n   *     settles.\\n   * @template TYPE\\n   */\\n  PolyfillPromise.race = function(thenablesOrValues) {\\n    return new PolyfillPromise(function(resolve, reject) {\\n      var iterator =\\n          $jscomp.makeIterator(thenablesOrValues);\\n      for (var /** !IIterableResult<*> */ iterRec = iterator.next();\\n           !iterRec.done;\\n           iterRec = iterator.next()) {\\n        // Using Promise.resolve() allows us to treat all elements the same way.\\n        // NOTE: Promise.resolve(promise) always returns the argument unchanged.\\n        // Using .callWhenSettled_() instead of .then() avoids creating an\\n        // unnecessary extra promise.\\n        PolyfillPromise.resolve(iterRec.value)\\n            .callWhenSettled_(resolve, reject);\\n      }\\n    });\\n  };\\n\\n\\n  /**\\n   * @template T\\n   * @param {!Array<T|!Promise<T>>|!Iterable<T|!Promise<T>>} thenablesOrValues\\n   * @return {!Promise<!Array<T>>}\\n   */\\n  PolyfillPromise.all = function(thenablesOrValues) {\\n    var iterator = $jscomp.makeIterator(thenablesOrValues);\\n    var /** !IIterableResult<*> */ iterRec = iterator.next();\\n\\n    if (iterRec.done) {\\n      return PolyfillPromise.resolve([]);\\n    } else {\\n      return new PolyfillPromise(function(resolveAll, rejectAll) {\\n        var resultsArray = [];\\n        var unresolvedCount = 0;\\n\\n        function onFulfilled(i) {\\n          return function(ithResult) {\\n            resultsArray[i] = ithResult;\\n            unresolvedCount--;\\n            if (unresolvedCount == 0) {\\n              resolveAll(resultsArray);\\n            }\\n          };\\n        }\\n\\n        do {\\n          resultsArray.push(undefined);\\n          unresolvedCount++;\\n          // Using Promise.resolve() allows us to treat all elements the same\\n          // way.\\n          // NOTE: Promise.resolve(promise) always returns the argument\\n          // unchanged. Using .callWhenSettled_() instead of .then() avoids\\n          // creating an unnecessary extra promise.\\n          PolyfillPromise.resolve(iterRec.value)\\n              .callWhenSettled_(\\n                  onFulfilled(resultsArray.length - 1), rejectAll);\\n          iterRec = iterator.next();\\n        } while (!iterRec.done);\\n      });\\n    }\\n  };\\n\\n  if ($jscomp.EXPOSE_ASYNC_EXECUTOR) {\\n    // expose AsyncExecutor so it can be tested independently.\\n    PolyfillPromise['$jscomp$new$AsyncExecutor'] = function() {\\n      return new AsyncExecutor();\\n    };\\n  }\\n\\n  return PolyfillPromise;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/reflect.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Rolls together all ES6 Reflect polyfills.\\n */\\n'require es6/reflect/apply';\\n'require es6/reflect/construct';\\n'require es6/reflect/defineproperty';\\n'require es6/reflect/deleteproperty';\\n'require es6/reflect/get';\\n'require es6/reflect/getownpropertydescriptor';\\n'require es6/reflect/getprototypeof';\\n'require es6/reflect/has';\\n'require es6/reflect/isextensible';\\n'require es6/reflect/ownkeys';\\n'require es6/reflect/preventextensions';\\n'require es6/reflect/set';\\n'require es6/reflect/setprototypeof';\\n\",\"js/es6/reflect/apply.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.apply', function(orig) {\\n  if (orig) return orig;\\n  var apply = Function.prototype.apply;\\n\\n  /**\\n   * Polyfill for Reflect.apply() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/apply\\n   *\\n   * Calls a target function with arguments as specified, just\\n   * as Function.prototype.apply.\\n   *\\n   * @param {function(this: THIS, ...*): RESULT} target The function to call.\\n   * @param {THIS} thisArg The 'this' argument.\\n   * @param {!Array} argList The arguments as a list.\\n   * @return {RESULT} The result of the function call.\\n   * @template THIS, RESULT\\n   */\\n  var polyfill = function(target, thisArg, argList) {\\n    return apply.call(target, thisArg, argList);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/construct.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/apply';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.construct', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.construct() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/construct\\n   *\\n   * Calls a constructor as with the 'new' operator.\\n   * TODO(sdh): how to type 'target' with (new: TARGET) if opt_newTarget missing?\\n   *\\n   * @param {function(new: ?, ...?)} target The constructor to call.\\n   * @param {!Array} argList The arguments as a list.\\n   * @param {function(new: TARGET, ...?)=} opt_newTarget The constructor to instantiate.\\n   * @return {TARGET} The result of the function call.\\n   * @template TARGET\\n   */\\n  var polyfill = function(target, argList, opt_newTarget) {\\n    // if (arguments.length < 3 || opt_newTarget == target) {\\n    //   return new target(...argList);\\n    // }\\n    if (opt_newTarget === undefined) opt_newTarget = target;\\n    var proto = opt_newTarget.prototype || Object.prototype;\\n    var obj = Object.create(proto);\\n    var out = Reflect.apply(target, obj, argList);\\n    return out || obj;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.create\\n\",\"js/es6/reflect/defineproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.defineProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.defineProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/defineProperty\\n   *\\n   * Version of Object.defineProperty that re";
a.a+="turns a boolean.\\n   *\\n   * @param {!Object} target Target on which to define the property.\\n   * @param {string} propertyKey Name of the property to define.\\n   * @param {!ObjectPropertyDescriptor} attributes Property attributes.\\n   * @return {boolean} Whether the property was defined.\\n   */\\n  var polyfill = function(target, propertyKey, attributes) {\\n    try {\\n      Object.defineProperty(target, propertyKey, attributes);\\n      var desc = Object.getOwnPropertyDescriptor(target, propertyKey);\\n      if (!desc) return false;\\n      return desc.configurable === (attributes.configurable || false) &&\\n          desc.enumerable === (attributes.enumerable || false) &&\\n          ('value' in desc ?\\n              desc.value === attributes.value &&\\n                  desc.writable === (attributes.writable || false) :\\n              desc.get === attributes.get &&\\n                  desc.set === attributes.set);\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.defineProperty\\n\",\"js/es6/reflect/deleteproperty.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/owns';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.deleteProperty', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.deleteProperty() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/deleteProperty\\n   *\\n   * Applies the 'delete' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to delete the property.\\n   * @param {string} propertyKey Name of the property to delete.\\n   * @return {boolean} Whether the property was deleted.\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    if (!$jscomp.owns(target, propertyKey)) {\\n      return true;\\n    }\\n    try {\\n      return delete target[propertyKey];\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/get.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.get', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.get() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/get\\n   *\\n   * Applies the 'getprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a getter.\\n   * @return {*} The value of the property.\\n   */\\n  var polyfill = function(target, propertyKey, opt_receiver) {\\n    if (arguments.length <= 2) {\\n      return target[propertyKey];\\n    }\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (property) {\\n      return property.get ? property.get.call(opt_receiver) : property.value;\\n    }\\n    return undefined;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/getownpropertydescriptor.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getOwnPropertyDescriptor', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getOwnPropertyDescriptor;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyDescriptor\\n\",\"js/es6/reflect/getprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.getPrototypeOf', function(orig) {\\n  // NOTE: We don't make guarantees about correct throwing behavior.\\n  // Non-object arguments should be prevented by the type checker.\\n  return orig || Object.getPrototypeOf;\\n}, 'es6', 'es5'); // ES5: Requires Object.getPrototypeOf\\n\",\"js/es6/reflect/has.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.has', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.has() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/has\\n   *\\n   * Applies the 'in' operator as a function.\\n   *\\n   * @param {!Object} target\\n   * @param {*} propertyKey\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target, propertyKey) {\\n    return propertyKey in target;\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/isextensible.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.isExtensible', function(orig) {\\n  if (orig) return orig;\\n  if (typeof Object.isExtensible == 'function') {\\n    return Object.isExtensible;\\n  }\\n  return function() { return true; };\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/ownkeys.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n'require es6/object/getownpropertysymbols';\\n\\n\\n$jscomp.polyfill('Reflect.ownKeys', function(orig) {\\n  if (orig) return orig;\\n\\n  var symbolPrefix = 'jscomp_symbol_';\\n  function isSymbol(key) {\\n    return key.substring(0, symbolPrefix.length) == symbolPrefix;\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.ownKeys() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/ownKeys\\n   *\\n   * Returns an array of the object's own property keys.\\n   *\\n   * @param {!Object} target\\n   * @return {!Array<(string|symbol)>}\\n   */\\n  var polyfill = function(target) {\\n    var keys = [];\\n    var names = Object.getOwnPropertyNames(target);\\n    var symbols = Object.getOwnPropertySymbols(target);\\n    for (var i = 0; i < names.length; i++) {\\n      (isSymbol(names[i]) ? symbols : keys).push(names[i]);\\n    }\\n    return keys.concat(symbols);\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: Requires Object.getOwnPropertyNames\\n\",\"js/es6/reflect/preventextensions.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.preventExtensions', function(orig) {\\n  if (orig) return orig;\\n\\n  if (typeof Object.preventExtensions != 'function') {\\n    return function() { return false; };\\n  }\\n\\n  /**\\n   * Polyfill for Reflect.preventExtensions() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/preventExtensions\\n   *\\n   * Same function as Object.preventExtensions (the spec says\\n   * to throw if the input is not an object, but jscompiler will\\n   * fail to typecheck, so there's no reason to distinguish here).\\n   *\\n   * @param {!Object} target\\n   * @return {boolean}\\n   */\\n  var polyfill = function(target) {\\n    Object.preventExtensions(target);\\n    return !Object.isExtensible(target);\\n  };\\n  return polyfill;\\n}, 'es6', 'es3');\\n\",\"js/es6/reflect/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/reflect/isextensible';\\n'require util/finddescriptor';\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.set', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Polyfill for Reflect.set() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/set\\n   *\\n   * Applies the 'setprop' operator as a function.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {string} propertyKey Name of the property to get.\\n   * @param {*} value Value to set.\\n   * @param {!Object=} opt_receiver An optional 'this' to use for a setter.\\n   * @return {boolean} Whether setting was successful.\\n   */\\n  var polyfill = function(target, propertyKey, value, opt_receiver) {\\n    var property = $jscomp.findDescriptor(target, propertyKey);\\n    if (!property) {\\n      if (Reflect.isExtensible(target)) {\\n        target[propertyKey] = value;\\n        return true;\\n      }\\n      return false;\\n    }\\n    if (property.set) {\\n      property.set.call(arguments.length > 3 ? opt_receiver : target, value);\\n      return true;\\n    } else if (property.writable && !Object.isFrozen(target)) {\\n      target[propertyKey] = value;\\n      return true;\\n    }\\n    return false;\\n  };\\n  return polyfill;\\n}, 'es6', 'es5'); // ES5: findDescriptor requires getPrototypeOf\\n\",\"js/es6/reflect/setprototypeof.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n\\n$jscomp.polyfill('Reflect.setPrototypeOf', function(orig) {\\n  if (orig) return orig;\\n\\n  // IE<11 has no way to polyfill this, so don't even try.\\n  if (typeof ''.__proto__ != 'object') return null;\\n\\n  /**\\n   * Polyfill for Reflect.setPrototypeOf() method:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect/setPrototypeOf\\n   *\\n   * Sets the prototype in a \\\"standard\\\" way.\\n   *\\n   * @param {!Object} target Target on which to get the property.\\n   * @param {?Object} proto The new prototype.\\n   * @return {boolean} Whether the prototype was successfully set.\\n   */\\n  var polyfill = function(target, proto) {\\n    try {\\n      target.__proto__ = proto;\\n      return target.__proto__ === proto;\\n    } catch (err) {\\n      return false;\\n    }\\n  };\\n  return polyfill;\\n}, 'es6', 'es5');\\n\",\"js/es6/set.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/map';\\n'require util/polyfill';\\n\\n/**\\n * Whether to skip the conformance check and simply use the polyfill always.\\n * @define {boolean}\\n */\\n$jscomp.ASSUME_NO_NATIVE_SET = false;\\n\\n$jscomp.polyfill('Set', function(NativeSet) {\\n\\n  // Perform a conformance check to ensure correct native implementation.\\n  var isConformant = !$jscomp.ASSUME_NO_NATIVE_SET && (function() {\\n    if (!NativeSet ||\\n        !NativeSet.prototype.entries ||\\n        typeof Object.seal != 'function') {\\n      return false;\\n";
a.a+="    }\\n    // Some implementations don't support constructor arguments.\\n    try {\\n      NativeSet = /** @type {function(new: Set, !Iterator=)} */ (NativeSet);\\n      var value = Object.seal({x: 4});\\n      var set = new NativeSet($jscomp.makeIterator([value]));\\n      if (!set.has(value) || set.size != 1 || set.add(value) != set ||\\n          set.size != 1 || set.add({x: 4}) != set || set.size != 2) {\\n        return false;\\n      }\\n      var iter = set.entries();\\n      var item = iter.next();\\n      if (item.done || item.value[0] != value || item.value[1] != value) {\\n        return false;\\n      }\\n      item = iter.next();\\n      if (item.done || item.value[0] == value || item.value[0].x != 4 ||\\n          item.value[1] != item.value[0]) {\\n        return false;\\n      }\\n      return iter.next().done;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  })();\\n  if (isConformant) return NativeSet;\\n\\n  // We depend on Symbol.iterator, so ensure it's loaded.\\n  $jscomp.initSymbol();\\n  $jscomp.initSymbolIterator();\\n\\n\\n\\n  /**\\n   * Polyfill for the global Map data type.\\n   * @constructor\\n   * @struct\\n   * @extends {Set<VALUE>}\\n   * @implements {Iterable<VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterable<VALUE>|!Array<VALUE>|null=} opt_iterable\\n   *     Optional data to populate the set.\\n   */\\n  // TODO(sdh): fix param type if heterogeneous arrays ever supported.\\n  var PolyfillSet = function(opt_iterable) {\\n    /** @private @const {!Map<VALUE, VALUE>} */\\n    this.map_ = new Map();\\n    if (opt_iterable) {\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = /** @type {!IIterableResult<VALUE>} */ (entry).value;\\n        this.add(item);\\n      }\\n    }\\n    // Note: this property should not be changed.  If we're willing to give up\\n    // ES3 support, we could define it as a property directly.  It should be\\n    // marked readonly if such an annotation ever comes into existence.\\n    this.size = this.map_.size;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.add = function(value) {\\n    this.map_.set(value, value);\\n    this.size = this.map_.size;\\n    return this;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.delete = function(value) {\\n    var result = this.map_.delete(value);\\n    this.size = this.map_.size;\\n    return result;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.clear = function() {\\n    this.map_.clear();\\n    this.size = 0;\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.has = function(value) {\\n    return this.map_.has(value);\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.entries = function() {\\n    return this.map_.entries();\\n  };\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.values = function() {\\n    return this.map_.values();\\n  };\\n\\n\\n  /** @type {?} */ (PolyfillSet.prototype)[Symbol.iterator] =\\n      PolyfillSet.prototype.values;\\n\\n\\n  /** @override */\\n  PolyfillSet.prototype.forEach = function(callback, opt_thisArg) {\\n    var set = this;\\n    this.map_.forEach(function(value) {\\n      return callback.call(/** @type {?} */ (opt_thisArg), value, value, set);\\n    });\\n  };\\n\\n\\n  return PolyfillSet;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Brings in all ES6 String polyfills.\\n */\\n'require es6/string/codepointat';\\n'require es6/string/endswith';\\n'require es6/string/fromcodepoint';\\n'require es6/string/includes';\\n'require es6/string/repeat';\\n'require es6/string/startswith';\\n\",\"js/es6/string/codepointat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.codePointAt', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns the UTF-16 codepoint at the given index.\\n   *\\n   * <p>Polyfills the instance method String.prototype.codePointAt().\\n   *\\n   * @this {string}\\n   * @param {number} position\\n   * @return {number|undefined} The codepoint.\\n   */\\n  var polyfill = function(position) {\\n    // NOTE: this is taken from v8's harmony-string.js StringCodePointAt\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'codePointAt');\\n    var size = string.length;\\n    // Make 'position' a number (non-number coerced to NaN and then or to zero).\\n    position = Number(position) || 0;\\n    if (!(position >= 0 && position < size)) {\\n      return void 0;\\n    }\\n    // Truncate 'position' to an integer.\\n    position = position | 0;\\n    var first = string.charCodeAt(position);\\n    if (first < 0xD800 || first > 0xDBFF || position + 1 === size) {\\n      return first;\\n    }\\n    var second = string.charCodeAt(position + 1);\\n    if (second < 0xDC00 || second > 0xDFFF) {\\n      return first;\\n    }\\n    return (first - 0xD800) * 0x400 + second + 0x2400;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/endswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.endsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string ends with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.endsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'endsWith');\\n    searchString = searchString + '';\\n    if (opt_position === void 0) opt_position = string.length;\\n    var i = Math.max(0, Math.min(opt_position | 0, string.length));\\n    var j = searchString.length;\\n    while (j > 0 && i > 0) {\\n      if (string[--i] != searchString[--j]) return false;\\n    }\\n    return j <= 0;\\n  };\\nreturn polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/fromcodepoint.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.fromCodePoint', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Creates a new string from the given codepoints.\\n   *\\n   * <p>Polyfills the static function String.fromCodePoint().\\n   *\\n   * @param {...number} var_args\\n   * @return {string}\\n   */\\n  var polyfill = function(var_args) {\\n    // Note: this is taken from v8's harmony-string.js StringFromCodePoint.\\n    var result = '';\\n    for (var i = 0; i < arguments.length; i++) {\\n      var code = Number(arguments[i]);\\n      if (code < 0 || code > 0x10FFFF || code !== Math.floor(code)) {\\n        throw new RangeError('invalid_code_point ' + code);\\n      }\\n      if (code <= 0xFFFF) {\\n        result += String.fromCharCode(code);\\n      } else {\\n        code -= 0x10000;\\n        result += String.fromCharCode((code >>> 10) & 0x3FF | 0xD800);\\n        result += String.fromCharCode(code & 0x3FF | 0xDC00);\\n      }\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/includes.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.includes', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Searches for a substring, starting at the given position.\\n   *\\n   * <p>Polyfills the instance method String.prototype.includes().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'includes');\\n    return string.indexOf(searchString, opt_position || 0) !== -1;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/repeat.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.repeat', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Returns a new string repeated the given number of times.\\n   *\\n   * <p>Polyfills the instance method String.prototype.repeat().\\n   *\\n   * @this {string}\\n   * @param {number} copies\\n   * @return {string}\\n   */\\n  var polyfill = function(copies) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, null, 'repeat');\\n    if (copies < 0 || copies > 0x4FFFFFFF) { // impose a 1GB limit\\n      throw new RangeError('Invalid count value');\\n    }\\n    copies = copies | 0; // cast to a signed integer.\\n    var result = '';\\n    while (copies) {\\n      if (copies & 1) result += string;\\n      if ((copies >>>= 1)) string += string;\\n    }\\n    return result;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/string/startswith.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/checkstringargs';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('String.prototype.startsWith', function(orig) {\\n  if (orig) return orig;\\n\\n  /**\\n   * Tests whether the string starts with a given substring.\\n   *\\n   * <p>Polyfills the instance method String.prototype.startsWith().\\n   *\\n   * @this {string}\\n   * @param {string} searchString\\n   * @param {number=} opt_position\\n   * @return {boolean}\\n   */\\n  var polyfill = function(searchString, opt_position) {\\n    'use strict';\\n    var string = $jscomp.checkStringArgs(this, searchString, 'startsWith');\\n    searchString = searchString + '';\\n    var strLen = string.length;\\n    var searchLen = searchString.length;\\n    var i = Math.max(\\n        0,\\n        Math.min(/** @type {number} */ (opt_position) | 0, string.length));\\n    var j = 0;\\n    while (j < searchLen && i < strLen) {\\n      if (string[i++] != searchString[j++]) return false;\\n    }\\n    return j >= searchLen;\\n  };\\n\\n  return polyfill;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/symbol.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require util/defineproperty';\\n'require util/global';\\n\\n/** @const {string} */\\n$jscomp.SYMBOL_PREFIX = 'jscomp_symbol_';\\n\\n\\n/**\\n * Initializes the Symbol function.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbol = function() {\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbol = function() {};\\n\\n  if (!$jscomp.global.Symbol) {\\n    $jscomp.global.Symbol = $jscomp.Symbol;\\n  }\\n};\\n\\n\\n/** @private {number} */\\n$jscomp.symbolCounter_ = 0;\\n\\n\\n/**\\n * Produces \\\"symbols\\\" (actually just unique strings).\\n * @param {string=} opt_description\\n * @return {symbol}\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.Symbol = function(opt_description) {\\n  return /** @type {symbol} */ (\\n      $jscomp.SYMBOL_PREFIX + (opt_description || '') + ($jscomp.symbolCounter_++));\\n};\\n\\n\\n/**\\n * Initializes Symbol.iterator (if it's not already defined) and adds a\\n * Symbol.iterator property to the Array prototype.\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.initSymbolIterator = function() {\\n  $jscomp.initSymbol();\\n  var symbolIterator = $jscomp.global.Symbol.iterator;\\n  if (!symbolIterator) {\\n    symbolIterator = $jscomp.global.Symbol.iterator =\\n        $jscomp.global.Symbol('iterator');\\n  }\\n\\n  if (typeof Array.prototype[symbolIterator] != 'function') {\\n    $jscomp.defineProperty(\\n        Array.prototype, symbolIterator, {\\n          configurable: true,\\n          writable: true,\\n          /**\\n           * @this {Array}\\n           * @return {!IteratorIterable}\\n           */\\n          value: function() {\\n            return $jscomp.arrayIterator(this)";
a.a+=";\\n          }\\n        });\\n  }\\n\\n  // Only need to do this once. All future calls are no-ops.\\n  $jscomp.initSymbolIterator = function() {};\\n};\\n\\n\\n/**\\n * Returns an iterator from the given array.\\n * @param {!Array<T>} array\\n * @return {!IteratorIterable<T>}\\n * @template T\\n */\\n$jscomp.arrayIterator = function(array) {\\n  var index = 0;\\n  return $jscomp.iteratorPrototype(function() {\\n    if (index < array.length) {\\n      return {\\n        done: false,\\n        value: array[index++],\\n      };\\n    } else {\\n      return {done: true};\\n    }\\n  });\\n};\\n\\n\\n/**\\n * Returns an iterator with the given `next` method.  Passing\\n * all iterators through this function allows easily extending\\n * the definition of `%IteratorPrototype%` if methods are ever\\n * added to it in the future.\\n *\\n * @param {function(this: Iterator<T>): T} next\\n * @return {!IteratorIterable<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.iteratorPrototype = function(next) {\\n  $jscomp.initSymbolIterator();\\n\\n  var iterator = {next: next};\\n  /**\\n   * @this {IteratorIterable}\\n   * @return {!IteratorIterable}\\n   */\\n  iterator[$jscomp.global.Symbol.iterator] = function() { return this; };\\n  return /** @type {!IteratorIterable} */ (iterator);\\n};\\n\",\"js/es6/util/arrayfromiterable.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n'require es6/util/makeiterator';\\n'require es6/util/arrayfromiterator';\\n\\n\\n/**\\n * Copies the values from an Iterable into an Array.\\n * @param {string|!Array<T>|!Iterable<T>|!Arguments<T>} iterable\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterable = function(iterable) {\\n  if (iterable instanceof Array) {\\n    return iterable;\\n  } else {\\n    return $jscomp.arrayFromIterator($jscomp.makeIterator(iterable));\\n  }\\n};\\n\",\"js/es6/util/arrayfromiterator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for array destructuring.\\n */\\n'require base';\\n\\n\\n/**\\n * Copies the values from an Iterator into an Array. The important difference\\n * between this and $jscomp.arrayFromIterable is that if the iterator's\\n * next() method has already been called one or more times, this method returns\\n * only the values that haven't been yielded yet.\\n * @param {!Iterator<T>} iterator\\n * @return {!Array<T>}\\n * @template T\\n */\\n$jscomp.arrayFromIterator = function(iterator) {\\n  var i;\\n  var arr = [];\\n  while (!(i = iterator.next()).done) {\\n    arr.push(i.value);\\n  }\\n  return arr;\\n};\\n\",\"js/es6/util/inherits.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for ES6 extends keyword.\\n */\\n'require base';\\n\\n\\n/**\\n * Inherit the prototype methods and static methods from one constructor\\n * into another.\\n *\\n * This wires up the prototype chain (like goog.inherits) and copies static\\n * properties, for ES6-to-ES{3,5} transpilation.\\n *\\n * Usage:\\n * <pre>\\n *   function ParentClass() {}\\n *\\n *   // Regular method.\\n *   ParentClass.prototype.foo = function(a) {};\\n *\\n *   // Static method.\\n *   ParentClass.bar = function() {};\\n *\\n *   function ChildClass() {\\n *     ParentClass.call(this);\\n *   }\\n *   $jscomp.inherits(ChildClass, ParentClass);\\n *\\n *   var child = new ChildClass();\\n *   child.foo();\\n *   ChildClass.bar();  // Static inheritance.\\n * </pre>\\n *\\n * @param {!Function} childCtor Child class.\\n * @param {!Function} parentCtor Parent class.\\n */\\n$jscomp.inherits = function(childCtor, parentCtor) {\\n  /** @constructor */\\n  function tempCtor() {}\\n  tempCtor.prototype = parentCtor.prototype;\\n  childCtor.prototype = new tempCtor();\\n  /** @override */\\n    childCtor.prototype.constructor = childCtor;\\n\\n  for (var p in parentCtor) {\\n    if (Object.defineProperties) {\\n      var descriptor = Object.getOwnPropertyDescriptor(parentCtor, p);\\n      if (descriptor) {\\n        Object.defineProperty(childCtor, p, descriptor);\\n      }\\n    } else {\\n      // Pre-ES5 browser. Just copy with an assignment.\\n      childCtor[p] = parentCtor[p];\\n    }\\n  }\\n};\\n\",\"js/es6/util/iteratorfromarray.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utilities for iterator-returning methods.\\n */\\n'require es6/symbol';\\n\\n\\n$jscomp.array = $jscomp.array || {};\\n\\n\\n/**\\n * Creates an iterator from an array-like, with a transformation function.\\n * @param {!IArrayLike<INPUT>} array\\n * @param {function(number, INPUT): OUTPUT} transform\\n * @return {!IteratorIterable<OUTPUT>}\\n * @template INPUT, OUTPUT\\n * @suppress {checkTypes}\\n */\\n$jscomp.iteratorFromArray = function(array, transform) {\\n  $jscomp.initSymbolIterator();\\n  // NOTE: IE8 doesn't support indexing from boxed Strings.\\n  if (array instanceof String) array = array + '';\\n  var i = 0;\\n  var iter = {\\n    next: function() {\\n      if (i < array.length) {\\n        var index = i++;\\n        return {value: transform(index, array[index]), done: false};\\n      }\\n      iter.next = function() { return {done: true, value: void 0}; };\\n      return iter.next();\\n    }\\n  };\\n  iter[Symbol.iterator] = function() { return iter; };\\n  return iter;\\n};\\n\",\"js/es6/util/makeiterator.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Polyfill for for-of loops.\\n */\\n'require es6/symbol';\\n\\n\\n/**\\n * Creates an iterator for the given iterable.\\n *\\n * @param {string|!Array<T>|!Iterable<T>|!Iterator<T>|!Arguments<T>} iterable\\n * @return {!Iterator<T>}\\n * @template T\\n * @suppress {reportUnknownTypes}\\n */\\n$jscomp.makeIterator = function(iterable) {\\n  $jscomp.initSymbolIterator();\\n\\n  // NOTE: Disabling typechecking because [] not allowed on @struct.\\n  var iteratorFunction = /** @type {?} */ (iterable)[Symbol.iterator];\\n  return iteratorFunction ? iteratorFunction.call(iterable) :\\n      $jscomp.arrayIterator(/** @type {!Array} */ (iterable));\\n};\\n\",\"js/es6/weakmap.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/defineproperty';\\n'require util/owns';\\n'require util/polyfill';\\n\\n$jscomp.polyfill('WeakMap', function(NativeWeakMap) {\\n  /**\\n   * Checks conformance of the existing WeakMap.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakMap || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var map = new /** @type {function(new: WeakMap, !Array)} */ (\\n          NativeWeakMap)([[x, 2], [y, 3]]);\\n      if (map.get(x) != 2 || map.get(y) != 3) return false;\\n      map.delete(x);\\n      map.set(y, 4);\\n      return !map.has(x) && map.get(y) == 4;\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakMap;\\n\\n  var prop = '$jscomp_hidden_' + Math.random().toString().substring(2);\\n\\n  /**\\n   * Inserts the hidden property into the target.\\n   * @param {!Object} target\\n   */\\n  function insert(target) {\\n    if (!$jscomp.owns(target, prop)) {\\n      var obj = {};\\n      // TODO(sdh): This property will be enumerated in IE8.  If this becomes\\n      // a problem, we could avoid it by copying an infrequently-used non-enum\\n      // method (like toLocaleString) onto the object itself and encoding the\\n      // property on the copy instead.  This codepath must be easily removable\\n      // if IE8 support is not needed.\\n      $jscomp.defineProperty(target, prop, {value: obj});\\n    }\\n  }\\n\\n  /**\\n   * Monkey-patches the freezing methods to ensure that the hidden\\n   * property is added before any freezing happens.\\n   * @param {string} name\\n   */\\n  function patch(name) {\\n    var prev = Object[name];\\n    if (prev) {\\n      Object[name] = function(target) {\\n        insert(target);\\n        return prev(target);\\n      };\\n    }\\n  }\\n  patch('freeze');\\n  patch('preventExtensions');\\n  patch('seal');\\n  // Note: no need to patch Reflect.preventExtensions since the polyfill\\n  // just calls Object.preventExtensions anyway (and if it's not polyfilled\\n  // then neither is WeakMap).\\n\\n  var index = 0;\\n\\n  /**\\n   * Polyfill for WeakMap:\\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap\\n   *\\n   * This implementation is as non-leaky as possible, due to patching\\n   * the freezing and sealing operations.  It does not include any logic\\n   * to handle cases where a key was somehow made non-extensible without\\n   * the special hidden property being added.  It takes some care to ensure\\n   * the hidden property is not enumerated over nor discoverable, though\\n   * it's not completely secure (particularly in IE8).\\n   *\\n   * @constructor\\n   * @extends {WeakMap<KEY, VALUE>}\\n   * @template KEY, VALUE\\n   * @param {!Iterator<!Array<KEY|VALUE>>|!Array<!Array<KEY|VALUE>>|null=}\\n   *     opt_iterable Optional initial data.\\n   */\\n  var PolyfillWeakMap = function(opt_iterable) {\\n    /** @private @const {string} */\\n    this.id_ = (index += (Math.random() + 1)).toString();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) {\\n        var item = entry.value;\\n        this.set(/** @type {KEY} */ (item[0]), /** @type {VALUE} */ (item[1]));\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.set = function(key, value) {\\n    insert(key);\\n    if (!$jscomp.owns(key, prop)) {\\n      // NOTE: If the insert() call fails on the key, but the property\\n      // has previously successfully been added higher up the prototype\\n      // chain, then we'll silently misbehave.  Instead, throw immediately\\n      // before doing something bad.  If this becomes a problem (e.g. due\\n      // to some rogue frozen objects) then we may need to add a slow and\\n      // leaky fallback array to each WeakMap instance, as well as extra\\n      // logic in each accessor to use it (*only*) when necessary.\\n      throw new Error('WeakMap key fail: ' + key);\\n    }\\n    key[prop][this.id_] = value;\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.get = function(key) {\\n    return $jscomp.owns(key, prop) ? key[prop][this.id_] : undefined;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.has = function(key) {\\n    return $jscomp.owns(key, prop) && $jscomp.owns(key[prop], this.id_);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakMap.prototype.delete = function(key) {\\n    if (!$jscomp.owns(key, prop) ||\\n        !$jscomp.owns(key[prop], this.id_)) {\\n      return false;\\n    }\\n    return delete key[prop][this.id_];\\n  };\\n\\n  return PolyfillWeakMap;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6/weakset.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/symbol';\\n'require es6/util/makeiterator';\\n'require util/polyfill';\\n'require es6/weakmap';\\n\\n$jscomp.polyfill('WeakSet', function(NativeWeakSet) {\\n  /**\\n   * Checks conformance of the existing WeakSet.\\n   * @return {boolean} True if the browser's implementation conforms.\\n   */\\n  function isConformant() {\\n    if (!NativeWeakSet || !Object.seal) return false;\\n    try {\\n      var x = Object.seal({});\\n      var y = Object.seal({});\\n      var set = new /** @type {function(new: WeakSet, !Array)} */ (\\n          NativeWeakSet)([x]);\\n      if (!set.has(x) || set.has(y)) return false;\\n      set.delete(x);\\n      set.add(y);\\n      return !set.has(x) && set.has(y);\\n    } catch (err) { // This should hopefully never happen, but let's be safe.\\n      return false;\\n    }\\n  }\\n  if (isConformant()) return NativeWeakSet;\\n\\n  /**\\n   * @constructor\\n   * @extends {WeakSet<TYPE>}\\n   * @template TYPE\\n   * @param {!Iterator<TYPE>|!Array<TYPE>|null=} opt_iterable\\n   */\\n  var PolyfillWeakSet = function(opt_iterable) {\\n    /** @private @const {!WeakMap<TYPE, boolean>} */\\n    this.map_ = new WeakMap();\\n\\n    if (opt_iterable) {\\n      $jscomp.initSymbol();\\n      $jscomp.initSymbolIterator();\\n      var iter = $jscomp.makeIterator(opt_iterable);\\n      var entry;\\n      while (!(entry = iter.next()).done) ";
a.a+="{\\n        var item = entry.value;\\n        this.add(item);\\n      }\\n    }\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.add = function(elem) {\\n    this.map_.set(elem, true);\\n    return this;\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.has = function(elem) {\\n    return this.map_.has(elem);\\n  };\\n\\n  /** @override */\\n  PolyfillWeakSet.prototype.delete = function(elem) {\\n    return this.map_.delete(elem);\\n  };\\n\\n  return PolyfillWeakSet;\\n}, 'es6-impl', 'es3');\\n\",\"js/es6_dart_runtime.js\":\"/*\\n * Copyright 2014 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview  Additional runtime functions required for transpilation from\\n * ES6 to ES5 of code generated by the Dart Dev Compiler.\\n *\\n * Note that DDC's output cannot currently be lowered to ES3 (heavy use of\\n * getters or setters, including in the runtime), so these helpers make no\\n * attempt of fallback behaviour when methods like Object.getPrototypeOf or\\n * Object.getOwnPropertyDescriptor are undefined (unlike helpers in es6/*.js).\\n *\\n * @author ochafik@google.com (Olivier Chafik)\\n */\\n'require base';\\n\\n/**\\n * Gets a property descriptor for a target instance, skipping its class\\n * and walking up the super-classes hierarchy.\\n *\\n * @private\\n * @param {!Object} target\\n * @param {!string} name\\n * @return {?}\\n */\\n$jscomp.getSuperPropertyDescriptor_ = function(target, name) {\\n  var getPrototypeOf = Object.getPrototypeOf;\\n  var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\\n  var cls = getPrototypeOf(target);\\n  while (cls != null) {\\n    cls = getPrototypeOf(cls);\\n    if (cls != null) {\\n      var desc = getOwnPropertyDescriptor(cls, name);\\n      if (desc != null) {\\n        return desc;\\n      }\\n    }\\n  }\\n  return undefined;\\n};\\n\\n/**\\n * Gets a property of a target instance using its super class getter or value,\\n * or returns undefined if that property is not defined on any ancestor.\\n *\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @return {*}\\n */\\n$jscomp.superGet = function(target, propertyName) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  return desc && (desc.get ? desc.get.call(target) : desc.value);\\n};\\n\\n/**\\n * Sets a property on a target instance using its super setter if is defined\\n * on any ancestor, or setting it as a simple property on the target otherwise.\\n *\\n * @template T\\n * @param {!Object} target\\n * @param {!string} propertyName\\n * @param {T} value\\n * @return {T}\\n */\\n$jscomp.superSet = function(target, propertyName, value) {\\n  var desc = $jscomp.getSuperPropertyDescriptor_(target, propertyName);\\n  if (desc) {\\n    if (!desc.set) {\\n      throw new TypeError('No setter for super.' + propertyName);\\n    }\\n    desc.set.call(target, value);\\n  } else {\\n    target[propertyName] = value;\\n  }\\n  return value;\\n};\\n\",\"js/es6_runtime.js\":\"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n'require es6/array';\\n'require es6/execute_async_generator';\\n'require es6/map';\\n'require es6/math';\\n'require es6/number';\\n'require es6/object';\\n'require es6/promise';\\n'require es6/reflect';\\n'require es6/set';\\n'require es6/string';\\n'require es6/symbol';\\n'require es6/util/arrayfromiterable';\\n'require es6/util/arrayfromiterator';\\n'require es6/util/inherits';\\n'require es6/util/iteratorfromarray';\\n'require es6/util/makeiterator';\\n'require es6/weakmap';\\n'require es6/weakset';\\n\",\"js/license.js\":\"/*\\n * Copyright 2015 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\",\"js/runtime_type_check.js\":\"/*\\n * Copyright 2010 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * @fileoverview Provides the boilerplate code for run-time type checking.\\n *\\n * @author moedinger@google.com (Andrew Moedinger)\\n * @author nadaa@google.com (Nada Amin)\\n */\\n'require base';\\n\\n/** @const */\\n$jscomp.typecheck = {};\\n\\n/**\\n * A state variable to suspend checking, to avoid infinite calls\\n * caused by calling checked code from the checking functions.\\n *\\n * @type {boolean}\\n */\\n$jscomp.typecheck.suspendChecking = false;\\n\\n\\n/**\\n * Log and possibly format the run-time type check warning. This\\n * function is customized at compile-time.\\n *\\n * @param {string} warning the warning to log.\\n * @param {*} expr the faulty expression.\\n */\\n$jscomp.typecheck.log = function(warning, expr) {};\\n\\n/**\\n * Checks that the given expression matches one of the given checkers,\\n * logging if not, and returning the expression regardless.\\n *\\n * @param {*} expr the expression to check.\\n * @param {!Array.<!$jscomp.typecheck.Checker>} checkers the checkers to\\n *     use in checking, one of these has to match for checking to succeed.\\n * @return {*} the given expression back.\\n */\\n$jscomp.typecheck.checkType = function(expr, checkers) {\\n  if ($jscomp.typecheck.suspendChecking) {\\n    return expr;\\n  }\\n  $jscomp.typecheck.suspendChecking = true;\\n\\n  for (var i = 0; i < checkers.length; i++) {\\n    var checker = checkers[i];\\n    var ok = checker.check(expr);\\n    if (ok) {\\n      $jscomp.typecheck.suspendChecking = false;\\n      return expr;\\n    }\\n  }\\n\\n  var warning = $jscomp.typecheck.prettify_(expr) + ' not in ' +\\n      checkers.join(' ');\\n\\n  $jscomp.typecheck.log(warning, expr);\\n\\n  $jscomp.typecheck.suspendChecking = false;\\n  return expr;\\n};\\n\\n\\n/**\\n * Prettify the given expression for printing.\\n *\\n * @param {*} expr the expression.\\n * @return {string} a string representation of the given expression.\\n * @private\\n */\\n$jscomp.typecheck.prettify_ = function(expr) {\\n  var className = $jscomp.typecheck.getClassName_(expr);\\n  if (className) {\\n    return className;\\n  }\\n  try {\\n    return String(expr);\\n  }\\n  catch (e) {}\\n  return '<unknown>';\\n};\\n\\n/**\\n * Gets the class name if the given expression is an object.\\n *\\n * @param {*} expr the expression.\\n * @return {string|undefined} the class name or undefined if the\\n *     expression is not an object.\\n * @private\\n */\\n$jscomp.typecheck.getClassName_ = function(expr) {\\n  var className = void 0;\\n  if (typeof expr == 'object' && expr && expr.constructor) {\\n    className = expr.constructor.name;\\n    if (!className) {\\n      var funNameRe = /function (.{1,})\\\\(/;\\n      var m = (funNameRe).exec(expr.constructor.toString());\\n      className = m && m.length > 1 ? m[1] : void 0;\\n    }\\n  }\\n  return className;\\n};\\n\\n/**\\n * Interface for all checkers.\\n *\\n * @interface\\n */\\n$jscomp.typecheck.Checker = function() {};\\n\\n\\n/**\\n * Checks the given expression.\\n *\\n * @param {*} expr the expression to check.\\n * @return {boolean} whether the given expression matches this checker.\\n */\\n$jscomp.typecheck.Checker.prototype.check = function(expr) {};\\n\\n\\n\\n/**\\n * A class for all value checkers, except the null checker.\\n *\\n * @param {string} type the value type (e.g. 'number') of this checker.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ValueChecker_ = function(type) {\\n  /**\\n   * The value type of this checker.\\n   * @type {string}\\n   * @private\\n   */\\n  this.type_ = type;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.check = function(expr) {\\n  return typeof(expr) == this.type_;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ValueChecker_.prototype.toString = function() {\\n  return 'value(' + this.type_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker class for null values.\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.NullChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.check = function(expr) {\\n  return expr === null;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.NullChecker_.prototype.toString = function() {\\n  return 'value(null)';\\n};\\n\\n\\n/**\\n * A checker class for a class defined in externs, including built-in\\n * JS types.\\n *\\n * <p>If the class type is undefined, then checking is suspended to\\n * avoid spurious warnings. This is necessary because some externs\\n * types are not defined in all browsers. For example, Window is not\\n * defined Chrome, as window has the type DOMWindow.\\n *\\n * <p>Another subtlety is that a built-in type may be referenced in a\\n * different frame than the one in which it was created. This causes\\n * instanceOf to return false even though the object is of the correct\\n * type. We work around this by checking as many windows as possible,\\n * redefining open on top and window to keep track of them.\\n *\\n * @param {string} className the name of the extern class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_ = function(className) {\\n  /**\\n   * The name of the extern class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/**\\n * A list of (hopefully all) open windows.\\n *\\n * @type {!Array.<!Window>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.windows = [];\\n\\n\\n/**\\n * A list of the original open methods that have been redefined.\\n *\\n * @type {!Array.<!Function>}\\n */\\n$jscomp.typecheck.ExternClassChecker_.oldOpenFuns = [];\\n\\n\\n/**\\n * Redefines the open method on the given window, adding tracking.\\n *\\n * @param {!Window} win the window to track.\\n */\\n$jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow = function(win) {\\n  if (win.tracked) {\\n    return;\\n  }\\n  win.tracked = true;\\n\\n  var key = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.length;\\n\\n  $jscomp.typecheck.ExternClassChecker_.oldOpenFuns.push(win.open);\\n  $jscomp.typecheck.ExternClassChecker_.windows.push(win);\\n\\n  win.open = function() {\\n    var w = $jscomp.typecheck.ExternClassChecker_.oldOpenFuns[key].apply(\\n        this, arguments);\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(w);\\n    return w;\\n  };\\n};\\n\\n\\n/**\\n * Returns the global 'this' object. This will normally be the same as 'window'\\n * but when running in a worker thread, the DOM is not available.\\n * @return {!Window}\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.getGlobalThis_ = function() {\\n  return (function() { return this; }).call(null);\\n};\\n\\n\\n// Install listeners on the global 'this' object.\\n(function() {\\n  var globalThis = $jscomp.typecheck.ExternClassChecker_.getGlobalThis_();\\n  $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(globalThis);\\n\\n  var theTop = globalThis['top'];\\n  if (theTop) {\\n    $jscomp.typecheck.ExternClassChecker_.trackOpenOnWindow(theTop);\\n  }\\n})();\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.check = function(expr) {\\n  var classTypeDefined = [ false ];\\n  for (var i = 0; i < $jscomp.typecheck.ExternClassChecker_.windows.length;\\n      i++) {\\n    var w = $jscomp.typecheck.ExternClassChecker_.windows[i];\\n    if (this.checkWindow_(w, expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return !classTypeDefined[0];\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ExternClassChecker_.prototype.toString = function() {\\n  return 'ext_class(' + this.className_ + ')';\\n};\\n\\n\\n/**\\n * Checks whether the given expression is an instance of this extern\\n * class in this window or any of its frames and subframes.\\n *\\n * @param {!Window} w the window to start checking from.\\n * @param {*} expr the expression to check.\\n * @param {!Array.<boolean>} classTypeDefined a wrapped boolean\\n *     updated to indicate whether the class type was seen in any frame.\\n * @return true if the given expression is an instance of this class.\\n * @private\\n */\\n$jscomp.typecheck.ExternClassChecker_.prototype.checkWindow_ =\\n    function(w, expr, classTypeDefined) {\\n  var classType = /** @type {function(new: ?)} */ (w[this.className_]);\\n  classTypeDefined[0] = classTypeDefined[0] || !!classType;\\n  if (classType && expr instanceof classType) {\\n    return true;\\n  }\\n  for (var i = 0; i < w.length; i++) {\\n    if (this.checkWindow_(w.frames[i], expr, classTypeDefined)) {\\n      return true;\\n    }\\n  }\\n  return false;\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined classes.\\n *\\n * @param {string} className name of the class to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ClassChecker_ = function(className) {\\n\\n  /**\\n   * The name of the class to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.className_ = className;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['instance_of__' + this.className_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ClassChecker_.prototype.toString = function() {\\n  return 'class(' + this.className_ + ')';\\n};\\n\\n\\n\\n/**\\n * A class for all checkers of user-defined interfaces.\\n *\\n * @param {string} interfaceName name of the interface to check.\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.InterfaceChecker_ = function(interfaceName) {\\n\\n  /**\\n   * The name of the interface to check.\\n   * @type {string}\\n   * @private\\n   */\\n  this.interfaceName_ = interfaceName;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.check = function(expr) {\\n  return !!(expr && expr['implements__' + this.interfaceName_]);\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.InterfaceChecker_.prototype.toString = function() {\\n  return 'interface(' + this.interfaceName_ + ')';\\n};\\n\\n\\n\\n/**\\n * A checker for object types (possibly with non-standard prototype: might not\\n * inherit from Object).\\n *\\n * @constructor\\n * @implements {$jscomp.typecheck.Checker}\\n * @private\\n */\\n$jscomp.typecheck.ObjectChecker_ = function() {};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.check = function(expr) {\\n  return (typeof(expr) == 'object' || typeof(expr) == 'function') && !!expr;\\n};\\n\\n\\n/** @inheritDoc */\\n$jscomp.typecheck.ObjectChecker_.prototype.toString = function() {\\n  return 'value(object)';\\n};\\n\\n\\n\\n/**\\n * A checker for null values.\\n *\\n * @type {!$jscomp.typeche";
a.a+='ck.Checker} a checker.\\n */\\n$jscomp.typecheck.nullChecker = new $jscomp.typecheck.NullChecker_();\\n\\n\\n/**\\n * Creates a checker for the given value type (excluding the null type).\\n *\\n * @param {string} type the value type.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.valueChecker = function(type) {\\n  return new $jscomp.typecheck.ValueChecker_(type);\\n};\\n\\n\\n/**\\n * Creates a checker for the given extern class name.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.externClassChecker = function(className) {\\n  return new $jscomp.typecheck.ExternClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined class.\\n *\\n * @param {string} className the class name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.classChecker = function(className) {\\n  return new $jscomp.typecheck.ClassChecker_(className);\\n};\\n\\n\\n/**\\n * Creates a checker for the given user-defined interface.\\n *\\n * @param {string} interfaceName the interface name.\\n * @return {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.interfaceChecker = function(interfaceName) {\\n  return new $jscomp.typecheck.InterfaceChecker_(interfaceName);\\n};\\n\\n\\n/**\\n * A checker for objects.\\n *\\n * @type {!$jscomp.typecheck.Checker} a checker.\\n */\\n$jscomp.typecheck.objectChecker = new $jscomp.typecheck.ObjectChecker_();\\n","js/util/checkstringargs.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n\\n/**\\n * Throws if the argument is a RegExp, or if thisArg is undefined.\\n * @param {?} thisArg The \'this\' arg, which must be defined.\\n * @param {*} arg The first argument of the function, which mustn\'t be a RegExp.\\n * @param {string} func Name of the function, for reporting.\\n * @return {string} The thisArg, coerced to a string.\\n */\\n$jscomp.checkStringArgs = function(thisArg, arg, func) {\\n  if (thisArg == null) {\\n    throw new TypeError(\\n        \\"The \'this\' value for String.prototype.\\" + func +\\n        \' must not be null or undefined\');\\n  }\\n  if (arg instanceof RegExp) {\\n    throw new TypeError(\\n        \'First argument to String.prototype.\' + func +\\n        \' must not be a regular expression\');\\n  }\\n  return thisArg + \'\';\\n};\\n","js/util/defineproperty.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n */\\n\'require base\';\\n\\n\\n/**\\n * Polyfill for Object.defineProperty() method:\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty\\n *\\n * Obviously we can\'t support getters and setters in ES3, so we\\n * throw a TypeError in that case.  We also refuse to define\\n * properties on Array.prototype and Object.prototype, since we\\n * can\'t make them non-enumerable and this messes up peoples\' for\\n * loops.  Beyond this, we simply assign values and not worry\\n * about enumerability or writeability.\\n * @param {?} target\\n * @param {string} property\\n * @param {?} descriptor\\n */\\n$jscomp.defineProperty =\\n    typeof Object.defineProperties == \'function\' ?\\n    Object.defineProperty :\\n    function(target, property, descriptor) {\\n      descriptor = /** @type {!ObjectPropertyDescriptor} */ (descriptor);\\n      if (descriptor.get || descriptor.set) {\\n        throw new TypeError(\'ES3 does not support getters and setters.\');\\n      }\\n      if (target == Array.prototype || target == Object.prototype) return;\\n      target[property] = descriptor.value;\\n    };\\n","js/util/finddescriptor.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require es6/reflect/getownpropertydescriptor\';\\n\'require es6/reflect/getprototypeof\';\\n\\n\\n/**\\n * Helper function to find a descriptor.\\n * @param {!Object} target\\n * @param {string} propertyKey\\n * @return {!Object|undefined} Property descriptor, or undefined.\\n */\\n$jscomp.findDescriptor = function(target, propertyKey) {\\n  var /** ?Object */ obj = target;\\n  while (obj) {\\n    var property = Reflect.getOwnPropertyDescriptor(obj, propertyKey);\\n    if (property) {\\n      return property;\\n    }\\n    obj = Reflect.getPrototypeOf(obj);\\n  }\\n  return undefined;\\n};\\n","js/util/findinternal.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Utility for Array methods that find elements.\\n */\\n\'require base\';\\n\\n// TODO(sdh): would be nice to template on the ARRAY type as well,\\n// so that the third arg type of callback can be refined to be\\n// exactly the same as the array type, but then there\'s no way to\\n// enforce that it must, in fact, be an array.\\n/**\\n * Internal implementation of find.\\n * @param {!IArrayLike<VALUE>} array\\n * @param {function(this: THIS, VALUE, number, !IArrayLike<VALUE>): *} callback\\n * @param {THIS} thisArg\\n * @return {{i: number, v: (VALUE|undefined)}}\\n * @template THIS, VALUE\\n */\\n$jscomp.findInternal = function(array, callback, thisArg) {\\n  if (array instanceof String) {\\n    array = /** @type {!IArrayLike} */ (String(array));\\n  }\\n  var len = array.length;\\n  for (var i = 0; i < len; i++) {\\n    var value = array[i];\\n    if (callback.call(thisArg, value, i, array)) return {i: i, v: value};\\n  }\\n  return {i: -1, v: void 0};\\n};\\n","js/util/global.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Runtime code to store the global object.\\n */\\n\'require base\';\\n\'declare global\';\\n\'declare window\';\\n\\n\\n/**\\n * @param {!Object} maybeGlobal\\n * @return {!Object} The global object.\\n * @suppress {undefinedVars}\\n */\\n$jscomp.getGlobal = function(maybeGlobal) {\\n  return (typeof window != \'undefined\' && window === maybeGlobal) ?\\n      maybeGlobal :\\n      (typeof global != \'undefined\' && global != null) ? global : maybeGlobal;\\n};\\n\\n\\n// TODO(sdh): This should be typed as \\"the global object\\", but there\'s not\\n// currently any way to do this in the existing type system.\\n/**\\n * The global object. For browsers we could just use `this` but in Node that\\n * doesn\'t work.\\n * @const {?}\\n */\\n$jscomp.global = $jscomp.getGlobal(this);\\n","js/util/owns.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\'require base\';\\n\\n/**\\n * Synonym for Object.prototype.hasOwnProperty.call(obj, prop).\\n * @param {!Object} obj\\n * @param {string} prop\\n * @return {boolean}\\n */\\n$jscomp.owns = function(obj, prop) {\\n  return Object.prototype.hasOwnProperty.call(obj, prop);\\n};\\n","js/util/polyfill.js":"/*\\n * Copyright 2016 The Closure Compiler Authors.\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *     http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n/**\\n * @fileoverview Provides methods to polyfill native objects.\\n */\\n\'require util/defineproperty\';\\n\'require util/global\';\\n\\n\\n/**\\n * @param {string} target\\n * @param {?function(*): *} polyfill\\n * @param {string} fromLang\\n * @param {string} toLang\\n */\\n$jscomp.polyfill = function(target, polyfill, fromLang, toLang) {\\n  if (!polyfill) return;\\n  var obj = $jscomp.global;\\n  var split = target.split(\'.\');\\n  for (var i = 0; i < split.length - 1; i++) {\\n    var key = split[i];\\n    if (!(key in obj)) obj[key] = {};  // Might want to be defineProperty.\\n    obj = obj[key];\\n  }\\n  var property = split[split.length - 1];\\n  var orig = obj[property];\\n  var impl = polyfill(orig);\\n  if (impl == orig || impl == null) return;\\n  $jscomp.defineProperty(\\n      obj, property, {configurable: true, writable: true, value: impl});\\n};\\n","parsing/ParserConfig.properties":"# Copyright 2009 The Closure Compiler Authors.\\n#\\n# Licensed under the Apache License, Version 2.0 (the \\"License\\");\\n# you may not use this file except in compliance with the License.\\n# You may obtain a copy of the License at\\n#\\n#     http://www.apache.org/licenses/LICENSE-2.0\\n#\\n# Unless required by applicable law or agreed to in writing, software\\n# distributed under the License is distributed on an \\"AS IS\\" BASIS,\\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n# See the License for the specific language governing permissions and\\n# limitations under the License.\\n\\n# Configuration options for the Parser.\\n#\\n# Allows us to update the allowed JSDoc annotations independently of the\\n# Compiler binary, so we can add new JSDoc annotations to old binaries.\\n\\n# The version of the compiler that we\'re currently building.\\n# Should be formatted as:\\n# Version# (Revision XXX)\\ncompiler.version = ${compiler.version}\\n\\n# The datestamp of the compiler that we\'re currently building.\\ncompiler.date = ${compiler.date}\\n\\n# A comma-delimited list.\\n# Some of these are not used by JSCompiler, but appear in third-party JS code.\\n# http://usejsdoc.org/\\n# It\'s not strictly necessary for the natively-supported annotations to be\\n# listed here, but it\'s nice to have them all in one place.\\njsdoc.annotations =\\\\\\n    addon,\\\\\\n    alias,\\\\\\n    animations,\\\\\\n    augments,\\\\\\n    author,\\\\\\n    base,\\\\\\n    borrows,\\\\\\n    bug,\\\\\\n    channel, \\\\\\n    class,\\\\\\n    classdesc,\\\\\\n    codepen,\\\\\\n    config,\\\\\\n    consistentIdGenerator,\\\\\\n    constructor,\\\\\\n    constructs,\\\\\\n    copyright,\\\\\\n    default,\\\\\\n    delegate,\\\\\\n    demo,\\\\\\n    deprecated,\\\\\\n    desc,\\\\\\n    description,\\\\\\n    dict,\\\\\\n    element,\\\\\\n    enhance,\\\\\\n    enhanceable,\\\\\\n    enum,\\\\\\n    event,\\\\\\n    eventOf,\\\\\\n    eventType,\\\\\\n    example,\\\\\\n    exception,\\\\\\n    exec,\\\\\\n    export,\\\\\\n    expose,\\\\\\n    externs,\\\\\\n    field,\\\\\\n    file,\\\\\\n    fires,\\\\\\n    function,\\\\\\n    global,\\\\\\n    hassoydelcall,\\\\\\n    hassoydeltemplate,\\\\\\n    id,\\\\\\n    idGenerator,\\\\\\n    ignore,\\\\\\n    inner,\\\\\\n    instance,\\\\\\n    kind,\\\\\\n    lends,\\\\\\n    link,\\\\\\n    meaning,\\\\\\n    member,\\\\\\n    memberOf,\\\\\\n    memberof,\\\\\\n    method,\\\\\\n    methodOf,\\\\\\n    mixes,\\\\\\n    mixin,\\\\\\n    modName,\\\\\\n    model,\\\\\\n    modifies,\\\\\\n    mods,\\\\\\n    module,\\\\\\n    multiElement,\\\\\\n    name,\\\\\\n    namespace,\\\\\\n    ngInject,\\\\\\n    ngdoc,\\\\\\n    nocompile,\\\\\\n    package,\\\\\\n    param,\\\\\\n    parent,\\\\\\n    pintomodule,\\\\\\n    preserveTry,\\\\\\n    priority,\\\\\\n    private,\\\\\\n    property,\\\\\\n    propertyOf,\\\\\\n    protected,\\\\\\n    provideGoog,\\\\\\n    public,\\\\\\n    readonly,\\\\\\n    requirecss,\\\\\\n    requires,\\\\\\n    restrict,\\\\\\n    returns,\\\\\\n    scope,\\\\\\n    see,\\\\\\n    since,\\\\\\n    stableIdGenerator,\\\\\\n    static,\\\\\\n    struct,\\\\\\n    summary,\\\\\\n    supported,\\\\\\n    this,\\\\\\n    throws,\\\\\\n    todo,\\\\\\n    tutorial,\\\\\\n    type,\\\\\\n    typedef,\\\\\\n    url,\\\\\\n    usage,\\\\\\n    version,\\\\\\n    virtual,\\\\\\n    visibility,\\\\\\n    wizSupportsSymbolicLookup,\\\\\\n    wizaction,\\\\\\n    wizmodule\\n\\n# Comma-delimited list of valid suppressions.\\n# This should be a subset of the list of DiagnosticGroups.\\njsdoc.suppressions =\\\\\\n    accessControls,\\\\\\n    ambiguousFunctionDecl,\\\\\\n    checkDebuggerStatement,\\\\\\n    checkRegExp,\\\\\\n    checkTypes,\\\\\\n    checkVars,\\\\\\n    closureDepMethodUsageChecks,\\\\\\n    const,\\\\\\n    constantProperty,\\\\\\n    deprecated,\\\\\\n    duplicate,\\\\\\n    es5Strict,\\\\\\n    externsValidation,\\\\\\n    extraProvide,\\\\\\n    extraRequire,\\\\\\n    fileoverviewTags,\\\\\\n    globalThis,\\\\\\n    invalidCasts,\\\\\\n    legacyGoogScopeRequire,\\\\\\n    lateProvide,\\\\\\n    messageConventions,\\\\\\n    misplacedTypeAnnotation,\\\\\\n    missingOverride, \\\\\\n    missingPolyfill, \\\\\\n    missingProperties,\\\\\\n    missingProvide,\\\\\\n    missingRequire,\\\\\\n    missingReturn,\\\\\\n    newCheckTypes,\\\\\\n    newCheckTypesAllChecks,\\\\\\n    nonStandardJsDocs,\\\\\\n    reportUnknownTypes,\\\\\\n    strictModuleDepCheck,\\\\\\n    suspiciousCode,\\\\\\n    transitionalSuspiciousCodeWarnings,\\\\\\n    undefinedNames,\\\\\\n    undefinedVars,\\\\\\n    underscore,\\\\\\n    unknownDefines,\\\\\\n    unnecessaryCasts,\\\\\\n    unusedLocalVariables,\\\\\\n    unusedPrivateMembers,\\\\\\n    uselessCode,\\\\\\n    visibility,\\\\\\n    with\\n\\n# A comma-delimited list of reserved words that we should not rename variables\\n# to. Used when an extension is released that steps on globals.\\n# This prevents the compiler from renaming variables to these names, but not\\n# from allowing externs for these names.\\n#\\n# i,j - common loop variables often overwritten by browser extensions\\n# s \u2013 commonly defined by browser extensions when injecting scripts.\\n# $j,$ - common jquery aliases often overwritten by browser extensions\\n# o - ove';
a.a+='rwritten by Norton Identity Protection\'s Chrome extension.\\ncompiler.reserved.vars = i,j,s,$,$j,o\\n","rhino/Messages.properties":"#\\n# Default JavaScript messages file.\\n#\\n# ***** BEGIN LICENSE BLOCK *****\\n# Version: MPL 1.1/GPL 2.0\\n#\\n# The contents of this file are subject to the Mozilla Public License Version\\n# 1.1 (the \\"License\\"); you may not use this file except in compliance with\\n# the License. You may obtain a copy of the License at\\n# http://www.mozilla.org/MPL/\\n#\\n# Software distributed under the License is distributed on an \\"AS IS\\" basis,\\n# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License\\n# for the specific language governing rights and limitations under the\\n# License.\\n#\\n# The Original Code is Rhino code, released\\n# May 6, 1999.\\n#\\n# The Initial Developer of the Original Code is\\n# Netscape Communications Corporation.\\n# Portions created by the Initial Developer are Copyright (C) 1997-1999\\n# the Initial Developer. All Rights Reserved.\\n#\\n# Contributor(s):\\n#   Norris Boyd\\n#   Bob Jervis\\n#   Pascal-Louis Perez\\n#\\n# Alternatively, the contents of this file may be used under the terms of\\n# the GNU General Public License Version 2 or later (the \\"GPL\\"), in which\\n# case the provisions of the GPL are applicable instead of those above. If\\n# you wish to allow use of your version of this file only under the terms of\\n# the GPL and not to allow others to use your version of this file under the\\n# MPL, indicate your decision by deleting the provisions above and replacing\\n# them with the notice and other provisions required by the GPL. If you do\\n# not delete the provisions above, a recipient may use your version of this\\n# file under either the MPL or the GPL.\\n#\\n# ***** END LICENSE BLOCK *****\\n\\n# This is replaced during jar assembly from property string\\n# and should not be translated\\nimplementation.version = @IMPLEMENTATION.VERSION@\\n\\n#\\n# To add JavaScript error messages for a particular locale, create a\\n# new Messages_[locale].properties file, where [locale] is the Java\\n# string abbreviation for that locale.  For example, JavaScript\\n# messages for the Polish locale should be located in\\n# Messages_pl.properties, and messages for the Italian Swiss locale\\n# should be located in Messages_it_CH.properties.  Message properties\\n# files should be accessible through the classpath under\\n# org.mozilla.javascript.resources\\n#\\n# See:\\n# java.util.ResourceBundle\\n# java.text.MessageFormat\\n#\\n\\n# SomeJavaClassWhereUsed\\n\\n# Codegen\\nmsg.dup.parms =\\\\\\n    Duplicate parameter name \\"{0}\\".\\n\\nmsg.unexpected.eof =\\\\\\n    Unexpected end of file\\n\\nmsg.extra.trailing.comma =\\\\\\n    Trailing comma is not legal in an ECMA-262 object initializer\\n\\nmsg.end.annotation.expected =\\\\\\n    expected end of line or comment.\\n\\nmsg.bad.jsdoc.tag =\\\\\\n    illegal use of unknown JSDoc tag \\"{0}\\"; ignoring it\\n\\nmsg.bad.fileoverview.visibility.annotation =\\\\\\n    {0} visibility not allowed in @fileoverview block\\n\\nmsg.missing.variable.name =\\\\\\n    expecting a variable name in a @param tag.\\n\\nmsg.dup.variable.name =\\\\\\n    duplicate variable name \\"{0}\\"\\n\\nmsg.invalid.variable.name =\\\\\\n    invalid param name \\"{0}\\"\\n\\nmsg.jsdoc.incompat.type =\\\\\\n    type annotation incompatible with other annotations.\\n\\nmsg.jsdoc.type.syntax =\\\\\\n    type not recognized due to syntax error.\\n\\nmsg.jsdoc.override =\\\\\\n    extra @override/@inheritDoc tag.\\n\\nmsg.jsdoc.final =\\\\\\n    extra @final tag.\\n\\nmsg.jsdoc.extra.visibility=\\\\\\n    extra visibility tag\\n\\nmsg.jsdoc.idgen.duplicate =\\\\\\n    extra @idGenerator tag\\n\\nmsg.jsdoc.idgen.bad =\\\\\\n    malformed @idGenerator tag\\n\\nmsg.jsdoc.wizaction =\\\\\\n    extra @wizaction tag\\n\\nmsg.jsdoc.idgen.unknown =\\\\\\n    unknown @idGenerator parameter: {0}\\n\\nmsg.jsdoc.hidden =\\\\\\n    extra @hidden tag\\n\\nmsg.jsdoc.consistidgen =\\\\\\n    extra @consistentIdGenerator tag\\n\\nmsg.jsdoc.const =\\\\\\n    conflicting @const tag\\n\\nmsg.jsdoc.desc.extra =\\\\\\n    extra @desc tag\\n\\nmsg.jsdoc.meaning.extra =\\\\\\n    extra @meaning tag\\n\\nmsg.jsdoc.fileoverview.extra =\\\\\\n    extra @fileoverview tag\\n\\nmsg.jsdoc.lends.incompatible =\\\\\\n    @lends tag incompatible with other annotations.\\n\\nmsg.jsdoc.lends.missing =\\\\\\n    missing object name in @lends tag.\\n\\nmsg.jsdoc.preserve.nobuilder =\\\\\\n    @preserve or @license annotation without file to associate it with\\n\\nmsg.jsdoc.missing.lp =\\\\\\n    missing opening (\\n\\nmsg.jsdoc.missing.braces =\\\\\\n    Type annotations should have curly braces.\\n\\nmsg.jsdoc.missing.rc =\\\\\\n    expected closing }\\n\\nmsg.jsdoc.missing.rp =\\\\\\n    missing closing )\\n\\nmsg.jsdoc.missing.gt =\\\\\\n    missing closing >\\n\\nmsg.jsdoc.missing.rb =\\\\\\n    missing closing ]\\n\\nmsg.jsdoc.missing.colon =\\\\\\n    expecting colon after this\\n\\nmsg.jsdoc.function.this =\\\\\\n    expecting this but {0} found\\n\\nmsg.jsdoc.function.newnotobject =\\\\\\n    constructed type must be an object type\\n\\nmsg.jsdoc.function.varargs =\\\\\\n    variable length argument must be last.\\n\\nmsg.jsdoc.type.union =\\\\\\n    union type element with bad syntax\\n\\nmsg.jsdoc.type.record.duplicate =\\\\\\n    Duplicate record field {0}.\\n\\nmsg.jsdoc.enum =\\\\\\n    conflicting @enum tag\\n\\nmsg.jsdoc.constructor =\\\\\\n    conflicting @constructor tag\\n\\nmsg.jsdoc.deprecated =\\\\\\n    extra @deprecated tag\\n\\nmsg.jsdoc.interface =\\\\\\n    extra @interface tag\\n\\nmsg.jsdoc.interface.constructor =\\\\\\n  cannot be both an interface and a constructor.\\n\\nmsg.jsdoc.record =\\\\\\n  conflicting @record tag.\\n\\nmsg.jsdoc.implements.duplicate =\\\\\\n    duplicate @implements tag.\\n\\nmsg.jsdoc.noalias =\\\\\\n    extra @noalias tag\\n\\nmsg.jsdoc.nosideeffects =\\\\\\n    conflicting @nosideeffects tag\\n\\nmsg.jsdoc.implicitcast =\\\\\\n    extra @implicitCast tag.\\n\\nmsg.jsdoc.this =\\\\\\n    conflicting @this tag\\n\\nmsg.jsdoc.this.object =\\\\\\n    @this must specify an object type\\n\\nmsg.jsdoc.type =\\\\\\n    conflicting @type tag\\n\\nmsg.jsdoc.define =\\\\\\n    conflicting @define tag\\n\\nmsg.jsdoc.define.badtype =\\\\\\n    @define tag only permits literal types\\n\\nmsg.jsdoc.extends =\\\\\\n    conflicting @extends tag\\n\\nmsg.jsdoc.export =\\\\\\n    extra @export tag\\n\\nmsg.jsdoc.expose =\\\\\\n    extra @expose tag\\n\\nmsg.jsdoc.externs =\\\\\\n    extra @externs tag\\n\\nmsg.jsdoc.nocompile =\\\\\\n    extra @nocompile tag\\n\\nmsg.jsdoc.nocollapse =\\\\\\n    extra @nocollapse tag\\n\\nmsg.jsdoc.seemissing =\\\\\\n    @see tag missing description\\n\\nmsg.jsdoc.authormissing =\\\\\\n    @author tag missing author\\n\\nmsg.jsdoc.versionmissing =\\\\\\n    @version tag missing version information\\n\\nmsg.jsdoc.extraversion =\\\\\\n    conflicting @version tag\\n\\nmsg.jsdoc.suppress =\\\\\\n    malformed @suppress tag\\n\\nmsg.jsdoc.suppress.duplicate =\\\\\\n    duplicate @suppress tag\\n\\nmsg.jsdoc.suppress.unknown =\\\\\\n    unknown @suppress parameter: {0}\\n\\nmsg.jsdoc.modifies =\\\\\\n    malformed @modifies tag\\n\\nmsg.jsdoc.modifies.duplicate =\\\\\\n    conflicting @modifies tag\\n\\nmsg.jsdoc.modifies.unknown =\\\\\\n    unknown @modifies parameter: {0}\\n\\nmsg.jsdoc.polymerBehavior.extra =\\\\\\n    extra @polymerBehavior tag\\n\\nmsg.jsdoc.stableidgen =\\\\\\n    extra @stableIdGenerator tag\\n\\nmsg.jsdoc.templatemissing =\\\\\\n    @template tag missing type name.\\n\\nmsg.jsdoc.template.name.declared.twice =\\\\\\n    Type name(s) for @template annotation declared twice.\\n\\nmsg.jsdoc.template.invalid.type.name =\\\\\\n    Invalid type name(s) for @template annotation.\\n\\nmsg.jsdoc.disposeparameter.missing =\\\\\\n    @disposes tag missing parameter name.\\n\\nmsg.jsdoc.disposeparameter.error =\\\\\\n    @disposes parameter unknown or parameter specified multiple times.\\n\\nmsg.jsdoc.jaggerInject.extra =\\\\\\n    extra @jaggerInject tag\\n\\nmsg.jsdoc.jaggerModule.extra =\\\\\\n    extra @jaggerModule tag\\n\\nmsg.jsdoc.jaggerProvidePromise.extra =\\\\\\n    extra @jaggerProvidePromise tag\\n\\nmsg.jsdoc.jaggerProvide.extra =\\\\\\n    extra @jaggerProvide tag\\n\\nmsg.jsdoc.nginject.extra =\\\\\\n    extra @ngInject tag\\n\\nmsg.no.type.name =\\\\\\n    expecting a type name.\\n\\nmsg.jsdoc.typetransformation.missing.delimiter =\\\\\\n    Expected end delimiter for a type transformation.\\n\\nmsg.jsdoc.typetransformation.with.multiple.names =\\\\\\n    Type transformation must be associated to a single type name.\\n\\nmsg.jsdoc.typetransformation.expression.missing =\\\\\\n    Missing type transformation expression.\\n\\nmsg.jsdoc.typetransformation.invalid =\\\\\\n    Invalid {0}\\n\\nmsg.jsdoc.typetransformation.invalid.expression =\\\\\\n    Invalid {0} expression\\n\\nmsg.jsdoc.typetransformation.missing.param =\\\\\\n    Missing parameter in {0}\\n\\nmsg.jsdoc.typetransformation.extra.param =\\\\\\n    Found extra parameter in {0}\\n\\nmsg.jsdoc.typetransformation.invalid.inside =\\\\\\n    Invalid expression inside {0}\\n"}\n';
return a.a}var rAc="object",sAc="boolean",tAc="number",uAc="function",vAc="string",wAc=2147483647,xAc="\\\\",yAc={3:1,4:1,11:1},zAc={85:1,3:1},AAc=65536,BAc=55296,CAc=1023,DAc=65535,EAc=56320,FAc="null",GAc={3:1},HAc="use Optional.orNull() instead of Optional.or(null)",IAc={29:1},JAc="0123456789ABCDEF",KAc={97:1,50:1,51:1},LAc=", ",MAc={16:1,20:1},NAc={3:1,4:1},OAc={16:1,20:1,48:1},PAc="%s (%s) must not be negative",QAc="index",RAc="negative size: ",SAc={3:1,15:1,4:1},TAc={50:1,132:1,3:1,23:1,14:1,
51:1},UAc={16:1},VAc={108:1,29:1},WAc={108:1,29:1,147:1},XAc={122:1,3:1},YAc={49:1},ZAc={16:1,20:1,31:1},$Ac="no calls to next() since the last call to remove()",_Ac={16:1,20:1,48:1,76:1},aBc={29:1,147:1},bBc={16:1,20:1,31:1,121:1},cBc={16:1,20:1,203:1,31:1,121:1},dBc="occurrences cannot be negative: %s",eBc={222:1,58:1},fBc=1073741824,gBc={70:1,3:1,16:1,20:1},hBc={70:1,113:1,3:1,16:1,20:1,48:1,76:1},iBc={3:1,4:1,148:1},jBc={119:1,3:1,49:1},kBc={70:1,129:1,3:1,16:1,20:1,31:1},lBc={58:1},mBc={564:1,
3:1},nBc={597:1,3:1},oBc="limit is negative",pBc="position (",qBc="expectedValuesPerKey",rBc=461845907,sBc=-862048943,tBc={151:1,188:1,3:1,23:1,14:1,152:1},uBc={151:1,152:1},vBc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wBc={382:1,3:1},xBc="__noinit__",yBc="__java$exception",zBc="stack",ABc={3:1,39:1},BBc="\n",CBc={3:1,41:1,39:1},DBc=-2147483648,EBc={l:0,m:0,h:524288},FBc={136:1,3:1},GBc=1114111,HBc="String",IBc="anonymous",JBc="fnStack",KBc="Unknown",LBc=4194303,MBc=1048575,
NBc=524288,OBc=4194304,PBc=17592186044416,QBc=4095,RBc=-17592186044416,SBc="CSS1Compat",TBc={206:1},UBc="ERROR",VBc="WARNING",WBc="OFF",XBc="Expected 0 children, but was ",YBc="Expected ",ZBc=" children, but was ",$Bc="Expected assignment target expression but was ",_Bc="Missing 'synthetic block' annotation.",aCc="Expected 1 children, but was ",bCc="Expected 2 children, but was ",cCc="Expected child count in [1, 2], but was ",dCc="Feature 'template literal' is only allowed in ES6 mode.",eCc="Expected child count in [0, 1], but was ",
fCc="Expected non-null string.",gCc="Expected non-empty string.",hCc="Invalid child for ",iCc="Expected unnamed function expression.",jCc="Expected child count in [2, 3], but was ",kCc={59:1},lCc={573:1,3:1,4:1},mCc={123:1},nCc={27:1},oCc="cannot reference {2} because of a missing module dependency\ndefined in module {1}, referenced from module {0}",pCc="Missing return statement. Function expected to return {0}.",qCc="missing require: ''{0}''",rCc="JSC_AT_EXPORT_IN_GOOG_MODULE",sCc="goog",tCc="Invalid name '%s'. Did you mean to use NodeUtil.newQName?",
uCc={35:1,3:1,4:1},vCc="getInstance",wCc="goog.bind",xCc="goog.partial",yCc="goog$partial",zCc="goog.provide",ACc="goog.module",BCc="goog.require",CCc="prototype",DCc="goog.addSingletonGetter",ECc="goog$addSingletonGetter",FCc="JSC_LATE_PROVIDE_ERROR",GCc="use strict",HCc="finally",ICc="return",JCc="Unexpected Node subclass.",KCc="async",LCc="...",MCc="export",NCc="default",OCc="from",PCc="import",QCc="class",RCc="extends",SCc="implements",TCc="while",UCc="this",VCc="super",WCc="new.target",XCc="false",
YCc="true",ZCc="continue",$Cc="Unexpected token type. Should be LABEL_NAME.",_Cc="debugger",aDc="void",bDc="interface",cDc="enum",dDc="namespace",eDc="type",fDc="declare",gDc="async function",hDc="Function.prototype.bind.call",iDc="only implemented in ClosureCodingConvention",jDc="$jscomp.inherits",kDc="$jscomp$inherits",lDc="JSC_MISSING_ENTRY_ERROR",mDc="JSC_OPTIMIZE_LOOP_ERROR",nDc="generateReport",oDc="recordFunctionInformation",pDc=".js",qDc=" [synthetic:",rDc="unexpected language mode: ",sDc=
"{SyntheticVarsDeclar}",tDc=32768,uDc=131072,vDc="toSource",wDc="externExports",xDc="parseInputs",yDc="runTranspileOnlyPasses",zDc="runWhitespaceOnlyPasses",ADc={73:1},BDc="module",CDc="es3",DDc="checkTypes",EDc="collapseObjectLiterals",FDc="crossModuleCodeMotion",GDc="crossModuleMethodMotion",HDc="inlineFunctions",IDc="inlineVariables",JDc="locale",KDc="removeUnusedClassProperties",LDc="removeUnusedPrototypeProperties",MDc="removeUnusedVars",NDc="FALSE",ODc="TRUE",PDc="ECMASCRIPT3",QDc="ECMASCRIPT5",
RDc="ECMASCRIPT6",SDc="ECMASCRIPT7",TDc="ECMASCRIPT8",UDc={178:1,3:1},VDc={3:1,123:1},WDc="{0}",XDc="reportUnknownTypes",YDc="analyzerChecks",ZDc="oldReportUnknownTypes",$Dc="deprecated",_Dc="inferredConstCheck",aEc="fileoverviewTags",bEc="uselessCode",cEc="const",dEc="duplicate",eEc="missingProvide",fEc="missingRequire",gEc="unnecessaryCasts",hEc={127:1,3:1,23:1,14:1},iEc=134217728,jEc="apply",kEc="arguments",lEc="var_args",mEc="call",nEc="constructor",oEc={59:1,27:1},pEc={50:1,51:1},qEc="Error",
rEc="RangeError",sEc="ReferenceError",tEc="SyntaxError",uEc="Array",vEc="Boolean",wEc="Function",xEc="Number",yEc="RegExp",zEc="Symbol",AEc="Object",BEc="$jscomp$tmp$error",CEc="message",DEc="$jscomp$super$this",EEc="undefined",FEc="%20",GEc="%5B",HEc="%5D",IEc="%3C",JEc="%3E",KEc="^\\.",LEc="$jscomp$arguments",MEc="$jscomp$this",NEc="$jscomp$destructuring$var",OEc="next",PEc="value",QEc="$jscomp$generator$forin$array",REc="$jscomp$generator$forin$var",SEc="$jscomp$generator$forin$iter",TEc="$jscomp$generator$state",
UEc="done",VEc="es6/symbol",WEc="$jscomp$generator$arguments",XEc="$jscomp$generator$this",YEc="$jscomp$generator$first$do",ZEc="$jscomp$generator$global$errortemp",$Ec="$jscomp$generator$global$error",_Ec="$jscomp$generator$throw$arg",aFc="$jscomp$generator$yield$all",bFc="$jscomp$generator$yield$entry",cFc="$jscomp$generator$next$arg",dFc="JSC_CANNOT_CONVERT",eFc=".prototype",fFc=-536870912,gFc=2097152,hFc=8388608,iFc="util/global",jFc="$jscomp.global.Object.defineProperties",kFc=536870912,lFc=
1024,mFc="$jscomp$key$",nFc="Symbol.iterator",oFc="$jscomp$restParams",pFc="$jscomp$restIndex",qFc="$jscomp$",rFc="Unexpected.",sFc=1610612736,tFc="@implements used without @constructor or @interface for {0}",uFc="parameter {0} does not appear in {1}''s parameter list",vFc=".prototype.",wFc=67108864,xFc="CLASS",yFc="FUNCTION",zFc="property {0} on interface {1} is not implemented by type {2}",AFc="interface member functions must have an empty body",BFc="IObject",CFc="IObject<K,V>#index",DFc="Window",
EFc=16384,FFc="window",GFc="%anon_fun",HFc="Object{}",IFc=268435456,JFc="%getter_fun",KFc="%setter_fun",LFc="goog.getMsg",MFc="java.lang.Integer",NFc="java/lang/Integer.impl.java.js",OFc="java.lang.Float",PFc="java/lang/Float.impl.java.js",QFc="goog.math.Long",RFc="closure/goog/math/long.js",SFc="throws",TFc="typedef",UFc={3:1,41:1,36:1,39:1},VFc={27:1,884:1},WFc="module$",XFc='Constructor {0} should be called with the "new" keyword',YFc="Illegal key, the object literal is a {0}",ZFc="Cannot use the IN operator with structs",
$Fc="Property {0} never defined on {1}",_Fc="Function {0}: called with {1} argument(s). Function requires at least {2} argument(s){3}.",aGc="Cannot do {0} access on a {1}",bGc="unknown type: {0}",cGc="Abstract method {0} cannot be called",dGc="Infinity",eGc="typeof",fGc="instanceof",gGc=1048576,hGc="Unexpected const change.\n  name: ",iGc="JSC_BASE_CLASS_ERROR",jGc='Failed to load module "{0}"',kGc="$jscompDefaultExport",lGc="$jscomp$async$this",mGc="$jscomp$async$arguments",nGc="$jscomp$async$generator",
oGc="$jscomp",pGc="es6-impl",qGc="$jscomp.polyfill",rGc="goog.global.",sGc="Parse error. {0}",tGc="Keywords and reserved words are not allowed as unquoted property names in older versions of JavaScript. If you are targeting newer versions of JavaScript, set the appropriate language_in option.",uGc="Can only have JSDoc or inline type annotations, not both",vGc="Trailing comma is not legal in an ECMA-262 object initializer",wGc="msg.bad.jsdoc.tag",xGc="Non-JSDoc comment has annotations. Did you mean to start it with '/**'?",
yGc="Sanity Check failed",zGc={180:1,3:1,23:1,14:1},AGc={155:1,882:1,3:1},BGc={50:1,186:1,3:1,23:1,14:1,51:1},CGc={185:1,3:1,23:1,14:1},DGc="DEFAULT",EGc="JSC_INEXISTENT_PROPERTY",FGc="{1} cannot extend this type; {0}s can only extend {0}s",GGc="{0} cannot implement this type; an interface can only extend, but not implement interfaces",HGc={151:1,277:1,3:1,23:1,14:1,152:1},IGc="Expected state DURING_RESOLUTION but found %s",JGc="NOT_RESOLVED",KGc="DURING_RESOLUTION",LGc="LOOSE_TOP_FUNCTION",MGc="TOP_FUNCTION",
NGc="FALSE_TYPE",OGc="NULL",PGc="NUMBER",QGc="STRING",RGc="TOP_SCALAR",SGc="TRUTHY",TGc="UNKNOWN",UGc="UNDEFINED_OR_BOOLEAN",VGc="UNDEFINED_OR_NUMBER",WGc="UNDEFINED_OR_STRING",XGc="NULL_OR_BOOLEAN",YGc="NULL_OR_NUMBER",ZGc="NULL_OR_STRING",$Gc="NULL_OR_UNDEFINED",_Gc="NUMBER_OR_STRING",aHc={133:1,62:1},bHc="QMARK_FUNCTION",cHc="BOTTOM_FUNCTION",dHc={557:1,49:1},eHc="Type variable %s not in the domain: %s",fHc="ENUM",gHc="EXTENDS",hHc="EXPORT",iHc="IMPLEMENTS",jHc="INTERFACE",kHc="PACKAGE",lHc="PRIVATE",
mHc="PROTECTED",nHc="PUBLIC",oHc="RETURN",pHc="THIS",qHc="TYPE",rHc="package",sHc="private",tHc="protected",uHc="public",vHc="static",wHc="Octal integer literals are not supported in Ecmascript 5 strict mode.",xHc="Invalid octal digit in octal literal.",yHc="unexpected: ",zHc="this language feature is only supported for ",AHc=" mode or better: ",BHc="__missing_expression__",CHc="unique",DHc="consistent",EHc="Bad type annotation. ",FHc=" See https://github.com/google/closure-compiler/wiki/Bad-Type-Annotation for more information.",
GHc="msg.jsdoc.incompat.type",HHc="msg.jsdoc.interface.constructor",IHc="msg.jsdoc.missing.rc",JHc="msg.jsdoc.template.name.declared.twice",KHc="msg.jsdoc.extra.visibility",LHc="msg.jsdoc.type.syntax",MHc="msg.jsdoc.missing.rp",NHc="msg.jsdoc.idgen.bad",OHc="msg.jsdoc.idgen.duplicate",PHc="msg.jsdoc.modifies",QHc="msg.jsdoc.suppress",RHc="ANNOTATION",SHc="com.google.javascript.jscomp.parsing.ParserConfig",THc="Expected a call node, found %s",UHc="msg.jsdoc.typetransformation.invalid",VHc="type transformation",
WHc="msg.jsdoc.typetransformation.invalid.expression",XHc="msg.jsdoc.typetransformation.invalid.inside",YHc="conditional",ZHc="map function",$Hc="Expected a function node, found %s",_Hc="msg.jsdoc.typetransformation.missing.param",aIc="msg.jsdoc.typetransformation.extra.param",bIc="map function body",cIc="template type operation",dIc="INSTANCEOF",eIc="unknown",fIc="SUPER",gIc="NEW_TARGET",hIc="AMBIENT_DECLARATION",iIc="CALL_SIGNATURE",jIc="INDEX_SIGNATURE",kIc="NAMESPACE_DECLARATION",lIc="OPTIONAL_PARAMETER",
mIc="TYPE_ALIAS",nIc="CATCH",oIc="CONTINUE",pIc="DEBUGGER",qIc="delete",rIc="FINALLY",sIc="SWITCH",tIc="TYPEOF",uIc="IMPORT",vIc="DECLARE",wIc="NAMESPACE",xIc="No newline allowed before '=>'",yIc="'%s' expected",zIc="invalid assignment target",AIc="async functions cannot be generators",BIc="invalid parenthesized expression",CIc="cannot use keyword '%s' here.",DIc="unreachable",EIc="invalid arrow function parameters",FIc="Unterminated template literal",GIc="ARRAY_PATTERN",HIc="OBJECT_PATTERN",IIc=
"ARRAY_TYPE",JIc="RECORD_TYPE",KIc="UNION_TYPE",LIc="FUNCTION_TYPE",MIc="GENERIC_TYPE_LIST",NIc=4294967295,OIc="Bit index should be non-negative integer",PIc="String has leading or trailing whitespace",QIc="The new child node has next siblings.",RIc="The new child node has previous siblings.",SIc="The new child node already has a parent.",TIc="Number node not created with Node.newNumber",UIc="String node not created with Node.newString",VIc=" is not a string node",WIc="StringNode: str is null",XIc=
"com.google.javascript.rhino.Messages",YIc="STRING_TYPE",ZIc="BOOLEAN_TYPE",$Ic="NUMBER_TYPE",_Ic={62:1,21:1,3:1},aJc={62:1,21:1,56:1,3:1},bJc="Expected a constructor; got %s",cJc={62:1,71:1,21:1,56:1,3:1},dJc={159:1,3:1,23:1,14:1},eJc='For input string: "',fJc={23:1,177:1},gJc="_gwt_modCount",hJc={3:1,16:1,20:1,48:1,76:1},iJc={3:1,16:1,20:1,31:1},jJc={3:1,16:1,20:1,48:1},kJc={3:1,49:1},lJc={3:1,23:1,14:1,141:1},mJc={3:1,4:1,949:1},nJc="Invalid UTF8 sequence",oJc=", length: ",pJc="fromIndex: ",qJc=
", toIndex: ",rJc="user.agent";var _,ZU,UU,zU=-1;$U();_U(1,null,{},lb);_.xd=function mb(a){return this===a};_.yd=function ob(){return this.Hj};_.zd=function qb(){return iAc(this)};_.Ad=function sb(){return Qic(pb(this))+"@"+(rb(this)>>>0).toString(16)};_.equals=function(a){return this.xd(a)};_.hashCode=function(){return this.zd()};_.toString=function(){return this.Ad()};var xD,yD,zD;_U(384,1,{},Ric);_.rj=function Sic(a){var b;b=new Ric;b.g=4;a>1?b.c=Zic(this,a-1):b.c=this;return b};_.sj=function Yic(){Oic(this);
return this.b};_.Hg=function $ic(){return Qic(this)};_.tj=function ajc(){return Oic(this),this.k};_.uj=function cjc(){return(this.g&4)!=0};_.vj=function djc(){return(this.g&1)!=0};_.Ad=function gjc(){return((this.g&2)!=0?"interface ":(this.g&1)!=0?"":"class ")+(Oic(this),this.o)};_.g=0;_.j=0;var Nic=1;zD={3:1,385:1,23:1,2:1};var kS=Uic(1);var XR=Uic(384);var pS=Uic(2);_U(893,1,GAc);var jE=Uic(893);_U(630,893,GAc,vb);_.xd=function wb(a){return a===this};_.Bd=function xb(){throw BU(new sjc("Optional.get() cannot be called on an absent value"));
};_.zd=function yb(){return 2040732332};_.Cd=function zb(){return false};_.Dd=function Ab(a){return je(a,HAc)};_.Ad=function Bb(){return"Optional.absent()"};var tb;var PD=Uic(630);var GT=Wic();_U(606,1,IAc);_.Ed=function Fb(){return Cb(this)};_.Fd=function Gb(){return Db(this)};_.Gd=function Hb(){throw BU(new jlc);};_.i=1;var QD=Uic(606);var lE=Wic();_U(97,1,KAc);_.Hd=function Pb(a){return this.Id(a.a)};_.xd=function Qb(a){return this===a};_.Ad=function Sb(){return Qic(this.Hj)+"@"+(rb(this)>>>0).toString(16)};
_.Jd=function Tb(a){var b,c;c=a.length;for(b=c-1;b>=0;b--)if(!this.Id(a.charCodeAt(b)))return Kkc(a.substr(0,b+1));return""};var cE=Uic(97);_U(605,97,KAc,Ub);_.Id=function Vb(a){return opc(this.a,a)>=0};_.Ad=function Wb(){var a,b,c,d,e;e=new glc('CharMatcher.anyOf("');for(b=this.a,c=0,d=b.length;c<d;++c){a=b[c];_kc(e,Rb(a))}e.a+='")';return e.a};var RD=Uic(605);_U(892,97,KAc);var TD=Uic(892);_U(300,892,KAc);_.Ad=function Yb(){return this.a};var ZD=Uic(300);_U(600,300,KAc,ac);_.Id=function bc(a){return _b(a)};
var Zb;var SD=Uic(600);_U(403,892,KAc,cc);_.Id=function dc(a){return this.b<=a&&a<=this.a};_.Ad=function ec(){return"CharMatcher.inRange('"+Rb(this.b)+"', '"+Rb(this.a)+"')"};_.a=0;_.b=0;var UD=Uic(403);_U(601,97,KAc);_.Id=function hc(a){return fc(this,a)};_.Ad=function ic(){return this.a};var aE=Uic(601);_U(604,601,KAc,lc);var jc;var VD=Uic(604);_U(81,892,KAc,nc);_.Id=function oc(a){return mc(this,a)};_.Ad=function pc(){return"CharMatcher.is('"+Rb(this.a)+"')"};_.a=0;var WD=Uic(81);_U(602,97,KAc,
sc);_.Id=function tc(a){return/[A-Z\d]/i.test(String.fromCharCode(a))};_.Ad=function uc(){return"CharMatcher.javaLetterOrDigit()"};var qc;var XD=Uic(602);_U(603,97,KAc,yc);_.Id=function zc(a){return xc(a)};_.Ad=function Ac(){return"CharMatcher.javaUpperCase()"};var vc;var YD=Uic(603);_U(598,300,KAc,Dc);_.Id=function Ec(a){return false};_.Jd=function Fc(a){return Yzc(a),a};var Bc;var $D=Uic(598);_U(301,97,KAc,Hc);_.Id=function Ic(a){return Gc(this,a)};_.Ad=function Jc(){return"CharMatcher.or("+this.a+
LAc+this.b+")"};var _D=Uic(301);_U(599,300,KAc,Nc);_.Id=function Oc(a){return lkc("\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\x0B\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001\u202f\u00a0\f\u2009\u3000\u2004\u3000\u3000\u2028\n\u2007\u3000",1682554634*a>>>Lc)==a};var Kc,Lc=0;var bE=Uic(599);_U(973,1,{});_U(55,1,{},Wc);_.Ld=function Yc(a){return Uc(a)};var gE=Uic(55);_U(640,55,{},$c);_.Ld=function _c(a){return Zc(this,a)};var dE=Uic(640);_U(909,1,MAc);_.add=function hd(a){throw BU(new klc("Add not supported on this collection"));
};_.addAll=function jd(a){return ad(this,a)};_.clear=function kd(){cd(this)};_.contains=function ld(a){return bd(this,a,false)};_.containsAll=function md(a){return dd(this,a)};_.isEmpty=function nd(){return this.size()==0};_.remove=function od(a){return bd(this,a,true)};_.removeAll=function pd(a){return ed(this,a)};_.retainAll=function qd(a){return fd(this,a)};_.toArray=function rd(){return this.Nd(NC(kS,NAc,1,this.size(),5,1))};_.Nd=function sd(a){var b,c,d,e,f;f=this.size();a.length<f&&(a=(e=new Array(f),
RC(e,a)));d=a;c=this.Md();for(b=0;b<f;++b)d[b]=c.Fd();a.length>f&&(a[f]=null);return a};_.Ad=function td(){return gd(this)};var xS=Uic(909);_U(911,909,OAc);_.addAtIndex=function wd(a,b){throw BU(new klc("Add not supported on this list"));};_.add=function xd(a){this.addAtIndex(this.size(),a);return true};_.addAllAtIndex=function yd(a,b){var c,d,e;Yzc(b);c=false;for(e=b.Md();e.Ed();){d=e.Fd();this.addAtIndex(a++,d);c=true}return c};_.clear=function zd(){this.Qd(0,this.size())};_.xd=function Ad(a){return ud(this,
a)};_.zd=function Bd(){return eqc(this)};_.indexOf=function Cd(a){return vd(this,a)};_.Md=function Dd(){return new tmc(this)};_.lastIndexOf=function Ed(a){var b;for(b=this.size()-1;b>-1;--b)if(Ewc(a,this.getAtIndex(b)))return b;return-1};_.Od=function Fd(){return this.Pd(0)};_.Pd=function Gd(a){return new ymc(this,a)};_.removeAtIndex=function Hd(a){throw BU(new klc("Remove not supported on this list"));};_.Qd=function Id(a,b){var c,d;d=this.Pd(a);for(c=a;c<b;++c){d.Fd();d.Gd()}};_.setAtIndex=function Jd(a,
b){throw BU(new klc("Set not supported on this list"));};_.subList=function Kd(a,b){return new Emc(this,a,b)};var ES=Uic(911);_U(415,911,OAc,Ld);_.getAtIndex=function Md(a){switch(a){case 0:return this.a;case 1:return this.c;default:return this.b[a-2]}};_.size=function Nd(){return this.b.length+2};var eE=Uic(415);_U(639,1,{},Qd);var fE=Uic(639);_U(263,1,{},Ud);_.Ad=function Vd(){return Td(this)};_.d=false;var iE=Uic(263);_U(413,1,{},Wd);var hE=Uic(413);_U(891,1,{});var kE=Uic(891);_U(280,1,{50:1,
280:1,3:1,51:1},Be);_.Hd=function Ce(a){return Ae(this,a)};_.xd=function De(a){var b;if(DD(a,280)){b=a;return nb(this.a,b.a)}return false};_.zd=function Ee(){return rb(this.a)};_.Ad=function Fe(){return"Predicates.in("+this.a+")"};var mE=Uic(280);_U(346,1,{50:1,346:1,3:1,51:1},Ge);_.Hd=function He(a){return nb(this.a,a)};_.xd=function Ie(a){var b;if(DD(a,346)){b=a;return nb(this.a,b.a)}return false};_.zd=function Je(){return rb(this.a)};_.Ad=function Ke(){return"Predicates.equalTo("+this.a+")"};var nE=
Uic(346);_U(345,1,{50:1,345:1,3:1,51:1},Le);_.Hd=function Me(a){return!this.a.Hd(a)};_.xd=function Ne(a){var b;if(DD(a,345)){b=a;return this.a.xd(b.a)}return false};_.zd=function Oe(){return~rb(this.a)};_.Ad=function Pe(){return"Predicates.not("+this.a+")"};var oE=Uic(345);_U(14,1,{3:1,23:1,14:1});_.Rd=function Ue(a){return this.f-a.f};_.compareTo=function Te(a){return this.f-a.f};_.equals=function We(a){return this===a};_.xd=function(a){return this.equals(a)};_.hashCode=function Xe(){return iAc(this)};
_.zd=function(){return this.hashCode()};_.name=function Ye(){return this.e!=null?this.e:""+this.f};_.ordinal=function Ze(){return this.f};_.toString=function $e(){return Re(this)};_.Ad=function(){return this.toString()};_.f=0;var ZR=Uic(14);_U(132,14,TAc);var af,bf,cf,df;var tE=Vic(132,ZR,gf);_U(790,132,TAc,hf);_.Hd=function jf(a){return true};_.toString=function kf(){return"Predicates.alwaysTrue()"};var pE=Vic(790,tE,null);_U(791,132,TAc,lf);_.Hd=function mf(a){return false};_.toString=function nf(){return"Predicates.alwaysFalse()"};
var qE=Vic(791,tE,null);_U(792,132,TAc,of);_.Hd=function pf(a){return a==null};_.toString=function qf(){return"Predicates.isNull()"};var rE=Vic(792,tE,null);_U(793,132,TAc,rf);_.Hd=function sf(a){return a!=null};_.toString=function tf(){return"Predicates.notNull()"};var sE=Vic(793,tE,null);_U(262,893,{262:1,3:1},uf);_.xd=function vf(a){var b;if(DD(a,262)){b=a;return nb(this.a,b.a)}return false};_.Bd=function wf(){return this.a};_.zd=function xf(){return 1502476572+rb(this.a)};_.Cd=function yf(){return true};
_.Dd=function zf(a){je(a,HAc);return this.a};_.Ad=function Af(){return"Optional.of("+this.a+")"};var uE=Uic(262);_U(225,1,{},Hf,If);_.a=0;_.b=false;var zE=Uic(225);_U(719,1,{},Lf);var wE=Uic(719);_U(720,606,IAc);_.b=0;_.c=0;_.d=false;var yE=Uic(720);_U(721,720,IAc,Of);var vE=Uic(721);_U(722,1,UAc,Qf);_.Md=function Rf(){return Pf(this)};_.Ad=function Sf(){return Ukc(Rc(new Wc(LAc),Ukc(new dlc,91),Ff(this.a,this.b)),93).a};var xE=Uic(722);_U(108,1,VAc);_.Gd=function Uf(){Tf()};var BH=Uic(108);_U(907,
108,WAc);_.Gd=function Wf(){Tf()};_.Sd=function Vf(a){throw BU(new jlc);};_.Vd=function Xf(a){throw BU(new jlc);};var CH=Uic(907);_U(616,907,WAc);_.Ed=function Zf(){return this.b<this.c};_.Td=function $f(){return this.b>0};_.Fd=function _f(){return Yf(this)};_.Ud=function ag(){if(this.b<=0)throw BU(new Dwc);return eq(this,--this.b)};_.b=0;_.c=0;var AE=Uic(616);_U(423,108,VAc);_.Ed=function fg(){return bg(this)};_.Fd=function gg(){return cg(this)};_.d=1;var BE=Uic(423);_U(932,1,{122:1});_.Xd=function jg(){var a;
return a=this.f,!a?this.f=this.$d():a};_._d=function kg(){return new hi(this.Xd())};_.xd=function lg(a){return mw(this,a)};_.zd=function mg(){return rb(this.Xd())};_.be=function ng(){return this.ge()==0};_.ce=function og(){return ig(this)};_.de=function pg(a,b){return this.ae(a).add(b)};_.ee=function qg(a,b){var c;return c=this.Xd().pe(a),!!c&&c.remove(b)};_.Ad=function rg(){return dV(this.Xd())};var WE=Uic(932);_U(452,932,XAc);_.Yd=function Ag(){sg(this)};_.Zd=function Bg(a){return this.c.containsKey(a)};
_.$d=function Cg(){return new Bh(this,this.c)};_.ie=function Dg(a){return this.he()};_._d=function Eg(){return new oi(this,this.c)};_.je=function Fg(){return Lg(this.he())};_.ae=function Gg(a){return tg(this,a)};_.de=function Ig(a,b){return ug(this,a,b)};_.fe=function Jg(a){return vg(this,a)};_.ge=function Kg(){return this.d};_.d=0;var QE=Uic(452);_U(460,452,XAc);_.he=function Og(){return this.ke()};_.je=function Pg(){return Mm(),Mm(),Lm};_.ae=function Rg(a){return tg(this,a)};_.fe=function Ug(a){return vg(this,
a)};_.Xd=function Ng(){var a;return a=this.f,!a?this.f=new Bh(this,this.c):a};_.xd=function Qg(a){return mw(this,a)};_.le=function Sg(a){return tg(this,a)};_.de=function Tg(a,b){return ug(this,a,b)};_.me=function Vg(a){return vg(this,a)};var CE=Uic(460);_U(908,1,YAc);_.getOrDefault=function ih(a,b){var c;return c=this.pe(a),c==null&&!this.containsKey(a)?b:c};_.putIfAbsent=function oh(a,b){var c;return c=this.pe(a),c!=null?c:this.put(a,b)};_.replace=function qh(a,b){return this.containsKey(a)?this.put(a,
b):null};_.clear=function ah(){this.oe().clear()};_.ne=function bh(a){return Wg(this,a)};_.containsKey=function dh(a){return!!Yg(this,a,false)};_.containsValue=function eh(a){var b,c,d;for(c=this.oe().Md();c.Ed();){b=c.Fd();d=b.ze();if(JD(a)===JD(d)||a!=null&&nb(a,d))return true}return false};_.xd=function fh(a){return Xg(this,a)};_.pe=function gh(a){return hh(Yg(this,a,false))};_.zd=function jh(){return dqc(this.oe())};_.isEmpty=function kh(){return this.size()==0};_.keySet=function lh(){return new Kmc(this)};
_.put=function mh(a,b){throw BU(new klc("Put not supported on this map"));};_.putAll=function nh(a){Zg(this,a)};_.remove=function ph(a){return hh(Yg(this,a,true))};_.size=function rh(){return this.oe().size()};_.Ad=function sh(){return $g(this)};_.values=function th(){return new Umc(this)};var MS=Uic(908);_U(933,908,YAc);_.oe=function vh(){return uh(this)};_.keySet=function wh(){var a;a=this.d;return!a?this.d=new hi(this):a};_.values=function xh(){var a;a=this.e;return!a?this.e=new Yv(this):a};var JG=
Uic(933);_U(192,933,YAc,Bh);_.pe=function Gh(a){return yh(this,a)};_.remove=function Jh(a){return zh(this,a)};_.clear=function Ch(){this.a==this.b.c?this.b.Yd():bs(new di(this))};_.containsKey=function Dh(a){return Fv(this.a,a)};_.re=function Eh(){return new $h(this)};_.qe=function(){return this.re()};_.xd=function Fh(a){return this===a||Xg(this.a,a)};_.zd=function Hh(){return dqc(this.a.oe())};_.keySet=function Ih(){return this.b.ce()};_.size=function Kh(){return this.a.size()};_.Ad=function Lh(){return $g(this.a)};
var FE=Uic(192);_U(910,909,ZAc);_.xd=function Nh(a){return Mh(this,a)};_.zd=function Oh(){return dqc(this)};_.removeAll=function Ph(a){var b,c,d,e;Yzc(a);e=this.size();if(e<a.size())for(b=this.Md();b.Ed();){c=b.Fd();a.contains(c)&&b.Gd()}else for(d=a.Md();d.Ed();){c=d.Fd();this.remove(c)}return e!=this.size()};var TS=Uic(910);_U(921,910,ZAc);_.removeAll=function Qh(a){return sx(this,a)};_.retainAll=function Rh(a){return fd(this,ie(a))};var jH=Uic(921);_U(922,921,ZAc);_.clear=function Th(){this.se().clear()};
_.contains=function Uh(a){return Sh(this,a)};_.isEmpty=function Vh(){return this.se().isEmpty()};_.remove=function Wh(a){var b;if(this.contains(a)){b=a;return this.se().keySet().remove(b.ye())}return false};_.removeAll=function Xh(b){try{return sx(this,ie(b))}catch(a){a=AU(a);if(DD(a,18))return tx(this,b.Md());else throw BU(a);}};_.retainAll=function Yh(b){var c,d,e,f;try{return fd(this,ie(ie(b)))}catch(a){a=AU(a);if(DD(a,18)){d=new uuc(Cv(b.size()));for(f=b.Md();f.Ed();){e=f.Fd();if(this.contains(e)){c=
e;quc(d,c.ye())}}return this.se().keySet().retainAll(d)}else throw BU(a);}};_.size=function Zh(){return this.se().size()};var EG=Uic(922);_U(777,922,ZAc,$h);_.contains=function _h(a){return gl(this.a.a.oe(),a)};_.Md=function ai(){return new di(this.a)};_.se=function bi(){return this.a};_.remove=function ci(a){var b;if(!gl(this.a.a.oe(),a))return false;b=a;wg(this.a.b,b.ye());return true};var DE=Uic(777);_U(458,1,IAc,di);_.Fd=function fi(){var a;return a=this.b.Fd(),this.a=a.ze(),Ah(this.c,a)};_.Ed=
function ei(){return this.b.Ed()};_.Gd=function gi(){this.b.Gd();this.c.b.d-=this.a.size();this.a.clear()};var EE=Uic(458);_U(311,921,ZAc,hi);_.clear=function ii(){this.b.clear()};_.contains=function ji(a){return this.b.containsKey(a)};_.isEmpty=function ki(){return this.b.isEmpty()};_.Md=function li(){return Av(),qs(this.b.oe().Md(),(Mv(),Kv))};_.remove=function mi(a){if(this.b.containsKey(a)){this.b.remove(a);return true}return false};_.size=function ni(){return this.b.size()};var HG=Uic(311);_U(279,
311,ZAc,oi);_.clear=function pi(){var a;bs((a=this.b.oe().Md(),new vi(this,a)))};_.containsAll=function qi(a){return this.b.keySet().containsAll(a)};_.xd=function ri(a){return this===a||nb(this.b.keySet(),a)};_.zd=function si(){return rb(this.b.keySet())};_.Md=function ti(){var a;return a=this.b.oe().Md(),new vi(this,a)};_.remove=function ui(a){var b,c;c=0;b=this.b.remove(a);if(b){c=b.size();b.clear();this.a.d-=c}return c>0};var HE=Uic(279);_U(459,1,IAc,vi);_.Ed=function wi(){return this.c.Ed()};
_.Fd=function xi(){this.a=this.c.Fd();return this.a.ye()};_.Gd=function yi(){var a;pe(!!this.a,$Ac);a=this.a.ze();this.c.Gd();this.b.a.d-=a.size();a.clear()};var GE=Uic(459);_U(232,909,MAc,Di);_.add=function Ei(a){var b,c;Ai(this);c=this.d.isEmpty();b=this.d.add(a);if(b){++this.f.d;c&&zi(this)}return b};_.addAll=function Fi(a){var b,c,d;if(a.isEmpty())return false;d=(Ai(this),this.d.size());b=this.d.addAll(a);if(b){c=this.d.size();this.f.d+=c-d;d==0&&zi(this)}return b};_.clear=function Gi(){var a;
a=(Ai(this),this.d.size());if(a==0)return;this.d.clear();this.f.d-=a;Bi(this)};_.contains=function Hi(a){Ai(this);return this.d.contains(a)};_.containsAll=function Ii(a){Ai(this);return this.d.containsAll(a)};_.xd=function Ji(a){if(a===this)return true;Ai(this);return nb(this.d,a)};_.zd=function Ki(){Ai(this);return rb(this.d)};_.Md=function Li(){Ai(this);return new ej(this)};_.remove=function Mi(a){var b;Ai(this);b=this.d.remove(a);if(b){--this.f.d;Bi(this)}return b};_.removeAll=function Ni(a){var b,
c,d;if(a.isEmpty())return false;d=(Ai(this),this.d.size());b=this.d.removeAll(a);if(b){c=this.d.size();this.f.d+=c-d;Bi(this)}return b};_.retainAll=function Oi(a){var b,c,d;ie(a);d=(Ai(this),this.d.size());b=this.d.retainAll(a);if(b){c=this.d.size();this.f.d+=c-d;Bi(this)}return b};_.size=function Pi(){return Ci(this)};_.Ad=function Qi(){Ai(this);return dV(this.d)};var KE=Uic(232);_U(456,232,OAc,Ri);_.addAtIndex=function Si(a,b){var c;Ai(this);c=this.d.isEmpty();this.d.addAtIndex(a,b);++this.a.d;
c&&zi(this)};_.addAllAtIndex=function Ti(a,b){var c,d,e;if(b.isEmpty())return false;e=(Ai(this),this.d.size());c=this.d.addAllAtIndex(a,b);if(c){d=this.d.size();this.a.d+=d-e;e==0&&zi(this)}return c};_.getAtIndex=function Ui(a){Ai(this);return this.d.getAtIndex(a)};_.indexOf=function Vi(a){Ai(this);return this.d.indexOf(a)};_.lastIndexOf=function Wi(a){Ai(this);return this.d.lastIndexOf(a)};_.Od=function Xi(){Ai(this);return new jj(this)};_.Pd=function Yi(a){Ai(this);return new kj(this,a)};_.removeAtIndex=
function Zi(a){var b;Ai(this);b=this.d.removeAtIndex(a);--this.a.d;Bi(this);return b};_.setAtIndex=function $i(a,b){Ai(this);return this.d.setAtIndex(a,b)};_.subList=function _i(a,b){Ai(this);return yg(this.a,this.e,this.d.subList(a,b),!this.b?this:this.b)};var ME=Uic(456);_U(776,456,_Ac,aj);var IE=Uic(776);_U(342,1,IAc,ej);_.Ed=function gj(){dj(this);return this.b.Ed()};_.Fd=function hj(){dj(this);return this.b.Fd()};_.Gd=function ij(){cj(this)};var JE=Uic(342);_U(457,342,aBc,jj,kj);_.Gd=function oj(){cj(this)};
_.Sd=function lj(a){var b;b=Ci(this.a)==0;(dj(this),this.b).Sd(a);++this.a.a.d;b&&zi(this.a)};_.Td=function mj(){return(dj(this),this.b).Td()};_.Ud=function nj(){return(dj(this),this.b).Ud()};_.Vd=function pj(a){(dj(this),this.b).Vd(a)};var LE=Uic(457);_U(343,232,bBc,qj);var PE=Uic(343);_U(455,343,cBc,rj);var NE=Uic(455);_U(454,232,ZAc,sj);_.removeAll=function tj(a){var b,c,d;if(a.isEmpty())return false;d=(Ai(this),this.d.size());b=sx(this.d,a);if(b){c=this.d.size();this.a.d+=c-d;Bi(this)}return b};
var OE=Uic(454);_U(934,909,{383:1,16:1,20:1});_.add=function wj(a){return this.te(a,1),true};_.te=function xj(a,b){throw BU(new jlc);};_.addAll=function yj(a){return Gw(this,a)};_.clear=function zj(){var a;bs((a=this.a.oe().Md(),new _j(this,a)))};_.contains=function Aj(a){var b;return b=Gv(this.a,a),(!b?0:b.a)>0};_.ue=function Bj(a){var b,c;for(c=vj(this).Md();c.Ed();){b=c.Fd();if(Xd(b.b.ye(),a))return gk(b)}return 0};_.ve=function Cj(){return uj(this)};_.oe=function Dj(){return vj(this)};_.xd=function Ej(a){return Hw(this,
a)};_.zd=function Fj(){return rb(this.oe())};_.isEmpty=function Gj(){return vj(this).isEmpty()};_.Md=function Hj(){return new Mw(this,vj(this).Md())};_.remove=function Ij(a){return Rj(this,a,1)>0};_.removeAll=function Jj(a){var b;return b=DD(a,235)?uj(a):a,uj(this).removeAll(b)};_.retainAll=function Kj(a){var b;return ie(a),b=DD(a,235)?uj(a):a,uj(this).retainAll(b)};_.size=function Lj(){return Jw(this)};_.Ad=function Mj(){return dV(this.oe())};var ZE=Uic(934);_U(817,934,{383:1,3:1,16:1,20:1});_.te=
function Uj(a,b){return Nj(this,a,b)};_.clear=function Vj(){Oj(this)};_.ue=function Wj(a){return Pj(this,a)};_.oe=function Xj(){return vj(this)};_.Md=function Zj(){return new kk(this)};_.size=function $j(){return aA(this.b)};_.b=0;var UE=Uic(817);_U(470,1,IAc,_j);_.Fd=function bk(){var a;return a=this.c.Fd(),this.b=a,new hk(this,a)};_.Ed=function ak(){return this.c.Ed()};_.Gd=function ck(){pe(!!this.b,$Ac);this.a.b=OU(this.a.b,rl(this.b.ze(),0));this.c.Gd();this.b=null};var SE=Uic(470);_U(936,1,{887:1});
_.xd=function dk(a){var b;if(DD(a,887)){b=a;return this.we()==b.we()&&Xd(this.xe(),b.xe())}return false};_.zd=function ek(){var a;a=this.xe();return(a==null?0:rb(a))^this.we()};_.Ad=function fk(){var a,b;b=Qkc(this.xe());a=this.we();return a==1?b:b+" x "+a};var UG=Uic(936);_U(283,936,{283:1,887:1},hk);_.we=function ik(){return gk(this)};_.xe=function jk(){return this.b.ye()};var RE=Uic(283);_U(818,1,IAc,kk);_.Ed=function lk(){return this.d>0||this.c.Ed()};_.Fd=function mk(){if(this.d==0){this.b=this.c.Fd();
this.d=this.b.ze().a}--this.d;this.a=true;return this.b.ye()};_.Gd=function nk(){var a;pe(this.a,$Ac);a=this.b.ze().a;if(a<=0)throw BU(new btc);(this.b.ze().a+=-1)==0&&this.c.Gd();this.e.b=OU(this.e.b,1);this.a=false};_.a=false;_.d=0;var TE=Uic(818);var ST=Wic();_U(222,1,eBc);_.xd=function ok(a){var b;if(DD(a,58)){b=a;return Xd(this.ye(),b.ye())&&Xd(this.ze(),b.ze())}return false};_.zd=function pk(){var a,b;a=this.ye();b=this.ze();return(a==null?0:rb(a))^(b==null?0:rb(b))};_.Ae=function qk(a){throw BU(new jlc);
};_.Ad=function rk(){return this.ye()+"="+this.ze()};var VE=Uic(222);_U(937,921,ZAc);_.clear=function sk(){Oj(this.a)};_.contains=function tk(a){return Pj(this.a,a)>0};_.containsAll=function uk(a){return dd(this.a,a)};_.isEmpty=function vk(){return vj(this.a).isEmpty()};_.Md=function wk(){return new Kw(vj(this.a).Md())};_.remove=function xk(a){return Rj(this.a,a,wAc)>0};_.size=function yk(){return vj(this.a).size()};var WG=Uic(937);_U(781,937,ZAc,zk);var XE=Uic(781);_U(935,921,ZAc);_.clear=function Ak(){Oj(this.a)};
_.contains=function Bk(a){var b,c;if(DD(a,283)){c=a;if(gk(c)<=0)return false;b=Pj(this.a,c.b.ye());return b==gk(c)}return false};_.remove=function Ck(a){var b,c,d,e;if(DD(a,283)){c=a;b=c.b.ye();d=gk(c);if(d!=0){e=this.a;return Iw(e,b,d,0)}}return false};var XG=Uic(935);_U(782,935,ZAc,Dk);_.Md=function Ek(){return Qj(this.a)};_.size=function Fk(){return this.a.a.size()};var YE=Uic(782);_U(453,452,XAc);_.he=function Ik(){return this.Be()};_.je=function Jk(){return lm(),lx(),kx};_.ae=function Lk(a){return tg(this,
a)};_.fe=function Ok(a){return vg(this,a)};_.Xd=function Hk(){var a;return a=this.f,!a?this.f=new Bh(this,this.c):a};_.xd=function Kk(a){return mw(this,a)};_.Ce=function Mk(a){return tg(this,a)};_.de=function Nk(a,b){return ug(this,a,b)};_.De=function Pk(a){return vg(this,a)};var $E=Uic(453);_U(940,1,{564:1});_.Fe=function Qk(){var a;return a=this.d,!a?this.d=new Vk(this):a};_.Yd=function Rk(){bs(this.Fe().a.Ee())};_.xd=function Sk(a){return Ty(this,a)};_.zd=function Tk(){return dqc(this.Fe())};_.Ad=
function Uk(){return $g(this.Ge())};var aF=Uic(940);_U(480,910,ZAc,Vk);_.clear=function Wk(){this.a.Yd()};_.contains=function Xk(a){var b,c;if(DD(a,249)){b=a;c=Gv(this.a.Ge(),b.b);return!!c&&gl(c.oe(),(Av(),new Yp(b.a,b.c)))}return false};_.Md=function Yk(){return this.a.Ee()};_.remove=function Zk(a){var b,c;if(DD(a,249)){b=a;c=Gv(this.a.Ge(),b.b);return!!c&&hl(c.oe(),(Av(),new Yp(b.a,b.c)))}return false};_.size=function $k(){return this.a.ge()};var _E=Uic(480);_U(463,460,XAc,_k);_.ke=function al(){return new Qoc(this.a)};
_.a=0;var bF=Uic(463);var dl;_U(190,1,{190:1,123:1});_.xd=function il(a){return this===a};_.Je=function jl(){return new Ww(this)};var aH=Uic(190);_U(273,190,{273:1,190:1,3:1,123:1},kl);_.Ie=function ll(a,b){return this.a.Ie(a,b)};_.xd=function ml(a){var b;if(a===this)return true;if(DD(a,273)){b=a;return this.a.xd(b.a)}return false};_.zd=function nl(){return rb(this.a)};_.Ad=function ol(){return dV(this.a)};var cF=Uic(273);_U(871,423,VAc,pl);_.Wd=function ql(){return $nc(this.a)?(this.d=2,null):goc(this.a)};
var dF=Uic(871);_U(291,1,{291:1,3:1},sl);_.xd=function tl(a){return DD(a,291)&&a.a==this.a};_.zd=function ul(){return this.a};_.Ad=function vl(){return""+this.a};_.a=0;var eF=Uic(291);_U(877,932,XAc);_.Xd=function wl(){return this.a};_.ae=function Al(a){return this.Ke(a)};_.ce=function Bl(){return this.a.Xe()};_.fe=function Fl(a){return this.Le(a)};_.Yd=function xl(){throw BU(new jlc);};_.Zd=function yl(a){return bo(this.a,a)};_.$d=function zl(){throw BU(new qic("should never be called"));};_.de=
function Cl(a,b){throw BU(new jlc);};_.ee=function Dl(a,b){throw BU(new jlc);};_.Le=function El(a){throw BU(new jlc);};_.ge=function Gl(){return this.b};_.b=0;var PF=Uic(877);_U(559,877,XAc,Jl);_.Xd=function Kl(){return this.a};_.xd=function Ml(a){return mw(this,a)};_.Ke=function Nl(a){return Hl(this,a)};_.ae=function Ol(a){var b;return b=co(this.a,a),!b?(Mm(),Mm(),Lm):b};_.le=function Pl(a){var b;return b=co(this.a,a),!b?(Mm(),Mm(),Lm):b};_.Le=function Ql(a){return Il()};_.fe=function Rl(a){return Il()};
_.me=function Sl(a){return Il()};var FF=Uic(559);_U(879,559,XAc,Vl);var Tl;var fF=Uic(879);_U(323,1,UAc);_.Ad=function Xl(){return ps(this.c.Dd(this).Md())};var gF=Uic(323);_U(914,1,{});_.Ad=function Yl(){return dV(this.Me())};var pF=Uic(914);_U(915,914,MAc);_.Me=function cm(){return this.Ne()};_.add=function Zl(a){return this.Ne(),Wqc()};_.addAll=function $l(a){return this.Ne(),Xqc()};_.clear=function _l(){this.Ne(),Yqc()};_.contains=function am(a){return this.Ne().contains(a)};_.containsAll=function bm(a){return this.Ne().containsAll(a)};
_.isEmpty=function dm(){return this.Ne().b.isEmpty()};_.Md=function em(){return this.Ne().Md()};_.remove=function fm(a){return this.Ne(),_qc()};_.removeAll=function gm(a){return this.Ne(),arc()};_.retainAll=function hm(a){return this.Ne(),brc()};_.size=function im(){return this.Ne().b.size()};_.toArray=function jm(){return this.Ne().toArray()};_.Nd=function km(a){return this.Ne().Nd(a)};var hF=Uic(915);_U(70,909,gBc);_.Md=function xm(){return this.Qe()};_.add=function rm(a){return mm()};_.addAll=
function sm(a){throw BU(new jlc);};_.Oe=function tm(){return nm(this)};_.clear=function um(){throw BU(new jlc);};_.contains=function vm(a){return a!=null&&bd(this,a,false)};_.Pe=function wm(){switch(this.size()){case 0:return Mm(),Mm(),Lm;case 1:return Mm(),new _x(this.Qe().Fd());default:return new br(this,this.toArray())}};_.remove=function ym(a){return om()};_.removeAll=function zm(a){return pm()};_.retainAll=function Am(a){return qm()};var zF=Uic(70);_U(412,70,gBc,Bm);_.Md=function Gm(){return rs(this.a.Md())};
_.contains=function Cm(a){return a!=null&&this.a.contains(a)};_.containsAll=function Dm(a){return this.a.containsAll(a)};_.isEmpty=function Em(){return this.a.isEmpty()};_.Qe=function Fm(){return rs(this.a.Md())};_.size=function Hm(){return this.a.size()};_.toArray=function Im(){return this.a.toArray()};_.Nd=function Jm(a){return this.a.Nd(a)};_.Ad=function Km(){return dV(this.a)};var iF=Uic(412);_U(113,70,hBc);_.Md=function Zm(){return this.Qe()};_.Od=function _m(){return this.Re(0)};_.Pd=function bn(a){return this.Re(a)};
_.subList=function gn(a,b){return this.Se(a,b)};_.addAtIndex=function Pm(a,b){throw BU(new jlc);};_.addAllAtIndex=function Qm(a,b){throw BU(new jlc);};_.Oe=function Rm(){return this};_.xd=function Vm(a){return Iu(this,a)};_.zd=function Wm(){return Ju(this)};_.indexOf=function Xm(a){return a==null?-1:Ku(this,a)};_.Qe=function Ym(){return this.Re(0)};_.lastIndexOf=function $m(a){return a==null?-1:Lu(this,a)};_.Re=function an(a){return Nm(this,a)};_.removeAtIndex=function dn(a){throw BU(new jlc);};_.setAtIndex=
function en(a,b){throw BU(new jlc);};_.Se=function fn(a,b){var c;return hn((c=new Vu(this),new Emc(c,a,b)))};var Lm;var GF=Uic(113);_U(913,113,hBc);_.Md=function tn(){return rs(this.Te().Md())};_.subList=function xn(a,b){return hn(this.Te().subList(a,b))};_.contains=function ln(a){return jn(this,a)};_.containsAll=function mn(a){return this.Te().containsAll(a)};_.xd=function nn(a){return nb(this.Te(),a)};_.getAtIndex=function on(a){return kn(this,a)};_.zd=function pn(){return rb(this.Te())};_.indexOf=
function qn(a){return this.Te().indexOf(a)};_.isEmpty=function rn(){return this.Te().isEmpty()};_.Qe=function sn(){return rs(this.Te().Md())};_.lastIndexOf=function un(a){return this.Te().lastIndexOf(a)};_.size=function vn(){return this.Te().size()};_.Se=function wn(a,b){return hn(this.Te().subList(a,b))};_.toArray=function yn(){return this.Te().Nd(NC(kS,NAc,1,this.Te().size(),5,1))};_.Nd=function zn(a){return this.Te().Nd(a)};_.Ad=function An(){return dV(this.Te())};var jF=Uic(913);_U(119,1,jBc);
_.oe=function Mn(){return Bn(this)};_.getOrDefault=function Pn(a,b){var c;return c=this.pe(a),c==null&&!this.containsKey(a)?b:c};_.keySet=function Tn(){return this.Xe()};_.putIfAbsent=function Xn(a,b){var c;return c=this.pe(a),c!=null?c:this.put(a,b)};_.replace=function Zn(a,b){return this.containsKey(a)?this.put(a,b):null};_.values=function ao(){return this.Ye()};_.clear=function Fn(){throw BU(new jlc);};_.containsKey=function Gn(a){return this.pe(a)!=null};_.containsValue=function Hn(a){return this.Ye().contains(a)};
_.Ve=function Jn(){return new zq(this)};_.We=function Kn(){return new Eq(this)};_.xd=function Nn(a){return Dv(this,a)};_.zd=function Qn(){return Bn(this).zd()};_.isEmpty=function Rn(){return this.size()==0};_.Xe=function Sn(){return Cn(this)};_.put=function Vn(a,b){return Dn()};_.putAll=function Wn(a){En()};_.remove=function Yn(a){throw BU(new jlc);};_.Ad=function $n(){var a;return Av(),a=Ukc(fl(this.size()),123),Pd(zv,a,Bn(this).Md()),(a.a+="}",a).a};_.Ye=function _n(){if(this.g)return this.g;return this.g=
this.We()};_.e=null;_.f=null;_.g=null;var NF=Uic(119);_U(223,119,jBc);_.containsKey=function go(a){return bo(this,a)};_.containsValue=function ho(a){return Trc(this.d,a)};_.Ue=function io(){return Fo(new uo(this))};_.Ve=function jo(){return Fo(Wrc(this.d))};_.We=function ko(){return lm(),new Bm(Yrc(this.d))};_.xd=function lo(a){return Vrc(this.d,a)};_.pe=function mo(a){return co(this,a)};_.zd=function no(){return rb(this.d.d)};_.isEmpty=function oo(){return this.d.d.isEmpty()};_.size=function po(){return this.d.d.size()};
_.Ad=function qo(){return dV(this.d.d)};var lF=Uic(223);_U(916,915,ZAc);_.Ne=function ro(){return this.Ze()};_.xd=function so(a){return a===this||this.Ze().xd(a)};_.zd=function to(){return this.Ze().zd()};var qF=Uic(916);_U(638,916,ZAc,uo);_.contains=function vo(a){if(DD(a,58)&&a.ye()==null)return false;return tsc(Urc(this.a.d),a)};_.Ze=function wo(){return Urc(this.a.d)};_.Nd=function xo(a){var b;b=usc(Urc(this.a.d),a);Urc(this.a.d).b.size()<b.length&&(b[Urc(this.a.d).b.size()]=null);return b};var kF=
Uic(638);_U(129,70,kBc);_.Md=function Do(){return this.Qe()};_.xd=function Bo(a){return qx(this,a)};_.zd=function Co(){return rx(this)};var TF=Uic(129);_U(321,129,kBc);_.Md=function Mo(){return this.Qe()};_.contains=function Ho(a){return a!=null&&Zqc(this.b,a)};_.containsAll=function Io(a){ie(this.b);return $qc(this.b,a)};_.zd=function Jo(){return rb(this.b.b)};_.isEmpty=function Ko(){return this.b.b.isEmpty()};_.Qe=function Lo(){return rs(new urc(this.b.b.Md()))};_.size=function No(){return this.b.b.size()};
_.toArray=function Oo(){return this.b.b.toArray()};_.Nd=function Po(a){return crc(this.b,a)};_.Ad=function Qo(){return dV(this.b.b)};var mF=Uic(321);_U(931,914,YAc);_.Me=function Wo(){return this.a};_.getOrDefault=function $o(a,b){var c;return c=otc(this.a,a),c==null&&!mtc(this.a,a)?b:c};_.putIfAbsent=function ep(a,b){var c;return c=otc(this.a,a),c!=null?c:qtc(this.a,a,b)};_.replace=function gp(a,b){return mtc(this.a,a)?qtc(this.a,a,b):null};_.clear=function To(){ltc(this.a)};_.containsKey=function Uo(a){return mtc(this.a,
a)};_.containsValue=function Vo(a){return ntc(this.a,a)};_.oe=function Xo(){return new Ftc(this.a)};_.xd=function Yo(a){return a===this||Xg(this.a,a)};_.pe=function Zo(a){return Ro(this,a)};_.zd=function _o(){return dqc(new Ftc(this.a))};_.isEmpty=function ap(){return this.a.a.c==0};_.keySet=function bp(){return new Kmc(this.a)};_.put=function cp(a,b){return So(this,a,b)};_.putAll=function dp(a){Zg(this.a,a)};_.remove=function fp(a){return rtc(this.a,a)};_.size=function hp(){return this.a.a.c};_.values=
function ip(){return new Umc(this.a)};var oF=Uic(931);_U(939,914,lBc);_.Me=function lp(){return this.$e()};_.xd=function mp(a){return this.$e().xd(a)};_.ye=function np(){return this.$e().ye()};_.ze=function op(){return this.$e().ze()};_.zd=function pp(){return this.$e().zd()};_.Ae=function qp(a){return jp(this,a)};var nF=Uic(939);_U(917,916,bBc);_.Ze=function rp(){return bqc(),new Rsc(this.a)};var rF=Uic(917);_U(849,940,mBc);_.Ee=function vp(){return new iy(this)};_.Fe=function wp(){var a;return a=
this.d,!a?this.d=new Vk(this):a};_.Yd=function xp(){nvc(this.a)};_._e=function yp(a){return a!=null&&Fv(this.a,a)};_.Ge=function zp(){var a;return a=this.c,!a?this.c=new Dy(this):a};_.ge=function Ap(){var a,b,c,d,e;e=0;for(c=(d=(new Umc(this.a)).a.oe().Md(),new Zmc(d));c.a.Ed();){b=(a=c.a.Fd(),a.ze());e+=b.size()}return e};var xH=Uic(849);_U(284,849,mBc,Dp);_._e=function Ep(a){return a!=null&&Fv(this.a,a)};_.xd=function Fp(a){return Ty(this,a)};var tF=Uic(284);_U(285,1,nBc,Hp);_.Bd=function Ip(){return Gp(this)};
_.a=0;var sF=Uic(285);_U(804,453,XAc,Jp);_.Be=function Kp(){return new uuc(Cv(this.a))};_.a=2;var uF=Uic(804);_U(235,817,{235:1,383:1,3:1,16:1,20:1},Lp);var vF=Uic(235);_U(912,113,hBc);_.contains=function Op(a){return this.af().contains(a)};_.isEmpty=function Pp(){return this.af().isEmpty()};_.size=function Qp(){return this.af().size()};var wF=Uic(912);_U(312,223,jBc);_.Ye=function Sp(){return this.cf()};_.values=function Up(){return this.cf()};_.He=function Vp(){return this.cf()};_.cf=function Tp(){return Cn(this.bf())};
var xF=Uic(312);_U(906,1,{});var yF=Uic(906);_U(74,222,{222:1,74:1,3:1,58:1},Yp);_.ye=function Zp(){return this.g};_.ze=function $p(){return this.i};_.Ae=function _p(a){throw BU(new jlc);};var AF=Uic(74);_U(724,223,jBc,aq);var BF=Uic(724);_U(876,321,kBc,cq);var CF=Uic(876);_U(617,616,WAc,fq);var DF=Uic(617);_U(42,906,{},iq);_.df=function jq(a){return Eoc(this.a,ie(a)),this};var EF=Uic(42);_U(306,108,VAc,kq);_.Ed=function lq(){return this.a.Ed()};_.Fd=function mq(){return this.a.Fd().ye()};var HF=
Uic(306);_U(100,1,{},qq,rq);_.ef=function sq(){return On(this.b)};_.ff=function tq(a,b){return nq(this,a,b)};_.gf=function uq(a){return oq(this,a)};var IF=Uic(100);_U(929,129,kBc);_.Md=function xq(){var a;return a=Bn(this.a).Qe(),new kq(a)};_.Pe=function vq(){return new Zq(this)};_.Qe=function wq(){var a;return(a=this.c,!a?this.c=new Zq(this):a).Qe()};var SF=Uic(929);_U(718,929,kBc,zq);_.Md=function Cq(){var a;return a=Bn(this.a).Qe(),new kq(a)};_.contains=function Aq(a){return this.a.containsKey(a)};
_.Qe=function Bq(){var a;return a=Bn(this.a).Qe(),new kq(a)};_.size=function Dq(){return this.a.size()};var JF=Uic(718);_U(716,70,gBc,Eq);_.Md=function Iq(){return new Kq(this)};_.Oe=function Fq(){var a;a=nm(Bn(this.a));return new Nq(this,a)};_.contains=function Gq(a){return a!=null&&ds(new Kq(this),a)};_.Qe=function Hq(){return new Kq(this)};_.size=function Jq(){return this.a.size()};var MF=Uic(716);_U(329,108,VAc,Kq);_.Ed=function Lq(){return this.a.Ed()};_.Fd=function Mq(){return this.a.Fd().ze()};
var KF=Uic(329);_U(717,912,hBc,Nq);_.af=function Oq(){return this.a};_.getAtIndex=function Pq(a){return this.b.getAtIndex(a).ze()};var LF=Uic(717);_U(556,1,{},Rq);var OF=Uic(556);_U(69,906,{},Xq);_.df=function Yq(a){return Tq(this,a)};var QF=Uic(69);_U(411,912,hBc,Zq);_.af=function $q(){return this.a};_.getAtIndex=function _q(a){return yq(this.a,a)};var RF=Uic(411);_U(319,912,hBc,br);_.Pd=function fr(a){return Nm(this.b,a)};_.af=function cr(){return this.a};_.getAtIndex=function dr(a){return kn(this.b,
a)};_.Re=function er(a){return Nm(this.b,a)};var bH=Uic(319);_U(881,319,hBc,gr);_.af=function ir(){return this.a};_.Md=function jr(){return Nm(this.b,0)};_.contains=function hr(a){return(a==null?-1:Ku(this,a))>=0};var UF=Uic(881);_U(275,223,{119:1,275:1,3:1,49:1},mr);_.Ve=function or(){return Er(this.a,Wrc(this.c))};_.Xe=function pr(){var a;return a=this.b,!a?this.b=Er(this.a,Wrc(this.c)):a};_.keySet=function qr(){var a;return a=this.b,!a?this.b=Er(this.a,Wrc(this.c)):a};var kr;var WF=Uic(275);_U(723,
100,{},vr);_.ef=function wr(){return tr(this)};_.ff=function xr(a,b){return Eoc(this.b,(bl(a,b),Av(),new Yp(a,b))),this};_.gf=function yr(a){return oq(this,a),this};var VF=Uic(723);_U(380,321,{70:1,129:1,380:1,3:1,16:1,20:1,31:1,121:1});_.Md=function Hr(){return rs(new urc(this.b.b.Md()))};_.contains=function Cr(a){return a!=null&&Zqc(this.a,a)};_.containsAll=function Dr(a){var b,c;for(c=a.Md();c.Ed();){b=c.Fd();if(b==null)return false}return $qc(this.a,a)};_.Qe=function Gr(){return rs(new urc(this.b.b.Md()))};
_.toArray=function Ir(){return ax(this,NC(kS,NAc,1,this.b.b.size(),5,1))};_.Nd=function Jr(a){return bx(this,a)};var zr,Ar;var XF=Uic(380);_U(690,323,UAc,Pr);_.Md=function Qr(){return qs(this.a.Md(),this.b)};var YF=Uic(690);_U(691,323,UAc,Sr);_.Md=function Tr(){return Rr(this)};_.b=0;var ZF=Uic(691);_U(692,323,UAc,Vr);_.Md=function Wr(){return Ur(this)};_.b=0;var $F=Uic(692);var Xr,Yr;_U(675,907,WAc,ss);_.Ed=function ts(){return false};_.Td=function us(){return false};_.Fd=function vs(){throw BU(new Dwc);
};_.Ud=function ws(){throw BU(new Dwc);};var aG=Uic(675);_U(318,108,VAc,xs);_.Ed=function ys(){return!this.a};_.Fd=function zs(){if(this.a)throw BU(new Dwc);this.a=true;return this.b};_.a=false;var _F=Uic(318);_U(676,1,IAc,As);_.Ed=function Bs(){return false};_.Fd=function Cs(){throw BU(new Dwc);};_.Gd=function Ds(){pe(false,$Ac)};var bG=Uic(676);_U(677,108,VAc,Es);_.Ed=function Fs(){return this.a.Ed()};_.Fd=function Gs(){return this.a.Fd()};var cG=Uic(677);_U(678,423,VAc,Hs);_.Wd=function Is(){var a;
while(this.b.Ed()){a=this.b.Fd();if(this.a.Hd(a))return a}return this.d=2,null};var dG=Uic(678);_U(268,1,IAc);_.Ed=function Ks(){return this.b.Ed()};_.Fd=function Ls(){return this.hf(this.b.Fd())};_.Gd=function Ms(){this.b.Gd()};var AH=Uic(268);_U(679,268,IAc,Os);_.hf=function Ps(a){return Ns(this,a)};var eG=Uic(679);_U(680,1,IAc,Qs);_.Ed=function Rs(){return this.a<this.c&&this.b.b.Ed()};_.Fd=function Ss(){if(!(this.a<this.c&&this.b.b.Ed()))throw BU(new Dwc);++this.a;return this.b.b.Fd()};_.Gd=function Ts(){trc()};
_.a=0;_.c=0;var fG=Uic(680);_U(421,1,IAc);_.Ed=function Ws(){return Us(this)};_.Fd=function Xs(){if(!Us(this))throw BU(new Dwc);this.c=this.b;return this.b.Fd()};_.Gd=function Ys(){pe(!!this.c,$Ac);this.c.Gd();this.c=null};var ZG=Uic(421);_U(317,421,{317:1,29:1},Zs);_.jf=function $s(a){return a};var hG=Uic(317);_U(422,421,IAc,at);_.jf=function bt(a){return _s(a)};var gG=Uic(422);_U(172,453,XAc,et);_.Yd=function ft(){ct(this)};_.Be=function gt(){return new Yvc(this.b)};_.ie=function ht(a){return new rt(this,
a,this.b)};_.ce=function it(){return dt(this)};_.b=2;var lG=Uic(172);_U(231,74,{222:1,74:1,231:1,950:1,3:1,58:1},lt);_.kf=function mt(){return this.f};_.lf=function nt(a){this.c=a};_.mf=function ot(a){this.f=a};_.d=0;var iG=Uic(231);_U(774,921,{950:1,16:1,20:1,31:1},rt);_.add=function st(a){var b,c,d,e,f;f=rBc*Ejc((a==null?0:rb(a))*sBc,15);b=f&this.b.length-1;e=this.b[b];for(c=e;c;c=c.a)if(c.d==f&&Xd(c.i,a))return false;d=new lt(this.c,a,f,e);kt(this.d,d);d.f=this;this.d=d;jt(this.g.a.b,d);jt(d,this.g.a);
this.b[b]=d;++this.f;++this.e;pt(this);return true};_.clear=function tt(){var a,b;xpc(this.b);this.f=0;for(a=this.a;a!=this;a=a.kf()){b=a;jt(b.b,b.e)}this.a=this;this.d=this;++this.e};_.contains=function ut(a){var b,c;c=rBc*Ejc((a==null?0:rb(a))*sBc,15);for(b=this.b[c&this.b.length-1];b;b=b.a)if(b.d==c&&Xd(b.i,a))return true;return false};_.kf=function vt(){return this.a};_.Md=function wt(){return new Ct(this)};_.remove=function xt(a){return qt(this,a)};_.lf=function yt(a){this.d=a};_.mf=function zt(a){this.a=
a};_.size=function At(){return this.f};_.e=0;_.f=0;var kG=Uic(774);_U(775,1,IAc,Ct);_.Ed=function Dt(){return Bt(this),this.b!=this.c};_.Fd=function Et(){var a,b;Bt(this);if(this.b==this.c)throw BU(new Dwc);a=this.b;b=a.i;this.d=a;this.b=a.f;return b};_.Gd=function Ft(){Bt(this);pe(!!this.d,$Ac);qt(this.c,this.d.i);this.a=this.c.e;this.d=null};_.a=0;var jG=Uic(775);_U(801,932,XAc,Kt);_.Xd=function Lt(){var a;return a=this.f,!a?this.f=new ow(this):a};_.xd=function Rt(a){return mw(this,a)};_.ae=function St(a){return new fu(this,
a)};_.fe=function Wt(a){return It(this,a)};_.Yd=function Nt(){this.a=null;this.e=null;Tlc(this.b);this.d=0;++this.c};_.Zd=function Ot(a){return Ht(this,a)};_.$d=function Pt(){return new ow(this)};_._d=function Qt(){return new iu(this)};_.le=function Tt(a){return new fu(this,a)};_.be=function Ut(){return!this.a};_.de=function Vt(a,b){return Gt(this,a,b,null),true};_.me=function Xt(a){return It(this,a)};_.ge=function Yt(){return this.d};_.c=0;_.d=0;var sG=Uic(801);_U(919,911,OAc);_.addAtIndex=function _t(a,
b){var c;c=this.Pd(a);c.Sd(b)};_.addAllAtIndex=function au(a,b){var c,d,e,f;Yzc(b);f=false;e=this.Pd(a);for(d=b.Md();d.Ed();){c=d.Fd();e.Sd(c);f=true}return f};_.getAtIndex=function bu(a){return Zt(this,a)};_.Md=function cu(){return this.Pd(0)};_.removeAtIndex=function du(a){return $t(this,a)};_.setAtIndex=function eu(b,c){var d,e;d=this.Pd(b);try{e=d.Fd();d.Vd(c);return e}catch(a){a=AU(a);if(DD(a,64))throw BU(new lic("Can't set element "+b));else throw BU(a);}};var SS=Uic(919);_U(348,919,OAc,fu);
_.Pd=function gu(a){return new Au(this.a,this.b,a)};_.size=function hu(){var a;a=Mlc(this.a.b,this.b);return!a?0:a.a};var nG=Uic(348);_U(466,921,ZAc,iu);_.contains=function ju(a){return Ht(this.a,a)};_.Md=function ku(){return new ou(this.a)};_.remove=function lu(a){return!It(this.a,a).a.isEmpty()};_.size=function mu(){return Ulc(this.a.b)};var mG=Uic(466);_U(803,1,IAc,ou);_.Ed=function pu(){nu(this);return!!this.c};_.Fd=function qu(){nu(this);Mt(this.c);this.a=this.c;quc(this.d,this.a.a);do this.c=
this.c.b;while(!!this.c&&!quc(this.d,this.c.a));return this.a.a};_.Gd=function ru(){nu(this);pe(!!this.a,$Ac);bs(new zu(this.e,this.a.a));this.a=null;this.b=this.e.c};_.b=0;var oG=Uic(803);_U(347,1,{347:1},su);_.a=0;var pG=Uic(347);_U(802,222,eBc,tu);_.ye=function uu(){return this.a};_.ze=function vu(){return this.f};_.Ae=function wu(a){var b;b=this.f;this.f=a;return b};var qG=Uic(802);_U(281,1,aBc,zu,Au);_.Sd=function Bu(a){this.e=Gt(this.f,this.b,a,this.c);++this.d;this.a=null};_.Ed=function Cu(){return!!this.c};
_.Td=function Du(){return!!this.e};_.Fd=function Eu(){return xu(this)};_.Ud=function Fu(){return yu(this)};_.Gd=function Gu(){pe(!!this.a,$Ac);if(this.a!=this.c){this.e=this.a.e;--this.d}else this.c=this.a.c;Jt(this.f,this.a);this.a=null};_.Vd=function Hu(a){oe(!!this.a);this.a.f=a};_.d=0;var rG=Uic(281);_U(641,911,OAc);_.addAtIndex=function Ou(a,b){this.a.addAtIndex(a,b)};_.addAllAtIndex=function Pu(a,b){return this.a.addAllAtIndex(a,b)};_.contains=function Qu(a){return this.a.contains(a)};_.getAtIndex=
function Ru(a){return this.a.getAtIndex(a)};_.removeAtIndex=function Su(a){return this.a.removeAtIndex(a)};_.setAtIndex=function Tu(a,b){return this.a.setAtIndex(a,b)};_.size=function Uu(){return this.a.size()};var uG=Uic(641);_U(642,641,_Ac);var vG=Uic(642);_U(644,642,_Ac,Vu);_.Pd=function Wu(a){return this.a.Pd(a)};var tG=Uic(644);_U(167,911,{167:1,16:1,20:1,48:1},$u);_.addAtIndex=function _u(a,b){this.a.addAtIndex(Zu(this,a),b)};_.clear=function av(){this.a.clear()};_.getAtIndex=function bv(a){return this.a.getAtIndex(Yu(this,
a))};_.Md=function cv(){return Xu(this,0)};_.Pd=function dv(a){return Xu(this,a)};_.removeAtIndex=function ev(a){return this.a.removeAtIndex(Yu(this,a))};_.Qd=function fv(a,b){(ne(a,b,this.a.size()),Nu(this.a.subList(Zu(this,b),Zu(this,a)))).clear()};_.setAtIndex=function gv(a,b){return this.a.setAtIndex(Yu(this,a),b)};_.size=function hv(){return this.a.size()};_.subList=function iv(a,b){return ne(a,b,this.a.size()),Nu(this.a.subList(Zu(this,b),Zu(this,a)))};var yG=Uic(167);_U(417,167,{167:1,16:1,
20:1,48:1,76:1},jv);var wG=Uic(417);_U(643,1,aBc,kv);_.Sd=function lv(a){this.b.Sd(a);this.b.Ud();this.a=false};_.Ed=function mv(){return this.b.Td()};_.Td=function nv(){return this.b.Ed()};_.Fd=function ov(){if(!this.b.Td())throw BU(new Dwc);this.a=true;return this.b.Ud()};_.Ud=function pv(){if(!this.b.Ed())throw BU(new Dwc);this.a=true;return this.b.Fd()};_.Gd=function qv(){pe(this.a,$Ac);this.b.Gd();this.a=false};_.Vd=function rv(a){oe(this.a);this.b.Vd(a)};_.a=false;var xG=Uic(643);_U(310,113,
hBc,sv);_.getAtIndex=function tv(a){return he(a,this.a.length),Kic(lkc(this.a,a))};_.subList=function yv(a,b){return ne(a,b,this.a.length),new sv(ie(Hkc(this.a,a,b)))};_.indexOf=function uv(a){return DD(a,153)?tkc(this.a,Nkc(a.a)):-1};_.lastIndexOf=function vv(a){return DD(a,153)?wkc(this.a,Nkc(a.a)):-1};_.size=function wv(){return this.a.length};_.Se=function xv(a,b){return ne(a,b,this.a.length),new sv(ie(Hkc(this.a,a,b)))};var zG=Uic(310);var zv;_U(652,268,IAc,Iv);_.hf=function Jv(a){return Av(),
new Yp(a,this.a.Kd(a))};var AG=Uic(652);_U(188,14,tBc);var Kv,Lv;var DG=Vic(188,ZR,Ov);_U(649,188,tBc,Pv);_.Kd=function Qv(a){return a.ye()};var BG=Vic(649,DG,null);_U(650,188,tBc,Rv);_.Kd=function Sv(a){return a.ze()};var CG=Vic(650,DG,null);_U(941,908,YAc);_.clear=function Tv(){bs(my(this))};_.oe=function Uv(){return new Vv(this)};var GG=Uic(941);_U(651,922,ZAc,Vv);_.Md=function Wv(){return my(this.a)};_.se=function Xv(){return this.a};var FG=Uic(651);_U(648,909,MAc,Yv);_.clear=function Zv(){this.a.clear()};
_.contains=function $v(a){return this.a.containsValue(a)};_.isEmpty=function _v(){return this.a.isEmpty()};_.Md=function aw(){return Av(),qs(this.a.oe().Md(),(Mv(),Lv))};_.remove=function bw(b){var c,d;try{return bd(this,b,true)}catch(a){a=AU(a);if(DD(a,18)){for(d=this.a.oe().Md();d.Ed();){c=d.Fd();if(Xd(b,c.ze())){this.a.remove(c.ye());return true}}return false}else throw BU(a);}};_.removeAll=function cw(b){var c,d,e;try{return ed(this,ie(b))}catch(a){a=AU(a);if(DD(a,18)){e=new tuc;for(d=this.a.oe().Md();d.Ed();){c=
d.Fd();b.contains(c.ze())&&quc(e,c.ye())}return this.a.keySet().removeAll(e)}else throw BU(a);}};_.retainAll=function dw(b){var c,d,e;try{return fd(this,ie(b))}catch(a){a=AU(a);if(DD(a,18)){e=new tuc;for(d=this.a.oe().Md();d.Ed();){c=d.Fd();b.contains(c.ze())&&quc(e,c.ye())}return this.a.keySet().retainAll(e)}else throw BU(a);}};_.size=function ew(){return this.a.size()};var IG=Uic(648);_U(943,1,{});var PG=Uic(943);_U(945,1,{});var OG=Uic(945);_U(874,945,{},hw);_.a=0;var KG=Uic(874);_U(872,1,nBc,
iw);_.Bd=function jw(){return new Qoc(this.a)};_.a=0;var LG=Uic(872);_U(944,943,{});var MG=Uic(944);_U(873,944,{},lw);_.b=0;var NG=Uic(873);_U(461,933,YAc,ow);_.pe=function sw(a){return this.a.Zd(a)?this.a.ae(a):null};_.remove=function vw(a){return this.a.Zd(a)?this.a.fe(a):null};_.clear=function pw(){this.a.Yd()};_.containsKey=function qw(a){return this.a.Zd(a)};_.re=function rw(){return new xw(this)};_.qe=function(){return this.re()};_.isEmpty=function tw(){return this.a.be()};_.keySet=function uw(){return this.a.ce()};
_.size=function ww(){return this.a.ce().size()};var SG=Uic(461);_U(779,922,ZAc,xw);_.Md=function yw(){return Bv(this.a.a.ce(),new Bw(this))};_.se=function zw(){return this.a};_.remove=function Aw(a){var b;if(!Sh(this,a))return false;b=a;nw(this.a,b.ye());return true};var RG=Uic(779);_U(780,1,uBc,Bw);_.Kd=function Cw(a){return this.a.a.a.ae(a)};_.xd=function Dw(a){return this===a};var QG=Uic(780);_U(778,460,XAc,Ew);_.nf=function Fw(){return this.a.Bd()};_.ke=function(){return this.nf()};var TG=Uic(778);
_U(784,268,IAc,Kw);_.hf=function Lw(a){return a.b.ye()};var VG=Uic(784);_U(783,1,IAc,Mw);_.Ed=function Nw(){return this.d>0||this.c.Ed()};_.Fd=function Ow(){if(!(this.d>0||this.c.Ed()))throw BU(new Dwc);if(this.d==0){this.b=this.c.Fd();this.f=this.d=gk(this.b)}--this.d;this.a=true;return this.b.b.ye()};_.Gd=function Pw(){pe(this.a,$Ac);this.f==1?this.c.Gd():Rj(this.e,this.b.b.ye(),1)>0;--this.f;this.a=false};_.a=false;_.d=0;_.f=0;var YG=Uic(783);_U(789,190,{190:1,3:1,123:1},Sw);_.Ie=function Tw(a,
b){return ie(a),ie(b),wic(a,b)};_.Je=function Uw(){var a;a=this.a;!a&&(a=this.a=new Ww(this));return a};_.Ad=function Vw(){return"Ordering.natural()"};var Qw;var $G=Uic(789);_U(293,190,{293:1,190:1,3:1,123:1},Ww);_.Ie=function Xw(a,b){if(JD(a)===JD(b))return 0;if(a==null)return-1;if(b==null)return 1;return this.a.Ie(a,b)};_.xd=function Yw(a){var b;if(a===this)return true;if(DD(a,293)){b=a;return this.a.xd(b.a)}return false};_.zd=function Zw(){return rb(this.a)^957692532};_.Je=function $w(){return this};
_.Ad=function _w(){return this.a+".nullsFirst()"};var _G=Uic(293);_U(653,312,jBc,ex);_.bf=function fx(){return this.a};var cx;var cH=Uic(653);_U(156,913,hBc,gx);_.Te=function hx(){return this.a};var dH=Uic(156);_U(272,223,jBc,ix,jx);var eH=Uic(272);_U(322,321,kBc,mx);var kx;var fH=Uic(322);_U(250,380,{70:1,129:1,380:1,250:1,3:1,16:1,20:1,31:1,121:1},nx);_.Pe=function ox(){return new gr(this,(Mm(),hn(new Upc(ax(this,NC(kS,NAc,1,this.b.b.size(),5,1))))))};var gH=Uic(250);_U(918,910,ZAc);_.Md=function Ax(){return this.Qe()};
_.add=function xx(a){throw BU(new jlc);};_.addAll=function yx(a){throw BU(new jlc);};_.clear=function zx(){throw BU(new jlc);};_.remove=function Bx(a){throw BU(new jlc);};_.removeAll=function Cx(a){throw BU(new jlc);};_.retainAll=function Dx(a){throw BU(new jlc);};var kH=Uic(918);_U(636,918,ZAc,Gx);_.Md=function Kx(){return Fx(this)};_.contains=function Hx(a){return this.a.contains(a)||this.b.contains(a)};_.isEmpty=function Ix(){return this.a.isEmpty()&&this.b.isEmpty()};_.Qe=function Jx(){return rs(cs(this.a.Md(),
Mx(this.c)))};_.size=function Lx(){return Zz(this.a.size(),Nx(this.c))};var hH=Uic(636);_U(637,918,ZAc,Ox);_.Md=function Sx(){return Mx(this)};_.contains=function Px(a){return this.b.contains(a)&&!this.c.contains(a)};_.isEmpty=function Qx(){return this.c.containsAll(this.b)};_.Qe=function Rx(){return fs(this.b.Md(),this.a)};_.size=function Tx(){return Nx(this)};var iH=Uic(637);_U(307,917,{307:1,3:1,16:1,20:1,203:1,31:1,121:1},Ux);var lH=Uic(307);_U(330,312,jBc,Vx,Wx);_.values=function Zx(){return lm(),
new cy(this.c)};_.He=function $x(){return lm(),new cy(this.c)};_.bf=function Xx(){var a;return a=this.a,!a?this.a=new Wx(this.c,this.b,this):a};_.cf=function Yx(){return lm(),new cy(this.c)};var mH=Uic(330);_U(91,913,hBc,_x);_.Te=function ay(){return this.a};var nH=Uic(91);_U(68,129,kBc,cy);_.Md=function fy(){return Zr(),new xs(this.a)};_.contains=function dy(a){return by(this,a)};_.Qe=function ey(){return Zr(),new xs(this.a)};_.size=function gy(){return 1};var oH=Uic(68);_U(850,1,IAc,iy);_.Fd=function ky(){return hy(this)};
_.Ed=function jy(){return Qvc(this.c)||this.a.Ed()};_.Gd=function ly(){this.a.Gd();this.b.e.isEmpty()&&Svc(this.c)};var pH=Uic(850);_U(479,941,YAc,oy);_.clear=function py(){var a;a=!this.a||this.a.isEmpty()&&ovc(this.c.a,this.b)?this.a=pvc(this.c.a,this.b):this.a;!!a&&a.clear();ny(this)};_.containsKey=function qy(a){var b;b=!this.a||this.a.isEmpty()&&ovc(this.c.a,this.b)?this.a=pvc(this.c.a,this.b):this.a;return a!=null&&!!b&&Fv(b,a)};_.pe=function ry(a){var b;b=!this.a||this.a.isEmpty()&&ovc(this.c.a,
this.b)?this.a=pvc(this.c.a,this.b):this.a;return a!=null&&!!b?Gv(b,a):null};_.put=function sy(a,b){ie(a);ie(b);if(!!this.a&&!this.a.isEmpty())return this.a.put(a,b);return up(this.c,this.b,a,b)};_.remove=function ty(a){var b,c;b=!this.a||this.a.isEmpty()&&ovc(this.c.a,this.b)?this.a=pvc(this.c.a,this.b):this.a;if(!b)return null;c=Hv(b,a);ny(this);return c};_.size=function uy(){var a;a=!this.a||this.a.isEmpty()&&ovc(this.c.a,this.b)?this.a=pvc(this.c.a,this.b):this.a;return!a?0:a.size()};var vH=Uic(479);
_U(853,1,IAc,vy);_.Fd=function xy(){return new zy(this.b.Fd())};_.Ed=function wy(){return this.b.Ed()};_.Gd=function yy(){this.b.Gd();ny(this.a)};var qH=Uic(853);_U(854,939,lBc,zy);_.$e=function Ay(){return this.a};_.xd=function By(a){return kp(this,a)};_.Ae=function Cy(a){return jp(this,ie(a))};var rH=Uic(854);_U(286,933,YAc,Dy);_.pe=function Gy(a){return this.a._e(a)?new oy(this.a,a):null};_.remove=function Hy(a){return a==null?null:svc(this.a.a,a)};_.containsKey=function Ey(a){return this.a._e(a)};
_.re=function Fy(){return new Ly(this)};_.qe=function(){return this.re()};var uH=Uic(286);_U(851,921,ZAc);_.clear=function Jy(){nvc(this.b.a)};_.isEmpty=function Ky(){return Ulc(this.b.a.c)==0};var wH=Uic(851);_U(852,851,ZAc,Ly);_.contains=function My(a){var b;if(DD(a,58)){b=a;return b.ye()!=null&&DD(b.ze(),49)&&gl(new Kvc(this.a.a.a),b)}return false};_.Md=function Ny(){return Bv(new Kmc(this.a.a.a),new Qy(this))};_.remove=function Oy(a){var b;if(DD(a,58)){b=a;return b.ye()!=null&&DD(b.ze(),49)&&
Jvc(new Kvc(this.a.a.a),b)}return false};_.size=function Py(){return Ulc(this.a.a.a.c)};var tH=Uic(852);_U(855,1,uBc,Qy);_.Kd=function Ry(a){return new oy(this.a.a.a,a)};_.xd=function Sy(a){return this===a};var sH=Uic(855);_U(946,1,{951:1});_.xd=function Uy(a){var b;if(a===this)return true;if(DD(a,249)){b=a;return Xd(this.b,b.b)&&Xd(this.a,b.a)&&Xd(this.c,b.c)}return false};_.zd=function Vy(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.b,this.a,this.c]))};_.Ad=function Wy(){return"("+this.b+","+this.a+")="+
this.c};var yH=Uic(946);_U(249,946,{951:1,249:1,3:1},Xy);var zH=Uic(249);_U(766,931,YAc,Yy);_.oe=function Zy(){var a;a=this.b;if(a)return a;return this.b=new $y(this)};var GH=Uic(766);_U(767,922,ZAc,$y);_.Md=function _y(){var a;return new bz(this,(a=(new Kmc(this.a.a)).a.oe().Md(),new Qmc(a)))};_.se=function az(){return this.a};var FH=Uic(767);_U(768,268,IAc,bz);_.hf=function cz(a){return new dz(this,a)};var EH=Uic(768);_U(769,222,eBc,dz);_.ye=function ez(){return this.b};_.ze=function fz(){return Ro(this.a.a.a,
this.b)};_.Ae=function gz(a){return So(this.a.a.a,this.b,a)};var DH=Uic(769);_U(947,1,{});var hz;var MH=Uic(947);_U(251,97,{97:1,50:1,251:1,51:1},qz);_.xd=function rz(a){return nz(this,a)};_.zd=function sz(){return Cpc(this.c)};_.Id=function tz(a){return pz(this,a)};_.Ad=function uz(){return this.f};_.a=0;_.b=0;_.d=0;var HH=Uic(251);_U(146,947,{146:1},xz);_.xd=function yz(a){var b;if(DD(a,146)){b=a;return nz(this.b,b.b)&&Xd(this.c,b.c)}return false};_.zd=function zz(){return Cpc(this.b.c)^Dpc(QC(LC(kS,
1),NAc,1,5,[this.c]))};_.Ad=function Az(){var a;a=new glc("BaseEncoding.");_kc(a,this.b.f);8%this.b.a!=0&&(!this.c?(a.a+=".omitPadding()",a):_kc($kc((a.a+=".withPadChar('",a),this.c),"')"));return a.a};var LH=Uic(146);_U(561,146,{146:1},Cz);var IH=Uic(561);_U(381,146,{146:1},Fz);var JH=Uic(381);_U(39,1,ABc);_.pf=function Oz(a){return new $wnd.Error(a)};_.qf=function Qz(){return this.f};_.rf=function Rz(){var a,b,c;c=this.f==null?null:this.f.replace(new RegExp(BBc,"g")," ");b=(a=Qic(this.Hj),c==null?
a:a+": "+c);Iz(this,Pz(this.pf(b)));xC(this)};_.Ad=function Tz(){return Kz(this,this.qf())};_.backingJsObject=xBc;_.j=true;var qS=Uic(39);_U(41,39,CBc);var _R=Uic(41);_U(90,41,{90:1,3:1,41:1,39:1});var QR=Uic(90);_U(294,90,{294:1,90:1,3:1,41:1,39:1},Vz);var KH=Uic(294);var bA;var gA;_U(114,1,{},lA);_.a=0;_.b=0;var NH=Uic(114);_U(436,1,{},tA);_.b=0;_.c=null;var UH=Uic(436);_U(710,1,{},vA);var OH=Uic(710);_U(711,1,{},BA);_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;var PH=Uic(711);_U(437,1,{885:1},CA);_.sf=
function DA(){return this.e};_.tf=function EA(){return-1};_.uf=function FA(){return-1};_.vf=function GA(){return-1};_.wf=function HA(){return-1};_.e=0;var SH=Uic(437);_U(438,437,{885:1},IA);_.tf=function JA(){return-1};_.uf=function KA(){return this.b};_.vf=function LA(){return this.c};_.wf=function MA(){return this.d};_.b=0;_.c=0;_.d=0;var TH=Uic(438);_U(713,438,{885:1},NA);_.tf=function OA(){return this.a};_.a=0;var QH=Uic(713);_U(712,1,{},SA);_.b=0;_.c=0;var RH=Uic(712);_U(706,1,{},$A);_.c=null;
_.d=-1;var _H=Uic(706);_U(707,1,{},cB);var VH=Uic(707);_U(709,1,{},fB);_.xf=function gB(a,b,c,d,e){var f;this.d!=b&&(this.c=0);if(b!=d||c!=e)if(b<this.a){this.d==b&&Tkc(this.b,44);eB(this,a,c);this.d=b;this.c=c}else oe(!a);for(f=b;f<=d&&f<this.a;f++){if(f==d)break;Tkc(this.b,59)}};_.a=0;_.c=0;_.d=-1;_.e=0;_.f=0;_.g=0;_.i=0;var WH=Uic(709);_U(434,1,{434:1},hB);_.f=false;var YH=Uic(434);_U(435,1,{},oB);_.a=0;_.b=0;var XH=Uic(435);_U(708,1,{},pB);_.xf=function qB(a,b,c,d,e){!!a&&(a.f=true)};var ZH=Uic(708);
_U(608,1,{},rB);_.c=0;_.i=0;var cI=Uic(608);_U(607,1,{},AB);_.c=0;_.i=0;var aI=Uic(607);_U(894,1,{});var bI=Uic(894);_U(125,41,{125:1,3:1,41:1,39:1},EB);var dI=Uic(125);_U(302,1,{302:1},FB);_.a=0;_.b=0;_.c=0;var eI=Uic(302);var GB;_U(441,1,{},LB);_.a=0;_.c=0;var gI=Uic(441);_U(401,1,{},RB);_.a=0;_.b=null;_.c=0;_.d=null;var fI=Uic(401);_U(33,41,CBc,TB,UB,VB);var lS=Uic(33);_U(204,33,CBc,WB);var eS=Uic(204);_U(625,204,CBc);var kI=Uic(625);_U(260,625,{260:1,3:1,41:1,39:1},$B);_.qf=function _B(){ZB(this);
return this.c};_.yf=function aC(){return JD(this.b)===JD(XB)?null:this.b};var XB;var hI=Uic(260);var iI=Uic(0);_U(888,1,{});var jI=Uic(888);var cC=0,dC=0,eC=-1;_U(656,888,{},sC);var oC;var lI=Uic(656);var vC;_U(904,1,{});var pI=Uic(904);_U(612,904,{},CC);_.zf=function DC(a){var b={},j;var c=[];a[JBc]=c;var d=arguments.callee.caller;while(d){var e=(wC(),d.name||(d.name=zC(d.toString())));c.push(e);var f=":"+e;var g=b[f];if(g){var h,i;for(h=0,i=g.length;h<i;h++)if(g[h]===d)return}(g||(b[f]=[])).push(d);
d=d.caller}};_.Af=function EC(a){var b,c,d,e;d=(wC(),a&&a[JBc]?a[JBc]:[]);c=d.length;e=NC(mS,NAc,137,c,0,1);for(b=0;b<c;b++)e[b]=new hkc(d[b],null,-1);return e};var mI=Uic(612);_U(905,904,{});_.zf=function GC(a){};_.Bf=function HC(a,b,c,d){return new hkc(b,a+"@"+d,c<0?-1:c)};_.Af=function IC(a){var b,c,d,e,f,g,h;e=(wC(),h=a.backingJsObject,h&&h.stack?h.stack.split(BBc):[]);f=NC(mS,NAc,137,0,0,1);b=0;d=e.length;if(d==0)return f;g=FC(this,e[0]);qkc(g.d,IBc)||(f[b++]=g);for(c=1;c<d;c++)f[b++]=FC(this,
e[c]);return f};var oI=Uic(905);_U(613,905,{},JC);_.Bf=function KC(a,b,c,d){return new hkc(b,a,-1)};var nI=Uic(613);var SC;var sD,tD,uD,vD;_U(206,1,TBc);_.Y=0;var iV;var rI=Uic(206);_U(208,14,{208:1,3:1,23:1,14:1},pV);var lV,mV,nV;var qI=Vic(208,ZR,qV);_U(420,1,{});_.b=false;var tI=Uic(420);_U(168,14,{168:1,3:1,23:1,14:1},CV);var wV,xV,yV,zV,AV;var sI=Vic(168,ZR,DV);_U(219,14,{219:1,3:1,23:1,14:1},IV);var EV,FV,GV;var uI=Vic(219,ZR,JV);_U(449,1,kCc,YW);_.Mf=function ZW(a,b){!!a&&XV(this,a);!!b&&XV(this,
b)};var vI=Uic(449);_U(387,1,{});_.c=0;_.e=0;var yI=Uic(387);_U(388,1,{388:1},dX);var wI=Uic(388);_U(572,1,mCc,fX);_.Ie=function gX(a,b){return eX(a,b)};_.xd=function hX(a){return this===a};var xI=Uic(572);var iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX;var XK=Wic();_U(925,1,nCc);_.Pf=function zX(a,b,c){return true};var UK=Uic(925);var AX;var CX,DX,EX,FX;var HX,IX;var KX;var MX,NX,OX,PX,QX,RX,SX,TX;_U(215,14,{215:1,3:1,23:1,14:1},ZX);var VX,WX,XX;var zI=Vic(215,ZR,$X);var _X;var bY;var dY,eY;
var gY,hY,iY,jY;var lY;var nY,oY,pY,qY,rY;var tY;var vY;var xY,yY,zY,AY,BY,CY;_U(681,1,GAc);_.Rf=function EY(a,b,c){};_.Sf=function FY(a,b,c){return r_(a,b,c)};_.Tf=function GY(a,b){return s_()};_.Uf=function HY(a,b){return t_()};_.Vf=function IY(a,b){return u_()};_.Wf=function JY(){return null};_.Xf=function KY(a){return v_(a)};_.Yf=function LY(){return null};_.Zf=function MY(){return null};_.$f=function NY(a){return null};_._f=function OY(a){return false};_.ag=function PY(a){return false};_.bg=
function QY(a){return qkc(a.substr(0,6),"$super")};_.cg=function RY(a){return w_(a)};_.dg=function SY(a){return x_(a)};_.eg=function TY(a){return y_(a)};var NI=Uic(681);_U(391,681,GAc,VY);_.Rf=function XY(a,b,c){oe(!a.f);Vwb(a,vCc,null,b,true);oe(!a.f);Vwb(a,"instance_",null,c,true)};_.Sf=function YY(a,b,c){var d,e,f;if(a.j!=(f8b(),J5b))return null;d=a.b;if(g3b(d)){if(m3b(d,wCc,wCc.length)||m3b(d,"goog$bind","goog$bind".length)){e=d.d;if(!e)return null;f=hZ(e);hZ(f);return new k_(f)}if(m3b(d,xCc,
xCc.length)||m3b(d,yCc,yCc.length)){e=d.d;if(!e)return null;hZ(e);return new k_(null)}}return r_(a,b,c)};_.Tf=function $Y(a,b){var c;c=ZY(a,b,zCc);c==null&&(c=ZY(a,b,ACc));return c};_.Uf=function _Y(a,b){return ZY(a,b,BCc)};_.Vf=function aZ(a,b){var c;c=ZY(a,b,ACc);return c!=null};_.Wf=function bZ(){return"goog.abstractMethod"};_.Xf=function cZ(a){var b,c,d,e,f,g;d=v_(a);if(d)return d;b=a.b;g=iZ(b);if(g){e=null;f=a.b?a.b.f:null;c=T2b(a)==2&&b.j==(f8b(),x6b);if(c)e=b.b;else if(T2b(a)==3)e=b.d;else return null;
if(g==(o_(),n_)){if(!(f.j==(f8b(),x6b)&&qkc((f.b?f.b.f:null).hi(),CCc)))return null;if(!c){if(!(e.j==x6b&&qkc((e.b?e.b.f:null).hi(),CCc)))return null;e=e.b}f=f.b}if(!!e&&h3b(e)&&h3b(f))return new l_(e,f)}return null};_.Yf=function dZ(){return"goog.exportProperty"};_.Zf=function eZ(){return"goog.exportSymbol"};_.$f=function fZ(a){var b;b=a.b;if(T2b(a)==2&&(m3b(b,DCc,DCc.length)||m3b(b,ECc,ECc.length)))return Z2b(b.d);return null};_.dg=function gZ(a){ae(a.j==(f8b(),J5b));return this.a.contains(Z2b(a.b))||
x_(a)};var AI=Uic(391);var jZ,kZ,lZ,mZ;_U(426,1,{});_.gg=function wZ(a,b){qZ(this,a)};_.ig=function xZ(){this.hg("}")};_.jg=function yZ(){this.hg("{")};_.kg=function zZ(a,b){this.hg(a)};_.lg=function AZ(){this.hg(":")};_.mg=function BZ(a,b){return b};_.ng=function CZ(){};_.og=function DZ(){};_.pg=function EZ(a){this.q=true;a&&this.qg()};_.qg=function FZ(){};_.rg=function GZ(a){};_.sg=function HZ(a){if(a){this.hg(";");this.xg();this.r=false}else this.s&&(this.r=true)};_.ug=function JZ(){pZ(this,",");
this.xg()};_.vg=function KZ(){};_.wg=function LZ(){};_.xg=function MZ(){this.vg()};_.yg=function NZ(){};_.zg=function OZ(){return false};_.Ag=function PZ(a){};_.q=false;_.r=false;_.s=false;var BI=Uic(426);_U(325,1,{},i$,j$);_.Bg=function k$(a,b){RZ(this,a,b)};_.f=false;_.g=false;_.i=false;_.j=false;_.k=false;var CI=Uic(325);_U(396,1,{},y$);_.b=false;_.d=false;_.e=false;_.i=false;_.j=false;var EI=Uic(396);_U(788,1,{},z$);var DI=Uic(788);_U(465,426,{});_.rg=function D$(a){var b,c;if(this.j&&!null.Kj()&&
null.Kj().Lj==a){null.Kj();c=this.k;b=this.n;oe(c>=0);new lA(c,b)}};_.tg=function E$(){return this.i.a.length>0?bic(this.i,this.i.a.length-1):0};_.Ag=function F$(a){var b,c,d,e;oe(!!this.p);oe(!!a);if(this.j&&(b=Y2b(a,51),(!b?null:b.Hg())!=null)&&b4b(a.i)>0&&true){d=this.k;c=this.n;oe(d>=0);e=new Q$;e.b=new lA(d,c);null.Kj();null.Kj()}};_.j=false;_.k=0;_.n=0;_.o=0;var HI=Uic(465);_U(787,465,{},J$);_.hg=function K$(a){G$(this,a)};_.og=function L$(){if(!this.c)return;if(this.n>(this.o/2|0)){G$(this,
";");I$(this)}else if(this.e>0){dic(this.i,this.e);this.b=this.f;this.n=this.i.a.length-this.b;A$(this,this.k,this.e+1,false);--this.k;this.e=0;this.f=0;G$(this,";");I$(this)}};_.vg=function M$(){H$(this)};_.xg=function N$(){var a,b;if(this.a)if(this.q){I$(this);this.q=false}b=this.i.a.length;if(this.d==b-1){a=bic(this.i,b-1);a==59&&(this.d=b)}H$(this)};_.yg=function O$(){this.d=this.i.a.length};_.a=false;_.b=0;_.c=false;_.d=0;_.e=0;_.f=0;var FI=Uic(787);_U(464,1,{464:1},Q$);var GI=Uic(464);_U(786,
465,{},T$);_.gg=function U$(b,c){var d,e;if(b==0&&1/b<0){qZ(this,b);return}e=e_(c);if(e==null){qZ(this,b);return}b<0&&(e="-"+e);try{d=kjc(e)}catch(a){a=AU(a);if(DD(a,92)){qZ(this,b);return}else throw BU(a);}if(b!=d){qZ(this,b);return}pZ(this,e)};_.hg=function V$(a){R$(this,a)};_.ig=function W$(){vZ(this);S$(this);--this.a;R$(this,"}")};_.jg=function X$(){(this.i.a.length>0?bic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?bic(this.i,this.i.a.length-1):0)!=10&&pZ(this," ");R$(this,"{");++this.a};
_.kg=function Y$(a,b){(this.i.a.length>0?bic(this.i,this.i.a.length-1):0)!=32&&b&&a.charCodeAt(0)!=44&&R$(this," ");R$(this,a);b&&R$(this," ")};_.lg=function Z$(){R$(this,":");++this.a;S$(this)};_.mg=function $$(a,b){var c,d;pe(a.j==(f8b(),G5b),a);c=a.e;if(c){d=c.j;switch(d.f){case 65:case 71:return false;case 44:return a!=c.b;case 77:return!Aib(!c.e?null:c.e.e);case 66:return a==(c.b?c.b.f:null)}}return true};_.ng=function _$(){--this.a};_.og=function a_(){vZ(this)};_.pg=function b_(a){this.q=true;
a&&S$(this);a&&S$(this)};_.qg=function c_(){S$(this)};_.sg=function d_(a){R$(this,";");S$(this);this.r=false};_.ug=function f_(){pZ(this,LAc);this.n>this.o&&S$(this)};_.vg=function g_(){this.n>this.o&&S$(this)};_.wg=function h_(){(this.i.a.length>0?bic(this.i,this.i.a.length-1):0)!=32&&(this.i.a.length>0?bic(this.i,this.i.a.length-1):0)!=10&&pZ(this," ")};_.xg=function i_(){this.n>this.o&&S$(this)};_.zg=function j_(){return true};_.a=0;var II=Uic(786);_U(264,1,{},k_);var JI=Uic(264);_U(414,1,{},l_);
var KI=Uic(414);_U(265,14,{265:1,3:1,23:1,14:1},p_);var m_,n_;var LI=Vic(265,ZR,q_);_U(682,1,GAc,z_);_.Rf=function A_(a,b,c){};_.Sf=function B_(a,b,c){return r_(a,b,c)};_.Tf=function C_(a,b){return s_()};_.Uf=function D_(a,b){return t_()};_.Vf=function E_(a,b){return u_()};_.Wf=function F_(){return null};_.Xf=function G_(a){return v_(a)};_.Yf=function H_(){return null};_.Zf=function I_(){return null};_.$f=function J_(a){return null};_._f=function K_(a){return false};_.ag=function L_(a){return false};
_.bg=function M_(a){return qkc(a.substr(0,6),"$super")};_.cg=function N_(a){return w_(a)};_.dg=function O_(a){return x_(a)};_.eg=function P_(a){return y_(a)};var MI=Uic(682);_U(389,206,TBc);_.Cf=function f1(a,b){nyc(this.r,a,b)};_.Df=function i1(){return g0(this)};_.Ef=function j1(){return this.G};_.Ff=function k1(){return j0(this)};_.Gf=function l1(){return this.H};_.Hf=function m1(a){var b,c,d;if(!this.J){c=n0(this,this.H.Vb);d=f0(this)?0:1;this.J=(b=WKb(c,this.H.mc,d),b);this.k=c==(yGb(),sGb)?
c0(this,tGb,d):this.J}switch(a){case 1:return this.k;default:return this.J}};_.If=function n1(){return u0(this)};_.Jf=function o1(){return this.p};_.Kf=function p1(a){var b;b=new Vlb(this);Tlb(b,null,a)};_.Lf=function q1(a){Q0(this,a)};_.b=null;_.c=null;_.i=null;_.k=null;_.p=true;_.A=null;_.H=null;_.J=null;_.K=null;_.L=null;_.M=0;_.R=null;_.S=null;_.T=0;_.W=0;var R_,S_,T_,U_,V_,W_;var iJ=Uic(389);_U(574,1,uBc,s1);_.Kd=function t1(a){return r1(a)};_.xd=function u1(a){return this===a};var QI=Uic(574);
_U(587,1,{},w1);_.Cg=function x1(){return v1(this)};_.c=0;var OI=Uic(587);_U(73,1,ADc);_.a=false;var sL=Uic(73);_U(576,73,ADc,A1);_.Dg=function B1(a){return z1(a)};var RI=Uic(576);_U(579,1,{},C1);_.Cg=function D1(){return b0(this.a),o0(this.a)};var SI=Uic(579);_U(116,1,{597:1},E1);_.Bd=function F1(){return""+this.a.W++};var TI=Uic(116);_U(386,1,{},H1);_.Cg=function I1(){return G1(this)};var UI=Uic(386);_U(590,1,{},M1);_.Ad=function N1(){return this.c.a};_.a=0;_.b=0;var VI=Uic(590);_U(124,1,{124:1,
563:1,3:1},Z1,$1,_1);_.Eg=function b2(a){return S1(this,a)};_.Fg=function c2(){return this.f};_.Gg=function d2(){return T1(this).Gg()};_.Hg=function e2(){return this.f.a};_.Ig=function f2(){return T1(this).Ig()};_.Jg=function g2(){return T1(this).Jg()};_.Kg=function h2(){return this.a.Kg()};_.Ad=function i2(){return this.f.a};var XI=Uic(124);_U(674,1,{},l2);var WI=Uic(674);_U(161,1,{},v2);_.Ad=function x2(){return Td(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Sd(new Ud((Oic(hJ),
hJ.k))),"aggressiveFusion",""+this.a),"aliasableStrings",this.e),"aliasAllStrings",""+this.b),"aliasHandler",this.c),"aliasStringsBlacklist",this.d),"allowHotswapReplaceScript",XCc),"ambiguateProperties",""+this.f),"angularPass",""+this.g),"anonymousFunctionNaming",this.i),"appNameStr",this.j),"assumeClosuresOnlyCaptureReferences",""+this.k),"assumeStrictThis",""+this.n),"brokenClosureRequiresLevel",this.o),"chainCalls",""+this.p),"checkDeterminism",""+this.q),"checkEventfulObjectDisposalPolicy",
this.r),"checkGlobalNamesLevel",this.s),"checkGlobalThisLevel",this.t),"checkMissingGetCssNameBlacklist",this.u),"checkMissingGetCssNameLevel",this.v),"checksOnly",""+this.C),"checkSuspiciousCode",""+this.w),"checkSymbols",""+this.A),DDc,""+this.B),"closurePass",""+this.D),"coalesceVariableNames",""+this.F),"codingConvention",this.G),"collapseAnonymousFunctions",""+this.H),EDc,""+this.I),"collapseProperties",""+this.J),"collapseVariableDeclarations",""+this.K),"colorizeErrorOutput",""+this.L),"computeFunctionSideEffects",
""+this.M),"conformanceConfigs",this.N),"continueAfterErrors",XCc),"convertToDottedProperties",""+this.O),FDc,""+this.P),"crossModuleCodeMotionNoStubMethods",""+this.Q),GDc,""+this.R),"cssRenamingMap",this.S),"cssRenamingWhitelist",this.T),"customPasses",this.U),"dartPass",""+this.V),"deadAssignmentElimination",""+this.W),"debugFunctionSideEffectsPath",this.X),"declaredGlobalExternsOnWindow",""+this.Y),"defineReplacements",w2(this.Z)),"dependencyOptions",this.$),"devirtualizePrototypeMethods",""+
this.ab),"devMode",this._),"disambiguatePrivateProperties",""+this.bb),"disambiguateProperties",""+this.cb),"enforceAccessControlCodingConventions",""+this.eb),"environment",this.fb),"errorFormat",this.gb),"errorHandler",this.hb),"exportLocalPropertyDefinitions",""+this.ib),"exportTestFunctions",""+this.jb),wDc,""+this.kb),"externExportsPath",this.lb),"extraAnnotationNames",this.mb),"extractPrototypeMemberDeclarations",this.ob),"extraSmartNameRemoval",""+this.nb),"flowSensitiveInlineVariables",""+
this.qb),"foldConstants",""+this.rb),"forceLibraryInjection",this.sb),"gatherCssNames",""+this.tb),"generateExportsAfterTypeChecking",""+this.vb),"generateExports",""+this.ub),"generatePseudoNames",""+this.wb),"generateTypedExterns",XCc),"idGenerators",this.xb),"idGeneratorsMapSerialized",this.yb),"inferConsts",""+this.zb),"inferTypes",""+this.Ab),"inlineConstantVars",""+this.Bb),HDc,""+this.Cb),"inlineGetters",""+this.Db),"inlineLocalFunctions",""+this.Eb),"inlineLocalVariables",""+this.Fb),"inlineProperties",
""+this.Gb),IDc,""+this.Hb),"inputAnonymousFunctionNamingMap",this.Ib),"inputDelimiter",this.Jb),"inputPropertyMap",this.Kb),"inputSourceMaps",this.Lb),"inputVariableMap",this.Mb),"instrumentationTemplateFile",this.Qb),"instrumentationTemplate",this.Pb),"instrumentForCoverage",""+this.Ob),"instrumentBranchCoverage",""+this.Nb),"j2clPassMode",this.Sb),"jqueryPass",""+this.Tb),"labelRenaming",""+this.Ub),"languageIn",this.Vb),"languageOut",r2(this)),"legacyCodeCompile",XCc),"lineBreak",""+this.Xb),
"lineLengthThreshold",""+this.Yb),JDc,this.Zb),"markAsCompiled",""+this.$b),"markNoSideEffectCalls",""+this._b),"maxFunctionSizeAfterInlining",""+this.ac),"messageBundle",null),"moduleRoots",this.bc),"moveFunctionDeclarations",""+this.cc),"nameGenerator",this.dc),"optimizeArgumentsArray",""+this.ec),"optimizeCalls",""+this.fc),"optimizeParameters",""+this.gc),"optimizeReturns",""+this.hc),"outputCharset",this.ic),"outputJs",this.jc),"outputJsStringUsage",""+this.kc),"parentModuleCanSeeSymbolsDeclaredInChildren",
""+this.lc),"parseJsDocDocumentation",this.mc),"polymerPass",""+this.nc),"preferLineBreakAtEndOfFile",""+this.oc),"preferSingleQuotes",""+this.pc),"preferStableNames",""+this.qc),"preserveDetailedSourceInfo",XCc),"preserveGoogProvidesAndRequires",""+this.rc),"preserveTypeAnnotations",""+this.sc),"prettyPrint",""+this.tc),"preventLibraryInjection",XCc),"printConfig",XCc),"printInputDelimiter",""+this.uc),"printSourceAfterEachPass",""+this.vc),"processCommonJSModules",XCc),"processObjectPropertyString",
""+this.wc),"propertyInvalidationErrors",this.xc),"propertyRenaming",this.yc),"protectHiddenSideEffects",""+this.zc),"quoteKeywordProperties",""+this.Ac),oDc,""+this.Bc),"removeAbstractMethods",""+this.Cc),"removeSuperMethods",""+this.Fc),"removeClosureAsserts",""+this.Dc),"removeDeadCode",""+this.Ec),KDc,""+this.Gc),"removeUnusedConstructorProperties",""+this.Hc),"removeUnusedLocalVars",""+this.Ic),"removeUnusedPrototypePropertiesInExterns",""+this.Kc),LDc,""+this.Jc),MDc,""+this.Lc),"renamePrefixNamespaceAssumeCrossModuleNames",
XCc),"renamePrefixNamespace",this.Nc),"renamePrefix",this.Mc),"replaceIdGenerators",""+this.Oc),"replaceMessagesWithChromeI18n",""+this.Pc),"replaceStringsFunctionDescriptions",this.Qc),"replaceStringsInputMap",this.Rc),"replaceStringsPlaceholderToken",this.Sc),"replaceStringsReservedStrings",this.Tc),"reportOTIErrorsUnderNTI",XCc),"reportPath",this.Uc),"reserveRawExports",""+this.Vc),"rewriteFunctionExpressions",""+this.Wc),"rewritePolyfills",XCc),"runtimeTypeCheckLogFunction",this.Yc),"runtimeTypeCheck",
""+this.Xc),"shadowVariables",""+this.Zc),"skipNonTranspilationPasses",""+this.$c),"skipTranspilationAndCrash",XCc),"smartNameRemoval",""+this._c),"sourceMapDetailLevel",this.ad),"sourceMapFormat",this.bd),"sourceMapLocationMappings",this.cd),"sourceMapOutputPath",this.dd),"stripNamePrefixes",this.ed),"stripNameSuffixes",this.fd),"stripTypePrefixes",this.gd),"stripTypes",this.hd),"summaryDetailLevel",""+this.jd),"syntheticBlockEndMarker",this.kd),"syntheticBlockStartMarker",this.ld),"tcProjectId",
this.md),"tracer",this.nd),"transformAMDToCJSModules",XCc),"trustedStrings",""+this.od),"tweakProcessing",this.pd),"tweakReplacements",w2(this.qd)),"useDebugLog",""+this.rd),"useNewTypeInference",""+this.sd),"emitUseStrict",""+this.db),"useTypesForLocalOptimization",""+this.td),"variableRenaming",this.ud),"warningsGuard",this.vd),"wrapGoogModulesForWhitespaceOnly",""+this.wd))};_.a=false;_.b=false;_.f=false;_.g=false;_.k=false;_.n=false;_.p=false;_.q=false;_.w=false;_.A=false;_.B=false;_.C=false;
_.D=false;_.F=false;_.H=false;_.I=false;_.J=false;_.K=false;_.L=false;_.M=false;_.O=false;_.P=false;_.Q=false;_.R=false;_.V=false;_.W=false;_.Y=false;_.ab=false;_.bb=false;_.cb=false;_.db=true;_.eb=false;_.ib=false;_.jb=false;_.kb=false;_.nb=false;_.qb=false;_.rb=false;_.tb=false;_.ub=false;_.vb=false;_.wb=false;_.zb=true;_.Ab=false;_.Bb=false;_.Cb=false;_.Db=false;_.Eb=false;_.Fb=false;_.Gb=false;_.Hb=false;_.Jb="// Input %num%";_.Nb=false;_.Ob=false;_.Rb=true;_.Tb=false;_.Ub=false;_.Xb=false;_.Yb=
500;_.$b=false;_._b=false;_.ac=0;_.cc=false;_.ec=false;_.fc=false;_.gc=false;_.hc=false;_.kc=false;_.lc=false;_.nc=false;_.oc=false;_.pc=false;_.qc=false;_.rc=false;_.sc=false;_.tc=false;_.uc=false;_.vc=false;_.wc=false;_.zc=false;_.Ac=false;_.Bc=false;_.Cc=false;_.Dc=false;_.Ec=false;_.Fc=false;_.Gc=false;_.Hc=false;_.Ic=false;_.Jc=false;_.Kc=false;_.Lc=false;_.Oc=true;_.Pc=false;_.Vc=false;_.Wc=false;_.Xc=false;_.Zc=false;_.$c=false;_._c=false;_.jd=1;_.od=false;_.rd=false;_.sd=false;_.td=false;
_.wd=true;var m2;var hJ=Uic(161);_U(181,14,{181:1,3:1,23:1,14:1},D2);var y2,z2,A2,B2;var YI=Vic(181,ZR,E2);_U(211,14,{211:1,3:1,23:1,14:1},J2);var F2,G2,H2;var ZI=Vic(211,ZR,K2);_U(255,14,{255:1,3:1,23:1,14:1},O2);var L2,M2;var $I=Vic(255,ZR,P2);_U(212,14,{212:1,3:1,23:1,14:1},U2);var Q2,R2,S2;var _I=Vic(212,ZR,V2);_U(165,14,{165:1,3:1,23:1,14:1},a3);var W2,X2,Y2,Z2,$2;var aJ=Vic(165,ZR,b3);_U(103,14,{103:1,3:1,23:1,14:1},r3);var c3,d3,e3,f3,g3,h3,i3,j3,k3,l3,m3,n3;var bJ=Vic(103,ZR,s3);_U(614,1,
{},t3);var cJ=Uic(614);_U(213,14,{213:1,3:1,23:1,14:1},y3);var u3,v3,w3;var dJ=Vic(213,ZR,z3);_U(164,14,{164:1,3:1,23:1,14:1},G3);var A3,B3,C3,D3,E3;var eJ=Vic(164,ZR,H3);_U(214,14,{214:1,3:1,23:1,14:1},M3);var I3,J3,K3;var fJ=Vic(214,ZR,N3);_U(143,33,CBc,P3);var gJ=Uic(143);_U(178,1,UDc);_.Lg=function Q3(a){return false};_.Mg=function R3(a){return false};_.Ng=function S3(){return(xub(),pub).a};var RM=Uic(178);_U(207,178,{207:1,178:1,3:1},Z3);_.Lg=function $3(a){return V3(this,a)};_.Mg=function _3(a){return W3(this,
a)};_.Og=function a4(a){return X3(this,a)};_.Ad=function b4(){var a;return Tc(new Wc(LAc),(a=(new Jnc(this.c.a)).a.oe().b.Cj(),new Pnc(a)))};_.a=false;_.d=0;var kJ=Uic(207);_U(631,1,VDc,d4);_.Ie=function e4(a,b){return c4(this,a,b)};_.xd=function f4(a){return this===a};var jJ=Uic(631);var g4;_U(410,1,{},q4,r4);_.b=0;var i4,j4;var mJ=Uic(410);_U(305,1,{305:1,23:1},u4);_.Rd=function v4(a){return t4(this,a)};_.a=0;_.b=0;_.c=0;var lJ=Uic(305);_U(615,1,GAc,x4);_.Ad=function y4(){return Td(Rd(Rd(Rd(Rd(new Ud((Oic(nJ),
nJ.k)),"sortDependencies",""+this.b),"pruneDependencies",XCc),"dropMoochers",XCc),"entryPoints",this.a))};_.b=false;var nJ=Uic(615);_U(54,1,{54:1,3:1},D4,E4,F4,G4);_.Ad=function I4(){return this.a==null?(Oic(pJ),pJ.o+"@"+(rb(this)>>>0).toString(16)):"DiagnosticGroup<"+this.a+">"};var z4;var pJ=Uic(54);_U(112,178,UDc,J4);_.Lg=function K4(a){return this.b==(YX(),WX)&&B4(this.a,a)};_.Mg=function L4(a){var b,c;if(this.b!=(YX(),WX))for(c=a.b.Md();c.Ed();){b=c.Fd();if(C4(this.a,b))return true}return false};
_.Og=function M4(a){return C4(this.a,a.g)?this.b:null};_.Ad=function N4(){return this.a+"("+this.b+")"};var oJ=Uic(112);var O4,P4,Q4,R4,S4,T4,U4,V4,W4,X4,Y4,Z4,$4,_4,a5,b5,c5,d5,e5;_U(5,1,{5:1,3:1,23:1},k5);_.Rd=function l5(a){return mkc(this.c,a.c)};_.xd=function m5(a){return j5(this,a)};_.zd=function n5(){return oAc(this.c)};var qJ=Uic(5);var o5,p5;_U(127,14,hEc);var r5,s5,t5,u5;var vJ=Vic(127,ZR,x5);_U(626,127,hEc,y5);var rJ=Vic(626,vJ,null);_U(627,127,hEc,z5);var sJ=Vic(627,vJ,null);_U(628,127,
hEc,A5);var tJ=Vic(628,vJ,null);_U(629,127,hEc,C5);var uJ=Vic(629,vJ,null);_U(836,925,oEc,G5);_.Mf=function H5(a,b){Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Qf=function I5(a,b,c){var d,e;if(b.j==(f8b(),O5b)){d=false;for(e=(b.b?b.b.f:null).b;e;e=e.d)if(e.j==W6b&&qkc(e.hi(),nEc)){d=true;break}d||D5(b)}else b.j==N7b&&F5(this,b,c)};var CJ=Uic(836);_U(837,1,pEc,K5);_.Hd=function L5(a){return J5(a)};_.xd=function M5(a){return this===a};var wJ=Uic(837);_U(832,
1,oEc,U5);_.Mf=function V5(a,b){this.c=new Kab(this.a,a,b);Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Pf=function W5(a,b,c){var d,e;if(b.j==(f8b(),r6b))Unc(this.b,new _5(b));else if(b.j==N7b){e=c.j==J5b?c:c.e;pe(e.j==J5b,e);d=ie(_nc(this.b));Eoc(d.b,e)}return true};_.Qf=function X5(a,b,c){var d;d=_nc(this.b);if(!!d&&b==d.a){goc(this.b);T5(this,a,d)}};var BJ=Uic(832);_U(835,1,nCc,Y5);_.Pf=function Z5(a,b,c){return Ioc(this.a,b,0)==-1&&!(b.j==(f8b(),r6b)&&
W2b(b,60)==0)};_.Qf=function $5(a,b,c){var d;if(b.j==(f8b(),S7b)){d=Q3b((te(tkc(DEc,Nkc(46))==-1,tCc,DEc),new U4b(_6b,DEc)),b);t3b(c,b,d)}else b.j==B7b&&!b.b&&I2b(b,Q3b((te(tkc(DEc,Nkc(46))==-1,tCc,DEc),new U4b(_6b,DEc)),b))};var xJ=Uic(835);_U(473,1,{473:1},_5);var yJ=Uic(473);_U(833,1,{},b6);_.a=false;var AJ=Uic(833);_U(928,1,nCc);_.Pf=function c6(a,b,c){return!c||c.j!=(f8b(),r6b)||b==c.b};var WK=Uic(928);_U(834,928,nCc,d6);_.Qf=function e6(a,b,c){this.a.a||b.j==(f8b(),B7b)&&!!b.b&&!l3b(b.b,EEc)&&
(this.a.a=true)};var zJ=Uic(834);_U(823,925,oEc,g6);_.Mf=function h6(a,b){Uqb(this.b,b,QC(LC(XK,1),NAc,27,0,[this,new k6(this)]))};_.Qf=function i6(a,b,c){var d,e,f,g,h,i;b.j==(f8b(),O5b)&&f6(this,b,c)&&(d=(lvb(),Akc(zkc(zkc(zkc(zkc(zkc(Akc(Bkc(nvb((e=Akc(Akc(Akc(Akc(Akc(zkc(zkc(Y2b(b,51).Hg(),58,45),92,47)," ",FEc),"[",GEc),"]",HEc),"<",IEc),">",JEc),mvb(e))),KEc+szc("/"),""),"/","$"),92,36),64,36),45,95),58,95),46,95),FEc,"_")+"$classdecl$var"+this.a++),f=(Shb(),g=dib(b),!g?null:Y2b(g,29)),h=gib(c,
Rhb),t3b(c,b,(te(tkc(d,Nkc(46))==-1,tCc,d),new U4b(_6b,d))),i=T3b(o$b((te(tkc(d,Nkc(46))==-1,tCc,d),new U4b(_6b,d)),b,T5b),b),A3b(i,h1b(z2b(f),false)),G2b(h.e,i,h),R0(this.b),undefined)};_.a=0;var FJ=Uic(823);_U(824,1,nCc,k6);_.Pf=function l6(a,b,c){b.j==(f8b(),O5b)&&(ae(b.j==O5b),b.b.j==_6b&&c.j==_6b)&&_vc(this.a,new n6(b.b,c.hi()));return true};_.Qf=function m6(a,b,c){switch(b.j.f){case 94:{ae(b.j==(f8b(),O5b));if(b.b.j==_6b&&c.j==_6b){dwc(this.a);t3b(b,b.b,Q3b(new U3b(d6b),b.b));R0(this.b.b)}}break;
case 29:j6(this,a,b,c)}};var EJ=Uic(824);_U(472,1,{472:1},n6);var DJ=Uic(472);_U(555,925,nCc,q6);_.Qf=function r6(a,b,c){var d;Shb();b.j==(f8b(),_6b)&&b.hi().length!=0&&o6(this,a,b);d=Y2b(b,29);!!d&&p6(this,a,M_b(d))};var GJ=Uic(555);_U(826,925,oEc,s6);_.Mf=function t6(a,b){Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Qf=function u6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(b.j!=(f8b(),r6b)||(b.b?b.b.f:null).j!=G5b)return;l=b.b.d;e=new y6;Ihb(this.a,l,new w6(this,e));d=l.d;f=new p8(this.a);i=i8(f,
b,rhb(a));h=i8(f,d,i);m=new Dp(new tvc,new Hp);for(p=(k=(new Umc(h.g)).a.oe().Md(),new Zmc(k));p.a.Ed();){o=(g=p.a.Fd(),g.ze());j=o.Hg();ruc(e.a,j)&&!Bp(m,h.f,j)&&up(m,h.f,j,j+"$"+(""+(n=this.a,new E1(n)).a.W++))}Ehb(new Ghb(this.a,new q6(m)),d,d.e,i)};var JJ=Uic(826);_U(926,1,nCc);_.Qf=function v6(a,b,c){};var VK=Uic(926);_U(828,926,nCc,w6);_.Pf=function x6(a,b,c){if(!c)return true;if(c.j==(f8b(),Z5b)&&b==(c.b?c.b.f:null)||c.j==S5b&&b==c.b){Ihb(this.a.a,b,this.b);return false}return true};var HJ=
Uic(828);_U(827,925,nCc,y6);_.Qf=function z6(a,b,c){Shb();if(!(b.j==(f8b(),_6b)&&b.hi().length!=0))return;quc(this.a,b.hi())};var IJ=Uic(827);_U(829,1,oEc,D6);_.Mf=function E6(a,b){Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Pf=function F6(a,b,c){var d,e,f;switch(b.j.f){case 83:Unc(this.b,new H6(b,false));break;case 65:W2b(b,60)!=0||Unc(this.b,(e=b.b?b.b.f:null,f=c.j==(f8b(),W6b)&&qkc(c.hi(),nEc),new H6(e,f)));break;case 97:d=ie(_nc(this.b));d.a&&c.j==
(f8b(),J5b)&&c.b==b&&(d.b=B6(c,d.e))}return true};_.Qf=function G6(a,b,c){var d,e;e=_nc(this.b);if(W2b(b,60)!=0)C6(this,b,ie(e));else if(!!e&&e.e==b){d=coc(this.b);Wzc(d!=null);A6(this,e)}};var MJ=Uic(829);_U(352,1,{352:1},H6);_.a=false;_.b=null;_.c=false;_.d=false;var KJ=Uic(352);_U(830,1,nCc,I6);_.Pf=function J6(a,b,c){return b.j!=(f8b(),r6b)||W2b(b,60)!=0};_.Qf=function K6(a,b,c){var d;if(b.j==(f8b(),S7b)){d=Q3b((te(tkc(MEc,Nkc(46))==-1,tCc,MEc),new U4b(_6b,MEc)),b);t3b(c,b,d);this.b=true}else if(b.j==
_6b&&qkc(b.hi(),kEc)){d=Q3b((te(tkc(LEc,Nkc(46))==-1,tCc,LEc),new U4b(_6b,LEc)),b);t3b(c,b,d);this.a=true}};_.a=false;_.b=false;var LJ=Uic(830);_U(840,925,oEc,P6);_.Mf=function U6(a,b){var c;Ihb(this.a,b,new Z6(this));Ihb(this.a,b,this);Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Ihb(this.a,b,new q6(this.c));c=new a7(this);Ihb(this.a,b,c);_6(c);O6(this);Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[new d7(this)]));Ihb(this.a,b,new d7(this))};_.Qf=function V6(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;if(!b.b||!Dib(b.b))return;
m=rhb(a);i=b.b;if(b.j!=(f8b(),O5b)&&b.j!=r6b&&!i.b&&(!c||(Shb(),!(c.j==q6b||c.j==p6b&&T2b(c)==3)))&&b.j!=N5b&&(e=gib(b,M6),!!e&&e.j!=r6b)){p=(te(tkc(EEc,Nkc(46))==-1,tCc,EEc),new U4b(_6b,EEc));if(!!Y2b(i,29)||!!Y2b(b,29)){h=new x2b(false);o2b(h,new B2b(new U3b(w7b),(f=Y2b(b,51),!f?null:f.Hg())));p=l$b(p,h1b(h,false))}R3b(p,i);I2b(i,p)}k=i.hi();(b.j==T6b||b.j==T5b)&&quc(this.b,b);g=m.wh();d=false;if(m!=g){d=g.Dh(k,true)||ruc(this.d,k);j=d?k+"$"+(""+(o=this.a,new E1(o)).a.W++):k;l=m.Bh(k);m.Hh(l);g.uh(j,
i,l.c);if(d){i.mi(j);n=m.Ah();up(this.c,n,k,j)}}d&&R0(this.a)};var L6,M6;var SJ=Uic(840);_U(843,1,pEc,W6);_.Hd=function X6(a){return Xtc((N6(),L6),a.j)};_.xd=function Y6(a){return this===a};var NJ=Uic(843);_U(841,925,nCc,Z6);_.Qf=function $6(a,b,c){b.j==(f8b(),_6b)&&!rhb(a).Dh(b.hi(),true)&&quc(this.a.d,b.hi())};var OJ=Uic(841);_U(842,925,nCc,a7);_.Qf=function b7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o;Shb();if(!(b.j==(f8b(),_6b)&&b.hi().length!=0))return;g=b.hi();j=rhb(a);o=j.Bh(g);if(!o)return;if(!o.Uh()&&
!o.Rh())return;(b.e.j==T6b||b.e.j==T5b)&&quc(this.e.b,b.e);d=o.Qh();f=null;for(l=d;;l=l.zh()){m=l.Ah();if(Zib(l.Ah())){f=m;break}else if(!!m.e&&Zib(m.e)){f=m.e;break}else if(l.Eh()||l.Fh())return}ug(this.d,o,b);i=null;for(k=j;k!=d&&k.Ah()!=f;k=k.zh())k.Ah().j==r6b&&(i=k);if(i){e=i.Ah();if(hg(this.a,e,g))return;ug(this.a,e,g);ovc(this.c,f)||qvc(this.c,f,new c7("$jscomp$loop$"+(""+(n=this.e.a,new E1(n)).a.W++)));h=pvc(this.c,f);quc(h.b,o);ug(this.b,e,h)}};var QJ=Uic(842);_U(475,1,{475:1},c7);var PJ=
Uic(475);_U(474,925,nCc,d7);_.Qf=function e7(a,b,c){b.j==(f8b(),r6b)&&ykb(b)&&R0(this.a.a)};var RJ=Uic(474);_U(825,1,oEc,n7);_.Mf=function p7(a,b){Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Pf=function q7(a,b,c){var d;switch(b.j.f){case 45:m7(this,b,c);break;case 99:d=b.b;d.j==(f8b(),_5b)&&k7(this,d.b)}return true};_.Qf=function r7(a,b,c){h7(this,a,b,c)};_.b=0;var TJ=Uic(825);_U(844,925,oEc,I7);_.Mf=function N7(a,b){Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[new W7(this,
this.a),this]))};_.Qf=function O7(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p;switch(b.j.f){case 65:if(W2b(b,59)!=0){s7=0;A7(this,b,c)}break;case 29:d=(Shb(),gib(b,new Njb((f8b(),r6b))));!!d&&W2b(d,59)!=0&&m3b(b,kEc,kEc.length)&&b.mi(WEc);break;case 33:d=(Shb(),gib(b,new Njb((f8b(),r6b))));!!d&&W2b(d,59)!=0&&u3b(b,(te(tkc(XEc,Nkc(46))==-1,tCc,XEc),new U4b(_6b,XEc)));break;case 100:W2b(b,62)!=0?(e=(Shb(),gib(b,Rhb)),f=o$b((te(tkc(aFc,Nkc(46))==-1,tCc,aFc),new U4b((f8b(),_6b),aFc)),$8(this.a,r3b(b)),_7b),
g=p$b((te(tkc(bFc,Nkc(46))==-1,tCc,bFc),new U4b(_6b,bFc)),_7b),h=f$b((te(tkc(bFc,Nkc(46))==-1,tCc,bFc),new U4b(_6b,bFc)),j$b(v$b((te(tkc(aFc,Nkc(46))==-1,tCc,aFc),new U4b(_6b,aFc)),new U4b(J7b,OEc)),QC(LC(WQ,1),uCc,7,0,[(te(tkc(cFc,Nkc(46))==-1,tCc,cFc),new U4b(_6b,cFc))]))),i=I$b(v$b(h,new U4b(J7b,UEc))),j=v$b((te(tkc(bFc,Nkc(46))==-1,tCc,bFc),new U4b(_6b,bFc)),new U4b(J7b,PEc)),k=q$b(Z$b(O2b(j,false))),l=Y$b(i,h$b(k)),G2b(e.e,f,e),G2b(e.e,g,e),G2b(e.e,l,e),c.j==n6b?Q2b(c):t3b(c,b,j),H7(this,k,k.e),
R0(this.a),undefined):c.j==(f8b(),n6b)?H7(this,c,c.e):(m=(Shb(),gib(b,Rhb)),n=q$b(b.b?Z$b(r3b(b)):new U3b(e8b)),o=G$b(cFc+(""+this.f.a.W++)),p=o$b(O2b(o,false),(te(tkc(cFc,Nkc(46))==-1,tCc,cFc),new U4b(_6b,cFc)),_7b),t3b(c,b,o),G2b(m.e,n,m),G2b(m.e,p,m),H7(this,n,n.e),R0(this.a),undefined)}};_.g=false;var s7=0;var YJ=Uic(844);_U(354,1,nCc,Q7,R7);_.Pf=function S7(a,b,c){switch(b.j.f){case 65:return false;case 81:Doc(this.g,0,b.b.hi());break;case 71:case 70:case 72:++this.c;++this.b;break;case 67:++this.b;
break;case 80:c=b.e;!!c&&c.j==(f8b(),V7b)&&c.b==b&&!!b.d.b&&++this.i;break;case 73:if(W2b(b,67)==0&&(this.b==0&&!b.b||!!b.b&&Ioc(this.g,b.b.hi(),0)==-1)){this.d=true;this.a&&G2b(c,J7(this.e,this.f),b)}break;case 74:if(this.c==0||!!b.b&&Ioc(this.g,b.b.hi(),0)==-1){this.d=true;this.a&&G2b(c,J7(this.e,this.f),b)}break;case 39:if(this.i==0){this.d=true;this.a&&W2b(b,67)==0&&G2b(c,J7(this.e,this.f),b)}break;case 0:this.d=true;this.a&&G2b(c,J7(this.e,this.f),b);break;case 100:this.d=true}return true};_.Qf=
function T7(a,b,c){switch(b.j.f){case 81:Koc(this.g,0);break;case 71:case 70:case 72:--this.c;--this.b;break;case 67:--this.b;break;case 80:c=b.e;!!c&&c.j==(f8b(),V7b)&&c.b==b&&!!b.d.b&&--this.i}};_.a=false;_.b=0;_.c=0;_.d=false;_.f=0;_.i=0;var UJ=Uic(354);_U(845,926,nCc,W7);_.Pf=function X7(a,b,c){switch(b.j.f){case 100:V7(this,b);break;case 71:case 72:case 70:U7(this,b);break;case 68:if(t7(this.c,b.b)){Q0(this.a,leb(b,(F8(),B8),QC(LC(pS,1),yAc,2,6,["Case statements that contain yields"])));return false}}return true};
var VJ=Uic(845);_U(476,1,{476:1},Y7);_.b=0;var WJ=Uic(476);_U(355,1,{355:1},Z7);_.a=0;_.b=0;var XJ=Uic(355);_U(831,925,oEc,_7);_.Mf=function a8(a,b){Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Qf=function b8(a,b,c){Kib(b)&&$7(this,b,c)};var ZJ=Uic(831);_U(822,925,oEc,f8);_.Mf=function g8(a,b){Tqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Qf=function h8(a,b,c){var d,e,f;if(b.j!=(f8b(),N7b))return;d=(Shb(),gib(b,new Njb(O5b)));if(!d||d.b.d.j==d6b){yhb(a,b,c8,QC(LC(pS,1),yAc,2,6,[]));return}if(c.j==
J5b){e=gib(c,new Njb(r6b));if(!e){yhb(a,b,c8,QC(LC(pS,1),yAc,2,6,[]));return}f=e.e;if(f.j==W6b)if(m3b(f,nEc,nEc.length));else yhb(a,b,d8,QC(LC(pS,1),yAc,2,6,[f.hi()]));else yhb(a,b,c8,QC(LC(pS,1),yAc,2,6,[]))}};var c8,d8;var $J=Uic(822);_U(138,1,{},p8,q8);_.Pg=function r8(a,b){return i8(this,a,b)};_.Qg=function s8(){return true};var _J=Uic(138);_U(838,1,oEc,X8);_.Mf=function _8(a,b){Uqb(this.a,a,QC(LC(XK,1),NAc,27,0,[this]));Uqb(this.a,b,QC(LC(XK,1),NAc,27,0,[this]))};_.Pf=function a9(a,b,c){switch(b.j.f){case 110:V8(this,
b,c);break;case 84:case 85:if(r2(this.a.H)==(o3(),c3)){Q0(this.a,leb(b,A8,QC(LC(pS,1),yAc,2,6,["ES5 getters/setters (consider using --language_out=ES5)"])));return false}break;case 117:Q0(this.a,leb(b,B8,QC(LC(pS,1),yAc,2,6,[WCc])));break;case 65:W2b(b,61)!=0&&Q0(this.a,leb(b,B8,QC(LC(pS,1),yAc,2,6,[gDc])))}return true};_.Qf=function b9(a,b,c){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;switch(b.j.f){case 29:g=Y2b(b,51);!(!!g&&g.Kh())&&L8(a,b)&&(e0(this.a,VEc,false),h=(Shb(),gib(b,Rhb)),i=q$b(j$b(yjb(this.a,
"$jscomp.initSymbol"),QC(LC(WQ,1),uCc,7,0,[]))),G2b(h.e,R3b(i,h),h),R0(this.a),undefined);break;case 26:f=Y2b(b,51);!!f&&f.Kh()||S8(this,a,b);break;case 43:T8(this,b);break;case 96:c.j==(f8b(),m7b)&&(j=b.hi(),k=T$b(j,Q2b(b.b)),A3b(k,Y2b(b,29)),t3b(c,b,k),R0(this.a),undefined);break;case 99:R8(this,b,c);break;case 89:W8(this,b);break;case 94:O8(this,b,c);break;case 42:case 23:case 28:for(e=(!b.b?(bqc(),bqc(),aqc):new O4b(b.b)).Md();e.Ed();){d=e.Fd();if(d.j==(f8b(),H7b)){N8(this,b,c);break}}break;case 113:x8(a,
b);break;case 114:c.j==(f8b(),P7b)||y8(a,b);break;case 18:l=r3b(b);m=r3b(b);n=T3b(j$b(yjb(this.a,"Math.pow"),QC(LC(WQ,1),uCc,7,0,[l,m])),b);t3b(c,b,n);R0(this.a);break;case 59:o=r3b(b);p=r3b(b);q=j$b(yjb(this.a,"Math.pow"),QC(LC(WQ,1),uCc,7,0,[O2b(o,false),p]));r=T3b(f$b(o,q),b);t3b(c,b,r);R0(this.a)}};var z8,A8,B8,C8,D8,E8;var cK=Uic(838);_U(839,925,nCc,c9);_.Qf=function d9(a,b,c){if(b.j!=(f8b(),n5b)||b.b==this.a)return;k3b(this.a,b.b)&&Q0(this.b.a,leb(b,(F8(),C8),QC(LC(pS,1),yAc,2,6,[])))};var aK=
Uic(839);_U(353,1,{},e9);_.a=false;var bK=Uic(353);_U(482,1,{},r9);_.e="JSCompiler_temp";var eK=Uic(482);_U(857,1,{},w9);_.b=false;var dK=Uic(857);_U(581,925,oEc,B9);_.Mf=function C9(a,b){A9(this,b)};_.Qf=function D9(a,b,c){var d,e,f;switch(b.j.f){case 29:case 26:f=Z2b(b);if(f==null)return;(c.j==(f8b(),n5b)||c.j==_7b||c.j==r6b)&&Qlc(this.c,f,c);d=(Shb(),e=dib(b),!e?null:Y2b(e,29));!!d&&(d.a&lFc)!=0&&x9(this,a,b);if(c.j!=J5b)return;Ioc(this.d,f,0)!=-1&&y9(this,c);Ioc(this.e,f,0)!=-1&&z9(this,c)}};
var jK=Uic(581);_U(765,1,mCc,E9);_.Ie=function F9(a,b){return mkc(a.Rg(),b.Rg())};_.xd=function G9(a){return this===a};var fK=Uic(765);_U(229,1,{229:1});var gK=Uic(229);_U(450,229,{229:1},P9);_.Rg=function Q9(){var a,b,c,d,e;d=Ef(Jf(new nc(46)),this.a);for(b=d.b.size();b>0;b--){a=Tc(new Wc("."),Ur(Nr(d,b)));if(Olc(this.b.i,a)){c=Nlc(this.b.i,a);b<d.b.size()&&(c+="."+Tc(new Wc("."),Rr((ie(d),be(b>=0,"number to skip cannot be negative"),e=d,new Sr(e,b)))));return c+"."+this.c}}return this.a+"."+this.c};
var hK=Uic(450);_U(764,229,{229:1},R9);_.Rg=function S9(){return this.c};var iK=Uic(764);_U(816,1,{883:1},T9);_.fg=function U9(){throw BU(new sjc("Code changes forbidden"));};var kK=Uic(816);var X9,Y9,Z9,$9,_9,aab,bab,cab,dab,eab,fab,gab,hab,iab;_U(741,925,oEc,lab);_.Mf=function mab(a,b){kab(this,a)};_.Qf=function nab(a,b,c){var d,e,f,g,h,i;switch(b.j.f){case 26:e=b.b.d;e.j==(f8b(),J7b)&&quc(this.b,e.hi());break;case 43:for(d=b.b;d;d=d.d)quc(this.b,d.hi())}h=DD(b.k,21)?b.k:null;!!h&&rab(this.c,h);
if(g3b(b)){f=(Shb(),g=dib(b),!g?null:Y2b(g,29));if(!!f&&(f.a&fFc)==DBc){i=u0(this.a).hh(Z2b(b));!!i&&rab(this.c,i)}}};var mK=Uic(741);_U(742,1,{},sab);_.Sg=function tab(){return this.b.b};_.Tg=function uab(){return this.b.b};_.Ug=function vab(a){return rab(this,a.d),this.b.b};_.Vg=function wab(a){return oab(this,a)};_.Wg=function xab(){return this.b.b};_.Xg=function yab(a){return this.b.b};_.Yg=function zab(){return this.b.b};_.Zg=function Aab(){return this.b.b};_.$g=function Bab(a){return pab(this,
a)};_._g=function Cab(a){return a.c.Ui(this),this.b.b};_.ah=function Dab(){return this.b.b};_.bh=function Eab(a){return this.b.b};_.dh=function Fab(a){return qab(this,a)};_.eh=function Gab(){return this.b.b};_.fh=function Hab(){return this.b.b};var lK=Uic(742);_U(715,1,{},Kab);_.b=0;_.e=false;var sK=Uic(715);_U(439,926,nCc,Wab);_.Pf=function Xab(a,b,c){!!this.a.c&&b==this.a.c&&(this.a.d=rhb(a));Lab(this,(!a.d&&(a.d=l0(a.c,a.f)),rhb(a)),b);return true};var nK=Uic(439);_U(328,1,{328:1},abb);_.Ad=function cbb(){return $ab(this)+
" ("+this.p+"): "+Tc(new Wc(LAc),new tmc(Xc("globalSets="+this.f,"localSets="+this.g,QC(LC(kS,1),NAc,1,5,["totalGets="+this.o,"aliasingGets="+this.a,"callGets="+this.c]))))};_.a=0;_.c=0;_.e=0;_.f=0;_.g=0;_.i=0;_.o=0;var pK=Uic(328);_U(158,14,{158:1,3:1,23:1,14:1},kbb);var dbb,ebb,fbb,gbb,hbb,ibb;var oK=Vic(158,ZR,lbb);_U(169,1,{169:1},mbb);_.Ad=function nbb(){return O3b(this.a,true,true,true)};var rK=Uic(169);_U(142,14,{142:1,3:1,23:1,14:1},wbb);var obb,pbb,qbb,rbb,sbb,tbb,ubb;var qK=Vic(142,ZR,xbb);
_U(398,1,kCc,qcb);_.gh=function scb(a){return LAb(this.d,a)};_.hh=function tcb(a){return mcb(this,a)};_.Mf=function Acb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,A;je(this.t,"Cannot rerun GlobalTypeInfo.process");ae(!a||W2b(a,38)!=0);ae(W2b(b,38)!=0);U0(this.e,(oV(),mV));this.k=new pgb(b,null,(Mm(),Mm(),Lm),this.d);Qfb(this.k,this.r);Eoc(this.p,this.k);n=new Wcb(this,this.k);!!a&&Ihb(this.e,a,n);Ihb(this.e,b,n);ngb(this.k,this.q);mgb(this.k,this.q);for(i=1;i<this.p.a.length;i++){p=Hoc(this.p,
i);c=new Wcb(this,p);Ihb(this.e,(ae(p.t.j==(f8b(),r6b)),jib(p.t)),c);ngb(p,this.q);mgb(p,this.q);lhb()}if(!JAb(this.d)){mhb(this.t,leb(b,Obb,QC(LC(pS,1),yAc,2,6,[])));return}o=new Mdb(this,this.k);!!a&&Ihb(this.e,a,o);Ihb(this.e,b,o);_cb(o);for(h=1;h<this.p.a.length;h++){p=Hoc(this.p,h);l=new Mdb(this,p);Ihb(this.e,(ae(p.t.j==(f8b(),r6b)),jib(p.t)),l);_cb(l);lhb()}w=null;for(e=new Tvc(new Kvc(this.n));e.b!=e.c.a.b;){d=Rvc(e);m=d.e;if(qkc(m.w,DFc)&&(f=Y2b(d.d,51),!!f&&f.Kh())){w=m;continue}fcb(this,
m);BEb(m.w,AEc,m.u)&&hEb(XBb(KAb(this.d)))}if(w){A=Xfb(this.k,FFc);!!A&&Ywb(A,w);fcb(this,w);g=w.q}else g=Vyb(this.d.$);ogb(this.k,oyb(jyb(new qyb(this.d),g)));this.n=null;this.o=null;for(q=new kpc(this.p);q.a<q.c.a.length;){p=ipc(q);Rfb(p)}t=this.q.g;for(s=new Tvc(new Kvc(t));s.b!=s.c.a.b;){r=Rvc(s);mhb(this.t,leb(r.d,ccb,QC(LC(pS,1),yAc,2,6,[r.e])))}for(v=(k=(new Kmc(this.q.i.a)).a.oe().Md(),new Qmc(k));v.a.Ed();){u=(d=v.a.Fd(),d.ye());mhb(this.t,u)}this.t=null;this.s=null;this.j=null;hqc(this.p);
T0(this.e,(j=this.i,yo(j)))};var ybb,zbb,Abb,Bbb,Cbb,Dbb,Ebb,Fbb,Gbb,Hbb,Ibb,Jbb,Kbb,Lbb,Mbb,Nbb,Obb,Pbb,Qbb,Rbb,Sbb,Tbb,Ubb,Vbb,Wbb,Xbb,Ybb,Zbb,$bb,_bb,acb,bcb,ccb,dcb;var yK=Uic(398);_U(702,1,uBc,Ccb);_.Kd=function Dcb(a){return Bcb(this,a)};_.xd=function Ecb(a){return this===a};var tK=Uic(702);_U(430,928,nCc,Wcb);_.Qf=function Xcb(a,b,c){var d,e,f,g,h,i,j;switch(b.j.f){case 65:{Qcb(this,b);break}case 75:{h=b.b;j=h.hi();ajb(h)?Tcb(this,h):mjb(h)?Ucb(this,h):Nib(h)?Pcb(this,h):Hcb(this,h)?Ocb(this,
h):qkc(j,FFc)&&(f=Y2b(h,51),!!f&&f.Kh())?Vcb(this,h):wcb(h)?Rcb(this,h):xcb(h)&&Scb(this,h);e=Y2b(b,51);!(!!e&&e.Kh())&&!bgb(this.a,j,false)&&Kfb(this.a,j,this.b.d.G,false,false);break}case 29:{this.a.t.j==(f8b(),r6b)&&rgb(this.a,b.hi());break}case 82:{d=b.b;switch(d.j.f){case 47:g=d.b;if(wcb(g)){Rcb(this,g);return}if(g.j!=(f8b(),x6b))return;d=g;case 26:if(xcb(d)){Scb(this,d);return}if(ycb(d)||(Shb(),i=d.j==(f8b(),r6b)?d.b?d.b.f:null:d,Zhb(i,S7b,Nhb))||!g3b(d))return;Ncb(this,d)}break}}};var uK=Uic(430);
_U(431,928,nCc,Mdb);_.Qf=function Ndb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:d=c.e;if(!d||!zcb(d)&&!vcb(c.b,this.a)){g=ndb(this,b,c);Ddb(this,b,g)}break;case 29:{f=b.hi();if(f==null||c.j==(f8b(),r6b))return;c.j==(f8b(),_7b)||c.j==N5b?Ldb(this,b,c):jgb(this.a,f)?Ofb(this.a,f):!!$fb(this.a,f)||!qkc(f,this.a.p)&&!bgb(this.a,f,false);break}case 26:(cjb(this.c.e,b)||edb(b))&&pcb(this.c,(b.b?b.b.f:null).hi(),b);b.b.j==(f8b(),_6b)&&Ekc(b.b.hi(),"$jscomp$destructuring$")&&pcb(this.c,(b.b?b.b.f:null).hi(),
b);c.j==n6b&&g3b(b)&&Idb(this,b);break;case 47:{e=b.b;e.j==(f8b(),x6b)&&g3b(e)&&Idb(this,e);break}case 90:qvc(this.c.c,b,icb(this.c,Y2b(b,29),this.a));break;case 43:Gdb(this,b,c);break;case 28:Adb(this,b)}};var vK=Uic(431);_U(327,1,{327:1},Odb);var wK=Uic(327);_U(701,1,{},Pdb);_.a=null;_.b=null;var xK=Uic(701);_U(571,389,TBc);var zK=Uic(571);_U(794,1,{},Udb);var Qdb,Rdb;var AK=Uic(794);var Wdb;var Ydb;_U(337,1,{},feb);_.a=false;var BK=Uic(337);_U(67,1,{67:1},heb,ieb);_.xd=function jeb(a){var b;if(this===
a)return true;if(a==null||CK!=pb(a))return false;b=a;if(this.a!=b.a)return false;if(this.d!=b.d)return false;if(!qkc(this.c,b.c))return false;if(this.b!=b.b)return false;if(this.f!=null?!qkc(this.f,b.f):b.f!=null)return false;return j5(this.g,b.g)};_.zd=function keb(){var a;a=oAc(this.g.c);a=31*a+oAc(this.c);a=31*a+(this.f!=null?oAc(this.f):0);a=31*a+this.d;a=31*a+iAc(this.b);a=31*a+this.a;return a};_.Ad=function neb(){return this.g.c+". "+this.c+" at "+(this.f!=null&&this.f.length>0?this.f:"(unknown source)")+
" line "+(this.d!=-1?""+this.d:"(unknown line)")+" : "+(this.a!=-1?""+this.a:"(unknown column)")};_.a=0;_.d=0;var CK=Uic(67);_U(393,1,{393:1,563:1,3:1},teb);_.Ig=function web(){return Mm(),new _x(this.d)};_.Jg=function xeb(){return qeb(this)};_.Gg=function ueb(){throw BU(new jlc);};_.Hg=function veb(){return this.d};_.Ad=function yeb(){return this.d};_.b=0;var FK=Uic(393);_U(394,1,{},Eeb);var EK=Uic(394);_U(36,33,UFc,Feb,Geb,Heb,Ieb);var aS=Uic(36);_U(296,36,{296:1,3:1,41:1,36:1,39:1},Jeb);var DK=
Uic(296);_U(324,1,{324:1,3:1},Neb);_.Eg=function Oeb(a){return Keb(this,a)};_.Fg=function Peb(){return this.b};_.Kg=function Qeb(){return this.d};var JK=Uic(324);_U(693,1,{},Reb);var GK=Uic(693);_U(694,1,{},Seb);_.ih=function Teb(a,b,c,d){Eoc(this.b,new Veb);cob(this.a,a,b,c,d)};_.jh=function Ueb(a,b,c,d){Eoc(this.c,new Veb);dob(this.a,a,b,c,d)};var HK=Uic(694);_U(427,1,{},Veb);var IK=Uic(427);_U(848,1,{563:1},Web);_.Gg=function Xeb(){var a,b,c,d,e;if(!this.d){c=new axc;Zg(c,this.c.Gg());a=Leb(this.a,
this.b);if(a.a){d=(b=BDc,hh(Pwc(c,b)));d!=null&&!qkc(d,"es6")&&this.b.Lf(new heb(null,null,-1,-1,(Jub(),Hub),null,QC(LC(pS,1),yAc,2,6,[this.c.Hg()])));Vwc(c,BDc,"es6")}e=CMb(a);qkc(e,CDc)||Vwc(c,"lang",e);this.d=In(c)}return this.d};_.Hg=function Yeb(){return this.c.Hg()};_.Ig=function Zeb(){return this.c.Ig()};_.Jg=function $eb(){return this.c.Jg()};var KK=Uic(848);_U(314,420,{},afb,bfb);var LK=Uic(314);_U(577,387,{},efb);_.Nf=function ffb(){var a;a=this.c+this.e==0?(Cyc(),zyc):(Cyc(),Byc);this.c+
this.e>0&&bzc(this.b,a,LZb("%d error(s), %d warning(s)",QC(LC(kS,1),NAc,1,5,[Hjc(this.c),Hjc(this.e)])))};_.Of=function gfb(a,b){switch(a.f){case 0:fzc(this.b,geb(b,a,this.a));break;case 1:gzc(this.b,geb(b,a,this.a))}};var MK=Uic(577);_U(299,1,VFc,jfb,kfb);_.kh=function lfb(a){var b,c;b=thb(a);Shb();if(b.j==(f8b(),G5b)&&!!b.e&&b.e.j==r6b)return;if($nc(this.a)){oe(b.j!=r6b||!this.b);oe(shb(a)==0);c=this.b}else c=_nc(this.a).nh(!_hb(b));b.j==r6b||hfb(this,b,null,c);Unc(this.a,c)};_.lh=function mfb(a){if(Rib(thb(a)))return;
shb(a)==0||goc(this.a)};_.Pf=function nfb(a,b,c){var d,e,f,g;switch(b.j.f){case 65:{g=_nc(this.a).nh(false);f=b.b.hi();f!=null&&f.length!=0&&!!c&&(Shb(),!(b.j==(f8b(),r6b)&&Jib(b.e)))&&g.mh(f,false);Unc(this.a,g);break}case 45:{g=_nc(this.a).nh(true);for(d=b.b;d;d=d.d){f=d.hi();g.mh(f,true)}e=b.d;hfb(this,e,null,g);Unc(this.a,g);break}case 77:{g=_nc(this.a).nh(false);f=b.b.hi();g.mh(f,false);Unc(this.a,g);break}}return true};_.Qf=function ofb(a,b,c){var d,e,f;switch(b.j.f){case 29:d=ifb(this,b.hi());
if(d!=null){e=_nc(this.a);e.qh()&&(f=s3b(b,b.g,43),f!=b.g&&(b.g=f));b.mi(d);R0(a.c)}break;case 65:goc(this.a);goc(this.a);break;case 77:goc(this.a)}};var QK=Uic(299);_U(339,1,{886:1},qfb,rfb);_.mh=function sfb(a,b){var c,d;if(b&&this.f!=this)this.f.mh(a,true);else if(!qkc(a,kEc))if(this.e)Iw(this.g,a,0,1);else if(!Olc(this.d,a)){c=Nj(this.g,a,1);d=null;c!=0&&(d=a+qFc+c);Qlc(this.d,a,d)}};_.nh=function tfb(a){return new rfb(this.g,a,this)};_.oh=function ufb(){return this.f};_.ph=function vfb(a){return Nlc(this.d,
a)};_.qh=function wfb(){return false};_.e=false;var OK=Uic(339);_U(589,339,{886:1},xfb);_.nh=function yfb(a){return new Afb(this.a,this.c,this.b,false,a,this)};var NK=Uic(589);_U(448,1,{886:1},Afb);_.mh=function Bfb(a,b){oe(!qkc(a,kEc));b&&this.c!=this?this.c.mh(a,b):Olc(this.b,a)||Qlc(this.b,a,zfb(this,a))};_.nh=function Cfb(a){return new Afb(this.a,this.f,this.d,this.e,a,this)};_.oh=function Dfb(){return this.c};_.ph=function Efb(a){return Nlc(this.b,a)};_.qh=function Ffb(){return this.e};_.e=false;
var PK=Uic(448);_U(736,1,{},Gfb);_.Ad=function Ifb(){if(qkc(this.a,this.b))return this.a;return this.b+":"+this.a};var RK=Uic(736);_U(350,1,{350:1,959:1},pgb);_.Ad=function sgb(){var a,b;b=new dlc;if(!this.r)b.a+="<TOP SCOPE>";else{_kc(b,!this.r?null:(Shb(),a=nib(this.t),!a?null:Z2b(a)));b.a+="(";Rc(new Wc(String.fromCharCode(44)),b,this.f.Md());b.a+=")"}b.a+=" with root: ";$kc(b,this.t);return b.a};_.g=false;var SK=Uic(350);var tgb,ugb,vgb,wgb,xgb,ygb,zgb,Agb,Bgb,Cgb,Dgb,Egb,Fgb,Ggb,Hgb,Igb,Jgb,
Kgb,Lgb,Mgb,Ngb,Ogb,Pgb,Qgb,Rgb,Sgb,Tgb,Ugb,Vgb,Wgb,Xgb,Ygb,Zgb,$gb,_gb,ahb,bhb,chb,dhb,ehb,fhb,ghb,hhb,ihb,jhb,khb;_U(703,1,{},nhb);var TK=Uic(703);_U(107,1,{},Ghb,Hhb);_.o=false;var YK=Uic(107);var Khb,Lhb,Mhb,Nhb,Ohb,Phb,Qhb,Rhb;_U(660,1,pEc,Hjb);_.Hd=function Ijb(a){return Shb(),jjb(a.e)};_.xd=function Jjb(a){return this===a};var ZK=Uic(660);_U(661,1,pEc,Kjb);_.Hd=function Ljb(a){return Shb(),!(a.j==(f8b(),r6b)&&W2b(a,60)==0)};_.xd=function Mjb(a){return this===a};var $K=Uic(661);_U(120,1,pEc,
Njb);_.Hd=function Ojb(a){return a.j==this.a};_.xd=function Pjb(a){return this===a};var _K=Uic(120);_U(662,1,{},Qjb);_.rh=function Rjb(a){var b;if(a.j==(f8b(),r6b)&&Jlc(this.b,a)){b=Mlc(this.b,a);W2b(a,56)>W2b(b,56)?oe(!Oib(a,b)):this.a&&oe(Oib(a,b))}};_.a=false;var aL=Uic(662);_U(663,1,{},Sjb);_.rh=function Tjb(a){++this.a[0]};var bL=Uic(663);_U(664,1,pEc,Vjb);_.Hd=function Wjb(a){var b;return Ujb((b=this,a,b))};_.xd=function Xjb(a){return this===a};_.a=0;var cL=Uic(664);_U(657,1,pEc,Yjb);_.Hd=function Zjb(a){return a.j==
(f8b(),_6b)&&qkc(a.hi(),this.a)};_.xd=function $jb(a){return this===a};var dL=Uic(657);_U(658,1,pEc,_jb);_.Hd=function akb(a){return a.j==this.a};_.xd=function bkb(a){return this===a};var eL=Uic(658);_U(659,1,pEc,ckb);_.Hd=function dkb(a){return a.j!=(f8b(),r6b)};_.xd=function ekb(a){return this===a};var fL=Uic(659);_U(400,1,kCc,jkb);_.Mf=function kkb(a,b){hkb(this,a,b)};_.a=false;var fkb;var nL=Uic(400);_U(762,1,{},mkb);_.sh=function nkb(a,b,c,d){var e,f,g;oe(c.j==(f8b(),_6b));f=c.e;g=a.Bh(b);if(a.Fh())if(g.Sh()&&
!V1(d))if(quc(this.a,g))return;if(g.Lh()==N5b){b=(e=b.lastIndexOf(qFc),e==-1?b:b.substr(0,e));Q0(this.b.b,leb(c,(gkb(),fkb),QC(LC(pS,1),yAc,2,6,[b])))}else if(f.j==r6b){if(g.Ph().j==_7b){a.Hh(g);a.uh(b,c,g.c);lkb(this,g.Nh(),g.Ph(),g.Ph().e)}}else if(f.j==_7b){oe(!!f.b&&!f.b.d);lkb(this,c,f,f.e)}};var gL=Uic(762);_U(758,925,nCc,okb);_.Qf=function pkb(a,b,c){var d,e,f,g,h;Shb();if(b.j==(f8b(),n6b)&&b.b.j==n5b){d=b.b;h=d.b;h.j==x6b&&(f=Y2b(d,29),!!f&&(f.a&gGc)!=0)&&quc(this.a,(h.b?h.b.f:null).hi())}else b.j==
K7b&&(g=Y2b(b,29),!!g&&(g.a&gGc)!=0)?quc(this.a,b.hi()):b.j==x6b&&b.e.j==n6b&&(e=Y2b(b,29),!!e&&(e.a&gGc)!=0)&&quc(this.a,(b.b?b.b.f:null).hi())};var hL=Uic(758);_U(402,1,nCc,xkb);_.Pf=function Akb(a,b,c){b.j==(f8b(),O6b)&&ukb(this,b);Shb();(b.j==D7b||b.j==G5b||b.j==Z6b||b.j==O6b)&&rkb(this,b,null,null);(b.j==D7b||b.j==G5b||b.j==Z6b)&&wkb(this,b);b.j==r6b&&skb(this,b.b?b.b.f:null);Bib(b)&&b.j!=n5b&&tkb(this,b);return true};_.Qf=function Bkb(a,b,c){var d,e;switch(b.j.f){case 70:{e=b.b;J3b(b,(f8b(),
p6b));d=new U3b(d6b);S3b(d,b);G2b(b,d,e);F2b(b,P2b(d,new U3b(d.j),false),e);vkb(this,"WHILE node")}break;case 65:ykb(b)&&vkb(this,"Function declaration");break;case 29:case 31:case 89:case 84:case 85:this.b.Y==2||qkb(this,b,c);break;case 90:t3b(c,b,r3b(b))}};_.a=false;var iL=Uic(402);_U(760,925,oEc,Dkb);_.Mf=function Ekb(a,b){Ckb(this,a,b)};_.Qf=function Fkb(a,b,c){var d,e,f,g,h,i;if(b.j==(f8b(),_6b)){if(b.hi().length==0)return;d=null;i=rhb(a).Bh(b.hi());!!i&&(d=i.Mh());h=!!d&&(d.a&37)!=0||Fib(g0(this.b),
b);e=W2b(b,43)!=0;if(h&&!e){if(this.a){f=b.hi();throw BU(new sjc(hGc+f+BBc+"  parent:"+P3b(b.e)));}g=s3b(b,b.g,43);g!=b.g&&(b.g=g);b.g=new x4b(43,1,b.g)}}};_.a=false;var jL=Uic(760);_U(759,925,nCc,Gkb);_.Qf=function Hkb(a,b,c){var d,e,f;if(b.j==(f8b(),x6b)){f=(b.b?b.b.f:null).hi();if(ruc(this.a,f)){d=r3b(b);e=r3b(b);u3b(b,u$b(d,e));R0(this.b.b)}}else if(b.j==K7b){f=b.hi();if(ruc(this.a,f)){b.li();R0(this.b.b)}}};var kL=Uic(759);_U(763,1,VFc,Ikb);_.kh=function Jkb(a){rhb(a)};_.lh=function Kkb(a){};
_.Pf=function Lkb(a,b,c){return true};_.Qf=function Mkb(a,b,c){};var lL=Uic(763);_U(761,925,oEc,Okb);_.Mf=function Pkb(a,b){Nkb(this,a,b)};_.Qf=function Qkb(a,b,c){var d,e,f,g,h,i,j;if(b.j==(f8b(),_6b)){h=b.hi();if(b.hi().length==0)return;g=W2b(b,43)!=0;if(this.a){e=false;d=g0(this.b);Shb();if(W2b(b,43)!=0||Fib(d,b))e=true;else{e=false;f=null;j=rhb(a).Bh(b.hi());!!j&&(f=j.Mh());!!f&&(f.a&37)!=0?e=true:e=false}e?te(e==g,"The name %s is not annotated as constant.",h):te(e==g,"The name %s should not be annotated as constant.",
h)}i=Nlc(this.c,h);i==null?Qlc(this.c,h,(tic(),g?true:false)):te((Yzc(i),i)==g,"The name %s is not consistently annotated as constant.",h)}};_.a=false;var mL=Uic(761);_U(927,1,{});var oL=Uic(927);_U(596,73,ADc,Rkb);_.Dg=function Skb(a){return new Tkb};var qL=Uic(596);_U(595,1,kCc,Tkb);_.Mf=function Ukb(a,b){};var pL=Uic(595);_U(117,73,ADc);_.Dg=function Wkb(a){return this.th(a)};var rL=Uic(117);var Xkb,Ykb,Zkb;_U(584,1,{},ilb);_.a=0;_.b=-1;_.c=0;_.e=-1;_.g=0;_.i=0;_.j=0;_.k=0;_.o=-1;_.p=0;_.q=-1;
_.r=-1;_.s=-1;_.t=0;_.v=0;_.A=0;_.B=0;_.C=0;_.F=0;_.G=0;_.H=0;var wL=Uic(584);_U(655,1,mCc,jlb);_.Ie=function klb(a,b){return Ljc(a.ze().n,b.ze().n)};_.xd=function llb(a){return this===a};var tL=Uic(655);_U(313,1,{313:1},mlb);_.a=0;_.b=0;_.c=0;_.d=0;_.e=0;_.f=0;_.g=0;_.i=false;_.k=0;_.n=0;_.o=0;var uL=Uic(313);_U(689,426,{},nlb);_.hg=function olb(a){var b;b=a.length;if(b>0){this.b+=b;this.a=a.charCodeAt(b-1)}};_.tg=function qlb(){return this.a};_.a=0;_.b=0;var vL=Uic(689);_U(395,1,kCc,Dlb);_.Mf=function Elb(a,
b){zlb(this,a,b)};_.b=false;_.e=false;_.i=0;_.o=false;_.p=0;_.r=0;_.t=0;var rlb,slb,tlb;var BL=Uic(395);_U(424,1,kCc,Hlb);_.Mf=function Ilb(a,b){var c,d,e,f,g,h,i,j,k,l,m,n;pe(!this.d.e,"Nested loops are forbidden");this.d.e=true;Glb(this);e=Flb(this);this.c=new Plb(this.d);Y_(this.d.a,this.c);Clb(this.d,b);this.d.j=new luc;for(j=new kpc(this.b);j.a<j.c.a.length;){h=ipc(j);Plc(this.d.j,h,Hjc(0))}g=new tuc;m=new tuc;n=0;d=0;c=(Shb(),$hb(b));l=c;try{while(true){d++>100&&_0("Fixed point loop exceeded the maximum number of iterations.",
null);f=false;for(i=new kpc(this.b);i.a<i.c.a.length;){h=ipc(i);if(n==0&&!m.a.containsKey(h)||n==1&&g.a.containsKey(h)){++this.d.t;this.d.c=h;Jlb(h,a,b);m.a.put(h,m);Plc(this.d.j,h,Hjc(this.d.t));if(this.d.a.f.c>0)return;else if(Olb(this.c)){g.a.put(h,g);f=true}else g.a.remove(h)!=null}else m.a.remove(h)!=null}if(n==0)if(f)n=1;else return;else if(!f){l=c;c=$hb(b);k=(c-l<0?-(c-l):c-l)/l;if(!e&&k<.001)return;n=0}}}finally{this.d.e=false;P0(this.d.a,this.c)}};var xL=Uic(424);_U(320,1,{59:1,320:1},Klb);
_.Mf=function Llb(a,b){Jlb(this,a,b)};_.Ad=function Mlb(){return"pass: "+this.b};var yL=Uic(320);_U(580,1,{},Nlb);_.a=0;_.b=0;var zL=Uic(580);_U(683,1,{883:1},Plb);_.fg=function Qlb(){if(this.b.b)return;this.b.i=this.b.t;v3b(this.b.d,this.b.t);++this.b.t};_.a=0;var AL=Uic(683);_U(298,1,kCc,Vlb,Wlb);_.Mf=function Xlb(a,b){Tlb(this,a,b)};_.a=false;var DL=Uic(298);_U(469,925,nCc,Ylb);_.Qf=function $lb(a,b,c){b.j.f==28&&Zlb(b)};var CL=Uic(469);var _lb,amb,bmb,cmb;var emb,fmb;var hmb;_U(586,925,nCc,rmb);
_.Qf=function smb(a,b,c){nmb(this,a,b,c)};_.e=false;_.i=false;_.j=0;var jmb,kmb;var JL=Uic(586);_U(772,928,nCc,umb);_.Qf=function vmb(a,b,c){b.j==(f8b(),J5b)&&l3b(b.b,BCc)&&$ib(c.e)&&tmb(this,b,c)};var EL=Uic(772);_U(770,926,nCc,wmb);_.Pf=function xmb(a,b,c){var d;if(this.a)return false;if(!c||Hib(c)||(Shb(),c.j==(f8b(),D7b)||c.j==G5b||c.j==Z6b)){if(b.j==(f8b(),n6b)){d=b.b.b;if(!!d&&(m3b(d,zCc,zCc.length)||m3b(d,ACc,ACc.length))){this.a=true;return false}}return true}return false};_.a=false;var FL=
Uic(770);_U(230,1,{230:1},ymb);_.Ad=function zmb(){return"("+this.a+LAc+this.b+")"};var GL=Uic(230);_U(191,1,{191:1},Amb);_.Ad=function Bmb(){return"("+this.a+LAc+this.b+")"};var HL=Uic(191);_U(771,925,nCc,Dmb);_.Qf=function Emb(a,b,c){var d,e,f,g,h,i,j,k,l,m;d=Y2b(b,29);if(d)for(l=new kpc(M_b(d));l.a<l.c.a.length;){k=ipc(l);Cmb(this,a,k)}e=b.j==(f8b(),K7b)&&!b.b;if(b.j==_6b||e){g=b.hi();if(qkc(this.a,g))return;m=rhb(a).Bh(g);if(!!m&&m.Fh()){h=g+"$$"+this.a;if(e)H2b(b,S3b((te(tkc(h,Nkc(46))==-1,tCc,
h),new U4b(_6b,h)),b));else{b.mi(h);j=s3b(b,b.g,40);j!=b.g&&(b.g=j);g!=null&&(b.g=new H4b(40,g,b.g))}}else if(!m&&Olc(this.b.g,g)){c.j==J5b&&c.b==b&&(j=s3b(c,c.g,50),j!=c.g&&(c.g=j),false);i=Nlc(this.b.g,g);f=yjb(this.b.c,i.a);i.b.length==0?u3b(b,T3b(f,b)):u3b(b,T3b(v$b(f,R$b(i.b)),b))}}};var IL=Uic(771);var Fmb,Gmb,Hmb,Imb;_U(101,14,{101:1,3:1,23:1,14:1},Tmb,Umb,Vmb,Wmb);var Kmb,Lmb,Mmb,Nmb,Omb,Pmb,Qmb,Rmb;var KL=Vic(101,ZR,Ymb);_U(261,14,{261:1,3:1,23:1,14:1},anb);var Zmb,$mb;var LL=Vic(261,ZR,
bnb);_U(392,1,{883:1},cnb);_.fg=function dnb(){this.a=true};_.a=false;var ML=Uic(392);_U(588,925,oEc,fnb);_.Mf=function gnb(a,b){enb(this,b)};_.Qf=function hnb(a,b,c){var d,e;if(b.j!=(f8b(),r6b))return;e=null.Kj();if(e<0)return;d=b1(this.a,b);!a.d&&(a.d=l0(a.c,a.f));null.Kj(W9().Kj().Kj(wib(b)).Kj(b4b(b.i)).Kj().Kj(d.length).Kj(null.Kj()).Kj().Kj())};var NL=Uic(588);_U(1025,1,{});var inb;_U(397,1,{397:1},nnb);var OL=Uic(397);_U(821,1,oEc,onb);_.Mf=function pnb(a,b){Uqb(this.a,b,QC(LC(XK,1),NAc,27,
0,[this]))};_.Pf=function qnb(a,b,c){if(b.j==(f8b(),r6b)){Unc(this.b,new unb(Znc(this.b),b));W2b(b,61)!=0&&e0(this.a,"es6/execute_async_generator",false)}return true};_.Qf=function rnb(a,b,c){var d,e,f,g,h,i,j,k;d=Znc(this.b);if(b.j==(f8b(),r6b)){ve(d.d.Cd()&&JD(d.d.Bd())===JD(b),"unexpected function context:\nexpected: %s\nactual: %s",b,d.d);goc(this.b)}switch(b.j.f){case 65:d.d.Cd()&&W2b(d.d.Bd(),61)!=0&&(e=d.d.Bd(),f=s3b(e,e.g,61),f!=e.g&&(e.g=f),g=e.b?e.b.f:null,h=S3b(new U3b(G5b),g),t3b(e,g,
h),d.b&&H2b(h,o$b((te(tkc(lGc,Nkc(46))==-1,tCc,lGc),new U4b(_6b,lGc)),new U3b(S7b),T6b)),d.a&&H2b(h,o$b((te(tkc(mGc,Nkc(46))==-1,tCc,mGc),new U4b(_6b,mGc)),(te(tkc(kEc,Nkc(46))==-1,tCc,kEc),new U4b(_6b,kEc)),T6b)),g.j==G5b||(g=R3b(h$b((oe(C$b(g)),new W3b(B7b,g))),g)),i=t$b((te(tkc(nGc,Nkc(46))==-1,tCc,nGc),new U4b(_6b,nGc)),new U3b(r7b),g),j=s3b(i,i.g,59),j!=i.g&&(i.g=j),i.g=new x4b(59,1,i.g),H2b(h,i),k=v$b((te(tkc(oGc,Nkc(46))==-1,tCc,oGc),new U4b(_6b,oGc)),new U4b(J7b,"executeAsyncGenerator")),
H2b(h,O$b(j$b(k,QC(LC(WQ,1),uCc,7,0,[vjb((te(tkc(nGc,Nkc(46))==-1,tCc,nGc),new U4b(_6b,nGc)),QC(LC(WQ,1),uCc,7,0,[]))])))),T3b(h,g),R0(this.a),undefined);break;case 29:if(d.c.Cd()&&d.c.Bd().e==d.e&&m3b(b,kEc,kEc.length)){b.mi(mGc);d.c.Bd().a=true}break;case 33:if(d.c.Cd()&&d.c.Bd().e==d.e){t3b(c,b,S3b((te(tkc(lGc,Nkc(46))==-1,tCc,lGc),new U4b(_6b,lGc)),b));d.c.Bd().b=true}break;case 101:pe(d.d.Cd()&&W2b(d.d.Bd(),61)!=0,"await found within non-async function body");qe(!!b.b&&!b.b.d,"await should have 1 operand, but has %s",
T2b(b));t3b(c,b,S3b(Z$b(r3b(b)),b))}};var QL=Uic(821);_U(351,1,{351:1},tnb,unb);_.a=false;_.b=false;var PL=Uic(351);_U(432,1,kCc,Bnb);_.Mf=function Dnb(a,b){xnb(this,b)};var vnb;var UL=Uic(432);_U(433,1,{433:1},Enb);var RL=Uic(433);_U(704,1,{},Fnb);var SL=Uic(704);_U(705,925,nCc,Inb);_.Qf=function Jnb(a,b,c){var d,e,f,g,h;if(g3b(b)){e=Z2b(b);f=null;bo(this.b.b.b,e)&&(f=co(this.b.b.b,e));if(f){wnb();h=Z2b(uib(b));if(!!rhb(a).Bh(h)||(Shb(),c.j==(f8b(),n5b)&&c.b==b||c.j==_7b))return;znb(this.b,f.c)||
yhb(a,b,vnb,QC(LC(pS,1),yAc,2,6,[e,Re(r2(this.b.a.H)),"ECMASCRIPT"+f.c.b]));!znb(this.b,f.b)&&f.a.length!=0&&quc(this.a,f.a);return}}if(b.j==(f8b(),x6b)&&(b.b?b.b.f:null).j==J7b){d=Hl(this.b.b.a,(b.b?b.b.f:null).hi());if(!d.isEmpty()&&!Hnb(b))for(g=d.Md();g.Ed();){f=g.Fd();!znb(this.b,f.b)&&f.a.length!=0&&quc(this.a,f.a)}}};var TL=Uic(705);_U(684,1,{});var Knb,Lnb,Mnb,Nnb,Onb,Pnb,Qnb,Rnb,Snb,Tnb,Unb,Vnb,Wnb,Xnb,Ynb,Znb;var WL=Uic(684);_U(575,684,{},eob);_.ih=function fob(a,b,c,d){cob(this,a,b,c,d)};
_.jh=function gob(a,b,c,d){dob(this,a,b,c,d)};var VL=Uic(575);_U(592,1,kCc,pob);_.Mf=function qob(a,b){lob(this,a,b)};var hob,iob,job;var XL=Uic(592);_U(130,1,{130:1},tob,uob);_.uh=function vob(a,b,c){var d;oe(a!=null&&a.length!=0);oe(pvc(this.g,a)==null);d=new _sb(a,b,this,(Ulc(this.g.c),c));qvc(this.g,a,d);return d};_.vh=function wob(){!this.c&&(this.c=($sb(),ae(!DD(this,274)),new Gtb(this)));return this.c};_.wh=function xob(){return sob(this)};_.xh=function yob(){var a;a=this;while(a.zh())a=a.zh();
return a};_.yh=function zob(a){return pvc(this.g,a)};_.zh=function Aob(){return this.e};_.Ah=function Bob(){return this.f};_.Bh=function Cob(a){var b,c;b=this;while(b){c=pvc(b.g,a);if(c)return c;if(qkc(kEc,a)&&rjb(b.Ah()))return b.vh();b=b.e}return null};_.Ch=function Dob(){return _hb(this.f)};_.Dh=function Eob(a,b){var c;c=this;while(true){if(ovc(c.g,a))return true;if(c.Eh()||!!c.e&&b){c=c.e;continue}return false}};_.Eh=function Fob(){return this.Ch()&&!!this.e&&this.e.Ah().j==(f8b(),r6b)};_.Fh=
function Gob(){return!this.e};_.Gh=function Hob(){return!!this.e};_.Ad=function Iob(){return"Scope@"+this.f};_.Hh=function Job(a){oe(a.f==this);oe(JD(pvc(this.g,a.d))===JD(a));svc(this.g,a.d)};_.d=0;var YL=Uic(130);_U(180,14,zGc);var Kob,Lob;var _L=Vic(180,ZR,Oob);_U(593,180,zGc,Pob);var ZL=Vic(593,_L,null);_U(594,180,zGc,Qob);var $L=Vic(594,_L,null);_U(155,1,AGc,Xob);_.Ih=function Zob(){return this.b};_.Jh=function $ob(a){Tob(this);if(a<1||a>this.e.length)throw BU(new Geb("Expected line number between 1 and "+
this.e.length+"\nActual: "+a));return this.e[a-1]};_.Hg=function _ob(){return this.c};_.Kh=function apb(){return this.d};_.Ad=function bpb(){return this.c};_.b=null;_.d=false;_.e=null;var Rob;var dM=Uic(155);_U(205,1,{},cpb);var aM=Uic(205);_U(591,155,AGc,dpb);_.Ih=function epb(){var a;a=this.b;if(a==null){a=(ylc(this.a),Wz());Vob(this,a,ylc(this.a)==(Dlc(),Clc));a=this.b}return a};var bM=Uic(591);_U(253,155,AGc,fpb);var cM=Uic(253);_U(585,925,nCc,gpb);_.Qf=function ipb(a,b,c){var d,e,f,g,h;this.a&&
this.b!=null&&oe(qkc(this.b,(d=Y2b(b,51),!d?null:d.Hg())));switch(b.j.f){case 26:g=b.b?b.b.f:null;hpb(b,g.hi());break;case 65:e=oib(b);e!=null&&e.length!=0&&Y2b(b,40)==null&&(h=s3b(b,b.g,40),h!=b.g&&(b.g=h),e!=null&&(b.g=new H4b(40,e,b.g)));break;case 29:hpb(b,b.hi());break;case 43:for(f=b.b;f;f=f.d)f.j!=(f8b(),S5b)&&!f.ji()&&hpb(f,f.hi())}};_.a=false;var eM=Uic(585);_U(186,14,BGc);var jpb,kpb;var hM=Vic(186,ZR,npb);_U(634,186,BGc,opb);_.Hd=function ppb(a){return true};var fM=Vic(634,hM,null);_U(635,
186,BGc,qpb);_.Hd=function rpb(a){return a.j==(f8b(),J5b)||a.j==f7b||a.j==r6b||a.j==_6b||(Shb(),a.j==x6b||a.j==w6b)||bjb(a)||a.j==J7b&&Sib(a.e)||a.j==P7b};var gM=Vic(635,hM,null);_U(185,14,CGc);var spb,tpb;var kM=Vic(185,ZR,wpb);_U(632,185,CGc,xpb);var iM=Vic(632,kM,null);_U(633,185,CGc,ypb);var jM=Vic(633,kM,null);_U(445,1,{445:1},Cpb);_.a=null;var zpb;var lM=Uic(445);var Dpb,Epb,Fpb,Gpb,Hpb,Ipb,Jpb,Kpb,Lpb,Mpb,Npb,Opb;_U(582,1,kCc,Wpb);_.Mf=function Xpb(a,b){Vpb(this,b)};var Spb,Tpb;var nM=Uic(582);
_U(756,925,nCc,kqb);_.Qf=function lqb(a,b,c){switch(b.j.f){case 75:iqb(this,a,b,c);break;case 29:eqb(this,a,b,c);break;case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:cqb(this,a,b,c);break;case 28:case 23:_pb(this,a,b,c)&&jqb(this,b,c);break;case 43:Zpb(this,b);break;case 82:dqb(this,b,c)}};var mM=Uic(756);_U(578,178,UDc,mqb);_.Ng=function nqb(){return(xub(),wub).a};_.Og=function oqb(a){var b,c,d,e,f,g,h,i,j,k,l,m;g=a.e;if(g){m=false;for(b=g;b;b=b.e){l=
b.j;d=null;if(l==(f8b(),r6b)){d=(Shb(),e=dib(b),!e?null:Y2b(e,29));m=true}else if(l==D7b)d=Y2b(b,29);else if(b.j==_7b||b.j==n5b){h=tib(b.b);if(h){h.j==M5b&&(h=h.b);h.j==r6b&&!m&&(d=(Shb(),e=dib(b),!e?null:Y2b(e,29)))}}if(d)for(k=(i=!d.d?null:d.d.p,!i?(bqc(),bqc(),aqc):i).Md();k.Ed();){j=k.Fd();c=Nlc(this.a,j);if(c){f=c.Og(a);if(f)return f}}}}return null};var oM=Uic(578);_U(428,1,{},sqb,tqb);_.Pg=function uqb(a,b){var c;return this.b=null,!b?this.e=this.c?new Bsb(a):new uob(a):this.e=this.c?new Asb(b,
a):new tob(b,a),qqb(this,a),this.b=null,c=this.e,this.e=null,c};_.Qg=function vqb(){return false};_.c=false;var qM=Uic(428);_U(429,1,{},wqb);_.sh=function xqb(a,b,c,d){};var pM=Uic(429);_U(583,1,GAc,yqb);_.Eg=function zqb(a){return this.b};_.Fg=function Aqb(){return this.a};_.Kg=function Bqb(){return this.c};var rM=Uic(583);_U(162,1,{},Eqb,Fqb);_.a=0;var sM=Uic(162);var Gqb,Hqb,Iqb,Jqb,Kqb,Lqb,Mqb,Nqb,Oqb,Pqb,Qqb,Rqb;_U(743,73,ADc,Vqb);_.Dg=function Wqb(a){return new onb(a)};var yM=Uic(743);_U(752,
117,ADc,Xqb);_.th=function Yqb(a){return new G5(a)};var uM=Uic(752);_U(753,117,ADc,Zqb);_.th=function $qb(a){return new X8(a)};var vM=Uic(753);_U(754,117,ADc,_qb);_.th=function arb(a){return new P6(a)};var wM=Uic(754);_U(755,117,ADc,brb);_.th=function crb(a){return new I7(a)};var xM=Uic(755);_U(744,73,ADc,drb);_.Dg=function erb(a){return new f8(a)};var zM=Uic(744);_U(745,117,ADc,frb);_.th=function grb(a){return new g6(a)};var AM=Uic(745);_U(746,117,ADc,hrb);_.th=function irb(a){return new n7(a)};
var BM=Uic(746);_U(747,117,ADc,jrb);_.th=function krb(a){return new s6(a)};var CM=Uic(747);_U(748,117,ADc,lrb);_.th=function mrb(a){return new D6(a)};var DM=Uic(748);_U(749,117,ADc,nrb);_.th=function orb(a){return new Bnb(a)};var EM=Uic(749);_U(750,117,ADc,prb);_.th=function qrb(a){return new _7(a)};var FM=Uic(750);_U(751,117,ADc,rrb);_.th=function srb(a){return new U5(a)};var GM=Uic(751);var trb,urb,vrb,wrb,xrb,yrb,zrb,Arb,Brb,Crb,Drb,Erb,Frb,Grb,Hrb,Irb,Jrb,Krb,Lrb,Mrb,Nrb,Orb,Prb,Qrb,Rrb,Srb,Trb,
Urb,Vrb,Wrb,Xrb,Yrb,Zrb,$rb,_rb,asb,bsb;var dsb,esb,fsb,gsb,hsb,isb,jsb,ksb,lsb,msb,nsb;_U(865,325,{},ssb);_.Bg=function tsb(a,b){var c,d,e;d=a.e;if(!!d&&(d.j==(f8b(),G5b)||d.j==D7b))if(a.j==(f8b(),r6b))SZ(this,psb(this,a));else if(a.j==n6b&&a.b.j==n5b){c=a.b;if(ajb(c.b))SZ(this,ceb(this.a,Y2b(c,29)));else{e=c.b?c.b.f:null;SZ(this,qsb(this,e))}}else a.j==_7b&&!!a.b.b&&(ajb(a.b)?SZ(this,ceb(this.a,Y2b(a,29))):SZ(this,qsb(this,a.b.b)));RZ(this,a,b)};var HM=Uic(865);_U(274,130,{130:1,274:1},Asb,Bsb);
_.xh=function Fsb(){return xsb(this)};_.yh=function Gsb(a){return pvc(this.b,a)};_.zh=function Hsb(){return this.a};_.Bh=function Jsb(a){return ysb(this,a)};_.uh=function Csb(a,b,c){throw BU(new sjc("Method declare(untyped) cannot be called on typed scopes."));};_.vh=function Dsb(){throw BU(new sjc("Method getArgumentsVar cannot be called on typed scopes."));};_.wh=function Esb(){throw BU(new sjc("Method getClosestHoistScope cannot be called on typed scopes."));};_.Ah=function Isb(){return this.f};
_.Ch=function Ksb(){return false};_.Dh=function Lsb(a,b){return zsb(this,a,b)};_.Eh=function Msb(){throw BU(new sjc("Method isFunctionBlockScope cannot be called on typed scopes."));};_.Fh=function Nsb(){return!this.a};_.Gh=function Osb(){return!!this.a};_.Hh=function Psb(a){var b;b=a;oe(b.a==this);oe(JD(pvc(this.b,b.d))===JD(b));svc(this.b,b.d)};var IM=Uic(274);var Qsb,Rsb,Ssb,Tsb,Usb,Vsb,Wsb,Xsb;_U(173,1,{173:1},_sb);_.Lh=function atb(){var a;for(a=this.e;a;a=a.e)if(Zsb.contains(a.j))return a.j;
throw BU(new sjc("The nameNode for "+this+" must be a descendant"+" of one of: "+Zsb));};_.xd=function btb(a){var b;if(!DD(a,173))return false;b=a;return b.e==this.e};_.Mh=function ctb(){var a;return!this.e?null:(Shb(),a=dib(this.e),!a?null:Y2b(a,29))};_.Hg=function dtb(){return this.d};_.Nh=function etb(){return this.e};_.Oh=function ftb(){return this.e};_.Ph=function gtb(){return!this.e?null:this.e.e};_.Qh=function htb(){return this.f};_.zd=function itb(){return rb(this.e)};_.Rh=function jtb(){return this.Lh()==
(f8b(),T5b)};_.Sh=function ktb(){return!this.c||V1(this.c)};_.Fh=function ltb(){return this.f.Fh()};_.Th=function mtb(){if(!this.e)return false;return W2b(this.e,65)!=0||W2b(this.e,43)!=0};_.Uh=function ntb(){return this.Lh()==(f8b(),T6b)};_.Gh=function otb(){return this.f.Gh()};_.Ad=function ptb(){return"Var "+this.d};var Zsb;var OM=Uic(173);_U(357,173,{357:1,173:1},qtb);_.Qh=function xtb(){return this.a};_.xd=function rtb(a){if(!DD(a,357))return false;return a.e==this.e};_.Mh=function stb(){var a;
return!this.e?null:(Shb(),a=dib(this.e),!a?null:Y2b(a,29))};_.Hg=function ttb(){return this.d};_.Nh=function utb(){return this.e};_.Oh=function vtb(){return this.e};_.Ph=function wtb(){return!this.e?null:this.e.e};_.zd=function ytb(){return rb(this.e)};_.Rh=function ztb(){throw BU(new sjc("Method isConst cannot be called on typed variables."));};_.Sh=function Atb(){return!this.c||V1(this.c)};_.Fh=function Btb(){return!this.a.a};_.Th=function Ctb(){throw BU(new sjc("Method isInferredConst cannot be called on typed variables."));
};_.Uh=function Dtb(){throw BU(new sjc("Method isLet cannot be called on typed variables."));};_.Gh=function Etb(){return!!this.a.a};_.Ad=function Ftb(){return"Var "+this.d+"{"+this.b+"}"};var JM=Uic(357);_U(349,173,{173:1,349:1},Gtb);_.Lh=function Htb(){return null};_.xd=function Itb(a){var b;if(!DD(a,349))return false;b=a;return b.f.Ah()==this.f.Ah()};_.zd=function Jtb(){return Qzc(this)};var KM=Uic(349);_U(695,925,oEc,Wtb);_.Mf=function Ztb(a,b){Vtb(this,a,b)};_.Qf=function $tb(a,b,c){var d,e,
f,g,h,i,j,k,l,m;if(b.j==(f8b(),_6b)||b.j==K7b&&!b.b){m=b.hi();if(m.length==0){oe(c.j==r6b);oe((Shb(),c.j==r6b&&!jjb(c.e)));return}if((c.j==_7b||(Shb(),c.j==r6b&&Jib(c.e)))&&ruc(this.e,m)){Xtb(this.a,m);suc(this.e,m);d=z2b(Y2b(b,29));f_b(d.a);d.d=true;A3b(b,h1b(d,false))}i=rhb(a);j=i.Bh(m);if(!j){Shb();if(c.j==r6b&&!jjb(c.e)||c.j==O5b&&!jjb(c.e)&&b==c.b);else{g=i.Gh()&&qkc(kEc,m);!g&&!(this.d&&V1((!a.d&&(a.d=l0(a.c,a.f)),a.d)))&&yhb(a,b,Ptb,QC(LC(pS,1),yAc,2,6,[m]));if(this.c)throw BU(new sjc("Unexpected variable "+
m));else{Xtb(this.a,m);suc(this.e,m);i.xh().uh(m,b,t0(this.a))}}return}e=(!a.d&&(a.d=l0(a.c,a.f)),a.d);k=j.c;if(e==k||!e||!k)return;f=e.g;l=k.g;h=this.a.B;if(!this.c&&l!=f&&!!l&&!!f)if(Ceb(h,f).contains(l));else i.Fh()?Ceb(h,l).contains(f)?yhb(a,b,Stb,QC(LC(pS,1),yAc,2,6,[f.d,l.d,m])):yhb(a,b,Ltb,QC(LC(pS,1),yAc,2,6,[f.d,l.d,m])):yhb(a,b,Ntb,QC(LC(pS,1),yAc,2,6,[f.d,l.d,m]))}};_.c=false;_.d=false;var Ktb,Ltb,Mtb,Ntb,Otb,Ptb,Qtb,Rtb,Stb;var NM=Uic(695);_U(696,925,nCc,_tb);_.Qf=function aub(a,b,c){var d,
e,f,g;if(b.j==(f8b(),_6b))switch(c.j.f){case 75:case 98:case 86:case 65:case 94:case 45:break;case 26:if(b==c.b){e=rhb(a);g=e.Bh(b.hi());if(!g){yhb(a,b,(Ttb(),Otb),QC(LC(pS,1),yAc,2,6,[b.hi()]));quc(this.a.e,b.hi())}}break;case 47:if(b==(c.b?c.b.f:null)&&g3b(b)&&g3b(c.b))break;default:(c.j!=_6b||!c.e||!$ib(c.e))&&yhb(a,b,(Ttb(),Mtb),QC(LC(pS,1),yAc,2,6,[b.hi()]));d=rhb(a);f=d.Bh(b.hi());!f&&quc(this.a.e,b.hi())}};var LM=Uic(696);_U(697,1,{},cub);_.sh=function dub(a,b,c,d){var e,f,g,h,i;i=c.e;h=a.Bh(b);
g=h.Ph();if(i.j==(f8b(),T6b)||i.j==T5b||i.j==O5b||!!g&&(g.j==T6b||g.j==T5b||g.j==O5b)){Q0(this.b.a,leb(c,(Ttb(),Ktb),QC(LC(pS,1),yAc,2,6,[])));return}if(a.Fh()){if(g.j==N5b&&i.j==N5b)return;e=Ytb(c,h);Ttb();if(c.e.j==_7b&&(f=Y2b(c,51),!!f&&f.Kh())&&ajb(c)){Eoc(this.a,i);return}e||Q0(this.b.a,leb(c,Rtb,QC(LC(pS,1),yAc,2,6,[b,h.c?h.c.f.a:"??"])))}else qkc(b,kEc)&&(Shb(),!(c.j==_6b&&c.e.j==_7b))&&Q0(this.b.a,leb(c,(Ttb(),Qtb),QC(LC(pS,1),yAc,2,6,[])))};var MM=Uic(697);var eub,fub,gub,hub;_U(218,14,{218:1,
3:1,23:1,14:1},nub);var jub,kub,lub;var PM=Vic(218,ZR,oub);_U(139,14,{139:1,3:1,23:1,14:1},yub);_.a=0;var pub,qub,rub,tub,uub,vub,wub;var QM=Vic(139,ZR,zub);_U(800,1,{},Dub);var SM=Uic(800);_U(297,1,{},Lub);var Fub,Gub,Hub,Iub;var ZM=Uic(297);_U(738,1,uBc,Rub);_.Kd=function Sub(a){return a.Hg()};_.xd=function Tub(a){return this===a};var TM=Uic(738);_U(739,1,mCc,Vub);_.Ie=function Wub(a,b){return Uub(a,b)};_.xd=function Xub(a){return this===a};var UM=Uic(739);_U(740,1,mCc,Zub);_.Ie=function $ub(a,
b){return Yub(a,b)};_.xd=function _ub(a){return this===a};var VM=Uic(740);_U(447,1,{},dvb);_.Ad=function evb(){return this.a};var WM=Uic(447);_U(277,14,HGc);var fvb;var YM=Vic(277,ZR,hvb);_U(737,277,HGc,ivb);_.Kd=function jvb(a){return a};var XM=Vic(737,YM,null);var kvb;_U(234,1,{563:1,234:1},qvb);_.Ig=function uvb(){return this.c};_.Jg=function vvb(){return this.d};_.xd=function rvb(a){var b;if(!DD(a,234))return false;b=a;return Ewc(b.e,this.e)&&Ewc(b.b,this.b)&&Ewc(b.d,this.d)&&Ewc(b.c,this.c)&&
Ewc(b.a,this.a)};_.Gg=function svb(){return this.a};_.Hg=function tvb(){return this.b};_.zd=function wvb(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.c,this.d,this.e,this.b,this.a]))};_.Ad=function xvb(){return LZb("DependencyInfo(relativePath='%1$s', path='%2$s', provides=%3$s, requires=%4$s, loadFlags=%5$s)",QC(LC(kS,1),NAc,1,5,[this.e,this.b,this.c,this.d,this.a]))};var ovb;var $M=Uic(234);_U(890,1,{});var yvb;var bN=Uic(890);_U(569,571,TBc,Dvb);var _M=Uic(569);_U(570,387,{},Evb);_.Nf=function Fvb(){this.c+
this.e>0&&Bvb(this.c+" error(s), "+this.e+" warning(s)")};_.Of=function Gvb(a,b){Bvb(geb(b,a,this.a))};var aN=Uic(570);_U(179,927,{},Ivb);var cN=Uic(179);var Jvb;var Lvb;var Nvb;var Pvb,Qvb,Rvb,Svb;var Uvb,Vvb;var Xvb,Yvb,Zvb,$vb,_vb,awb,bwb,cwb,dwb,ewb,fwb,gwb,hwb,iwb;var kwb;var mwb,nwb;var pwb,qwb;var swb;var uwb,vwb,wwb,xwb;var zwb;var Bwb;_U(373,1,{},Dwb);_.Ad=function Ewb(){return Td(Rd(Rd(Rd(Rd(Sd(new Ud((Oic(dN),dN.k))),"simpleType",this.d),TFc,this.e),dDc,this.c),"scope",this.a))};_.b=false;
var dN=Uic(373);_U(236,1,{236:1},Mwb);_.Ad=function Twb(){return Axb(Jwb(this),new dlc).a};_.b=false;var eN=Uic(236);_U(145,1,{145:1});_.Ad=function fxb(){return this.w};_.v=false;var wN=Uic(145);_U(160,145,{160:1,145:1,952:1},ixb);_.Vh=function kxb(){var a,b,c;ie(this.b);oe(!this.A);a=(BBb(),BBb(),ABb);for(c=this.c.Md();c.Ed();){b=c.Fd();a=DBb(a,b,new IDb(null,this.b,this.b,(TDb(),QDb)))}return azb(mDb(this.t,KAb(this.t),a,null,this,false,(xCb(),vCb)))};_.Wh=function lxb(a){return yyb(this.a,a)};
_.Xh=function mxb(a){return Fyb(this.a,a)};_.Yh=function pxb(a){return Oyb(this.a,a)};var gN=Uic(160);_U(246,14,{246:1,3:1,23:1,14:1},wxb);var sxb,txb,uxb;var fN=Vic(246,ZR,xxb);_U(201,145,{201:1,145:1},yxb);_.Vh=function zxb(){oe(!this.A);return azb(mDb(this.t,JAb(this.t),null,Jwb(this.a.c),this,false,(xCb(),vCb)))};var hN=Uic(201);_U(194,1,{194:1},Pxb,Qxb);_.xd=function Rxb(a){return Cxb(this,a)};_.zd=function Txb(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.i,this.e,this.j,this.k,this.d,this.g]))};_.Ad=
function byb(){return Axb(this,new dlc).a};_.b=false;_.c=false;var kN=Uic(194);_U(95,1,{},qyb);_.b=false;_.c=false;_.j=null;_.k=null;var jN=Uic(95);_U(238,33,{238:1,3:1,41:1,39:1},ryb);var iN=Uic(238);_U(133,1,aHc);_.xd=function $yb(a){return xyb(this,a)};_.zd=function czb(){return Dpc(QC(LC(kS,1),NAc,1,5,[Hjc(this.$h()),this._h(),this.Zh(),this.ai()]))};_.bi=function ezb(a){return xyb(this,a)};_.Ad=function ozb(){return Tyb(this,new dlc).a};var syb,tyb,uyb;var qN=Uic(133);_U(698,1,{},pAb);_.c=0;
var rzb,szb,tzb,uzb,vzb,wzb,xzb,yzb,zzb,Azb,Bzb,Czb,Dzb,Ezb,Fzb,Gzb,Hzb,Izb,Jzb,Kzb,Lzb,Mzb,Nzb,Ozb;var pN=Uic(698);_U(326,1,{},rAb);var lN=Uic(326);_U(699,1,{},vAb);_.a=-1;var mN=Uic(699);_U(224,14,{224:1,3:1,23:1,14:1},AAb);var wAb,xAb,yAb;var nN=Vic(224,ZR,BAb);_U(700,1,{},CAb);var oN=Uic(700);_U(467,1,{467:1},_Ab);_.H=false;_.J=false;_.Q=false;var sN=Uic(467);_U(805,1,YAc,dBb);_.pe=function jBb(a){return this.a.G};_.getOrDefault=function kBb(a,b){var c;return c=this.a.G,c};_.put=function oBb(a,
b){return bBb()};_.putIfAbsent=function qBb(a,b){var c;return c=this.a.G,c?c:bBb()};_.remove=function rBb(a){return cBb()};_.replace=function sBb(a,b){return bBb()};_.clear=function eBb(){throw BU(new jlc);};_.containsKey=function fBb(a){return true};_.containsValue=function gBb(a){return JD(a)===JD(this.a.G)};_.oe=function hBb(){throw BU(new jlc);};_.xd=function iBb(a){return aBb(this,a)};_.zd=function lBb(){throw BU(new jlc);};_.isEmpty=function mBb(){return false};_.keySet=function nBb(){throw BU(new jlc);
};_.putAll=function pBb(a){throw BU(new jlc);};_.size=function tBb(){throw BU(new jlc);};_.values=function uBb(){return lm(),new cy(this.a.G)};var rN=Uic(805);_U(75,133,aHc,vBb);_.Zh=function wBb(){return lm(),lx(),kx};_.$h=function xBb(){return this.a};_.ci=function yBb(){return lm(),lx(),kx};_._h=function(){return this.ci()};_.ai=function zBb(){return null};_.a=0;var tN=Uic(75);_U(557,908,dHc);var ABb;var DN=Uic(557);_U(375,557,dHc,FBb);_.oe=function GBb(){return new emc(this.a)};var uN=Uic(375);
_U(290,145,{145:1,290:1},IBb);_.Vh=function JBb(){oe(!this.A);return azb(mDb(this.t,!this.a?KAb(this.t):this.a,null,null,this,false,(xCb(),vCb)))};_.a=null;var vN=Uic(290);_U(237,1,{237:1},fCb);_.xd=function hCb(a){return OBb(this,a)};_.zd=function iCb(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.b,this.a]))};_.Ad=function lCb(){return MBb(this,new dlc).a};var KBb;var xN=Uic(237);_U(808,133,aHc,nCb);_.Zh=function oCb(){return lm(),lx(),kx};_.$h=function pCb(){return 34};_.ci=function qCb(){return this.a};
_._h=function(){return this.ci()};_.ai=function rCb(){return null};var yN=Uic(808);_U(199,1,{199:1},yCb);_.a=0;var sCb,tCb,uCb,vCb,wCb;var zN=Uic(199);_U(134,1,{134:1,952:1},TCb);_.xd=function XCb(a){return ECb(this,a)};_.Wh=function _Cb(a){return FCb(this,a)};_.Xh=function aDb(a){return HCb(this,a)};_.zd=function eDb(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.b,this.e,this.g,this.d]))};_.Yh=function nDb(a){return LCb(this,a)};_.Ad=function sDb(){return BCb(this,new dlc).a};_.c=false;var AN=Uic(134);
_U(558,1,{},yDb);_.b=0;var BN=Uic(558);_U(807,133,aHc,zDb);_.Zh=function ADb(){return lm(),lx(),kx};_.$h=function BDb(){return 2};_.ci=function CDb(){return this.a};_._h=function(){return this.ci()};_.ai=function DDb(){return null};var CN=Uic(807);_U(45,1,{45:1},IDb);_.xd=function JDb(a){return FDb(this,a)};_.zd=function KDb(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.d,this.a]))};_.Ad=function ODb(){return EDb(this,new dlc).a};var FN=Uic(45);_U(244,14,{244:1,3:1,23:1,14:1},UDb);var QDb,RDb,SDb;var EN=
Vic(244,ZR,VDb);_U(44,1,{},WDb,XDb);_.Ad=function ZDb(){return Tc(new Wc("."),this.a.Md())};var GN=Uic(44);_U(80,145,{145:1,80:1},zEb);_.Vh=function AEb(){oe(this.f);oe(!this.A);return azb(mDb(this.t,JAb(this.t),null,this.c,this,this.c.c,(xCb(),vCb)))};_.Ad=function FEb(){return gEb(this,new dlc).a};_.a=null;_.d=null;_.e=false;_.f=false;_.g=0;_.o=null;var HN=Uic(80);_U(47,1,{},GEb);var IN=Uic(47);_U(552,1,{552:1},MEb);var KN=Uic(552);_U(245,14,{245:1,3:1,23:1,14:1},REb);var NEb,OEb,PEb;var JN=Vic(245,
ZR,SEb);_U(806,133,aHc,TEb);_.Zh=function UEb(){return ie(this.a)};_.$h=function VEb(){return this.b};_.ci=function WEb(){return ie(this.c)};_._h=function(){return this.ci()};_.ai=function XEb(){return this.d};_.b=0;var LN=Uic(806);_U(819,1,{},ZEb);_.a=0;var MN=Uic(819);_U(28,14,{28:1,3:1,23:1,14:1},hGb);var aFb,bFb,cFb,dFb,eFb,fFb,gFb,hFb,iFb,jFb,kFb,lFb,mFb,nFb,oFb,pFb,qFb,rFb,sFb,tFb,uFb,vFb,wFb,xFb,yFb,zFb,AFb,BFb,CFb,DFb,EFb,FFb,GFb,HFb,IFb,JFb,KFb,LFb,MFb,NFb,OFb,PFb,QFb,RFb,SFb,TFb,UFb,VFb,
WFb,XFb,YFb,ZFb,$Fb,_Fb,aGb,bGb,cGb,dGb,eGb,fGb;var NN=Vic(28,ZR,iGb);_U(220,1,{},jGb,kGb);_.b=0;_.e=0;var QN=Uic(220);_U(221,14,{221:1,3:1,23:1,14:1},qGb);var mGb,nGb,oGb;var ON=Vic(221,ZR,rGb);_U(140,14,{140:1,3:1,23:1,14:1},zGb);var sGb,tGb,uGb,vGb,wGb,xGb;var PN=Vic(140,ZR,BGb);_U(814,1,{},rHb);_.c=false;_.g=null;_.i=false;var CGb,DGb,EGb,FGb;var SN=Uic(814);_U(815,1,{},UIb);var RN=Uic(815);_U(371,1,{},XJb);_.d=null;_.f=false;_.o=null;var VIb,WIb;var WN=Uic(371);_U(551,1,{551:1},$Jb);_.a=0;_.b=
0;var TN=Uic(551);_U(372,1,{},_Jb);var UN=Uic(372);_U(243,14,{243:1,3:1,23:1,14:1},eKb);var aKb,bKb,cKb;var VN=Vic(243,ZR,fKb);_U(72,14,{72:1,3:1,23:1,14:1},CKb);var gKb,hKb,iKb,jKb,kKb,lKb,mKb,nKb,oKb,pKb,qKb,rKb,sKb,tKb,uKb,vKb,wKb,xKb,yKb,zKb,AKb;var YN=Vic(72,ZR,DKb);_U(248,1,{},NKb,OKb);_.a=-1;_.b=0;_.c=0;_.d=0;_.e=-1;_.f=0;_.g=0;_.i=0;_.j=0;_.n="";_.p=0;_.r=0;var XN=Uic(248);_U(942,1,{});var $N=Uic(942);_U(868,942,{},RKb);_.ih=function SKb(a,b,c,d){};_.jh=function TKb(a,b,c,d){};var ZN=Uic(868);
var UKb=null,VKb=null;_U(938,1,{});_.d=false;var jQ=Uic(938);_U(798,938,{},bLb);_.di=function cLb(a,b){if(this.b||!this.a){this.a=true;this.c.ih(b,a.d.c,a.b+1,a.a)}};_.ei=function dLb(a,b){this.c.jh(b,a.d.c,a.b+1,a.a)};_.a=false;_.b=false;var _N=Uic(798);_U(799,1,{},eLb);var aO=Uic(799);_U(878,1,{},MLb);_.c=0;_.d=0;var cO=Uic(878);_U(63,14,{63:1,3:1,23:1,14:1},kMb);_.a=0;_.b=0;_.c=0;var NLb,OLb,PLb,QLb,RLb,SLb,TLb,ULb,VLb,WLb,XLb,YLb,ZLb,$Lb,_Lb,aMb,bMb,cMb,dMb,eMb,fMb,gMb,hMb,iMb;var bO=Vic(63,ZR,
mMb);var nMb;_U(110,1,{110:1,3:1},DMb);_.xd=function EMb(a){return DD(a,110)&&a.b==this.b&&a.d==this.d&&a.a==this.a&&a.c==this.c};_.zd=function FMb(){return Dpc(QC(LC(kS,1),NAc,1,5,[Hjc(this.b),(tic(),this.d?true:false),this.a?true:false,this.c?true:false]))};_.Ad=function GMb(){return"FeatureSet{number="+this.b+(this.d?", unsupported":"")+(this.a?", es6Modules":"")+(this.c?", typeScript":"")+"}"};_.a=false;_.b=0;_.c=false;_.d=false;var pMb,qMb,rMb,sMb,tMb,uMb,vMb,wMb,xMb,yMb;var eO=Uic(110);_U(43,
14,{43:1,3:1,23:1,14:1},xNb);_.toString=function yNb(){return this.b};var IMb,JMb,KMb,LMb,MMb,NMb,OMb,PMb,QMb,RMb,SMb,TMb,UMb,VMb,WMb,XMb,YMb,ZMb,$Mb,_Mb,aNb,bNb,cNb,dNb,eNb,fNb,gNb,hNb,iNb,jNb,kNb,lNb,mNb,nNb,oNb,pNb,qNb,rNb,sNb,tNb,uNb,vNb;var dO=Vic(43,ZR,zNb);_U(174,1,{174:1},ANb);_.Ad=function BNb(){return NUb(this.c)};var qO=Uic(174);_U(374,174,{374:1,174:1},CNb);_.Ad=function DNb(){return this.a};var fO=Uic(374);_U(38,14,{38:1,3:1,23:1,14:1},COb);_.toString=function IOb(){return this.b};var ENb,
FNb,GNb,HNb,INb,JNb,KNb,LNb,MNb,NNb,ONb,PNb,QNb,RNb,SNb,TNb,UNb,VNb,WNb,XNb,YNb,ZNb,$Nb,_Nb,aOb,bOb,cOb,dOb,eOb,fOb,gOb,hOb,iOb,jOb,kOb,lOb,mOb,nOb,oOb,pOb,qOb,rOb,sOb,tOb,uOb,vOb,wOb,xOb,yOb,zOb,AOb;var gO=Vic(38,ZR,JOb);_U(846,1,{},NOb);var hO=Uic(846);_U(102,174,{102:1,174:1},ROb);_.Ad=function SOb(){return this.a};var iO=Uic(102);_U(282,1,{},FRb,GRb);_.i=false;var TOb;var mO=Uic(282);_U(812,1,{},IRb);var jO=Uic(812);_U(811,1,{},JRb);_.a=false;_.b=false;_.c=false;_.d=false;var kO=Uic(811);_U(193,
1,{},KRb);_.a=null;_.b=false;_.c=false;var lO=Uic(193);_U(813,1,{},xSb);_.d=0;_.f=0;var nO=Uic(813);_U(810,1,{},HSb);var oO=Uic(810);_U(13,14,{13:1,3:1,23:1,14:1},OUb,PUb);_.toString=function QUb(){return NUb(this)};var ISb,JSb,KSb,LSb,MSb,NSb,OSb,PSb,QSb,RSb,SSb,TSb,USb,VSb,WSb,XSb,YSb,ZSb,$Sb,_Sb,aTb,bTb,cTb,dTb,eTb,fTb,gTb,hTb,iTb,jTb,kTb,lTb,mTb,nTb,oTb,pTb,qTb,rTb,sTb,tTb,uTb,vTb,wTb,xTb,yTb,zTb,ATb,BTb,CTb,DTb,ETb,FTb,GTb,HTb,ITb,JTb,KTb,LTb,MTb,NTb,OTb,PTb,QTb,RTb,STb,TTb,UTb,VTb,WTb,XTb,YTb,
ZTb,$Tb,_Tb,aUb,bUb,cUb,dUb,eUb,fUb,gUb,hUb,iUb,jUb,kUb,lUb,mUb,nUb,oUb,pUb,qUb,rUb,sUb,tUb,uUb,vUb,wUb,xUb,yUb,zUb,AUb,BUb,CUb,DUb,EUb,FUb,GUb,HUb,IUb,JUb,KUb,LUb;var pO=Vic(13,ZR,RUb);_U(9,1,{9:1});_.Ad=function VUb(){return this.p+"@"+this.o};var IP=Uic(9);_U(547,9,{547:1,9:1},WUb);var rO=Uic(547);_U(866,9,{9:1},XUb);var sO=Uic(866);_U(483,9,{483:1,9:1},YUb);var tO=Uic(483);_U(527,9,{527:1,9:1},ZUb);var uO=Uic(527);_U(538,9,{538:1,9:1},$Ub);var vO=Uic(538);_U(529,9,{529:1,9:1},_Ub);var wO=Uic(529);
_U(522,9,{522:1,9:1},aVb);var xO=Uic(522);_U(105,9,{105:1,9:1},bVb);var yO=Uic(105);_U(361,9,{361:1,9:1},cVb);var zO=Uic(361);_U(485,9,{485:1,9:1},dVb);var AO=Uic(485);_U(486,9,{486:1,9:1},eVb);var BO=Uic(486);_U(550,9,{550:1,9:1},fVb);_.c=false;var CO=Uic(550);_U(487,9,{487:1,9:1},gVb);var DO=Uic(487);_U(489,9,{489:1,9:1},hVb);var EO=Uic(489);_U(518,9,{518:1,9:1},iVb);var FO=Uic(518);_U(368,9,{368:1,9:1},jVb);var GO=Uic(368);_U(478,1,{478:1},kVb);var IO=Uic(478);_U(175,14,{175:1,3:1,23:1,14:1},rVb);
var lVb,mVb,nVb,oVb,pVb;var HO=Vic(175,ZR,sVb);_U(531,9,{531:1,9:1},tVb);var JO=Uic(531);_U(532,9,{532:1,9:1},uVb);var KO=Uic(532);_U(530,9,{530:1,9:1},vVb);var LO=Uic(530);_U(365,9,{365:1,9:1},wVb);var MO=Uic(365);_U(503,9,{503:1,9:1},xVb);_.b=false;var NO=Uic(503);_U(504,9,{504:1,9:1},yVb);_.c=false;var OO=Uic(504);_U(240,9,{240:1,9:1},zVb);var PO=Uic(240);_U(505,9,{505:1,9:1},AVb);_.b=false;var QO=Uic(505);_U(498,9,{498:1,9:1},BVb);var RO=Uic(498);_U(490,9,{490:1,9:1},CVb);var SO=Uic(490);_U(493,
9,{493:1,9:1},DVb);var TO=Uic(493);_U(488,9,{488:1,9:1},EVb);var UO=Uic(488);_U(242,9,{242:1,9:1},FVb);var VO=Uic(242);_U(491,9,{491:1,9:1},GVb);var WO=Uic(491);_U(195,9,{195:1,9:1},HVb);var XO=Uic(195);_U(545,9,{545:1,9:1},IVb);var YO=Uic(545);_U(524,9,{524:1,9:1},JVb);_.d=false;_.e=false;var ZO=Uic(524);_U(525,9,{525:1,9:1},KVb);var $O=Uic(525);_U(492,9,{492:1,9:1},LVb);var _O=Uic(492);_U(515,9,{515:1,9:1},MVb);var aP=Uic(515);_U(496,9,{496:1,9:1},NVb);var bP=Uic(496);_U(523,9,{523:1,9:1},OVb);
var cP=Uic(523);_U(495,9,{495:1,9:1},PVb);var dP=Uic(495);_U(198,9,{198:1,9:1},QVb);var eP=Uic(198);_U(497,9,{497:1,9:1},RVb);_.e=false;_.f=false;_.g=false;_.i=false;var hP=Uic(497);_U(106,1,{},bWb);_.a=null;_.b=null;_.c=null;_.d=null;_.e=false;_.f=false;_.g=false;_.i=false;_.n=null;_.o=null;var fP=Uic(106);_U(196,14,{196:1,3:1,23:1,14:1},hWb);var cWb,dWb,eWb,fWb;var gP=Vic(196,ZR,iWb);_U(541,9,{541:1,9:1},jWb);var iP=Uic(541);_U(543,9,{543:1,9:1},kWb);var jP=Uic(543);_U(516,9,{516:1,9:1},lWb);_.b=
false;var kP=Uic(516);_U(287,9,{287:1,9:1},mWb);var lP=Uic(287);_U(499,9,{499:1,9:1},nWb);var mP=Uic(499);_U(369,9,{369:1,9:1},oWb);var nP=Uic(369);_U(526,9,{526:1,9:1},pWb);var oP=Uic(526);_U(549,9,{549:1,9:1},qWb);var pP=Uic(549);_U(544,9,{544:1,9:1},rWb);var qP=Uic(544);_U(500,9,{500:1,9:1},sWb);var rP=Uic(500);_U(367,9,{367:1,9:1},tWb);var sP=Uic(367);_U(363,9,{363:1,9:1},uWb);var tP=Uic(363);_U(362,9,{362:1,9:1},vWb);var uP=Uic(362);_U(289,9,{289:1,9:1},wWb);_.c=false;_.d=false;var vP=Uic(289);
_U(288,9,{288:1,9:1},xWb);var wP=Uic(288);_U(548,9,{548:1,9:1},yWb);var xP=Uic(548);_U(867,9,{9:1},zWb);var yP=Uic(867);_U(364,9,{364:1,9:1},AWb);var zP=Uic(364);_U(520,9,{520:1,9:1},BWb);var AP=Uic(520);_U(197,9,{197:1,9:1},CWb);var BP=Uic(197);_U(502,9,{502:1,9:1},DWb);var CP=Uic(502);_U(528,9,{528:1,9:1},EWb);var DP=Uic(528);_U(536,9,{536:1,9:1},FWb);var EP=Uic(536);_U(537,9,{537:1,9:1},GWb);var FP=Uic(537);_U(501,9,{501:1,9:1},HWb);var GP=Uic(501);_U(17,14,{17:1,3:1,23:1,14:1},wYb);var IWb,JWb,
KWb,LWb,MWb,NWb,OWb,PWb,QWb,RWb,SWb,TWb,UWb,VWb,WWb,XWb,YWb,ZWb,$Wb,_Wb,aXb,bXb,cXb,dXb,eXb,fXb,gXb,hXb,iXb,jXb,kXb,lXb,mXb,nXb,oXb,pXb,qXb,rXb,sXb,tXb,uXb,vXb,wXb,xXb,yXb,zXb,AXb,BXb,CXb,DXb,EXb,FXb,GXb,HXb,IXb,JXb,KXb,LXb,MXb,NXb,OXb,PXb,QXb,RXb,SXb,TXb,UXb,VXb,WXb,XXb,YXb,ZXb,$Xb,_Xb,aYb,bYb,cYb,dYb,eYb,fYb,gYb,hYb,iYb,jYb,kYb,lYb,mYb,nYb,oYb,pYb,qYb,rYb,sYb,tYb,uYb;var HP=Vic(17,ZR,xYb);_U(468,9,{9:1,468:1},yYb);var JP=Uic(468);_U(241,9,{9:1,241:1},zYb);var KP=Uic(241);_U(539,9,{9:1,539:1},AYb);
var LP=Uic(539);_U(533,9,{9:1,533:1},BYb);var MP=Uic(533);_U(506,9,{9:1,506:1},CYb);var NP=Uic(506);_U(517,9,{9:1,517:1},DYb);_.b=false;var OP=Uic(517);_U(534,9,{9:1,534:1},EYb);var PP=Uic(534);_U(519,9,{9:1,519:1},FYb);var QP=Uic(519);_U(507,9,{9:1,507:1},GYb);var RP=Uic(507);_U(358,9,{9:1,358:1},HYb);var SP=Uic(358);_U(359,9,{9:1,359:1},IYb);var TP=Uic(359);_U(360,9,{9:1,360:1},JYb);var UP=Uic(360);_U(494,9,{9:1,494:1},KYb);var VP=Uic(494);_U(508,9,{9:1,508:1},LYb);var WP=Uic(508);_U(509,9,{9:1,
509:1},MYb);var XP=Uic(509);_U(546,9,{9:1,546:1},NYb);var YP=Uic(546);_U(370,9,{9:1,370:1},OYb);var ZP=Uic(370);_U(542,9,{9:1,542:1},PYb);var $P=Uic(542);_U(535,9,{9:1,535:1},QYb);var _P=Uic(535);_U(484,9,{9:1,484:1},RYb);var aQ=Uic(484);_U(540,9,{9:1,540:1},SYb);var bQ=Uic(540);_U(366,9,{9:1,366:1},TYb);_.c=0;var cQ=Uic(366);_U(511,9,{9:1,511:1},UYb);var dQ=Uic(511);_U(512,9,{9:1,512:1},VYb);var eQ=Uic(512);_U(510,9,{9:1,510:1},WYb);var fQ=Uic(510);_U(513,9,{9:1,513:1},XYb);var gQ=Uic(513);_U(514,
9,{9:1,514:1},YYb);var hQ=Uic(514);_U(521,9,{9:1,521:1},ZYb);_.b=false;var iQ=Uic(521);_U(880,938,{},$Yb);_.di=function _Yb(a,b){throw BU(new bZb);};_.ei=function aZb(a,b){};var lQ=Uic(880);_U(379,33,{379:1,3:1,41:1,39:1},bZb);var kQ=Uic(379);_U(356,1,{},dZb);_.Ad=function eZb(){return LZb("%s(%d, %d)",QC(LC(kS,1),NAc,1,5,[cZb(this),Hjc(this.b+1),Hjc(this.a+1)]))};_.a=0;_.b=0;_.c=0;var mQ=Uic(356);_U(12,1,{},fZb);_.Ad=function gZb(){return LZb("<%s - %s>",QC(LC(kS,1),NAc,1,5,[this.b,this.a]))};var nQ=
Uic(12);_U(847,1,{},jZb);_.b=0;var hZb;var pQ=Uic(847);_U(477,1,{477:1},mZb);_.a=0;_.b=0;var oQ=Uic(477);_U(733,33,CBc,nZb);var qQ=Uic(733);_U(734,33,CBc,oZb);var rQ=Uic(734);_U(338,33,CBc,pZb);var sQ=Uic(338);_U(731,33,CBc,qZb);var tQ=Uic(731);_U(732,33,CBc,rZb);var uQ=Uic(732);_U(335,33,CBc,sZb);var vQ=Uic(335);_U(730,33,CBc,tZb);var wQ=Uic(730);_U(686,1,{},KZb);var zQ=Uic(686);_U(688,1,{},VZb);_.b=0;_.c=0;_.d=0;var xQ=Uic(688);_U(687,1,{},a$b);_.a=-1;_.b=DAc;_.c=0;_.d=false;_.e=false;_.f=false;
_.g=false;_.i=false;_.j=false;_.k=false;_.n=-1;_.p=-1;var yQ=Uic(687);_U(336,33,CBc,b$b);var AQ=Uic(336);_U(254,1,{254:1,3:1},$$b);_.xd=function _$b(a){if(this===a)return true;if(a==null)return false;if(BQ!=pb(a))return false;return qkc(this.a,a.a)};_.zd=function a_b(){return oAc(this.a)};_.Ad=function b_b(){return"InputId: "+this.a};var BQ=Uic(254);_U(333,1,{333:1,3:1},x0b,y0b);_.Ad=function B0b(){return"JSDocInfo"};_.a=0;_.c=false;_.e=false;_.f=0;var LQ=Uic(333);_U(725,1,{},C0b);var CQ=Uic(725);
_U(65,1,GAc,I0b);_.Ad=function J0b(){return Td(Sd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(Rd(new Ud((Oic(DQ),DQ.k)),"bitfield",this.o==0?null:(this.o>>>0).toString(16)),"baseType",this.a),"extendedInterfaces",this.e),"implementedInterfaces",this.f),"parameters",this.n),"thrownTypes",this.r),"templateTypeNames",this.q),"disposedParameters",this.d),"typeTransformations",this.s),"description",this.c),"meaning",this.j),$Dc,this.b),"license",this.i),"suppressions",this.p),"lendsName",this.g)))};_.o=
0;var DQ=Uic(65);_U(444,1,{444:1},N0b);var EQ=Uic(444);_U(334,1,{});_.b=0;_.c=0;_.d=null;_.e=0;_.f=0;var XQ=Uic(334);_U(726,334,{},R0b);var FQ=Uic(726);_U(442,334,{},T0b);var GQ=Uic(442);_U(443,442,{},V0b);var HQ=Uic(443);_U(727,334,{},W0b);_.a=false;var IQ=Uic(727);_U(170,14,{170:1,3:1,23:1,14:1},c1b);var Y0b,Z0b,$0b,_0b,a1b;var JQ=Vic(170,ZR,d1b);_U(86,1,{},w2b,x2b);_.c=false;_.d=false;var KQ=Uic(86);_U(79,1,{79:1,3:1},B2b);_.xd=function C2b(a){return DD(a,79)&&a.a.ii(this.a,false,true,false)};
_.zd=function D2b(){return oAc(P3b(this.a))};_.Ad=function E2b(){return"type: "+P3b(this.a)};var MQ=Uic(79);_U(7,1,{7:1,3:1},U3b,V3b,W3b,X3b,Y3b,Z3b,$3b);_.fi=function _3b(a){return P2b(this,new U3b(this.j),a)};_.gi=function c4b(){if(this.j==(f8b(),k7b))throw BU(new sjc(TIc));else throw BU(new klc(this+" is not a number node"));};_.hi=function d4b(){if(this.j==(f8b(),J7b))throw BU(new sjc(UIc));else throw BU(new klc(this+VIc));};_.ii=function e4b(a,b,c,d){return f3b(this,a,b,c,d)};_.ji=function f4b(){return false};
_.ki=function i4b(a){if(this.j==(f8b(),k7b))throw BU(new sjc(TIc));else throw BU(new klc(this+VIc));};_.li=function j4b(){throw BU(new sjc(this+" is not a StringNode"));};_.mi=function k4b(a){if(this.j==(f8b(),J7b)||this.j==_6b)throw BU(new sjc(UIc));else throw BU(new klc(this+VIc));};_.Ad=function l4b(){return O3b(this,true,true,true)};_.c=0;_.i=0;var WQ=Uic(7);_U(416,1,GAc);_.pi=function o4b(){return this.b};_.ri=function p4b(){return this.c};_.c=0;var NQ=Uic(416);_U(309,1,UAc,q4b);_.Md=function r4b(){return new t4b(this)};
var PQ=Uic(309);_U(267,1,IAc,t4b);_.Fd=function v4b(){return s4b(this)};_.Ed=function u4b(){return!!this.a.a};_.Gd=function w4b(){throw BU(new jlc);};var OQ=Uic(267);_U(26,416,GAc,x4b);_.ni=function y4b(a){return new x4b(this.c,this.a,a)};_.oi=function z4b(){return this.a};_.qi=function A4b(){throw BU(new jlc);};_.Ad=function B4b(){return""+this.a};_.a=0;var QQ=Uic(26);_U(60,7,{7:1,60:1,3:1},C4b);_.fi=function D4b(a){return P2b(this,new C4b(this.a),a)};_.gi=function E4b(){return this.a};_.ii=function F4b(a,
b,c,d){var e,f,g;e=f3b(this,a,b,c,d);if(e){g=this.a;f=a.a;if(g==f)return g!=0||1/g==1/f}return false};_.ki=function G4b(a){this.a=a};_.a=0;var RQ=Uic(60);_U(57,416,GAc,H4b);_.ni=function I4b(a){return new H4b(this.c,this.a,a)};_.oi=function J4b(){throw BU(new jlc);};_.qi=function K4b(){return this.a};_.Ad=function L4b(){return Qkc(this.a)};var SQ=Uic(57);_U(53,1,{16:1,29:1},O4b);_.Fd=function R4b(){return N4b(this)};_.Ed=function P4b(){return!!this.a};_.Md=function Q4b(){return M4b(this)};_.Gd=function S4b(){throw BU(new jlc);
};_.c=false;var TQ=Uic(53);_U(8,7,{7:1,8:1,3:1},U4b,V4b);_.fi=function W4b(a){return P2b(this,new U4b(this.j,this.a),a)};_.hi=function X4b(){return this.a};_.ii=function Y4b(a,b,c,d){return f3b(this,a,b,c,d)&&qkc(this.a,a.a)};_.ji=function Z4b(){return W2b(this,36)!=0};_.li=function $4b(){var a;a=s3b(this,this.g,36);a!=this.g&&(this.g=a);this.g=new x4b(36,1,this.g)};_.mi=function _4b(a){T4b(this,a)};var UQ=Uic(8);_U(93,7,{7:1,93:1,3:1},a5b,b5b,c5b);_.fi=function d5b(a){return P2b(this,new c5b(this.j,
this.a),a)};_.hi=function e5b(){return this.a};var VQ=Uic(93);_U(10,14,{10:1,3:1,23:1,14:1},g8b);var g5b,h5b,i5b,j5b,k5b,l5b,m5b,n5b,o5b,p5b,q5b,r5b,s5b,t5b,u5b,v5b,w5b,x5b,y5b,z5b,A5b,B5b,C5b,D5b,E5b,F5b,G5b,H5b,I5b,J5b,K5b,L5b,M5b,N5b,O5b,P5b,Q5b,R5b,S5b,T5b,U5b,V5b,W5b,X5b,Y5b,Z5b,$5b,_5b,a6b,b6b,c6b,d6b,e6b,f6b,g6b,h6b,i6b,j6b,k6b,l6b,m6b,n6b,o6b,p6b,q6b,r6b,s6b,t6b,u6b,v6b,w6b,x6b,y6b,z6b,A6b,B6b,C6b,D6b,E6b,F6b,G6b,H6b,I6b,J6b,K6b,L6b,M6b,N6b,O6b,P6b,Q6b,R6b,S6b,T6b,U6b,V6b,W6b,X6b,Y6b,Z6b,
$6b,_6b,a7b,b7b,c7b,d7b,e7b,f7b,g7b,h7b,i7b,j7b,k7b,l7b,m7b,n7b,o7b,p7b,q7b,r7b,s7b,t7b,u7b,v7b,w7b,x7b,y7b,z7b,A7b,B7b,C7b,D7b,E7b,F7b,G7b,H7b,I7b,J7b,K7b,L7b,M7b,N7b,O7b,P7b,Q7b,R7b,S7b,T7b,U7b,V7b,W7b,X7b,Y7b,Z7b,$7b,_7b,a8b,b8b,c8b,d8b,e8b;var YQ=Vic(10,ZR,i8b);_U(21,1,_Ic);_.xd=function G8b(a){return DD(a,21)&&u8b(this,a,0,new gcc(true))};_.si=function I8b(a){return J8b(this,a)};_.ti=function K8b(a){var b;if(a.Si())return fhc(a.Si(),this);return b=u8b(this,a,0,new gcc(true)),b?this:H8b(Hdc(this.u,
QC(LC(oR,1),NAc,21,0,[this,a])))};_.ui=function L8b(){return this.v};_.vi=function M8b(){return Cgc(this.v)};_.zd=function N8b(){return y8b(this)};_.wi=function O8b(){return false};_.xi=function P8b(){return false};_.bi=function R8b(a){return u8b(this,a,0,new gcc(true))};_.yi=function S8b(){return false};_.zi=function T8b(){return false};_.Ai=function U8b(){return false};_.Bi=function V8b(){return false};_.Ci=function W8b(){return false};_.Di=function X8b(){return false};_.Ei=function Y8b(){return false};
_.Fi=function Z8b(){return false};_.Gi=function $8b(){return false};_.Hi=function _8b(a){return b9b(this,a,new jcc(true),0)};_.Ii=function a9b(a,b,c){return b9b(this,a,b,c)};_.Ji=function c9b(){return false};_.Ki=function d9b(){return false};_.Li=function e9b(){return this};_.Mi=function f9b(){return null};_.Ni=function g9b(){return null};_.Oi=function h9b(){return null};_.Pi=function i9b(){return null};_.Qi=function j9b(){return null};_.Ri=function k9b(){return null};_.Si=function l9b(){return null};
_.Ad=function m9b(){return this.Ti(false)};_.t=false;var r8b,s8b;var oR=Uic(21);_U(863,21,_Ic,n9b);_.zd=function o9b(){return Qzc(this)};_.wi=function p9b(){return true};_.Ti=function q9b(a){return"*"};_.Ui=function r9b(a){return a.Sg()};var ZQ=Uic(863);_U(83,21,{62:1,83:1,21:1,3:1},y9b,z9b);_.si=function A9b(a){throw BU(new jlc);};_.ti=function B9b(a){throw BU(new jlc);};_.Vi=function C9b(){return x8b(this.b)||u9b(this)};_.vi=function(){return this.Vi()};_.zd=function D9b(){return w9b(this)};_.Hi=
function E9b(a){return x9b(this,a,new jcc(true),0)};_.Ii=function F9b(a,b,c){return x9b(this,a,b,c)};_.Ti=function G9b(a){return"[ArrowType]"};_.Ui=function H9b(a){throw BU(new jlc);};_.c=false;var $Q=Uic(83);_U(247,21,_Ic);var OR=Uic(247);_U(858,247,_Ic,J9b);_.zd=function K9b(){return Qzc(this)};_.Ti=function L9b(a){return sAc};_.Ui=function M9b(a){return a.Tg()};var _Q=Uic(858);_U(56,21,aJc);_.Wi=function X9b(){this.s=true};_.Yi=function Y9b(){return lm(),lx(),kx};_.$i=function Z9b(){return this.aj().b.keySet()};
_._i=function $9b(){return null};_.aj=function _9b(){return ifc(),ifc(),hfc};_.bj=function aac(a){return R9b(this,a)};_.dj=function bac(a){return ofc(this.aj(),a)};_.ej=function cac(){return false};_.zi=function dac(){return!!this._i()};_.fj=function eac(){return false};_.Fi=function fac(){return true};_.Gi=function hac(){var a;a=this.Xi();return!!a&&a.e==2&&a.d};_.Ji=function iac(){return U9b(this)};_.gj=function jac(a){};_.Ui=function kac(a){return a.$g(this)};_.s=true;var vR=Uic(56);_U(820,56,
aJc,nac);_.Xi=function oac(){return!this.c?null:this.c.Xi()};_.Zi=function pac(){return null};_.hj=function qac(){return!this.c?(ifc(),ifc(),hfc):this.c.aj()};_.aj=function(){return this.hj()};_.cj=function rac(){return this.b};_.ej=function sac(){return true};_.zd=function tac(){return oAc(this.b)};_.Di=function uac(){return true};_.Fi=function vac(){return this.d.Fi()};_.Hi=function wac(a){return lac(this,a,new jcc(true),0)};_.Ii=function xac(a,b,c){return lac(this,a,b,c)};_.Mi=function yac(){return this};
_.Ti=function zac(a){return a?this.d.Ti(false):this.b+"<"+this.d+">"};_.Ui=function Aac(a){return a.Ug(this)};var aR=Uic(820);_U(131,56,aJc,Eac,Fac,Gac);_.ij=function Iac(a,b,c,d){return Bac(this,a,b,c,d)};_.Xi=function Jac(){return null};_.Yi=function Kac(){return this.p?this.p.b:(Mm(),Mm(),Lm)};_.jj=function Lac(){return this.p?dbc(this.p):(Mm(),Mm(),Lm)};_.Zi=function Mac(){return this.n};_._i=function Nac(){return this.p};_.aj=function Oac(){return this.r};_.cj=function Pac(){return this.k!=null?
this.k:this.p?this.p.cj()+eFc:null};_.kj=function Qac(){return!this.s};_.ej=function Rac(){return this.k!=null||!!this.p};_.zd=function Sac(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.k,this.r]))};_.fj=function Tac(){return this.o};_.Hi=function Uac(a){return this.Ii(a,new jcc(true),0)};_.Ii=function Vac(a,b,c){var d,e,f,g,h;if(b9b(this,a,b,c))return true;if(a.Si())return false;if(a.Pi())return Wac(this,a.Pi(),b,c);e=DD(a,56)?a:null;d=!e?null:e.Xi();if(!!this.Xi()&&this.Xi().e==2)for(g=rs(new urc(this.Yi().a.b.Md()));g.Ed();){f=
g.Fd();if(f.Ii(a,b,c))return true}else if(!!d&&d.e==2){h=this.jj();for(g=h.Md();g.Ed();){f=g.Fd();if(f.Ii(a,b,c))return true}}if(U9b(this))return true;return!!e&&S9b(this,e)};_.gj=function Xac(a){oe(!this.p||!a);this.p=a};_.Ti=function Yac(a){return Dac(this,a)};_.o=false;_.p=null;_.q=false;var yR=Uic(131);_U(71,131,cJc,nbc);_.cj=function sbc(){return this.k!=null?this.k:this.p?this.p.cj()+eFc:null};_.Wi=function obc(){bbc(this)};_.ij=function pbc(a,b,c,d){var e;if(qkc(CCc,a)){e=DD(b,56)?b:null;if(e){if(!!this.f&&
u8b(e,this.f.e,0,new gcc(true)))return true;jbc(this,e,d);return true}else return false}return Bac(this,a,b,c,d)};_.$i=function qbc(){var a;if(!this.f)return this.r.b.keySet();else{a=(lm(),new Xq);Eoc(a.a,ie(CCc));Wq(a,this.r.b.keySet());return zo(new kpc(a.a))}};_.bj=function rbc(a){var b,c,d;if(!lfc(this.r,a)){d=qkc(mEc,a);c=qkc("bind",a);if(d||c)P9b(this,a,cbc(this,d),this.g);else if(qkc(jEc,a)){b=new Qbc(this.u);Mbc(b,QC(LC(oR,1),NAc,21,0,[Bdc(this.u,z8b(this.j)?Ldc(this.u,(tdc(),pdc)):this.j),
Bdc(this.u,Ldc(this.u,(tdc(),Ycc)))]));P9b(this,a,Ebc(Jbc(Ibc(Hbc(new Lbc(this.u),b.b),this.a.b),this.v.d)),this.g)}}return R9b(this,a)};_.dj=function tbc(a){return gbc(this,a)};_.Vi=function ubc(){return Fgc(this.v)>0||x8b(this.j)||x8b(this.a)};_.vi=function(){return this.Vi()};_.kj=function vbc(){return!!this.f||!this.s};_.zd=function wbc(){return this.e==2?oAc(this.cj()):w9b(this.a)};_.lj=function xbc(){return this.e==1};_.Hi=function ybc(a){return this.Ii(a,new jcc(true),0)};_.Ii=function zbc(a,
b,c){var d,e;if(b9b(this,a,b,c))return true;if(a.Oi()){d=a.Oi();if(d.e==2)return true;if(this.e==2)return false;return e=!!D8b(d.j)&&!!D8b(d.j).Xi()&&D8b(d.j).Xi().e==2||d.j.Ii(this.j,b,0)||this.j.Ii(d.j,b,0),e&&x9b(this.a,d.a,b,c)}return w8b(this,(tdc(),Fcc)).Ii(a,b,c)};_.Oi=function Abc(){return this};_.Ti=function Bbc(a){var b,c,d,e;if(!this.q||this==Ldc(this.u,(tdc(),Ecc)))return wEc;this.q=false;b=new elc;b.a+="function (";e=T2b(this.a.a);c=!DD(this.j,200);if(c){this.lj()?(b.a+="new:",b):(b.a+=
"this:",b);_kc(b,this.j.Ti(a))}if(e>0){c&&(b.a+=LAc,b);d=this.a.a.b;W2b(d,30)!=0?_ac(this,b,DD(d.k,21)?d.k:null,a):W2b(d,37)!=0?$ac(this,b,DD(d.k,21)?d.k:null,a):_kc(b,C8b(DD(d.k,21)?d.k:null,a));d=d.d;while(d){b.a+=LAc;W2b(d,30)!=0?_ac(this,b,DD(d.k,21)?d.k:null,a):W2b(d,37)!=0?$ac(this,b,DD(d.k,21)?d.k:null,a):_kc(b,C8b(DD(d.k,21)?d.k:null,a));d=d.d}}b.a+="): ";_kc(b,C8b(this.a.b,a));this.q=true;return b.a};_.Ui=function Cbc(a){return a.Vg(this)};_.d=false;_.e=0;var eR=Uic(71);_U(176,71,cJc,Dbc);
var bR=Uic(176);_U(202,1,{},Lbc);_.a=false;_.b=false;_.c=null;_.e=null;_.f=null;_.g=null;var cR=Uic(202);_U(292,1,{},Qbc);var dR=Uic(292);_U(869,131,aJc,Rbc);_.ij=function Sbc(a,b,c,d){var e,f;e=fbc(this.a);if(!!e&&!!lfc(e.aj(),a)&&(f=e.dj(a),!!f&&!f.b))return false;return Bac(this,a,b,c,d)};_.Xi=function Tbc(){return this.a};_.Yi=function Ubc(){return this.a.b};_.jj=function Vbc(){return dbc(this.a)};_.Zi=function Wbc(){return fbc(this.a)};_.cj=function Xbc(){return this.a.cj()};_.ej=function Ybc(){return this.a.ej()};
_.zd=function Zbc(){return this.a.ej()?oAc(this.a.cj()):Dpc(QC(LC(kS,1),NAc,1,5,[this.k,this.r]))};_.Di=function $bc(){return this.a.ej()};_.Ti=function _bc(a){return this.a.ej()?this.a.cj():Dac(this,a)};var fR=Uic(869);_U(729,1,mCc,acc);_.Ie=function bcc(a,b){return mkc(a.Ti(false),b.Ti(false))};_.xd=function ccc(a){return this===a};var gR=Uic(729);_U(446,1,{});_.b=false;var jR=Uic(446);_U(82,446,{},gcc);var hR=Uic(82);_U(109,446,{},jcc);var iR=Uic(109);_U(228,14,{228:1,3:1,23:1,14:1},occ);_.a=false;
var kcc,lcc,mcc;var kR=Vic(228,ZR,pcc);_U(30,14,{30:1,3:1,23:1,14:1},udc);var qcc,rcc,scc,tcc,ucc,vcc,wcc,xcc,ycc,zcc,Acc,Bcc,Ccc,Dcc,Ecc,Fcc,Gcc,Hcc,Icc,Jcc,Kcc,Lcc,Mcc,Ncc,Occ,Pcc,Qcc,Rcc,Scc,Tcc,Ucc,Vcc,Wcc,Xcc,Ycc,Zcc,$cc,_cc,adc,bdc,cdc,ddc,edc,fdc,gdc,hdc,idc,jdc,kdc,ldc,mdc,ndc,odc,pdc,qdc,rdc,sdc;var lR=Vic(30,ZR,vdc);_U(399,1,GAc,Tdc);_.gh=function Udc(a){return this.i[a.f]};_.hh=function Vdc(a){return Mdc(this,a)};var nR=Uic(399);_U(773,71,cJc,Wdc);_.Xi=function Xdc(){return Ldc(this.u,
(tdc(),Dcc))};var mR=Uic(773);_U(856,1,{});_.Sg=function cec(){return bec(this,(tdc(),qcc))};_.Tg=function dec(){return bec(this,(tdc(),vcc))};_.Ug=function eec(a){return a};_.Vg=function fec(a){return Ydc(this,a)};_.Wg=function gec(){return bec(this,(tdc(),Jcc))};_.Xg=function hec(a){return a};_.Yg=function iec(){return bec(this,(tdc(),Mcc))};_.Zg=function jec(){return bec(this,(tdc(),Scc))};_.$g=function kec(a){return Zdc(this,a)};_._g=function lec(a){return $dc(this,a)};_.ah=function mec(){return bec(this,
(tdc(),fdc))};_.bh=function oec(a){return this.mj(a)};_.dh=function pec(a){return _dc(this,a)};_.eh=function qec(){return bec(this,(tdc(),pdc))};_.fh=function rec(){return bec(this,(tdc(),sdc))};_.mj=function nec(a){return a};_.g=false;var pR=Uic(856);_U(553,71,cJc,sec);_.ij=function tec(a,b,c,d){return true};_.Xi=function uec(){return null};_.Zi=function vec(){return null};_.cj=function wec(){return null};_.ej=function xec(){return false};_.zd=function yec(){return Qzc(this)};_.lj=function zec(){return false};
_.Ai=function Aec(){return true};_.Hi=function Bec(a){return this.Ii(a,new jcc(true),0)};_.Ii=function Cec(a,b,c){return b9b(this,a,b,c)||a.Fi()&&!a.Ci()&&!a.Bi()};_.Oi=function Dec(){return null};_.Ti=function Eec(a){return a?"?":"NoObject"};_.Ui=function Fec(a){return a.Wg()};var qR=Uic(553);_U(554,553,cJc,Gec);_.Ai=function Hec(){return false};_.Ci=function Iec(){return true};_.Hi=function Jec(a){return this.Ii(a,null,0)};_.Ii=function Kec(a,b,c){return true};_.Ti=function Lec(a){return a?"?":
"None"};_.Ui=function Mec(a){return a.Xg(this)};var sR=Uic(554);_U(864,554,cJc,Oec);_.lj=function Pec(){return false};_.Bi=function Qec(){return true};_.Ci=function Rec(){return false};_.Hi=function Sec(a){return Nec(this,a,new jcc(true),0)};_.Ii=function Tec(a,b,c){return Nec(this,a,b,c)};_.Ti=function Uec(a){return a?"?":"NoResolvedType"};var rR=Uic(864);_U(859,247,_Ic,Vec);_.zd=function Wec(){return Qzc(this)};_.Ei=function Xec(){return true};_.Li=function Yec(){return Ldc(this.u,(tdc(),Lcc))};
_.Ti=function Zec(a){return FAc};_.Ui=function $ec(a){return a.Yg()};var tR=Uic(859);_U(860,247,_Ic,_ec);_.zd=function afc(){return Qzc(this)};_.Ti=function bfc(a){return tAc};_.Ui=function cfc(a){return a.Zg()};var uR=Uic(860);_U(376,1,{376:1,3:1},efc);_.zd=function ffc(){return Dpc(QC(LC(kS,1),NAc,1,5,[this.c,this.e]))};_.Ad=function gfc(){return"Property {  name: "+this.c+", type:"+this.e+", inferred: "+this.b+"}"};_.a=null;_.b=false;var xR=Uic(376);_U(377,1,GAc,rfc,sfc);_.zd=function tfc(){return Fwc(this.b.keySet())};
_.a=null;var hfc;var wR=Uic(377);_U(144,56,{62:1,21:1,56:1,144:1,3:1});_.Xi=function wfc(){return!this.b?null:this.b.Xi()};_.Yi=function xfc(){return!this.b?(bqc(),bqc(),_pc):this.b.Yi()};_.Zi=function yfc(){return!this.b?null:this.b.Zi()};_._i=function zfc(){return!this.b?null:this.b._i()};_.aj=function Afc(){return!this.b?(ifc(),ifc(),hfc):this.b.aj()};_.cj=function Bfc(){return!this.b?"":this.b.cj()};_.ui=function Cfc(){return this.c.ui()};_.Vi=function Dfc(){return x8b(this.c)};_.vi=function(){return this.Vi()};
_.ej=function Efc(){return cAc(!this.b?null:(tic(),this.b.ej()?true:false))};_.zd=function Ffc(){return this.c.zd()};_.wi=function Gfc(){return this.c.wi()};_.xi=function Hfc(){return this.c.xi()};_.fj=function Ifc(){return!!this.b&&this.b.fj()};_.Ai=function Jfc(){return this.c.Ai()};_.Bi=function Kfc(){return this.c.Bi()};_.Ci=function Lfc(){return this.c.Ci()};_.Di=function Mfc(){return this.c.Di()};_.Gi=function Nfc(){return this.c.Gi()};_.Hi=function Ofc(a){return this.c.Ii(a,new jcc(true),0)};
_.Ii=function Pfc(a,b,c){return this.c.Ii(a,b,c)};_.Ji=function Qfc(){return this.c.Ji()};_.Mi=function Rfc(){return this.c.Mi()};_.Ni=function Sfc(){return this.c.Ni()};_.Oi=function Tfc(){return this.c.Oi()};_.Pi=function Ufc(){return this.c.Pi()};_.Qi=function Vfc(){return this.c.Qi()};_.Ri=function Wfc(){return this.c.Ri()};_.Si=function Xfc(){return this.c.Si()};_.Ti=function Yfc(a){return this.c.Ti(a)};_.Ui=function Zfc(a){return a._g(this)};var zR=Uic(144);_U(870,131,aJc,bgc);_.ij=function cgc(a,
b,c,d){return $fc(this,a,b,c,d)};_.Zi=function dgc(){return Ldc(this.u,(tdc(),Ycc))};_.Gi=function egc(){return true};_.Hi=function fgc(a){return agc(this,a,new jcc(true),0)};_.Ii=function ggc(a,b,c){return agc(this,a,b,c)};_.Pi=function hgc(){return this};_.a=false;var CR=Uic(870);_U(560,1,{},kgc);_.a=true;_.b=true;var BR=Uic(560);_U(378,1,{378:1},lgc);var AR=Uic(378);_U(861,247,_Ic,mgc);_.zd=function ngc(){return Qzc(this)};_.Ti=function ogc(a){return vAc};_.Ui=function pgc(a){return a.ah()};var DR=
Uic(861);_U(239,144,{62:1,21:1,56:1,144:1,239:1,3:1},qgc);_.cj=function rgc(){return this.a};_.Vi=function sgc(){return true};_.Qi=function tgc(){return this};_.Ti=function ugc(a){return this.a};_.Ui=function vgc(a){return a.bh(this)};var GR=Uic(239);_U(471,1,GAc,Ggc);_.Ad=function Igc(){var a,b,c;c="";b=this.d.size();c+="{ ";for(a=0;a<b;a++){c+="(";c+=this.d.getAtIndex(a);c+=",";c+=a<this.e.size()?this.e.getAtIndex(a):"";c+=",";c+=this.c!=null&&a<this.c.length?this.c[a]:"";c+=") "}c+="}";return c};
_.a=false;var FR=Uic(471);_U(481,856,{},Kgc);_.mj=function Lgc(a){var b,c,d;if(Dgc(this.c,a))if(Jgc(this,a))return a;else if(zgc(this.c,a)!=-1){c=Bgc(this.c,a);if(c==this.a||(c.Li().Ri(),false))return a;Unc(this.d,a);d=c.Ui(this);b=coc(this.d);Wzc(b!=null);te(d!=this.a,"Trying to replace key %s with the same value",this.a);return d}else return this.b?Ldc(this.e,(tdc(),pdc)):a;else return a};_.a=null;_.b=false;var ER=Uic(481);_U(159,14,dJc);var Mgc,Ngc,Ogc;var KR=Vic(159,ZR,Rgc);_U(795,159,dJc,Sgc);
_.nj=function Tgc(){return Ngc};_.oj=function Ugc(a){return false};_.toString=function Vgc(){return XCc};var HR=Vic(795,KR,null);_U(796,159,dJc,Wgc);_.nj=function Xgc(){return Mgc};_.oj=function Ygc(a){return true};_.toString=function Zgc(){return YCc};var IR=Vic(796,KR,null);_U(797,159,dJc,$gc);_.nj=function _gc(){return Ogc};_.oj=function ahc(a){return a};_.toString=function bhc(){return eIc};var JR=Vic(797,KR,null);_U(809,21,_Ic,ohc);_.ti=function phc(a){return fhc(this,a)};_.Vi=function qhc(){var a,
b;for(b=0;b<this.b.size();b++){a=this.b.getAtIndex(b);if(x8b(a))return true}return false};_.vi=function(){return this.Vi()};_.zd=function rhc(){return this.c};_.yi=function shc(){var a,b;for(a=0;a<this.b.size();a++){b=this.b.getAtIndex(a);if(b.yi())return true}return false};_.Fi=function thc(){return ihc(this)};_.Hi=function uhc(a){return jhc(this,a,new jcc(true),0)};_.Ii=function vhc(a,b,c){return jhc(this,a,b,c)};_.Ji=function whc(){return khc(this)};_.Li=function xhc(){return nhc(this)};_.Si=function yhc(){return this};
_.Ti=function zhc(a){var b,c,d,e,f,g,h;e=new dlc;d=true;e.a+="(";f=new dyc(r8b);ad(f,this.b);for(h=(c=(new Jnc(f.a)).a.oe().b.Cj(),new Pnc(c));h.a.Ed();){g=(b=h.a.Fd(),b.ye());d||(e.a+="|",e);_kc(e,g.Ti(a));d=false}e.a+=")";return e.a};_.Ui=function Ahc(a){return a.dh(this)};_.c=0;var MR=Uic(809);_U(111,1,{111:1,3:1},Hhc,Ihc);_.b=true;_.c=false;_.d=-1;_.e=false;_.f=false;_.g=0;_.j=null;var LR=Uic(111);_U(200,56,{62:1,21:1,56:1,200:1,3:1},Jhc);_.Xi=function Khc(){return null};_.Zi=function Lhc(){return null};
_.cj=function Mhc(){return this.a?"??":"?"};_.zd=function Nhc(){return Qzc(this)};_.xi=function Ohc(){return this.a};_.Hi=function Phc(a){return true};_.Ii=function Qhc(a,b,c){return true};_.Ji=function Rhc(){return true};_.Ti=function Shc(a){return this.a?"??":"?"};_.Ui=function Thc(a){return a.eh()};_.a=false;var NR=Uic(200);_U(862,247,_Ic,Uhc);_.zd=function Vhc(){return Qzc(this)};_.yi=function Whc(){return true};_.Ki=function Xhc(){return true};_.Li=function Yhc(){return Ldc(this.u,(tdc(),Lcc))};
_.Ti=function Zhc(a){return EEc};_.Ui=function $hc(a){return a.fh()};var PR=Uic(862);var _hc="/";_U(252,1,{385:1});_.pj=function gic(){return this.a.length};_.qj=function hic(a,b){return Hkc(this.a,a,b)};_.Ad=function iic(){return this.a};var RR=Uic(252);_U(187,33,{3:1,187:1,41:1,39:1},jic);var SR=Uic(187);_U(99,33,CBc,kic,lic);var cS=Uic(99);_U(728,99,CBc,mic);var TR=Uic(728);_U(115,39,ABc,nic);var $R=Uic(115);_U(77,115,ABc,pic,qic);var UR=Uic(77);xD={3:1,609:1,23:1};var ric,sic;var VR=Uic(609);
_U(153,1,{3:1,153:1,23:1},yic);_.Rd=function zic(a){return this.a-a.a};_.xd=function Bic(a){return DD(a,153)&&a.a==this.a};_.zd=function Dic(){return this.a};_.Ad=function Jic(){return String.fromCharCode(this.a)};_.a=0;var WR=Uic(153);var Lic;_U(210,1,{3:1,210:1});var ijc;var jS=Uic(210);yD={3:1,23:1,610:1,210:1};var YR=Uic(610);_U(19,33,{3:1,41:1,19:1,39:1},rjc,sjc);var bS=Uic(19);_U(126,210,{3:1,23:1,126:1,210:1},tjc);_.Rd=function vjc(a){return ujc(this.a,a.a)};_.wj=function wjc(){return this.a};
_.xd=function xjc(a){return DD(a,126)&&a.a==this.a};_.zd=function yjc(){return this.a};_.xj=function Ajc(){return this.a};_.Ad=function Fjc(){return""+this.a};_.a=0;var dS=Uic(126);var Ijc;_U(154,210,{3:1,23:1,154:1,210:1},Kjc);_.Rd=function Mjc(a){return Ljc(this.a,a.a)};_.wj=function Njc(){return QU(this.a)};_.xd=function Ojc(a){return DD(a,154)&&GU(a.a,this.a)};_.zd=function Pjc(){return RU(this.a)};_.xj=function Qjc(){return RU(this.a)};_.Ad=function Sjc(){return""+SU(this.a)};_.a=0;var fS=Uic(154);
var Ujc;_U(875,33,CBc,Yjc);var gS=Uic(875);_U(66,204,{3:1,41:1,66:1,39:1},Zjc,$jc,_jc);_.pf=function akc(a){return new $wnd.TypeError(a)};var hS=Uic(66);var bkc,ckc,dkc,ekc;_U(92,36,{3:1,41:1,36:1,92:1,39:1},gkc);var iS=Uic(92);_U(137,1,{3:1,137:1},hkc);_.xd=function ikc(a){var b;if(DD(a,137)){b=a;return this.c==b.c&&Ewc(this.d,b.d)&&Ewc(this.a,b.a)&&Ewc(this.b,b.b)}return false};_.zd=function jkc(){return Dpc(QC(LC(kS,1),NAc,1,5,[Hjc(this.c),this.a,this.d,this.b]))};_.Ad=function kkc(){return this.a+
"."+this.d+"("+(this.b!=null?this.b:"Unknown Source")+(this.c>=0?":"+this.c:"")+")"};_.c=0;var mS=Uic(137);_U(24,252,{385:1,24:1},dlc,elc,flc,glc);var nS=Uic(24);_U(304,99,{3:1,41:1,304:1,39:1},hlc);var oS=Uic(304);_U(980,1,{});_U(18,33,{3:1,41:1,39:1,18:1},jlc,klc);var rS=Uic(18);_U(135,14,{3:1,23:1,14:1,135:1},ulc);var llc,mlc,nlc,olc,plc,qlc,rlc,slc;var sS=Vic(135,ZR,vlc);_U(177,1,fJc);_.Rd=function wlc(a){return nkc(this.a,a.a)};_.xd=function xlc(a){var b;if(a===this)return true;if(!DD(a,177))return false;
b=a;return qkc(this.a,b.a)};_.zd=function zlc(){return oAc(this.a)};_.Ad=function Alc(){return this.a};var tS=Uic(177);_U(566,36,UFc,Blc);var uS=Uic(566);var Clc;_U(565,36,UFc,Elc);var vS=Uic(565);_U(6,1,{},Hlc);var wS=Uic(6);_U(182,908,YAc);_.clear=function Xlc(){Tlc(this)};_.containsKey=function Ylc(a){return Jlc(this,a)};_.containsValue=function Zlc(a){return Klc(this,a)};_.oe=function $lc(){return new emc(this)};_.pe=function _lc(a){return Mlc(this,a)};_.put=function amc(a,b){return Plc(this,
a,b)};_.remove=function bmc(a){return Rlc(this,a)};_.size=function cmc(){return Ulc(this)};var AS=Uic(182);_U(84,910,ZAc,emc);_.clear=function fmc(){this.a.clear()};_.contains=function gmc(a){return dmc(this,a)};_.Md=function hmc(){return new mmc(this.a)};_.remove=function imc(a){var b;if(dmc(this,a)){b=a.ye();this.a.remove(b);return true}return false};_.size=function jmc(){return this.a.size()};var zS=Uic(84);_U(104,1,IAc,mmc);_.Fd=function omc(){return lmc(this)};_.Ed=function nmc(){return this.b};
_.Gd=function pmc(){aAc(!!this.c);$sc(this.e,this);this.c.Gd();this.c=null;this.b=kmc(this);_sc(this.e,this)};_.b=false;var yS=Uic(104);_U(149,1,IAc,tmc);_.Ed=function umc(){return qmc(this)};_.Fd=function vmc(){return rmc(this)};_.Gd=function wmc(){smc(this)};_.b=0;_.c=-1;var BS=Uic(149);_U(303,149,aBc,ymc);_.Gd=function Cmc(){smc(this)};_.Sd=function zmc(a){this.a.addAtIndex(this.b,a);++this.b;this.c=-1};_.Td=function Amc(){return this.b>0};_.Ud=function Bmc(){return xmc(this)};_.Vd=function Dmc(a){aAc(this.c!=
-1);this.a.setAtIndex(this.c,a)};var CS=Uic(303);_U(409,911,OAc,Emc);_.addAtIndex=function Fmc(a,b){$zc(a,this.b);this.c.addAtIndex(this.a+a,b);++this.b};_.getAtIndex=function Gmc(a){Xzc(a,this.b);return this.c.getAtIndex(this.a+a)};_.removeAtIndex=function Hmc(a){var b;Xzc(a,this.b);b=this.c.removeAtIndex(this.a+a);--this.b;return b};_.setAtIndex=function Imc(a,b){Xzc(a,this.b);return this.c.setAtIndex(this.a+a,b)};_.size=function Jmc(){return this.b};_.a=0;_.b=0;var DS=Uic(409);_U(37,910,ZAc,Kmc);
_.clear=function Lmc(){this.a.clear()};_.contains=function Mmc(a){return this.a.containsKey(a)};_.Md=function Nmc(){var a;return a=this.a.oe().Md(),new Qmc(a)};_.remove=function Omc(a){if(this.a.containsKey(a)){this.a.remove(a);return true}return false};_.size=function Pmc(){return this.a.size()};var GS=Uic(37);_U(52,1,IAc,Qmc);_.Ed=function Rmc(){return this.a.Ed()};_.Fd=function Smc(){var a;return a=this.a.Fd(),a.ye()};_.Gd=function Tmc(){this.a.Gd()};var FS=Uic(52);_U(150,909,MAc,Umc);_.clear=
function Vmc(){this.a.clear()};_.contains=function Wmc(a){return this.a.containsValue(a)};_.Md=function Xmc(){var a;return a=this.a.oe().Md(),new Zmc(a)};_.size=function Ymc(){return this.a.size()};var IS=Uic(150);_U(183,1,IAc,Zmc);_.Ed=function $mc(){return this.a.Ed()};_.Fd=function _mc(){var a;return a=this.a.Fd(),a.ze()};_.Gd=function anc(){this.a.Gd()};var HS=Uic(183);_U(216,1,{216:1,58:1});_.xd=function cnc(a){var b;if(!DD(a,58))return false;b=a;return Ewc(this.d,b.ye())&&Ewc(this.e,b.ze())};
_.ye=function dnc(){return this.d};_.ze=function enc(){return this.e};_.zd=function fnc(){return Fwc(this.d)^Fwc(this.e)};_.Ae=function gnc(a){return bnc(this,a)};_.Ad=function hnc(){return this.d+"="+this.e};var JS=Uic(216);_U(166,216,{216:1,166:1,58:1},inc);var KS=Uic(166);_U(920,1,lBc);_.xd=function jnc(a){var b;if(!DD(a,58))return false;b=a;return Ewc(this.ye(),b.ye())&&Ewc(this.ze(),b.ze())};_.zd=function knc(){return Fwc(this.ye())^Fwc(this.ze())};_.Ad=function lnc(){return this.ye()+"="+this.ze()};
var LS=Uic(920);_U(924,908,YAc);_.ne=function onc(a){return mnc(this,a)};_.containsKey=function pnc(a){return nnc(this,a)};_.Bj=function qnc(){return new unc(this)};_.oe=function rnc(){return new Enc(this)};_.pe=function snc(a){var b;return b=a,hh(this.Dj(b))};_.keySet=function tnc(){return new Jnc(this)};var RS=Uic(924);_U(673,924,YAc,unc);_.clear=function vnc(){this.a.clear()};_.Aj=function wnc(){return this.a.Cj()};_.Bj=function xnc(){return this.a};_.Cj=function ync(){return this.a.Aj()};_.Dj=
function znc(a){return this.a.Dj(a)};_.put=function Anc(a,b){return this.a.put(a,b)};_.remove=function Bnc(a){return this.a.remove(a)};_.Ej=function Cnc(a){return this.a.Ej(a)};_.size=function Dnc(){return this.a.size()};var NS=Uic(673);_U(270,910,ZAc,Enc);_.contains=function Fnc(a){return DD(a,58)&&mnc(this.b,a)};_.Md=function Gnc(){return this.b.Cj()};_.remove=function Hnc(a){var b;if(DD(a,58)){b=a;return this.b.Ej(b)}return false};_.size=function Inc(){return this.b.size()};var OS=Uic(270);_U(87,
910,cBc,Jnc);_.clear=function Knc(){this.a.clear()};_.contains=function Lnc(a){return nnc(this.a,a)};_.Md=function Mnc(){var a;return a=this.a.oe().b.Cj(),new Pnc(a)};_.remove=function Nnc(a){if(nnc(this.a,a)){this.a.remove(a);return true}return false};_.size=function Onc(){return this.a.size()};var QS=Uic(87);_U(88,1,IAc,Pnc);_.Ed=function Qnc(){return this.a.Ed()};_.Fd=function Rnc(){var a;return a=this.a.Fd(),a.ye()};_.Gd=function Snc(){this.a.Gd()};var PS=Uic(88);_U(94,909,MAc,koc,loc,moc);_.add=
function noc(a){return Vnc(this,a),true};_.clear=function poc(){if(this.b==this.c)return;this.a=NC(kS,NAc,1,8,5,1);this.b=0;this.c=0};_.contains=function qoc(a){return Wnc(new yoc(this),a)};_.isEmpty=function roc(){return $nc(this)};_.Md=function soc(){return new yoc(this)};_.remove=function toc(a){return eoc(new yoc(this),a)};_.size=function uoc(){return joc(this)};_.Nd=function voc(a){var b,c;c=this.c-this.b&this.a.length-1;a.length<c&&(a=(b=new Array(c),RC(b,a)));Xnc(this,a,c);a.length>c&&(a[c]=
null);return a};_.b=0;_.c=0;var VS=Uic(94);_U(233,1,IAc,yoc);_.Ed=function zoc(){return this.a!=this.b};_.Fd=function Aoc(){return woc(this)};_.Gd=function Boc(){xoc(this)};_.a=0;_.b=0;_.c=-1;var US=Uic(233);_U(22,911,{3:1,16:1,22:1,20:1,48:1,76:1},Poc,Qoc,Roc);_.addAtIndex=function Soc(a,b){Doc(this,a,b)};_.add=function Toc(a){return Eoc(this,a)};_.addAllAtIndex=function Uoc(a,b){return Foc(this,a,b)};_.addAll=function Voc(a){return Goc(this,a)};_.clear=function Woc(){this.a=NC(kS,NAc,1,0,5,1)};
_.contains=function Xoc(a){return Ioc(this,a,0)!=-1};_.getAtIndex=function Yoc(a){return Hoc(this,a)};_.indexOf=function Zoc(a){return Ioc(this,a,0)};_.isEmpty=function $oc(){return this.a.length==0};_.Md=function _oc(){return new kpc(this)};_.lastIndexOf=function apc(a){return Joc(this,a,this.a.length-1)};_.removeAtIndex=function bpc(a){return Koc(this,a)};_.remove=function cpc(a){return Loc(this,a)};_.Qd=function dpc(a,b){var c;_zc(a,b,this.a.length);c=b-a;zzc(this.a,a,c)};_.setAtIndex=function epc(a,
b){return Moc(this,a,b)};_.size=function fpc(){return this.a.length};_.toArray=function gpc(){return uzc(this.a,this.a.length)};_.Nd=function hpc(a){return Ooc(this,a)};var XS=Uic(22);_U(25,1,IAc,kpc);_.Ed=function lpc(){return this.a<this.c.a.length};_.Fd=function mpc(){return ipc(this)};_.Gd=function npc(){jpc(this)};_.a=0;_.b=-1;var WS=Uic(25);_U(163,911,hJc,Upc);_.contains=function Vpc(a){return vd(this,a)!=-1};_.getAtIndex=function Wpc(a){return Xzc(a,this.a.length),this.a[a]};_.setAtIndex=function Xpc(a,
b){var c;c=(Xzc(a,this.a.length),this.a[a]);this.a[a]=b;return c};_.size=function Ypc(){return this.a.length};_.toArray=function Zpc(){return Tpc(this,NC(kS,NAc,1,this.a.length,5,1))};_.Nd=function $pc(a){return Tpc(this,a)};var YS=Uic(163);var _pc,aqc;_U(618,911,hJc,kqc);_.contains=function lqc(a){return false};_.getAtIndex=function mqc(a){Xzc(a,0);return null};_.Md=function nqc(){return bqc(),rqc(),qqc};_.Od=function oqc(){return bqc(),rqc(),qqc};_.size=function pqc(){return 0};var $S=Uic(618);
_U(619,1,aBc,tqc);_.Sd=function uqc(a){throw BU(new jlc);};_.Ed=function vqc(){return false};_.Td=function wqc(){return false};_.Fd=function xqc(){return sqc()};_.Ud=function yqc(){throw BU(new Dwc);};_.Gd=function zqc(){throw BU(new rjc);};_.Vd=function Aqc(a){throw BU(new rjc);};var qqc;var ZS=Uic(619);_U(620,910,iJc,Bqc);_.contains=function Cqc(a){return false};_.Md=function Dqc(){return bqc(),rqc(),qqc};_.size=function Eqc(){return 0};var _S=Uic(620);_U(621,910,iJc,Iqc);_.add=function Jqc(a){return Fqc(this,
a)};_.clear=function Kqc(){Tlc(this.a)};_.contains=function Lqc(a){return Gqc(this,a)};_.xd=function Mqc(a){return a===this||(!this.b&&(this.b=new Kmc(this.a)),Mh(this.b,a))};_.zd=function Nqc(){return!this.b&&(this.b=new Kmc(this.a)),dqc(this.b)};_.Md=function Oqc(){var a;return!this.b&&(this.b=new Kmc(this.a)),a=this.b.a.oe().Md(),new Qmc(a)};_.remove=function Pqc(a){return Hqc(this,a)};_.size=function Qqc(){return!this.b&&(this.b=new Kmc(this.a)),this.b.a.size()};_.Ad=function Rqc(){return!this.b&&
(this.b=new Kmc(this.a)),gd(this.b)};var aT=Uic(621);_U(622,911,jJc,Sqc);_.contains=function Tqc(a){return Ewc(this.a,a)};_.getAtIndex=function Uqc(a){Xzc(a,1);return this.a};_.size=function Vqc(){return 1};var bT=Uic(622);_U(217,1,MAc,drc);_.add=function erc(a){return Wqc()};_.addAll=function frc(a){return Xqc()};_.clear=function grc(){Yqc()};_.contains=function hrc(a){return Zqc(this,a)};_.containsAll=function irc(a){return $qc(this,a)};_.isEmpty=function jrc(){return this.b.isEmpty()};_.Md=function krc(){return new urc(this.b.Md())};
_.remove=function lrc(a){return _qc()};_.removeAll=function mrc(a){return arc()};_.retainAll=function nrc(a){return brc()};_.size=function orc(){return this.b.size()};_.toArray=function prc(){return this.b.toArray()};_.Nd=function qrc(a){return crc(this,a)};_.Ad=function rrc(){return dV(this.b)};var dT=Uic(217);_U(78,1,IAc,urc);_.Ed=function vrc(){return this.b.Ed()};_.Fd=function wrc(){return this.b.Fd()};_.Gd=function xrc(){trc()};var cT=Uic(78);_U(257,217,OAc,zrc);_.addAtIndex=function Arc(a,b){throw BU(new jlc);
};_.addAllAtIndex=function Brc(a,b){throw BU(new jlc);};_.xd=function Crc(a){return nb(this.a,a)};_.getAtIndex=function Drc(a){return this.a.getAtIndex(a)};_.zd=function Erc(){return rb(this.a)};_.indexOf=function Frc(a){return this.a.indexOf(a)};_.isEmpty=function Grc(){return this.a.isEmpty()};_.lastIndexOf=function Hrc(a){return this.a.lastIndexOf(a)};_.Od=function Irc(){return new Nrc(this.a.Pd(0))};_.Pd=function Jrc(a){return new Nrc(this.a.Pd(a))};_.removeAtIndex=function Krc(a){throw BU(new jlc);
};_.setAtIndex=function Lrc(a,b){throw BU(new jlc);};_.subList=function Mrc(a,b){return yrc(this,a,b)};var fT=Uic(257);_U(408,78,aBc,Nrc);_.Gd=function Rrc(){trc()};_.Sd=function Orc(a){throw BU(new jlc);};_.Td=function Prc(){return this.a.Td()};_.Ud=function Qrc(){return this.a.Ud()};_.Vd=function Src(a){throw BU(new jlc);};var eT=Uic(408);_U(209,1,YAc,Zrc);_.getOrDefault=function esc(a,b){var c;return c=this.d.pe(a),c==null&&!this.d.containsKey(a)?b:c};_.putIfAbsent=function ksc(a,b){var c;return c=
this.d.pe(a),c!=null?c:Xrc()};_.replace=function msc(a,b){return this.d.containsKey(a)?Xrc():null};_.clear=function $rc(){throw BU(new jlc);};_.containsKey=function _rc(a){return this.d.containsKey(a)};_.containsValue=function asc(a){return Trc(this,a)};_.oe=function bsc(){return Urc(this)};_.xd=function csc(a){return Vrc(this,a)};_.pe=function dsc(a){return this.d.pe(a)};_.zd=function fsc(){return rb(this.d)};_.isEmpty=function gsc(){return this.d.isEmpty()};_.keySet=function hsc(){return Wrc(this)};
_.put=function isc(a,b){return Xrc()};_.putAll=function jsc(a){throw BU(new jlc);};_.remove=function lsc(a){throw BU(new jlc);};_.size=function nsc(){return this.d.size()};_.Ad=function osc(){return dV(this.d)};_.values=function psc(){return Yrc(this)};var jT=Uic(209);_U(184,217,ZAc,qsc);_.xd=function rsc(a){return nb(this.b,a)};_.zd=function ssc(){return rb(this.b)};var lT=Uic(184);_U(623,184,ZAc,wsc);_.contains=function xsc(a){return tsc(this,a)};_.containsAll=function ysc(a){return this.b.containsAll(a)};
_.Md=function zsc(){var a;a=this.b.Md();return new Csc(a)};_.toArray=function Asc(){var a;a=this.b.toArray();vsc(a,a.length);return a};_.Nd=function Bsc(a){return usc(this,a)};var iT=Uic(623);_U(624,1,IAc,Csc);_.Fd=function Esc(){return new Gsc(this.a.Fd())};_.Ed=function Dsc(){return this.a.Ed()};_.Gd=function Fsc(){throw BU(new jlc);};var gT=Uic(624);_U(406,1,lBc,Gsc);_.xd=function Hsc(a){return this.a.xd(a)};_.ye=function Isc(){return this.a.ye()};_.ze=function Jsc(){return this.a.ze()};_.zd=function Ksc(){return this.a.zd()};
_.Ae=function Lsc(a){throw BU(new jlc);};_.Ad=function Msc(){return dV(this.a)};var hT=Uic(406);_U(258,257,_Ac,Nsc);var kT=Uic(258);_U(407,209,YAc,Osc);_.xd=function Psc(a){return Xg(this.a,a)};_.zd=function Qsc(){return dqc(new vxc(this.a))};var mT=Uic(407);_U(259,184,bBc,Rsc);_.xd=function Ssc(a){return nb(this.a,a)};_.zd=function Tsc(){return rb(this.a)};var nT=Uic(259);var Usc;_U(685,1,VDc,Xsc);_.Ie=function Ysc(a,b){return Yzc(a),wic(a,(Yzc(b),b))};_.xd=function Zsc(a){return this===a};var oT=
Uic(685);_U(171,33,CBc,btc);var pT=Uic(171);_U(276,1,{3:1,23:1,276:1},ctc);_.Rd=function dtc(a){return Ljc(HU(this.a.getTime()),HU(a.a.getTime()))};_.xd=function etc(a){return DD(a,276)&&GU(HU(this.a.getTime()),HU(a.a.getTime()))};_.zd=function ftc(){var a;a=HU(this.a.getTime());return RU(TU(a,NU(a,32)))};_.Ad=function htc(){var a,b,c;c=-this.a.getTimezoneOffset();a=(c>=0?"+":"")+(c/60|0);b=(c<0?-c:c)%60<10?"0"+(c<0?-c:c)%60:""+(c<0?-c:c)%60;return(ktc(),itc)[this.a.getDay()]+" "+jtc[this.a.getMonth()]+
" "+gtc(this.a.getDate())+" "+gtc(this.a.getHours())+":"+gtc(this.a.getMinutes())+":"+gtc(this.a.getSeconds())+" GMT"+a+b+" "+this.a.getFullYear()};var qT=Uic(276);var itc,jtc;_U(226,908,{226:1,49:1},ttc,utc,vtc);_.put=function Btc(a,b){return qtc(this,a,b)};_.clear=function wtc(){ltc(this)};_.containsKey=function xtc(a){return mtc(this,a)};_.containsValue=function ytc(a){return ntc(this,a)};_.oe=function ztc(){return new Ftc(this)};_.pe=function Atc(a){return otc(this,a)};_.remove=function Ctc(a){return rtc(this,
a)};_.size=function Dtc(){return this.a.c};var uT=Uic(226);_U(227,910,ZAc,Ftc);_.clear=function Gtc(){ltc(this.a)};_.contains=function Htc(a){return Etc(this,a)};_.Md=function Itc(){return new Ltc(this.a)};_.remove=function Jtc(a){var b;if(Etc(this,a)){b=a.ye();rtc(this.a,b);return true}return false};_.size=function Ktc(){return this.a.a.c};var sT=Uic(227);_U(331,1,IAc,Ltc);_.Fd=function Ntc(){return this.b=guc(this.a),new Ptc(this.c,this.b)};_.Ed=function Mtc(){return fuc(this.a)};_.Gd=function Otc(){aAc(!!this.b);
rtc(this.c,this.b);this.b=null};var rT=Uic(331);_U(332,920,lBc,Ptc);_.ye=function Qtc(){return this.a};_.ze=function Rtc(){return this.b.b[this.a.f]};_.Ae=function Stc(a){return stc(this.b,this.a.f,a)};var tT=Uic(332);_U(930,910,ZAc);var xT=Uic(930);_U(340,930,ZAc,$tc);_.add=function _tc(a){return Utc(this,a)};_.contains=function auc(a){return Wtc(this,a)};_.Md=function buc(){return new huc(this)};_.remove=function cuc(a){return Ytc(this,a)};_.size=function duc(){return this.c};_.c=0;var wT=Uic(340);
_U(278,1,IAc,huc);_.Fd=function juc(){return guc(this)};_.Ed=function iuc(){return fuc(this)};_.Gd=function kuc(){aAc(this.b!=-1);this.c.b[this.b]=null;--this.c.c;this.b=-1};_.a=-1;_.b=-1;var vT=Uic(278);_U(34,182,kJc,luc,muc,nuc);_.yj=function ouc(a,b){return JD(a)===JD(b)||a!=null&&nb(a,b)};_.zj=function puc(a){var b;b=rb(a);return b|0};var yT=Uic(34);_U(40,910,iJc,tuc,uuc,vuc);_.add=function xuc(a){return quc(this,a)};_.clear=function yuc(){this.a.clear()};_.contains=function zuc(a){return ruc(this,
a)};_.isEmpty=function Auc(){return this.a.size()==0};_.Md=function Buc(){var a;return a=(new Kmc(this.a)).a.oe().Md(),new Qmc(a)};_.remove=function Cuc(a){return suc(this,a)};_.size=function Duc(){return this.a.size()};var zT=Uic(40);_U(157,182,{3:1,157:1,49:1},Euc);_.xd=function Fuc(a){var b,c,d,e,f;if(a===this)return true;if(!DD(a,49))return false;e=a;if(this.d.c+this.e.c!=e.size())return false;for(c=e.oe().Md();c.Ed();){b=c.Fd();d=b.ye();f=b.ze();if(!(ID(d)?Olc(this,d):!!Luc(this.d,d)))return false;
if(JD(f)!==JD(ID(d)?Nlc(this,d):hh(Luc(this.d,d))))return false}return true};_.yj=function Guc(a,b){return JD(a)===JD(b)};_.zj=function Huc(a){return iAc(a)};_.zd=function Iuc(){var a,b,c;c=0;for(b=new mmc((new emc(this)).a);b.b;){a=lmc(b);c+=Qzc(a.ye());c+=Qzc(a.ze())}return c};var AT=Uic(157);_U(647,1,UAc,Ouc);_.Md=function Puc(){return new Quc(this)};_.c=0;var CT=Uic(647);_U(419,1,IAc,Quc);_.Fd=function Suc(){return this.d=this.a[this.c++],this.d};_.Ed=function Ruc(){var a;if(this.c<this.a.length)return true;
a=this.b.next();if(!a.done){this.a=a.value[1];this.c=0;return true}return false};_.Gd=function Tuc(){Nuc(this.e,this.d.ye());this.c!=0&&--this.c};_.c=0;_.d=null;var BT=Uic(419);var Uuc;_U(645,1,UAc,cvc);_.Md=function dvc(){return new evc(this)};_.c=0;_.d=0;var FT=Uic(645);_U(418,1,IAc,evc);_.Fd=function gvc(){return this.c=this.a,this.a=this.b.next(),new ivc(this.d,this.c,this.d.d)};_.Ed=function fvc(){return!this.a.done};_.Gd=function hvc(){bvc(this.d,this.c.value[0])};var DT=Uic(418);_U(646,920,
lBc,ivc);_.ye=function jvc(){return this.b.value[0]};_.ze=function kvc(){if(this.a.d!=this.c)return _uc(this.a,this.b.value[0]);return this.b.value[1]};_.Ae=function lvc(a){return avc(this.a,this.b.value[0],a)};_.c=0;var ET=Uic(646);_U(32,34,kJc,tvc,uvc,vvc);_.clear=function wvc(){nvc(this)};_.containsKey=function xvc(a){return ovc(this,a)};_.containsValue=function yvc(a){var b;b=this.b.a;while(b!=this.b){if(Ewc(b.e,a))return true;b=b.a}return false};_.oe=function zvc(){return new Kvc(this)};_.pe=
function Avc(a){return pvc(this,a)};_.put=function Bvc(a,b){return qvc(this,a,b)};_.remove=function Cvc(a){return svc(this,a)};_.size=function Dvc(){return Ulc(this.c)};_.a=false;var KT=Uic(32);_U(256,166,{216:1,166:1,256:1,58:1},Gvc,Hvc);var HT=Uic(256);_U(89,910,ZAc,Kvc);_.clear=function Lvc(){nvc(this.a)};_.contains=function Mvc(a){return Ivc(this,a)};_.Md=function Nvc(){return new Tvc(this)};_.remove=function Ovc(a){return Jvc(this,a)};_.size=function Pvc(){return Ulc(this.a.c)};var JT=Uic(89);
_U(98,1,IAc,Tvc);_.Fd=function Vvc(){return Rvc(this)};_.Ed=function Uvc(){return Qvc(this)};_.Gd=function Wvc(){Svc(this)};var IT=Uic(98);_U(61,40,iJc,Xvc,Yvc,Zvc);var LT=Uic(61);_U(462,919,jJc,gwc);_.add=function hwc(a){return $vc(this,a)};_.clear=function iwc(){fwc(this)};_.Pd=function jwc(a){return bwc(this,a)};_.size=function kwc(){return this.b};_.b=0;var OT=Uic(462);_U(785,1,aBc,mwc);_.Sd=function nwc(a){awc(this.d,a,this.b.b,this.b);++this.a;this.c=null};_.Ed=function owc(){return this.b!=
this.d.c};_.Td=function pwc(){return this.b.b!=this.d.a};_.Fd=function qwc(){return lwc(this)};_.Ud=function rwc(){Wzc(this.b.b!=this.d.a);this.c=this.b=this.b.b;--this.a;return this.c.c};_.Gd=function swc(){var a;aAc(!!this.c);a=this.c.a;ewc(this.d,this.c);this.b==this.c?this.b=a:--this.a;this.c=null};_.Vd=function twc(a){aAc(!!this.c);this.c.c=a};_.a=0;_.c=null;var MT=Uic(785);_U(344,1,{},uwc);var NT=Uic(344);_U(889,1,{});var vwc,wwc;var RT=Uic(889);_U(567,889,{},ywc);_.Ad=function zwc(){return"en_US"};
var PT=Uic(567);_U(568,889,{},Awc);_.Ad=function Bwc(){return eIc};var QT=Uic(568);_U(341,33,{3:1,41:1,39:1,341:1},Cwc);var TT=Uic(341);_U(64,33,{3:1,41:1,39:1,64:1},Dwc);var UT=Uic(64);_U(451,1,{451:1},Jwc);var Gwc;var VT=Uic(451);_U(118,1,{},Mwc);_.Ad=function Nwc(){return!this.a?this.c:this.e.length==0?this.a.a:this.a.a+(""+this.e)};var WT=Uic(118);_U(128,924,kJc,axc,bxc);_.clear=function cxc(){Owc(this)};_.Aj=function dxc(){return new lxc(this)};_.Cj=function exc(){return new qxc(this)};_.oe=
function fxc(){return new vxc(this)};_.Dj=function gxc(a){return Pwc(this,a)};_.put=function hxc(a,b){return Vwc(this,a,b)};_.remove=function ixc(a){return Wwc(this,a)};_.Ej=function jxc(a){return Xwc(this,a)};_.size=function kxc(){return this.c};_.c=0;var fU=Uic(128);_U(315,1,IAc,lxc,mxc);_.Fd=function oxc(){return this.b=xmc(this.a)};_.Ed=function nxc(){return this.a.b>0};_.Gd=function pxc(){smc(this.a);Xwc(this.c,this.b);this.b=null};var XT=Uic(315);_U(269,1,IAc,qxc,rxc);_.Fd=function txc(){return this.b=
rmc(this.a)};_.Ed=function sxc(){return qmc(this.a)};_.Gd=function uxc(){smc(this.a);Xwc(this.c,this.b);this.b=null};var YT=Uic(269);_U(271,270,ZAc,vxc);_.clear=function wxc(){Owc(this.a)};var ZT=Uic(271);_U(189,166,{216:1,166:1,58:1,189:1},xxc);_.b=false;var $T=Uic(189);_U(316,1,{},yxc);_.Ad=function zxc(){return"State: mv="+this.c+" value="+this.d+" done="+this.a+" found="+this.b};_.a=false;_.b=false;_.c=false;var _T=Uic(316);_U(669,924,YAc,Cxc);_.Aj=function Dxc(){return new mxc(this.c,this.f,
this.b,this.a,this.e,this.d)};_.Cj=function Exc(){return new rxc(this.c,this.f,this.b,this.a,this.e,this.d)};_.oe=function Fxc(){return new Enc(this)};_.Dj=function Gxc(a){return Axc(this,Pwc(this.c,a))};_.put=function Hxc(a,b){if(!Swc(this.c,this.f,a,this.b,this.a,this.e,this.d))throw BU(new Geb(a+" outside the range "+this.b+" to "+this.e));return Vwc(this.c,a,b)};_.remove=function Ixc(a){var b;b=a;if(!Swc(this.c,this.f,b,this.b,this.a,this.e,this.d))return null;return Wwc(this.c,b)};_.Ej=function Jxc(a){return Bxc(this,
a.ye())&&Xwc(this.c,a)};_.size=function Kxc(){var a,b,c;this.a?b=Qwc(this.c,this.b,true):b=Qwc(this.c,this.b,false);if(!(!!b&&Bxc(this,b.d)?b:null))return 0;a=0;for(c=new rxc(this.c,this.f,this.b,this.a,this.e,this.d);qmc(c.a);c.b=rmc(c.a))++a;return a};_.a=false;_.d=false;var eU=Uic(669);_U(141,14,lJc,Qxc);_.Fj=function Rxc(){return false};_.Gj=function Sxc(){return false};var Lxc,Mxc,Nxc,Oxc;var dU=Vic(141,ZR,Txc);_U(670,141,lJc,Uxc);_.Gj=function Vxc(){return true};var aU=Vic(670,dU,null);_U(671,
141,lJc,Wxc);_.Fj=function Xxc(){return true};_.Gj=function Yxc(){return true};var bU=Vic(671,dU,null);_U(672,141,lJc,Zxc);_.Fj=function $xc(){return true};var cU=Vic(672,dU,null);_U(96,910,{3:1,16:1,20:1,203:1,31:1,121:1},byc,cyc,dyc,eyc);_.add=function fyc(a){return _xc(this,a)};_.clear=function gyc(){this.a.clear()};_.contains=function hyc(a){return nnc(this.a,a)};_.Md=function iyc(){var a;return a=(new Jnc(this.a)).a.oe().b.Cj(),new Pnc(a)};_.remove=function jyc(a){return ayc(this,a)};_.size=
function kyc(){return this.a.size()};var gU=Uic(96);_U(390,908,YAc,pyc);_.containsKey=function qyc(a){return lyc(this,a)};_.containsValue=function ryc(a){if(a==null)throw BU(new Zjc);return Klc(this.a,a)};_.oe=function syc(){return new emc(this.a)};_.pe=function tyc(a){return myc(this,a)};_.put=function uyc(a,b){return nyc(this,a,b)};_.putIfAbsent=function vyc(a,b){return oyc(this,a,b)};_.remove=function wyc(a){if(a==null)throw BU(new Zjc);return Rlc(this.a,a)};_.replace=function xyc(a,b){if(b==null)throw BU(new Zjc);
else return lyc(this,a)?nyc(this,a,b):null};var hU=Uic(390);_U(266,1,{266:1});var iU=Uic(266);_U(923,1,GAc);_.Hg=function Dyc(){return"DUMMY"};_.xj=function Eyc(){return-1};_.Ad=function Fyc(){return this.Hg()};var yyc,zyc,Ayc,Byc;var nU=Uic(923);_U(665,923,GAc,Gyc);_.Hg=function Hyc(){return"FINE"};_.xj=function Iyc(){return 500};var jU=Uic(665);_U(666,923,GAc,Jyc);_.Hg=function Kyc(){return"INFO"};_.xj=function Lyc(){return 800};var kU=Uic(666);_U(667,923,GAc,Myc);_.Hg=function Nyc(){return"SEVERE"};
_.xj=function Oyc(){return 1E3};var lU=Uic(667);_U(668,923,GAc,Pyc);_.Hg=function Qyc(){return VBc};_.xj=function Ryc(){return 900};var mU=Uic(668);_U(654,1,{},Vyc);var Syc;var oU=Uic(654);_U(714,1,GAc,Xyc);_.c=null;var pU=Uic(714);_U(308,1,{308:1},hzc);_.b=null;_.e=false;var qU=Uic(308);_U(425,266,{266:1},kzc);var rU=Uic(425);_U(757,1,{},ozc);_.a=0;_.b=false;var sU=Uic(757);_U(440,1,{440:1},qzc);var tU=Uic(440);_U(735,1,{},Gzc);var uU=Uic(735);_U(404,177,fJc);var Izc,Jzc,Kzc;var xU=Uic(404);_U(405,
404,fJc,Nzc);var vU=Uic(405);_U(611,404,fJc,Pzc);var wU=Uic(611);var hAc=0;var jAc,kAc=0,lAc;var MD=Xic("C");var ND=Xic("I");var yU=Xic("Z");var OD=Xic("J");var LD=Xic("B");zvb();_=cV(oGc);_.transpile=Cvb;_=cV("com.google.common.base.ExtraObjectsMethodsForWeb");_.equal=Pc;_=cV("com.google.common.base.Platform");_.stringIsNullOrEmpty=Yd;_=cV("com.google.debugging.sourcemap.SourceMapObjectParserJs");_.get=CB;tic();_=cV("java.lang.Boolean");_.$isInstance=uic;_=cV("java.lang.CharSequence");_.$isInstance=
xic;_=cV("java.lang.Comparable");_.$isInstance=hjc;_=cV("java.lang.Double");_.$isInstance=pjc;_=cV("java.lang.Number");_.$isInstance=jjc;_=cV("java.lang.String");_.$isInstance=vkc;_=cV("java.lang.Throwable");_.of=Sz;var qAc=(fC(),iC);var gwtOnLoad=gwtOnLoad=XU;VU(fV);YU("permProps",[[[JDc,NCc],[rJc,"gecko1_8"]],[[JDc,NCc],[rJc,"ie10"]],[[JDc,NCc],[rJc,"ie8"]],[[JDc,NCc],[rJc,"ie9"]],[[JDc,NCc],[rJc,"safari"]]]);this["$gwtExport"]=$wnd;$wnd=this;typeof gwtOnLoad==="function"&&gwtOnLoad()})();
